| 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; \ |
| if test "${ALIEN_MAJOR}" = "8" && \ |
| test "${ALIEN_MINOR}" = "95"; then \ |
| if test "${ALIEN_POINT}" = "1" || \ |
| test "${ALIEN_POINT}" = "2" || \ |
| test "${ALIEN_POINT}" = "3"; then \ |
| /bin/echo -e "\n" \ |
| "*** Installed version of ${ALIEN} is known to be broken;\n" \ |
| "*** attempting to generate debs will fail! See\n" \ |
| "*** https://github.com/openzfs/zfs/issues/11650 for details.\n"; \ |
| exit 1; \ |
| fi; \ |
| 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-initramfs |
| 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=libnvpair3-$${version}.$${arch}.rpm; \ |
| pkg3=libuutil3-$${version}.$${arch}.rpm; \ |
| pkg4=libzfs5-$${version}.$${arch}.rpm; \ |
| pkg5=libzpool5-$${version}.$${arch}.rpm; \ |
| pkg6=libzfs5-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.XXXXXX`; \ |
| echo "#!$(SHELL)" > $${path_prepend}/dh_shlibdeps; \ |
| echo "`which dh_shlibdeps` -- \ |
| -xlibuutil3linux -xlibnvpair3linux -xlibzfs5linux -xlibzpool5linux" \ |
| >> $${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 |