]> granicus.if.org Git - zfs/commitdiff
Add DKMS package on Debian-based distributions
authorNeal Gompa (ニール・ゴンパ) <ngompa13@gmail.com>
Sun, 15 Oct 2017 19:58:12 +0000 (15:58 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sun, 15 Oct 2017 19:58:12 +0000 (12:58 -0700)
* config/deb.am: Enable building DKMS packages for Debian
* rpm/generic/spl-dkms.spec.in: Adjust spec to be Debian-compatible
  * Condition kernel-devel Requires to RPM distros
  * Ensure that --rpm_safe_upgrade isn't used on non-RPM distros
* config/deb.am: Drop CONFIG_KERNEL and CONFIG_USER guards
* Makefile.am: Add pkg-dkms target

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Neal Gompa <ngompa@datto.com>
Closes #657

Makefile.am
config/deb.am
rpm/generic/spl-dkms.spec.in

index 4977448fda95ca7acf5baf63a031f5b726fb7c35..05107cb19e1c5c79d200f0bef29220fb6fce44ca 100644 (file)
@@ -50,5 +50,6 @@ etags:
 tags: ctags etags
 
 pkg: @DEFAULT_PACKAGE@
+pkg-dkms: @DEFAULT_PACKAGE@-dkms
 pkg-kmod: @DEFAULT_PACKAGE@-kmod
 pkg-utils: @DEFAULT_PACKAGE@-utils
index a2bad0260d323838939750c088583abe32504690..e05a175a4dceee9bf0468334ca7bf2feb8209f94 100644 (file)
@@ -29,23 +29,27 @@ deb-local:
        fi)
 
 deb-kmod: deb-local rpm-kmod
-if CONFIG_KERNEL
        name=${PACKAGE}; \
        version=${VERSION}-${RELEASE}; \
        arch=`$(RPM) -qp $${name}-kmod-$${version}.src.rpm --qf %{arch} | tail -1`; \
        pkg1=kmod-$${name}*$${version}.$${arch}.rpm; \
        fakeroot $(ALIEN) --bump=0 --scripts --to-deb $$pkg1; \
        $(RM) $$pkg1
-endif
+
+deb-dkms: deb-local rpm-dkms
+       name=${PACKAGE}; \
+       version=${VERSION}-${RELEASE}; \
+       arch=`$(RPM) -qp $${name}-dkms-$${version}.src.rpm --qf %{arch} | tail -1`; \
+       pkg1=$${name}-dkms-$${version}.$${arch}.rpm; \
+       fakeroot $(ALIEN) --bump=0 --scripts --to-deb $$pkg1; \
+       $(RM) $$pkg1
 
 deb-utils: deb-local rpm-utils
-if CONFIG_USER
        name=${PACKAGE}; \
        version=${VERSION}-${RELEASE}; \
        arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \
        pkg1=$${name}-$${version}.$${arch}.rpm; \
        fakeroot $(ALIEN) --bump=0 --scripts --to-deb $$pkg1; \
        $(RM) $$pkg1
-endif
 
-deb: deb-kmod deb-utils
+deb: deb-kmod deb-dkms deb-utils
index ac0ddd3693ee37222cbd1c49dfa6334a24961d51..419624058463ab03268d5071ce81cb7d6604105b 100644 (file)
@@ -1,5 +1,9 @@
 %{?!packager: %define packager Brian Behlendorf <behlendorf1@llnl.gov>}
 
+%if ! 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}
+%define not_rpm 1
+%endif
+
 %define module  @PACKAGE@
 %define mkconf  scripts/dkms.mkconf
 
@@ -18,7 +22,9 @@ BuildArch:      noarch
 
 Requires:       dkms >= 2.2.0.2
 Requires:       gcc, make, perl
+%if 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}
 Requires:       kernel-devel
+%endif
 Provides:       %{module}-kmod = %{version}
 
 %description
@@ -69,7 +75,7 @@ DKMS_META_ALIAS=`cat $CONFIG_H 2>/dev/null |
 if [ "$SPEC_META_ALIAS" = "$DKMS_META_ALIAS" ]; then
     echo -e
     echo -e "Uninstall of %{module} module ($SPEC_META_ALIAS) beginning:"
-    dkms remove -m %{module} -v %{version} --all --rpm_safe_upgrade
+    dkms remove -m %{module} -v %{version} --all %{!?not_rpm:--rpm_safe_upgrade}
 fi
 exit 0