r42383 - in /desktop/experimental/gobject-introspection/debian: ./ patches/

laney at users.alioth.debian.org laney at users.alioth.debian.org
Sat Aug 30 21:40:04 UTC 2014


Author: laney
Date: Sat Aug 30 21:40:04 2014
New Revision: 42383

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=42383
Log:
Set multiarch libdir, fix dh_girepository to look there, fall back to old one, mark gir packages MA: same


Added:
    desktop/experimental/gobject-introspection/debian/patches/
      - copied from r42268, desktop/experimental/gobject-introspection/debian/patches/
    desktop/experimental/gobject-introspection/debian/patches/pre_multiarch_compat
Modified:
    desktop/experimental/gobject-introspection/debian/changelog
    desktop/experimental/gobject-introspection/debian/control
    desktop/experimental/gobject-introspection/debian/control.in
    desktop/experimental/gobject-introspection/debian/dh_girepository
    desktop/experimental/gobject-introspection/debian/gir1.2-freedesktop.install
    desktop/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install
    desktop/experimental/gobject-introspection/debian/gobject-introspection.install
    desktop/experimental/gobject-introspection/debian/libgirepository-1.0-1.install
    desktop/experimental/gobject-introspection/debian/libgirepository1.0-dev.install
    desktop/experimental/gobject-introspection/debian/patches/series
    desktop/experimental/gobject-introspection/debian/rules

Modified: desktop/experimental/gobject-introspection/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/changelog?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/changelog	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/changelog	[utf-8] Sat Aug 30 21:40:04 2014
@@ -14,7 +14,18 @@
   * Drop patch from upstream:
     - debian/patches/git_tests_implementation_interface.patch
 
