소스 검색

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 년 전
부모
커밋
9043cdef19
2개의 변경된 파일3개의 추가작업 그리고 9개의 파일을 삭제
  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.
   * 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
+    - Use the new --with-devlibdir configure option to only switch libdpkg-dev
+      files to the multi-arch directory. Closes: #794977
   * Documentation:
     - 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
 
 D := $(CURDIR)/debian/tmp
-D_MA := $(D)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 # Create configure script if necessary, automake handles rebuilding it.
 configure:
@@ -59,6 +58,7 @@ build-tree/config.status: configure
 		--sysconfdir=/etc \
 		--sbindir=/sbin \
 		--localstatedir=/var \
+		--with-devlibdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 		--with-zlib \
 		--with-liblzma \
 		--with-bz2
@@ -86,11 +86,6 @@ 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).