Browse Source

debian: Do not change libdir for the entire dpkg

This changes too many directories that are expected to be non-multiarch
aware. Instead perform the moving to the correct multiarch directories
in debian/rules.

Closes: #794977
Guillem Jover 8 years ago
parent
commit
3ce3a7adeb
4 changed files with 11 additions and 3 deletions
  1. 3 0
      debian/changelog
  2. 1 1
      debian/dselect.install
  3. 1 1
      debian/libdpkg-perl.install
  4. 6 1
      debian/rules

+ 3 - 0
debian/changelog

@@ -11,6 +11,9 @@ dpkg (1.18.3) UNRELEASED; urgency=low
       Closes: #794694
   * Packaging:
     - Remove unneeded --sourcedir options from dh_install calls.
+    - Do not change libdir to a multi-arch directory for the entire dpkg.
+      This changes too many directories that are expected to be non-multiarch
+      aware. Closes: #794977
   * Documentation:
     - Fix typos for --predep-package option name. Closes: #794688
 

+ 1 - 1
debian/dselect.install

@@ -2,7 +2,7 @@
 
 etc/dpkg/dselect.cfg.d
 usr/bin/dselect
-usr/lib/*/dpkg/methods usr/lib/dpkg
+usr/lib/dpkg/methods usr/lib/dpkg
 usr/share/locale/*/LC_MESSAGES/dselect.mo
 usr/share/perl5/Dselect
 var/lib/dpkg/methods

+ 1 - 1
debian/libdpkg-perl.install

@@ -1,4 +1,4 @@
-usr/lib/*/dpkg/parsechangelog usr/lib/dpkg
+usr/lib/dpkg/parsechangelog usr/lib/dpkg
 usr/share/locale/*/LC_MESSAGES/dpkg-dev.mo
 usr/share/man/man3/Dpkg*.3
 usr/share/perl5/Dpkg*

+ 6 - 1
debian/rules

@@ -38,6 +38,7 @@ ifeq (,$(filter maintainer-build,$(DEB_BUILD_OPTIONS)))
 endif
 
 D := $(CURDIR)/debian/tmp
+D_MA := $(D)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 # Create configure script if necessary, automake handles rebuilding it.
 configure:
@@ -57,7 +58,6 @@ build-tree/config.status: configure
 		--infodir=\$${datadir}/info \
 		--sysconfdir=/etc \
 		--sbindir=/sbin \
-		--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 		--localstatedir=/var \
 		--with-zlib \
 		--with-liblzma \
@@ -86,6 +86,11 @@ install: check
 
 	cd build-tree && $(MAKE) DESTDIR=$(D) install
 
+	# Passing --libdir to configure has too many side effects, install
+	# the paths into Multi-Arch directories here instead.
+	mkdir -p $(D_MA)
+	mv $(D)/usr/lib/libdpkg.a $(D_MA)
+
 ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
 	# Ubuntu's «i386» architecture is built for i686 (the Debian default
 	# is i586).