Bug#696395: vte: please support multiarch
Colin Watson
cjwatson at ubuntu.com
Thu Dec 20 12:34:19 UTC 2012
Package: vte
Version: 1:0.28.2-5
Severity: wishlist
Tags: patch
User: multiarch-devel at lists.alioth.debian.org
Usertags: multiarch
Hi,
It'd be helpful if vte were converted to multiarch. This would unblock
cross-building of the 27 packages that build-depend on it. (I realise
that vte3 probably ought to be done too, but this was the one I ran into
first ...)
I omitted the generated debian/control diff.
I went to some effort to convert libvte-dev to Multi-Arch: same,
including forwarding a relevant patch upstream, before realising that it
isn't currently possible to coinstall multiple libvte-dev packages
because none of libcairo2-dev, libgtk2.0-dev, libpango1.0-dev, and
libglib2.0-dev are Multi-Arch: same. Still, I don't think it's harmful
to include that part of the patch anyway.
* Support multiarch.
diff -Nru vte-0.28.2/debian/control.in vte-0.28.2/debian/control.in
--- vte-0.28.2/debian/control.in 2011-12-31 13:58:59.000000000 +0000
+++ vte-0.28.2/debian/control.in 2012-12-19 18:23:16.000000000 +0000
@@ -5,8 +5,8 @@
Uploaders: @GNOME_TEAM@
Standards-Version: 3.9.2
X-Python-Version: >= 2.3
-Build-Depends: cdbs (>= 0.4.90),
- debhelper (>= 8),
+Build-Depends: cdbs (>= 0.4.93~),
+ debhelper (>= 8.1.3~),
gnome-pkg-tools (>= 0.10),
dh-autoreconf,
libglib2.0-dev (>= 2.26.0),
@@ -27,6 +27,8 @@
Package: libvte9
Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
${shlibs:Depends},
libvte-common (= ${source:Version})
@@ -57,6 +59,7 @@
Package: libvte-dev
Architecture: any
+Multi-Arch: same
Section: libdevel
Depends: ${misc:Depends},
libvte9 (= ${binary:Version}),
@@ -80,6 +83,7 @@
Package: libvte-common
Architecture: all
+Multi-Arch: foreign
Depends: ${misc:Depends}
Breaks: libvte9 (<< 1:0.28)
Description: Terminal emulator widget for GTK+ 2.x - common files
diff -Nru vte-0.28.2/debian/libvte-dev.install vte-0.28.2/debian/libvte-dev.install
--- vte-0.28.2/debian/libvte-dev.install 2011-01-05 02:01:29.000000000 +0000
+++ vte-0.28.2/debian/libvte-dev.install 2012-12-19 18:16:49.000000000 +0000
@@ -1,6 +1,6 @@
usr/include/vte-0.0
-usr/lib/pkgconfig/vte.pc
-usr/lib/pkgconfig/pyvte.pc
-usr/lib/libvte.a
-usr/lib/libvte.so
+usr/lib/*/pkgconfig/vte.pc
+usr/lib/*/pkgconfig/pyvte.pc
+usr/lib/*/libvte.a
+usr/lib/*/libvte.so
usr/share/pygtk/2.0/defs
diff -Nru vte-0.28.2/debian/libvte9-udeb.install vte-0.28.2/debian/libvte9-udeb.install
--- vte-0.28.2/debian/libvte9-udeb.install 2011-01-04 23:40:52.000000000 +0000
+++ vte-0.28.2/debian/libvte9-udeb.install 2012-12-19 18:16:21.000000000 +0000
@@ -1,2 +1,2 @@
-usr/lib/libvte.so.*
+usr/lib/*/libvte.so.*
usr/share/vte/termcap-*
diff -Nru vte-0.28.2/debian/libvte9.install vte-0.28.2/debian/libvte9.install
--- vte-0.28.2/debian/libvte9.install 2011-01-04 23:40:52.000000000 +0000
+++ vte-0.28.2/debian/libvte9.install 2012-12-19 18:16:13.000000000 +0000
@@ -1,2 +1,2 @@
-usr/lib/libvte.so.*
-usr/lib/libvte9
+usr/lib/*/libvte.so.*
+usr/lib/*/libvte9
diff -Nru vte-0.28.2/debian/libvte9.lintian-overrides vte-0.28.2/debian/libvte9.lintian-overrides
--- vte-0.28.2/debian/libvte9.lintian-overrides 2011-04-14 23:07:23.000000000 +0100
+++ vte-0.28.2/debian/libvte9.lintian-overrides 2012-12-19 18:15:29.000000000 +0000
@@ -1,2 +1,2 @@
# Setgid on purpose to write the utmp file
-libvte9: setgid-binary usr/lib/libvte9/gnome-pty-helper 2755 root/utmp
+libvte9: setgid-binary usr/lib/*/libvte9/gnome-pty-helper 2755 root/utmp
diff -Nru vte-0.28.2/debian/patches/70_multiarch.patch vte-0.28.2/debian/patches/70_multiarch.patch
--- vte-0.28.2/debian/patches/70_multiarch.patch 1970-01-01 01:00:00.000000000 +0100
+++ vte-0.28.2/debian/patches/70_multiarch.patch 2012-12-20 11:20:39.000000000 +0000
@@ -0,0 +1,22 @@
+Description: Make header files multiarch-compatible
+ In order for libvte-dev to be Multi-Arch: same, the headers it contains
+ need to be identical across architectures. Using @basename@ rather than
+ @filename@ removes the build directory from vtetypebuiltins.h and thus
+ makes it identical across architectures.
+Author: Colin Watson <cjwatson at ubuntu.com>
+Forwarded: no
+Last-Update: 2012-12-20
+
+Index: b/src/vtetypebuiltins.h.template
+===================================================================
+--- a/src/vtetypebuiltins.h.template
++++ b/src/vtetypebuiltins.h.template
+@@ -13,7 +13,7 @@
+
+ /*** BEGIN file-production ***/
+
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+
+ /*** BEGIN value-header ***/
diff -Nru vte-0.28.2/debian/patches/series vte-0.28.2/debian/patches/series
--- vte-0.28.2/debian/patches/series 2012-06-23 15:02:56.000000000 +0100
+++ vte-0.28.2/debian/patches/series 2012-12-20 11:17:03.000000000 +0000
@@ -4,3 +4,4 @@
04_CVE-2012-2738.patch
25_optional-ncurses.patch
60_termcap-home-end.patch
+70_multiarch.patch
diff -Nru vte-0.28.2/debian/rules vte-0.28.2/debian/rules
--- vte-0.28.2/debian/rules 2011-12-11 21:55:27.000000000 +0000
+++ vte-0.28.2/debian/rules 2012-12-19 18:14:29.000000000 +0000
@@ -14,11 +14,13 @@
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
-DEB_CONFIGURE_LIBEXECDIR := \$${prefix}/lib/$(libvteN)
+DEB_CONFIGURE_LIBEXECDIR := \$${prefix}/lib/$(DEB_HOST_MULTIARCH)/$(libvteN)
DEB_FIXPERMS_EXCLUDE += gnome-pty-helper
DEB_DH_MAKESHLIBS_ARGS_$(libvteN) += -V '$(libvteN) (>= 1:0.28.0)' --add-udeb=$(udeb)
-DEB_CONFIGURE_EXTRA_FLAGS += PYTHON="/usr/bin/$(cdbs_make_curflavor)"
+DEB_CONFIGURE_EXTRA_FLAGS += \
+ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+ PYTHON="/usr/bin/$(cdbs_make_curflavor)"
DEB_CONFIGURE_FLAGS_main += \
--disable-python
Thanks,
--
Colin Watson [cjwatson at ubuntu.com]
More information about the pkg-gnome-maintainers
mailing list