diff options
Diffstat (limited to 'config/deb.am')
-rw-r--r-- | config/deb.am | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/config/deb.am b/config/deb.am new file mode 100644 index 000000000000..88679545a594 --- /dev/null +++ b/config/deb.am @@ -0,0 +1,74 @@ +PHONY += deb-kmod deb-dkms deb-utils deb deb-local + +deb-local: + @(if test "${HAVE_DPKGBUILD}" = "no"; then \ + echo -e "\n" \ + "*** Required util ${DPKGBUILD} missing. Please install the\n" \ + "*** package for your distribution which provides ${DPKGBUILD},\n" \ + "*** re-run configure, and try again.\n"; \ + exit 1; \ + fi; \ + if test "${HAVE_ALIEN}" = "no"; then \ + echo -e "\n" \ + "*** Required util ${ALIEN} missing. Please install the\n" \ + "*** package for your distribution which provides ${ALIEN},\n" \ + "*** re-run configure, and try again.\n"; \ + exit 1; \ + fi) + +deb-kmod: deb-local rpm-kmod + name=${PACKAGE}; \ + version=${VERSION}-${RELEASE}; \ + arch=`$(RPM) -qp $${name}-kmod-$${version}.src.rpm --qf %{arch} | tail -1`; \ + debarch=`$(DPKG) --print-architecture`; \ + pkg1=kmod-$${name}*$${version}.$${arch}.rpm; \ + fakeroot $(ALIEN) --bump=0 --scripts --to-deb --target=$$debarch $$pkg1 || exit 1; \ + $(RM) $$pkg1 + + +deb-dkms: deb-local rpm-dkms + name=${PACKAGE}; \ + version=${VERSION}-${RELEASE}; \ + arch=`$(RPM) -qp $${name}-dkms-$${version}.src.rpm --qf %{arch} | tail -1`; \ + debarch=`$(DPKG) --print-architecture`; \ + pkg1=$${name}-dkms-$${version}.$${arch}.rpm; \ + fakeroot $(ALIEN) --bump=0 --scripts --to-deb --target=$$debarch $$pkg1 || exit 1; \ + $(RM) $$pkg1 + +deb-utils: deb-local rpm-utils + name=${PACKAGE}; \ + version=${VERSION}-${RELEASE}; \ + arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ + debarch=`$(DPKG) --print-architecture`; \ + pkg1=$${name}-$${version}.$${arch}.rpm; \ + pkg2=libnvpair1-$${version}.$${arch}.rpm; \ + pkg3=libuutil1-$${version}.$${arch}.rpm; \ + pkg4=libzfs2-$${version}.$${arch}.rpm; \ + pkg5=libzpool2-$${version}.$${arch}.rpm; \ + pkg6=libzfs2-devel-$${version}.$${arch}.rpm; \ + pkg7=$${name}-test-$${version}.$${arch}.rpm; \ + pkg8=$${name}-dracut-$${version}.noarch.rpm; \ + pkg9=$${name}-initramfs-$${version}.$${arch}.rpm; \ + pkg10=`ls python*-pyzfs-$${version}* | tail -1`; \ +## Arguments need to be passed to dh_shlibdeps. Alien provides no mechanism +## to do this, so we install a shim onto the path which calls the real +## dh_shlibdeps with the required arguments. + path_prepend=`mktemp -d /tmp/intercept.XXX`; \ + echo "#$(SHELL)" > $${path_prepend}/dh_shlibdeps; \ + echo "`which dh_shlibdeps` -- \ + -xlibuutil1linux -xlibnvpair1linux -xlibzfs2linux -xlibzpool2linux" \ + >> $${path_prepend}/dh_shlibdeps; \ +## These -x arguments are passed to dpkg-shlibdeps, which exclude the +## Debianized packages from the auto-generated dependencies of the new debs, +## which should NOT be mixed with the alien-generated debs created here + chmod +x $${path_prepend}/dh_shlibdeps; \ + env PATH=$${path_prepend}:$${PATH} \ + fakeroot $(ALIEN) --bump=0 --scripts --to-deb --target=$$debarch \ + $$pkg1 $$pkg2 $$pkg3 $$pkg4 $$pkg5 $$pkg6 $$pkg7 \ + $$pkg8 $$pkg9 $$pkg10 || exit 1; \ + $(RM) $${path_prepend}/dh_shlibdeps; \ + rmdir $${path_prepend}; \ + $(RM) $$pkg1 $$pkg2 $$pkg3 $$pkg4 $$pkg5 $$pkg6 $$pkg7 \ + $$pkg8 $$pkg9 $$pkg10; + +deb: deb-kmod deb-dkms deb-utils |