multi-arch
Hello.
It seems that this migration to 4.6 is the occasion to update our packages
to multiarch, as described in
http://wiki.debian.org/Multiarch/Implementation
Let me attempt to summarize the needed changes, maybe to prepare a policy
modification.
Supporting multi-arch is specific to libraries. Debian does not make this
support mandatory. The migration is only possible for package
- marked as Architectures: any (or a specific list)
- containing only files in /usr/lib/${DEB_HOST_MULTIARCH} and /usr/share,
the latter ones being byte-for-byte identical across architectures (in
particular using -n if gzip-compressed).
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
First step: in all packages, intall to /usr/lib/${DEB_HOST_MULTIARCH} what
you did before install to /usr/lib. The so symlink won't change, but the
command you use to install it may.
-dev package: libfoo.gpr:
- for Library_ALI_Dir use "/usr/lib/ada/adalib/foo";
- for Library_Dir use "/usr/lib";
+ for Library_ALI_Dir use "/usr/lib/${DEB_HOST_MULTIARCH}/ada/adalib/foo";
+ for Library_Dir use "/usr/lib/${DEB_HOST_MULTIARCH}";
README.Debian:
1. gnatmake -aI/usr/share/ada/adainclude/foo \
- -aO/usr/lib/ada/adalib/foo \
+ -aO/usr/lib/${DEB_HOST_MULTIARCH}/ada/adalib/foo \
your_main_program.adb \
-largs -lfoo
debian/control: for -dev package
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
debian/rules:
- ./configure
+ ./configure --libdir==\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
+# dh_fixperms does not (yet?) detect ali files with multiarch path
+override_dh_fixperms:
+ dh_fixperms
+ chmod uga-w debian/$(DEV_PKG)/usr/lib/$(DEB_HOST_MULTIARCH)/ada/adalib/ncursesada/*.ali
Questions (my suppositions are between parenthesis):
The -dbg package can it be Multi-Arch: same?
(it MUST as soon as the library package is)
The -doc package can it be Multi-Arch: same?
(Nonsense question for Architectures: all packages)
The -dev package can it be Multi-Arch: same?
(The condition that /usr/share files are architecture-independant forbids
that to libraries using architecture-dependant headers, for example
generated from C)
Reply to: