Whamcloud - gitweb
LU-7179 scripts: init and ha script fixes
[fs/lustre-release.git] / lustre-dkms.spec.in
1 %define module  @PACKAGE@
2 %define buildid 1
3 %define mkconf  lustre/scripts/dkms.mkconf
4
5 Name:           %{module}-dkms
6
7 Version:        @VERSION@
8 Release:        %{buildid}%{?dist}
9 Summary:        Kernel module(s) (dkms)
10
11 Group:          System Environment/Kernel
12 License:        GPLv2+
13 URL:            http://lustre.opensfs.org/
14 Source0:        %{module}-%{version}.tar.gz
15 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
16 BuildArch:      noarch
17
18 # DKMS >= 2.2.0.3-28.git.7c3e7c5 to fully support inter-modules deps
19 # (ie, "BUILD_DEPENDS[#]=<pkg>"), and have latest DKMS fixes integrated
20 # for bugs that prevented our module to build/install.
21 Requires:       dkms >= 2.2.0.3-28.git.7c3e7c5
22 Requires:       spl-dkms >= 0.6.1
23 Requires:       zfs-dkms >= 0.6.1
24 Requires:       gcc, make, perl
25 Requires:       python-docutils
26 Requires:       kernel-devel
27 Requires:       @PACKAGE@-osd-zfs-mount
28 Provides:       @PACKAGE@-kmod = %{version}
29 Provides:       @PACKAGE@-modules = %{version}
30 Provides:       @PACKAGE@-osd-zfs
31 Conflicts:      @PACKAGE@-modules
32 Conflicts:      @PACKAGE@-client-modules
33 Conflicts:      @PACKAGE@-osd-zfs
34
35 %description
36 This package contains the dkms Lustre kernel modules.
37
38 %prep
39 %setup -q -n %{module}-%{version}
40
41 %build
42 %{mkconf} -n %{module} -v %{version} -f dkms.conf
43 sed -i 's/BUILDID[[:print:]]*/BUILDID = %{buildid}/' META
44 sed -i 's/PRISTINE[[:print:]]*/PRISTINE = 1/' META
45 cp META ldiskfs/META
46
47 %install
48 if [ "$RPM_BUILD_ROOT" != "/" ]; then
49     rm -rf $RPM_BUILD_ROOT
50 fi
51 mkdir -p $RPM_BUILD_ROOT/usr/src/
52 cp -rfp ${RPM_BUILD_DIR}/%{module}-%{version} $RPM_BUILD_ROOT/usr/src/
53
54 %clean
55 if [ "$RPM_BUILD_ROOT" != "/" ]; then
56     rm -rf $RPM_BUILD_ROOT
57 fi
58
59 %files
60 %defattr(-,root,root)
61 /usr/src/%{module}-%{version}
62
63 %post
64 for POSTINST in /usr/lib/dkms/common.postinst; do
65     if [ -f $POSTINST ]; then
66         $POSTINST %{module} %{version}
67         exit $?
68     fi
69     echo "WARNING: $POSTINST does not exist."
70 done
71 echo -e "ERROR: DKMS version is too old and %{module} was not"
72 echo -e "built with legacy DKMS support."
73 echo -e "You must either rebuild %{module} with legacy postinst"
74 echo -e "support or upgrade DKMS to a more current version."
75 exit 1
76
77 %preun
78 dkms remove -m %{module} -v %{version} --all --rpm_safe_upgrade
79 exit 0
80
81 %changelog
82 * Fri Apr  8 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 2.3.63-1
83 - First DKMS packages.