r25806 - in /packages/experimental/gobject-introspection/debian: changelog control control.in dh_girepository gir1.0-freedesktop.install gir1.0-glib-2.0.install gir1.2-freedesktop.install gir1.2-glib-2.0.install policy.txt

pochu at users.alioth.debian.org pochu at users.alioth.debian.org
Wed Dec 8 00:22:46 UTC 2010


Author: pochu
Date: Wed Dec  8 00:22:44 2010
New Revision: 25806

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=25806
Log:
* debian/policy:
  - Require that gir packages are named properly according to the gir
    format (e.g. gir1.2* for gir 1.2 format).
  - Require that a gir package's dependencies have the same format
    as the package itself.
  - Update examples to use the 1.2 format.
* debian/dh_girepository:
  - Implement the above changes, aborting if the package name is not
    correct or if the dependencies don't have the same format.
* debian/control.in,
  debian/gir1.*:
  - Rename the gir packages to gir1.2* to follow the new policy.

Added:
    packages/experimental/gobject-introspection/debian/gir1.2-freedesktop.install
      - copied unchanged from r25777, packages/experimental/gobject-introspection/debian/gir1.0-freedesktop.install
    packages/experimental/gobject-introspection/debian/gir1.2-glib-2.0.install
      - copied unchanged from r25777, packages/experimental/gobject-introspection/debian/gir1.0-glib-2.0.install
Removed:
    packages/experimental/gobject-introspection/debian/gir1.0-freedesktop.install
    packages/experimental/gobject-introspection/debian/gir1.0-glib-2.0.install
Modified:
    packages/experimental/gobject-introspection/debian/changelog
    packages/experimental/gobject-introspection/debian/control
    packages/experimental/gobject-introspection/debian/control.in
    packages/experimental/gobject-introspection/debian/dh_girepository
    packages/experimental/gobject-introspection/debian/policy.txt

Modified: packages/experimental/gobject-introspection/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gobject-introspection/debian/changelog?rev=25806&op=diff
==============================================================================
--- packages/experimental/gobject-introspection/debian/changelog [utf-8] (original)
+++ packages/experimental/gobject-introspection/debian/changelog [utf-8] Wed Dec  8 00:22:44 2010
@@ -1,3 +1,20 @@
+gobject-introspection (0.9.12-4) UNRELEASED; urgency=low
+
+  * debian/policy:
+    - Require that gir packages are named properly according to the gir
+      format (e.g. gir1.2* for gir 1.2 format).
+    - Require that a gir package's dependencies have the same format
+      as the package itself.
+    - Update examples to use the 1.2 format.
+  * debian/dh_girepository:
+    - Implement the above changes, aborting if the package name is not
+      correct or if the dependencies don't have the same format.
+  * debian/control.in,
+    debian/gir1.*:
+    - Rename the gir packages to gir1.2* to follow the new policy.
+
+ -- Emilio Pozuelo Monfort <pochu at debian.org>  Wed, 08 Dec 2010 00:38:18 +0100
+
 gobject-introspection (0.9.12-3) experimental; urgency=low
 
   * debian/control.in: Add missing replaces on gir-repository-dev.

Modified: packages/experimental/gobject-introspection/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gobject-introspection/debian/control?rev=25806&op=diff
==============================================================================
--- packages/experimental/gobject-introspection/debian/control [utf-8] (original)
+++ packages/experimental/gobject-introspection/debian/control [utf-8] Wed Dec  8 00:22:44 2010
@@ -113,7 +113,7 @@
  This package contains tools for extracting introspection data from libraries
  and transforming it to different formats.
 
-Package: gir1.0-glib-2.0
+Package: gir1.2-glib-2.0
 Architecture: any
 Section: libs
 Depends: ${gir:Depends},
@@ -132,7 +132,7 @@
  This package contains the introspection data for the GLib, GObject,
  GModule and Gio libraries.
 
-Package: gir1.0-freedesktop
+Package: gir1.2-freedesktop
 Architecture: any
 Section: libs
 Depends: ${gir:Depends},

Modified: packages/experimental/gobject-introspection/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gobject-introspection/debian/control.in?rev=25806&op=diff
==============================================================================
--- packages/experimental/gobject-introspection/debian/control.in [utf-8] (original)
+++ packages/experimental/gobject-introspection/debian/control.in [utf-8] Wed Dec  8 00:22:44 2010
@@ -108,12 +108,13 @@
  This package contains tools for extracting introspection data from libraries
  and transforming it to different formats.
 
-Package: gir1.0-glib-2.0
+Package: gir1.2-glib-2.0
 Architecture: any
 Section: libs
 Depends: ${gir:Depends},
          ${misc:Depends}
-Conflicts: gobject-introspection-glib-2.0
+Conflicts: gobject-introspection-glib-2.0,
+           gir1.0-glib-2.0
 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
@@ -127,12 +128,13 @@
  This package contains the introspection data for the GLib, GObject,
  GModule and Gio libraries.
 
-Package: gir1.0-freedesktop
+Package: gir1.2-freedesktop
 Architecture: any
 Section: libs
 Depends: ${gir:Depends},
          ${misc:Depends}
