Package: gtkmm2.4
Version: 1:2.24.2-2
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Hello -

Please find attached a patch to gtkmm2.4 to transition it to use
multiarch library paths as described at
<http://wiki.debian.org/Multiarch/Implementation>. This patch should
be safe to apply in Debian now that multiarch has been bootstrapped.

Since libgtkmm-2.4-dev contains no build-time-generated include files
or arch-dependent scripts/executables, it can be safely marked as
Multi-Arch: same, so this patch does so. Because many of its direct
and indirect dependencies have not yet been transitioned for
multiarch, libgtkmm-2.4-dev will not currently be multiarch
co-installable. This is fine, though, and if all of the dependencies
were ever to be transitioned for multiarch, the gtkmm -dev package
would immediately become multiarch co-installable.

Typically the biggest outstanding blocker to multiarch transitions is
.la files with non-empty dependency_libs lines. I don't have access to
lintian.debian.org, but I checked all files listed in
http://lintian.ubuntuwire.org/tags/non-empty-dependency_libs-in-la-file.html
(http://paste.ubuntu.com/766579/) and gtkmm2.4 isn't listed anywhere,
so this transition should be safe now by that metric.

Thanks for your consideration,
 - Evan

-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric-updates
  APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 
'oneiric'), (100, 'oneiric-backports')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0-13-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru gtkmm2.4-2.24.2/debian/control gtkmm2.4-2.24.2/debian/control
--- gtkmm2.4-2.24.2/debian/control	2011-08-15 01:27:13.000000000 -0700
+++ gtkmm2.4-2.24.2/debian/control	2011-12-11 21:01:11.000000000 -0800
@@ -12,8 +12,8 @@
 Homepage: http://www.gtkmm.org/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-gnome/desktop/unstable/gtkmm2.4
 Vcs-Svn: svn://svn.debian.org/svn/pkg-gnome/desktop/unstable/gtkmm2.4
-Build-Depends: cdbs (>= 0.4.51),
-               debhelper (>= 6),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3~),
                gnome-pkg-tools (>= 0.11),
                libgtk2.0-dev (>= 2.24.0),
                libglibmm-2.4-dev (>= 2.27.93),
@@ -26,6 +26,7 @@
 Package: libgtkmm-2.4-dev
 Section: libdevel
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgtkmm-2.4-1c2a (= ${binary:Version}),
@@ -36,6 +37,7 @@
          libpangomm-1.4-dev (>= 2.26.0),
          libatkmm-1.6-dev (>= 2.22.0)
 Suggests: libgtkmm-2.4-doc
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (development files)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
@@ -49,12 +51,14 @@
 Package: libgtkmm-2.4-1c2a
 Section: libs
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends}
 Conflicts: libgtkmm-2.4-1,
            libgtkmm-2.4-1c2
 Replaces: libgtkmm-2.4-1,
           libgtkmm-2.4-1c2
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (shared libraries)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
@@ -68,9 +72,11 @@
 Section: debug
 Priority: extra
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgtkmm-2.4-1c2a (= ${binary:Version})
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (debug symbols)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
diff -Nru gtkmm2.4-2.24.2/debian/control.in gtkmm2.4-2.24.2/debian/control.in
--- gtkmm2.4-2.24.2/debian/control.in	2011-08-15 01:09:31.000000000 -0700
+++ gtkmm2.4-2.24.2/debian/control.in	2011-12-11 21:00:59.000000000 -0800
@@ -7,8 +7,8 @@
 Homepage: http://www.gtkmm.org/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-gnome/desktop/unstable/gtkmm2.4
 Vcs-Svn: svn://svn.debian.org/svn/pkg-gnome/desktop/unstable/gtkmm2.4
-Build-Depends: cdbs (>= 0.4.51),
-               debhelper (>= 6),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3~),
                gnome-pkg-tools (>= 0.11),
                libgtk2.0-dev (>= 2.24.0),
                libglibmm-2.4-dev (>= 2.27.93),
@@ -21,6 +21,7 @@
 Package: libgtkmm-2.4-dev
 Section: libdevel
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgtkmm-2.4-1c2a (= ${binary:Version}),
@@ -31,6 +32,7 @@
          libpangomm-1.4-dev (>= 2.26.0),
          libatkmm-1.6-dev (>= 2.22.0)
 Suggests: libgtkmm-2.4-doc
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (development files)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
@@ -44,12 +46,14 @@
 Package: libgtkmm-2.4-1c2a
 Section: libs
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends}
 Conflicts: libgtkmm-2.4-1,
            libgtkmm-2.4-1c2
 Replaces: libgtkmm-2.4-1,
           libgtkmm-2.4-1c2
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (shared libraries)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
@@ -63,9 +67,11 @@
 Section: debug
 Priority: extra
 Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgtkmm-2.4-1c2a (= ${binary:Version})
+Multi-Arch: same
 Description: C++ wrappers for GTK+ (debug symbols)
  Gtkmm is a C++ interface for the popular GUI library GTK+, with API version
  2.4.  Gtkmm provides a convenient interface for C++ programmers to create
diff -Nru gtkmm2.4-2.24.2/debian/libgtkmm-2.4-1c2a.install gtkmm2.4-2.24.2/debian/libgtkmm-2.4-1c2a.install
--- gtkmm2.4-2.24.2/debian/libgtkmm-2.4-1c2a.install	2011-04-26 18:12:42.000000000 -0700
+++ gtkmm2.4-2.24.2/debian/libgtkmm-2.4-1c2a.install	2011-12-11 19:17:14.000000000 -0800
@@ -1 +1 @@
-usr/lib/lib*.so.*
+usr/lib/*/lib*.so.*
diff -Nru gtkmm2.4-2.24.2/debian/libgtkmm-2.4-dev.install gtkmm2.4-2.24.2/debian/libgtkmm-2.4-dev.install
--- gtkmm2.4-2.24.2/debian/libgtkmm-2.4-dev.install	2011-04-26 18:12:42.000000000 -0700
+++ gtkmm2.4-2.24.2/debian/libgtkmm-2.4-dev.install	2011-12-11 19:17:11.000000000 -0800
@@ -1,6 +1,6 @@
 usr/include
-usr/lib/gtkmm-2.4
-usr/lib/gdkmm-2.4
-usr/lib/lib*.so
-usr/lib/pkgconfig
-usr/lib/*.la
+usr/lib/*/gtkmm-2.4
+usr/lib/*/gdkmm-2.4
+usr/lib/*/lib*.so
+usr/lib/*/pkgconfig
+usr/lib/*/*.la
diff -Nru gtkmm2.4-2.24.2/debian/rules gtkmm2.4-2.24.2/debian/rules
--- gtkmm2.4-2.24.2/debian/rules	2011-04-26 18:12:42.000000000 -0700
+++ gtkmm2.4-2.24.2/debian/rules	2011-12-11 19:16:57.000000000 -0800
@@ -15,6 +15,8 @@
 
 LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
 
+DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
+
 DEB_COMPRESS_EXCLUDE_libgtkmm-2.4-doc = examples
 DEB_DH_INSTALL_SOURCEDIR := debian/tmp
 DEB_DH_MAKESHLIBS_ARGS_$(SHARED_PKG) += -V"$(SHARED_PKG) (>= $(SHVER))"

Reply via email to