- -- Andreas Henriksson <andreas at fatal.se>  Sun, 24 Aug 2014 16:17:40 -0700
+  [ Iain Lane ]
+  * debian/{rules, dh_girepository}: Apply patch (slightly modified) from
+    Michael Vogt to use a multiarch libdir. As typelib files are placed into a
+    subdirectory of libdir, this may cause some packages (those which respect
+    the `typelibdir' variable in the pcfile) to fail to build until their
+    .install files are updated. This change allows gir packages to be made
+    multiarch. (Closes: #755874)
+    + debian/patches/pre_multiarch_compat: Search for typelib files in the
+      pre-multiarch path too.
+    + debian/control*: Mark gi packages as M-A: same
+
+ -- Iain Lane <laney at debian.org>  Fri, 29 Aug 2014 18:50:04 +0100
 
 gobject-introspection (1.40.0-2) unstable; urgency=medium
 

Modified: desktop/experimental/gobject-introspection/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/control?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/control	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/control	[utf-8] Sat Aug 30 21:40:04 2014
@@ -37,6 +37,7 @@
 Provides: libgirepository1.0-1
 Conflicts: libgirepository1.0-1
 Replaces: libgirepository1.0-1
+Multi-Arch: same
 Description: Library for handling GObject introspection data (runtime library)
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection
@@ -129,6 +130,7 @@
            gir1.0-glib-2.0
 Breaks: python-gobject (<< 2.90),
         gnome-shell (<< 3.0.2-6)
+Multi-Arch: same
 Description: Introspection data for GLib, GObject, Gio and GModule
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection
@@ -149,6 +151,7 @@
          ${misc:Depends}
 Conflicts: gobject-introspection-freedesktop,
            gir1.0-freedesktop
+Multi-Arch: same
 Description: Introspection data for some FreeDesktop components
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection

Modified: desktop/experimental/gobject-introspection/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/control.in?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/control.in	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/control.in	[utf-8] Sat Aug 30 21:40:04 2014
@@ -33,6 +33,7 @@
 Provides: libgirepository1.0-1
 Conflicts: libgirepository1.0-1
 Replaces: libgirepository1.0-1
+Multi-Arch: same
 Description: Library for handling GObject introspection data (runtime library)
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection
@@ -125,6 +126,7 @@
            gir1.0-glib-2.0
 Breaks: python-gobject (<< 2.90),
         gnome-shell (<< 3.0.2-6)
+Multi-Arch: same
 Description: Introspection data for GLib, GObject, Gio and GModule
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection
@@ -145,6 +147,7 @@
          ${misc:Depends}
 Conflicts: gobject-introspection-freedesktop,
            gir1.0-freedesktop
+Multi-Arch: same
 Description: Introspection data for some FreeDesktop components
  GObject Introspection is a project for providing machine readable
  introspection data of the API of C libraries. This introspection

Modified: desktop/experimental/gobject-introspection/debian/dh_girepository
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/dh_girepository?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/dh_girepository	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/dh_girepository	[utf-8] Sat Aug 30 21:40:04 2014
@@ -78,8 +78,12 @@
 my $bin_version = $dh{VERSION};
 my @archpackages = getpackages("arch");
 
+my $triplet = `dpkg-architecture -qDEB_HOST_MULTIARCH`;
+chomp $triplet;
+my $typelib_multiarch_path = "/usr/lib/$triplet/girepository-1.0";
 my $typelib_path = "/usr/lib/girepository-1.0";
-my @typelibdirs = (@ARGV, $typelib_path);
+
+my @typelibdirs = (@ARGV, $typelib_path, $typelib_multiarch_path);
 my $gir_path = "/usr/share/gir-1.0";
 my @girdirs = (@ARGV, $gir_path);
 my $arch_triplet = `dpkg-architecture -qDEB_HOST_MULTIARCH`;
@@ -149,48 +153,54 @@
 sub require_typelib {
     my $req = shift;
     my $package = shift;
-    my $fullpath = "$typelib_path/$req";
-
-    verbose_print ("Dependency: $req");
-    foreach my $girdir (@girdirs) {
-        if (-f tmpdir($package)."$girdir/$req") {
-            verbose_print("  found in the same package");
-            return;
-        }
-    }
-    foreach my $otherpkg (@archpackages) {
-        if (-f tmpdir($otherpkg)."$fullpath") {
-            verbose_print ("  found in $otherpkg");
-            error("Dependency on $otherpkg with a different format than $format") unless $otherpkg =~ /^gir$format/;
-            addsubstvar ($package, "gir:Depends", $otherpkg, "= $bin_version");
-            return;
-        }
-    }
-    foreach my $privpath (@privdirs) {
-        if (-f "$privpath/$req") {
-            verbose_print ("  found in $privpath");
-            $fullpath = "$privpath/$req";
-            last;
-        }
-    }
-    error("Could not find $req dependency") unless -f "$fullpath";
-    my @output = (split ':', `dpkg -S $fullpath 2>/dev/null`);
-    error("$fullpath does not belong to any package") unless @output;
-    my $deppkg = $output[0];
-    error("Dependency on $deppkg with a different format than $format") unless $deppkg =~ /^gir$format/;
-    # Look for version information in build-dependencies
-    my $found = 0;
-    foreach my $bdep (@bdeps) {
-        if ($bdep =~ /^\s*([a-z0-9\._\-\+]+)\s*\((.*)\)/) {
-            if ($1 eq $deppkg) {
-                addsubstvar ($package, "gir:Depends", $1, $2);
-                $found = 1;
-            }
-        }
-    }
-    if (! $found) {
-        addsubstvar ($package, "gir:Depends", $deppkg);
-    }
+    my $fullpath = "";
+    foreach my $typelibdir (@typelibdirs) {
+        $fullpath = "$typelibdir/$req";
+
+        verbose_print ("Dependency: $req");
+        foreach my $girdir (@girdirs) {
+            if (-f tmpdir($package)."$girdir/$req") {
+                verbose_print("  found in the same package");
+                return;
+            }
+        }
+        foreach my $otherpkg (@archpackages) {
+            if (-f tmpdir($otherpkg)."$fullpath") {
+                error("Dependency on $otherpkg with a different format than $format") unless $otherpkg =~ /^gir$format/;
+                addsubstvar ($package, "gir:Depends", $otherpkg, "= $bin_version");
+                return;
+            }
+        }
+        foreach my $privpath (@privdirs) {
+            if (-f "$privpath/$req") {
+                verbose_print ("  found in $privpath");
+                $fullpath = "$privpath/$req";
+                last;
+            }
+        }
+
+        if (-f "$fullpath") {
+            my @output = (split ':', `dpkg -S $fullpath 2>/dev/null`);
+            error("$fullpath does not belong to any package") unless @output;
+            my $deppkg = $output[0];
+            error("Dependency on $deppkg with a different format than $format") unless $deppkg =~ /^gir$format/;
+            # Look for version information in build-dependencies
+            my $found = 0;
+            foreach my $bdep (@bdeps) {
+                if ($bdep =~ /^\s*([a-z0-9\._\-\+]+)\s*\((.*)\)/) {
+                    if ($1 eq $deppkg) {
+                        addsubstvar ($package, "gir:Depends", $1, $2);
+                        $found = 1;
+                    }
+                }
+            }
+            if (! $found) {
+                addsubstvar ($package, "gir:Depends", $deppkg);
+                return;
+            }
+        }
+    }
+    error("Could not find $req dependency");
 }
 
 

Modified: desktop/experimental/gobject-introspection/debian/gir1.2-freedesktop.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/gir1.2-freedesktop.install?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/gir1.2-freedesktop.install	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/gir1.2-freedesktop.install	[utf-8] Sat Aug 30 21:40:04 2014
@@ -1,11 +1,11 @@
-usr/lib/girepository-1.0/cairo-1.0.typelib
-usr/lib/girepository-1.0/DBus-1.0.typelib
-usr/lib/girepository-1.0/DBusGLib-1.0.typelib
-usr/lib/girepository-1.0/fontconfig-2.0.typelib
-usr/lib/girepository-1.0/freetype2-2.0.typelib
-usr/lib/girepository-1.0/GL-1.0.typelib
-usr/lib/girepository-1.0/libxml2-2.0.typelib
-usr/lib/girepository-1.0/xfixes-4.0.typelib
-usr/lib/girepository-1.0/xft-2.0.typelib
-usr/lib/girepository-1.0/xlib-2.0.typelib
-usr/lib/girepository-1.0/xrandr-1.3.typelib
+usr/lib/*/girepository-1.0/cairo-1.0.typelib
+usr/lib/*/girepository-1.0/DBus-1.0.typelib
+usr/lib/*/girepository-1.0/DBusGLib-1.0.typelib
+usr/lib/*/girepository-1.0/fontconfig-2.0.typelib
+usr/lib/*/girepository-1.0/freetype2-2.0.typelib
+usr/lib/*/girepository-1.0/GL-1.0.typelib
+usr/lib/*/girepository-1.0/libxml2-2.0.typelib
+usr/lib/*/girepository-1.0/xfixes-4.0.typelib
+usr/lib/*/girepository-1.0/xft-2.0.typelib
+usr/lib/*/girepository-1.0/xlib-2.0.typelib
+usr/lib/*/girepository-1.0/xrandr-1.3.typelib

Modified: desktop/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install	[utf-8] Sat Aug 30 21:40:04 2014
@@ -1,5 +1,5 @@
-usr/lib/girepository-1.0/Gio-2.0.typelib
-usr/lib/girepository-1.0/GObject-2.0.typelib
-usr/lib/girepository-1.0/GLib-2.0.typelib
-usr/lib/girepository-1.0/GIRepository-2.0.typelib
-usr/lib/girepository-1.0/GModule-2.0.typelib
+usr/lib/*/girepository-1.0/Gio-2.0.typelib
+usr/lib/*/girepository-1.0/GObject-2.0.typelib
+usr/lib/*/girepository-1.0/GLib-2.0.typelib
+usr/lib/*/girepository-1.0/GIRepository-2.0.typelib
+usr/lib/*/girepository-1.0/GModule-2.0.typelib

Modified: desktop/experimental/gobject-introspection/debian/gobject-introspection.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/gobject-introspection.install?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/gobject-introspection.install	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/gobject-introspection.install	[utf-8] Sat Aug 30 21:40:04 2014
@@ -2,9 +2,9 @@
 usr/share/aclocal
 usr/share/gobject-introspection-1.0
 usr/share/man
-usr/lib/gobject-introspection/giscanner/*.py
-usr/lib/gobject-introspection/giscanner/*.so
-usr/lib/gobject-introspection/giscanner/collections/*.py
-usr/lib/gobject-introspection/giscanner/doctemplates
+usr/lib/*/gobject-introspection/giscanner/*.py
+usr/lib/*/gobject-introspection/giscanner/*.so
+usr/lib/*/gobject-introspection/giscanner/collections/*.py
+usr/lib/*/gobject-introspection/giscanner/doctemplates
 debian/dh_girepository /usr/bin
 debian/gir.pm /usr/share/perl5/Debian/Debhelper/Sequence

Modified: desktop/experimental/gobject-introspection/debian/libgirepository-1.0-1.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/libgirepository-1.0-1.install?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/libgirepository-1.0-1.install	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/libgirepository-1.0-1.install	[utf-8] Sat Aug 30 21:40:04 2014
@@ -1 +1 @@
-usr/lib/libgirepository-1.0.so.*
+usr/lib/*/libgirepository-1.0.so.*

Modified: desktop/experimental/gobject-introspection/debian/libgirepository1.0-dev.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/libgirepository1.0-dev.install?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/libgirepository1.0-dev.install	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/libgirepository1.0-dev.install	[utf-8] Sat Aug 30 21:40:04 2014
@@ -1,5 +1,5 @@
-usr/lib/libgirepository-1.0.so
-usr/lib/libgirepository-1.0.a
+usr/lib/*/libgirepository-1.0.so
+usr/lib/*/libgirepository-1.0.a
 usr/include
-usr/lib/pkgconfig
+usr/lib/*/pkgconfig
 usr/share/gir-1.0

Added: desktop/experimental/gobject-introspection/debian/patches/pre_multiarch_compat
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/patches/pre_multiarch_compat?rev=42383&op=file
==============================================================================
--- desktop/experimental/gobject-introspection/debian/patches/pre_multiarch_compat	(added)
+++ desktop/experimental/gobject-introspection/debian/patches/pre_multiarch_compat	[utf-8] Sat Aug 30 21:40:04 2014
@@ -0,0 +1,18 @@
+Description: Search the pre-multiarch paths too
+Author: Michael Vogt <mvo at debian.org>
+Forwarded: not-needed
+
+Index: b/girepository/girepository.c
+===================================================================
+--- a/girepository/girepository.c
++++ b/girepository/girepository.c
+@@ -191,6 +191,9 @@
+ 
+       search_path = g_slist_prepend (search_path, typelib_dir);
+ 
++      // compat with pre-multiarch
++      search_path = g_slist_prepend (search_path, "/usr/lib/girepository-1.0");
++
+       search_path = g_slist_reverse (search_path);
+     }
+ 

Modified: desktop/experimental/gobject-introspection/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/patches/series?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/patches/series	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/patches/series	[utf-8] Sat Aug 30 21:40:04 2014
@@ -0,0 +1,2 @@
+#needed only until all packages are moved to mutliarch paths
+pre_multiarch_compat

Modified: desktop/experimental/gobject-introspection/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gobject-introspection/debian/rules?rev=42383&op=diff
==============================================================================
--- desktop/experimental/gobject-introspection/debian/rules	[utf-8] (original)
+++ desktop/experimental/gobject-introspection/debian/rules	[utf-8] Sat Aug 30 21:40:04 2014
@@ -6,6 +6,8 @@
 include /usr/share/cdbs/1/rules/utils.mk
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
+
+DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) 
 
 common-binary-post-install-arch:: list-missing
 list-missing: remove-unwanted-files




More information about the pkg-gnome-commits mailing list