-Conflicts: gobject-introspection-freedesktop
+Conflicts: gobject-introspection-freedesktop,
+           gir1.0-freedesktop
 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: packages/experimental/gobject-introspection/debian/dh_girepository
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gobject-introspection/debian/dh_girepository?rev=25806&op=diff
==============================================================================
--- packages/experimental/gobject-introspection/debian/dh_girepository [utf-8] (original)
+++ packages/experimental/gobject-introspection/debian/dh_girepository [utf-8] Wed Dec  8 00:22:44 2010
@@ -41,7 +41,7 @@
 
 =head1 CONFORMS TO
 
-GObject introspection mini policy as of 2009-10-18.
+GObject introspection mini policy as of 2010-12-07.
 
 =cut
 
@@ -62,6 +62,7 @@
 my $arch_triplet = `dpkg-architecture -qDEB_BUILD_GNU_TYPE`;
 chomp $arch_triplet;
 my @libdirs = ("/lib/$arch_triplet", "/lib", "/usr/lib/$arch_triplet", "/usr/lib");
+my $format;
 
 # Get Build-Depends in an array
 my @bdeps;
@@ -132,6 +133,7 @@
     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;
         }
@@ -140,6 +142,7 @@
     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) {
@@ -225,7 +228,10 @@
         while (<$f>) {
             # "Parse" the XML file
             chomp;
-            if (/<include\s+name="(.*?)"\s+version="(.*?)"\/>/) {
+            if (/<repository\s+version="(.*?)"/) {
+                # gir format version
+                $format="$1";
+            } elsif (/<include\s+name="(.*?)"\s+version="(.*?)"\/>/) {
                 # Dependency on another typelib file
                 my $deptypelib="$1-$2.typelib";
                 verbose_print ("  Dependency: $deptypelib");
@@ -253,6 +259,8 @@
             }
         }
         close $f;
+        error("Unable to determine gir format") unless $format;
+        error("Package name $package doesn't match gir format $format") unless $package =~ /^gir$format/;
         verbose_print(sprintf("  %d symbols found", $#symbols+1));
         if (@libraries or @symbols) {
             my $c_file = "$typelibdir/$typelib.c";

Modified: packages/experimental/gobject-introspection/debian/policy.txt
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gobject-introspection/debian/policy.txt?rev=25806&op=diff
==============================================================================
--- packages/experimental/gobject-introspection/debian/policy.txt [utf-8] (original)
+++ packages/experimental/gobject-introspection/debian/policy.txt [utf-8] Wed Dec  8 00:22:44 2010
@@ -11,9 +11,10 @@
 2. Binary introspection packages
 
 The binary typelib file must be put in an architecture-dependent package
-named after its namespace. The name should be gir1.0-NAMESPACE-VERSION.
+named after its namespace. The name must be girFORMAT-NAMESPACE-VERSION.
 For example, the package containing WebKit-1.0.typelib will be named
-gir1.0-webkit-1.0.
+gir1.0-webkit-1.0 for the gir 1.0 format and gir1.2-webkit-1.0 for the
+gir 1.2 format.
 
 Giant repositories of unrelated introspection data should be avoided.
 However, related libraries that are known to evolve together can live in
@@ -56,7 +57,8 @@
 Introspection packages must depend on other introspection packages that
 are referenced through <include> statements. The helper generates such 
 dependencies as well. Build-dependencies on packages containing them 
-must be set, with sufficient version information.
+must be set, with sufficient version information. The dependencies must
+be in the same gir format as the source package.
 
 Packages containing the XML data don’t need any specific new
 dependencies.
@@ -70,7 +72,7 @@
 
 Generating dependencies automatically for interpreted languages is not
 reliable. Therefore, these packages must depend by hand on the
-appropriate gir1.0-* packages. The interpreters themselves don’t need to
+appropriate gir* packages. The interpreters themselves don’t need to
 depend on packages they don’t use directly.
 
 
@@ -81,15 +83,15 @@
         libfoo-2.0-3 /usr/lib/libfoo-2.0.so.3*
         libfoo-2.0-dev /usr/lib/libfoo-2.0.so (and other usual stuff)
         libfoo-2.0-dev /usr/share/gir-1.0/Foo-2.0.gir
-        gir1.0-foo-2.0 /usr/lib/girepository-1.0/Foo-2.0.typelib
+        gir1.2-foo-2.0 /usr/lib/girepository-1.0/Foo-2.0.typelib
 
 libfoo-2.0-dev Depends: libfoo-2.0-3, libbar-3.0-dev
-gir1.0-foo-2.0 Depends: ${gir:Depends} which expands to:
-libfoo-2.0-3, gir1.0-bar-3.0
+gir1.2-foo-2.0 Depends: ${gir:Depends} which expands to:
+libfoo-2.0-3, gir1.2-bar-3.0
 
 If foobar is a package containing the following JS script:
         #! /usr/bin/seed
         Foo = imports.gi.Foo;
         // Stuff that uses the Foo 2.0 API
 
-Then foobar Depends: gir1.0-foo-2.0
+Then foobar Depends: gir1.2-foo-2.0




More information about the pkg-gnome-commits mailing list