From 28920ea3346c1c905c5f727ea3e54297e6257568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?= =?UTF-8?q?=E3=82=B4=E3=83=B3=E3=83=91=29?= Date: Sun, 15 Oct 2017 15:58:12 -0400 Subject: [PATCH] Add DKMS package on Debian-based distributions * 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 Signed-off-by: Neal Gompa Closes #657 --- Makefile.am | 1 + config/deb.am | 14 +++++++++----- rpm/generic/spl-dkms.spec.in | 8 +++++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index 4977448fda..05107cb19e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/config/deb.am b/config/deb.am index a2bad0260d..e05a175a4d 100644 --- a/config/deb.am +++ b/config/deb.am @@ -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 diff --git a/rpm/generic/spl-dkms.spec.in b/rpm/generic/spl-dkms.spec.in index ac0ddd3693..4196240584 100644 --- a/rpm/generic/spl-dkms.spec.in +++ b/rpm/generic/spl-dkms.spec.in @@ -1,5 +1,9 @@ %{?!packager: %define packager Brian Behlendorf } +%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