[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#649504: apt: please add multiarch support



On Mon, Nov 21, 2011 at 04:59:23PM +0000, Colin Watson wrote:
> Package: apt
> Version: 0.8.16~exp8
> Severity: normal
> Tags: patch
> User: ubuntu-devel@lists.ubuntu.com
> Usertags: origin-ubuntu ubuntu-patch precise
> 
> The attached Bazaar bundle, based on the debian-experimental2 branch,
> converts apt's runtime library packages to multiarch support.  Aside
> from the usual reasons for converting libraries to multiarch, this would
> be particularly helpful because I believe it should make it possible to
> install apt:amd64 on an i386 system with an amd64 kernel (replacing the
> native apt) as the first step of a multiarch crossgrade.

It misses a few things:
	- Compat level needs to be changed to 9
	- Build-depend on debhelper (>= 8.1.3~).

Maybe also other stuff.


> 
> It's possible that libapt-pkg-dev can also be marked Multi-Arch: same as
> a result of this patch; I haven't checked whether the header files are
> reliably identical across architectures.  If this is the case, then
> please do go ahead and add that field as well.
AFAIK; we do not have any dynamically created header in that
package.


> 
> I did try building python-apt against this, but I can't find a tree that
> supports the current apt ABI; so perhaps you could test this to make
> sure that I haven't broken the ability to link against libapt-pkg?
> 
> Thanks,
> 
> -- 
> Colin Watson                                       [cjwatson@ubuntu.com]

> # Bazaar merge directive format 2 (Bazaar 0.90)
> # revision_id: cjwatson@canonical.com-20111121164234-843yiynl2g0zznny
> # target_branch: http+urllib://anonscm.debian.org/bzr/bzr/apt/apt\
> #   /debian-experimental2/
> # testament_sha1: 008645db7083071e10ab3bd7ebfbd03701b258d2
> # timestamp: 2011-11-21 16:42:54 +0000
> # base_revision_id: michael.vogt@ubuntu.com-20111110151055-\
> #   gkbk6bfx6biids40
> # 
> # Begin patch
> === modified file '.bzrignore'
> --- .bzrignore	2010-03-17 16:05:57 +0000
> +++ .bzrignore	2011-11-21 16:42:34 +0000
> @@ -10,6 +10,8 @@
>  configure
>  buildlib/config.sub
>  buildlib/config.guess
> +debian/libapt-pkg[0-9]*.install
> +debian/libapt-inst[0-9]*.install
>  
>  # abichecker related files/dir
>  abicheck/apt_build.xml
> 
> === modified file 'debian/changelog'
> --- debian/changelog	2011-11-03 14:41:14 +0000
> +++ debian/changelog	2011-11-21 16:42:34 +0000
> @@ -1,3 +1,9 @@
> +apt (0.8.16~exp9) UNRELEASED; urgency=low
> +
> +  * Convert libapt-pkg4.12 and libapt-inst1.4 to Multi-Arch: same.
> +
> + -- Colin Watson <cjwatson@ubuntu.com>  Mon, 21 Nov 2011 15:34:05 +0000
> +
>  apt (0.8.16~exp8) experimental; urgency=low
>  
>    [ David Kalnischkies ]
> 
> === modified file 'debian/control'
> --- debian/control	2011-09-14 11:56:33 +0000
> +++ debian/control	2011-11-21 16:42:34 +0000
> @@ -35,9 +35,20 @@
>    * apt-config as an interface to the configuration settings
>    * apt-key as an interface to manage authentication keys
>  
> +Package: libapt-common
> +Architecture: all
> +Multi-Arch: foreign
> +Depends: ${misc:Depends}
> +Breaks: libapt-pkg4.12 (<< 0.8.16~exp9), libapt-inst1.4 (<< 0.8.16~exp9)
> +Replaces: libapt-pkg4.12 (<< 0.8.16~exp9), libapt-inst1.4 (<< 0.8.16~exp9)
> +Description: Common files for APT libraries
> + This package includes translation files common to APT library packages.
> +
>  Package: libapt-pkg4.12
>  Architecture: any
> -Depends: ${shlibs:Depends}, ${misc:Depends}
> +Multi-Arch: same
> +Pre-Depends: ${misc:Pre-Depends}
> +Depends: ${shlibs:Depends}, ${misc:Depends}, libapt-common
>  Description: APT's package managment runtime library
>   This library provides the common functionality for searching and
>   managing packages as well as information about packages.
> @@ -56,7 +67,9 @@
>  
>  Package: libapt-inst1.4
>  Architecture: any
> -Depends: ${shlibs:Depends}, ${misc:Depends}
> +Multi-Arch: same
> +Pre-Depends: ${misc:Pre-Depends}
> +Depends: ${shlibs:Depends}, ${misc:Depends}, libapt-common
>  Description: APT's deb package format runtime library
>   This library provides methods to query and extract information 
>   from deb packages. This includes the control data and the package
> @@ -74,6 +87,7 @@
>  Package: libapt-pkg-dev
>  Architecture: any
>  Priority: optional
> +Pre-Depends: ${misc:Pre-Depends}
>  Depends: ${libapt-pkg-name} (= ${binary:Version}), ${libapt-inst-name} (= ${binary:Version}), ${misc:Depends}, zlib1g-dev | zlib-dev
>  Section: libdevel
>  Description: Development files for APT's libapt-pkg and libapt-inst
> 
> === added file 'debian/libapt-common.install'
> --- debian/libapt-common.install	1970-01-01 00:00:00 +0000
> +++ debian/libapt-common.install	2011-11-21 16:42:34 +0000
> @@ -0,0 +1,1 @@
> +usr/share/locale/*/*/libapt-*.mo
> 
> === renamed file 'debian/libapt-inst1.4.install' => 'debian/libapt-inst1.4.install.in'
> --- debian/libapt-inst1.4.install	2011-09-14 11:56:33 +0000
> +++ debian/libapt-inst1.4.install.in	2011-11-21 16:42:34 +0000
> @@ -1,2 +1,1 @@
> -bin/libapt-inst*.so.* usr/lib/
> -usr/share/locale/*/*/libapt-inst*.mo
> +bin/libapt-inst*.so.* usr/lib/@DEB_HOST_MULTIARCH@/
> 
> === removed file 'debian/libapt-pkg-dev.dirs'
> --- debian/libapt-pkg-dev.dirs	2004-09-20 16:53:12 +0000
> +++ debian/libapt-pkg-dev.dirs	1970-01-01 00:00:00 +0000
> @@ -1,2 +0,0 @@
> -usr/lib
> -usr/include/apt-pkg
> 
> === renamed file 'debian/libapt-pkg-dev.install' => 'debian/libapt-pkg-dev.install.in'
> --- debian/libapt-pkg-dev.install	2011-01-15 23:54:48 +0000
> +++ debian/libapt-pkg-dev.install.in	2011-11-21 16:42:34 +0000
> @@ -1,3 +1,3 @@
> -bin/libapt-pkg*.so usr/lib/
> -bin/libapt-inst*.so usr/lib/
> +bin/libapt-pkg*.so usr/lib/@DEB_HOST_MULTIARCH@/
> +bin/libapt-inst*.so usr/lib/@DEB_HOST_MULTIARCH@/
>  include/apt-pkg/*.h usr/include/apt-pkg/
> 
> === renamed file 'debian/libapt-pkg4.12.install' => 'debian/libapt-pkg4.12.install.in'
> --- debian/libapt-pkg4.12.install	2011-09-14 11:56:33 +0000
> +++ debian/libapt-pkg4.12.install.in	2011-11-21 16:42:34 +0000
> @@ -1,2 +1,1 @@
> -bin/libapt-pkg*.so.* usr/lib/
> -usr/share/locale/*/*/libapt-pkg*.mo
> +bin/libapt-pkg*.so.* usr/lib/@DEB_HOST_MULTIARCH@/
> 
> === modified file 'debian/rules'
> --- debian/rules	2011-09-13 16:00:22 +0000
> +++ debian/rules	2011-11-21 16:42:34 +0000
> @@ -5,6 +5,7 @@
>  
>  export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
>  export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
> +export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
>  
>  # FOR AUTOCONF 2.52 AND NEWER ONLY
>  ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
> @@ -118,9 +119,31 @@
>  
>  	[ ! -f Makefile ] || $(MAKE) clean distclean
>  	rm -rf build
> -
> -binary-indep: apt-doc libapt-pkg-doc
> +	rm -f debian/$(LIBAPT_PKG).install debian/$(LIBAPT_INST).install \
> +	      debian/libapt-pkg-dev.install
> +
> +debian/%.install: debian/%.install.in
> +	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
> +
> +binary-indep: libapt-common apt-doc libapt-pkg-doc
>  # Build architecture-independent files here.
> +libapt-common: build
> +	dh_testdir -p$@
> +	dh_testroot -p$@
> +	dh_prep -p$@
> +	dh_installdirs -p$@
> +
> +	dh_install -p$@ --sourcedir=$(BLD)
> +	dh_installdocs -p$@
> +	dh_installchangelogs -p$@
> +	dh_strip -p$@
> +	dh_compress -p$@
> +	dh_fixperms -p$@
> +	dh_installdeb -p$@
> +	dh_gencontrol -p$@
> +	dh_md5sums -p$@
> +	dh_builddeb -p$@
> +
>  libapt-pkg-doc: build-doc
>  	dh_testdir -p$@
>  	dh_testroot -p$@
> @@ -217,7 +240,7 @@
>  	dh_md5sums -p$@
>  	dh_builddeb -p$@
>  
> -libapt-pkg-dev: build
> +libapt-pkg-dev: build debian/libapt-pkg-dev.install
>  	dh_testdir -p$@
>  	dh_testroot -p$@
>  	dh_prep -p$@
> @@ -265,7 +288,7 @@
>  	dh_md5sums -p$@
>  	dh_builddeb -p$@
>  
> -$(LIBAPT_PKG): build
> +$(LIBAPT_PKG): build debian/$(LIBAPT_PKG).install
>  	dh_testdir -p$@
>  	dh_testroot -p$@
>  	dh_prep -p$@
> @@ -284,7 +307,7 @@
>  	dh_md5sums -p$@
>  	dh_builddeb -p$@
>  
> -$(LIBAPT_INST): build
> +$(LIBAPT_INST): build debian/$(LIBAPT_INST).install
>  	dh_testdir -p$@
>  	dh_testroot -p$@
>  	dh_prep -p$@
> 
> # Begin bundle
> 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
> o17RIssNyp21iR/gDqA50f/F3JFOFCQNtW3QAA==


-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

Attachment: pgpQPBDlzDutP.pgp
Description: PGP signature


Reply to: