]> granicus.if.org Git - zfs/commitdiff
Fix default libdir for Debian/Ubuntu
authorBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 6 Feb 2018 04:42:52 +0000 (20:42 -0800)
committerTony Hutter <hutter2@llnl.gov>
Wed, 14 Mar 2018 23:10:36 +0000 (16:10 -0700)
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7083
Closes #7101

config/zfs-build.m4

index 5eaa49c8759f811c09bf9c27b263302111104f7b..7c19cecd605ca3a97ce1f1f6f6b600ea56c16510 100644 (file)
@@ -164,6 +164,19 @@ AC_DEFUN([ZFS_AC_RPM], [
        RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)" --define "require_spldir $(SPL)" --define "require_splobj $(SPL_OBJ)" --define "ksrc $(LINUX)" --define "kobj $(LINUX_OBJ)"'
        RPM_DEFINE_DKMS=
 
+       dnl # Override default lib directory on Debian/Ubuntu systems.  The provided
+       dnl # /usr/lib/rpm/platform/<arch>/macros files do not specify the correct
+       dnl # path for multiarch systems as described by the packaging guidelines.
+       dnl #
+       dnl # https://wiki.ubuntu.com/MultiarchSpec
+       dnl # https://wiki.debian.org/Multiarch/Implementation
+       dnl #
+       AS_IF([test "$DEFAULT_PACKAGE" = "deb"], [
+               MULTIARCH_LIBDIR="lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
+               RPM_DEFINE_UTIL+=' --define "_lib $(MULTIARCH_LIBDIR)"'
+               AC_SUBST(MULTIARCH_LIBDIR)
+       ])
+
        SRPM_DEFINE_COMMON='--define "build_src_rpm 1"'
        SRPM_DEFINE_UTIL=
        SRPM_DEFINE_KMOD=