summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal Gompa (ニール・ゴンパ) <[email protected]>2017-10-15 16:00:44 -0400
committerBrian Behlendorf <[email protected]>2017-10-15 13:00:44 -0700
commit7670f721fc82e6cdcdd31f83760a79b6f2f2b998 (patch)
tree44c77d224f5f134c5e9ce0680f3b75215b4fc9b4
parentc616dcf8bc3b2cb2dddc9b8f8bc64f307c9fb938 (diff)
Add DKMS package on Debian-based distributions
* config/deb.am: Enable building DKMS packages for Debian * rpm/generic/zfs-dkms.spec.in: Adjust spec to be Debian-compatible * Condition kernel-devel Req to RPM distros * Adjust the DKMS Req to have a minimum of a version only * 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 <[email protected]> Signed-off-by: Neal Gompa <[email protected]> Closes #6044 Closes #6731
-rw-r--r--Makefile.am1
-rw-r--r--config/deb.am15
-rw-r--r--rpm/generic/zfs-dkms.spec.in10
3 files changed, 19 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index 53a852832..c51be2b4c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -98,5 +98,6 @@ etags:
tags: ctags etags
pkg: @DEFAULT_PACKAGE@
+pkg-dkms: @DEFAULT_PACKAGE@-dkms
pkg-kmod: @DEFAULT_PACKAGE@-kmod
pkg-utils: @DEFAULT_PACKAGE@-utils
diff --git a/config/deb.am b/config/deb.am
index 6665e4a2d..98e98e45f 100644
--- a/config/deb.am
+++ b/config/deb.am
@@ -15,17 +15,23 @@ 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`; \
@@ -58,6 +64,5 @@ if CONFIG_USER
rmdir $${path_prepend}; \
$(RM) $$pkg1 $$pkg2 $$pkg3 $$pkg4 $$pkg5 $$pkg6 $$pkg7 \
$$pkg8 $$pkg9;
-endif
-deb: deb-kmod deb-utils
+deb: deb-kmod deb-dkms deb-utils
diff --git a/rpm/generic/zfs-dkms.spec.in b/rpm/generic/zfs-dkms.spec.in
index e432bc414..f6de49297 100644
--- a/rpm/generic/zfs-dkms.spec.in
+++ b/rpm/generic/zfs-dkms.spec.in
@@ -1,5 +1,9 @@
%{?!packager: %define packager Brian Behlendorf <[email protected]>}
+%if ! 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}
+%define not_rpm 1
+%endif
+
%define module @PACKAGE@
%define mkconf scripts/dkms.mkconf
@@ -16,10 +20,12 @@ Source0: %{module}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
-Requires: dkms >= 2.2.0.3-20
+Requires: dkms >= 2.2.0.3
Requires: spl-dkms = %{version}
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