Browse Source

debian: Use --with-devlibdir to only switch libdpkg-dev to a multiarch dir

The perl plugins and dselect methods need to use the non-multiarch
directory, or things break. We can use now the new option to only
install the C libdpkg files in a multiarch enabled path.

The fix from commit 3ce3a7adeb8c815734a35b95aee96bacd1aafde4 was not
correct, as libdpkg.pc was not moved to the multiarch directory and
was making the build fail, because it needs to have a libdir matching
the directory where the library was installed.
Guillem Jover 10 years ago
parent
commit
9043cdef19
2 changed files with 3 additions and 9 deletions
  1. 2 3
      debian/changelog
  2. 1 6
      debian/rules

+ 2 - 3
debian/changelog

@@ -35,9 +35,8 @@ dpkg (1.18.3) UNRELEASED; urgency=low
     - Add a new --with-devlibdir configure option for the C libdpkg library.
     - Add a new --with-devlibdir configure option for the C libdpkg library.
   * Packaging:
   * Packaging:
     - Remove unneeded --sourcedir options from dh_install calls.
     - 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
+    - Use the new --with-devlibdir configure option to only switch libdpkg-dev
+      files to the multi-arch directory. Closes: #794977
   * Documentation:
   * Documentation:
     - Fix typos for --predep-package option name. Closes: #794688
     - Fix typos for --predep-package option name. Closes: #794688
 
 

+ 1 - 6
debian/rules

@@ -38,7 +38,6 @@ ifeq (,$(filter maintainer-build,$(DEB_BUILD_OPTIONS)))
 endif
 endif
 
 
 D := $(CURDIR)/debian/tmp
 D := $(CURDIR)/debian/tmp
-D_MA := $(D)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 
 # Create configure script if necessary, automake handles rebuilding it.
 # Create configure script if necessary, automake handles rebuilding it.
 configure:
 configure:
@@ -59,6 +58,7 @@ build-tree/config.status: configure
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--sbindir=/sbin \
 		--sbindir=/sbin \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--with-devlibdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 		--with-zlib \
 		--with-zlib \
 		--with-liblzma \
 		--with-liblzma \
 		--with-bz2
 		--with-bz2
@@ -86,11 +86,6 @@ install: check
 
 
 	cd build-tree && $(MAKE) DESTDIR=$(D) install
 	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))
 ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
 	# Ubuntu's «i386» architecture is built for i686 (the Debian default
 	# Ubuntu's «i386» architecture is built for i686 (the Debian default
 	# is i586).
 	# is i586).