Hello community,

here is the log from the commit of package gobject-introspection for 
openSUSE:Factory checked in at 2012-01-06 11:44:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gobject-introspection (Old)
 and      /work/SRC/openSUSE:Factory/.gobject-introspection.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gobject-introspection", Maintainer is "[email protected]"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gobject-introspection/gobject-introspection.changes  
    2011-10-02 10:09:12.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.gobject-introspection.new/gobject-introspection.changes
 2012-01-06 11:44:42.000000000 +0100
@@ -1,0 +2,59 @@
+Fri Dec 23 11:19:48 UTC 2011 - [email protected]
+
+- Enhance gi-find-deps.sh: Inject subfolders of libdir containing
+  .typelib files into GI_TYPELIB_PATH.
+
+-------------------------------------------------------------------
+Tue Dec 20 20:32:17 UTC 2011 - [email protected]
+
+- Update to version 1.31.6:
+  + Update annotation for glib 2.31.6.
+  + giscanner: fix use after decref
+
+-------------------------------------------------------------------
+Tue Dec  6 16:20:59 UTC 2011 - [email protected]
+
+- Add g-ir-dep-tool.patch: add a tool to inspect .typelib files and
+  find their dependencies to be added to the rpm packages.
+- Add libtool BuildRequires and call to autoreconf, as the
+  patch above touches the build system.
+- Extend gi-find-deps.sh to use the new g-ir-dep-tool and add
+  Requires coming from the .typelib files.
+
+-------------------------------------------------------------------
+Mon Dec  5 19:46:16 UTC 2011 - [email protected]
+
+- Update to version 1.31.1:
+  + Scanner:
+    - Split CC environment variable
+    - Allow GObject.Object as a supercall return type
+    - Support --header-only flag
+    - Also add an rpath for library paths specified
+    - Only add rpaths for absolute directories
+    - Out the -l library name after the .o
+  + Minor bug fixes
+  + Bugs fixed: bgo#660338.
+- Change license to spdx identifier (LGPL-2.1+).
+- Add xz BuildRequires because we can't build a package for a
+  xz-compressed tarball without explicitly specifying that... See
+  bnc#697467 for more details.
+
+-------------------------------------------------------------------
+Thu Oct 27 13:03:29 UTC 2011 - [email protected]
+
+- Update to version 1.31.0:
+  + No longer use deprecated g_thread_init.
+  + scanner:
+    - Support --header-only flag
+    - Allow GObject.Object as a superclass return type
+    - Split CC environment variable
+    - Skip analysis of params that have been (skip)'d
+    - Show the file/line even when processing FATAL
+  + libgirepository:
+    - Add API to fix memory leak
+    - Fix g_irepository_get_c_prefix()
+    - Use the correct size when freeing unused info
+    - Prevents a segfault in gir parser
+  + Build and test improvements/fixes.
+
+-------------------------------------------------------------------

Old:
----
  gobject-introspection-1.30.0.tar.bz2

New:
----
  g-ir-dep-tool.patch
  gobject-introspection-1.31.6.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gobject-introspection.spec ++++++
--- /var/tmp/diff_new_pack.ApPIOc/_old  2012-01-06 11:44:44.000000000 +0100
+++ /var/tmp/diff_new_pack.ApPIOc/_new  2012-01-06 11:44:44.000000000 +0100
@@ -18,25 +18,31 @@
 
 
 Name:           gobject-introspection
-Version:        1.30.0
-Release:        1
+Version:        1.31.6
+Release:        0
 # FIXME: when bgo#629930 gets fixed, move the appropriate pkg-config files to 
the main package and rename the devel package to libgirepository-devel
-License:        LGPLv2.1+
 Summary:        GObject Introspection Tools
-Url:            http://live.gnome.org/GObjectIntrospection
+License:        LGPL-2.1+
 Group:          Development/Libraries/GNOME
-Source0:        
http://download.gnome.org/sources/gobject-introspection/1.30/%{name}-%{version}.tar.bz2
+Url:            http://live.gnome.org/GObjectIntrospection
+Source0:        
http://download.gnome.org/sources/gobject-introspection/1.31/%{name}-%{version}.tar.xz
 # gi-find-deps.sh is a rpm helper for Provides and Requires. Script creates 
typelib()-style Provides/Requires.
 Source1:        gi-find-deps.sh
 Source2:        gobjectintrospection.attr
 Source3:        gobject-introspection-typelib.template
 Source99:       %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM g-ir-dep-tool.patch bgo#665672 [email protected] -- 
Add g-ir-dep-tool to get further automatic dependencies.
+Patch0:         g-ir-dep-tool.patch
 BuildRequires:  bison
 BuildRequires:  fdupes
 BuildRequires:  flex
 BuildRequires:  libffi-devel
+# needed for patch0
+BuildRequires:  libtool
 BuildRequires:  python-devel
 BuildRequires:  python-xml
+# Only needed because we don't (and won't) support building xz tarballs by 
default... See bnc#697467
+BuildRequires:  xz
 BuildRequires:  pkgconfig(cairo)
 BuildRequires:  pkgconfig(gobject-2.0)
 %if 0%{?BUILD_FROM_VCS}
@@ -52,9 +58,7 @@
 a uniform, machine readable format.
 
 %package -n libgirepository-1_0-1
-License:        LGPLv2.1+
 Summary:        GObject Introspection Library
-Group:          Development/Libraries/GNOME
 # Provide typelib() symbols based on gobject-introspection-typelib.template
 # The template is checked during install if it matches the installed *.typelib 
files.
 %(cat %{S:3} | awk '{ print "Provides: " $0}')
@@ -64,9 +68,7 @@
 a uniform, machine readable format.
 
 %package devel
-License:        LGPLv2.1+
 Summary:        GObject Introspection Development Files
-Group:          Development/Libraries/GNOME
 # Note: the devel package requires the binaries, not just the library
 Requires:       %{name} = %{version}
 Requires:       libffi-devel
@@ -77,12 +79,15 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %if 0%{?BUILD_FROM_VCS}
 [ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
 %endif
 
 %build
+# needed for patch0
+autoreconf -fi
 %configure \
 %if 0%{?BUILD_FROM_VCS}
         --enable-gtk-doc \
@@ -112,6 +117,7 @@
 %doc AUTHORS CONTRIBUTORS COPYING COPYING.GPL NEWS README TODO
 %{_bindir}/g-ir-annotation-tool
 %{_bindir}/g-ir-compiler
+%{_bindir}/g-ir-dep-tool
 %{_bindir}/g-ir-doc-tool
 %{_bindir}/g-ir-generate
 %{_bindir}/g-ir-scanner

++++++ g-ir-dep-tool.patch ++++++
>From ed8a690dbe738b3096f8d43bdbc627eb3f951523 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <[email protected]>
Date: Tue, 6 Dec 2011 16:23:59 +0100
Subject: [PATCH] Bug 655672: g-ir-dep-scanner: Scan dependencies of a typelib
 and give  information.

This allows distributions to create automatic dependency tracking coming
from .typelib files.

The dependencies identified at this time are:
typelib - based dependencies
shared library - dependencies
---
 Makefile-tools.am     |   10 +++++-
 tools/g-ir-dep-tool.c |   78 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+), 1 deletions(-)
 create mode 100644 tools/g-ir-dep-tool.c

diff --git a/Makefile-tools.am b/Makefile-tools.am
index f84de99..6bc4da4 100644
--- a/Makefile-tools.am
+++ b/Makefile-tools.am
@@ -1,5 +1,6 @@
 bin_PROGRAMS += g-ir-compiler g-ir-generate
 bin_SCRIPTS += g-ir-scanner g-ir-annotation-tool g-ir-doc-tool
+bin_PROGRAMS += g-ir-dep-tool
 
 EXTRA_DIST +=                          \
        tools/g-ir-scanner.in           \
@@ -38,8 +39,15 @@ g_ir_generate_LDADD = \
        libgirepository-1.0.la          \
        $(GIREPO_LIBS)
 
+g_ir_dep_tool_SOURCES = tools/g-ir-dep-tool.c
+g_ir_dep_tool_CFLAGS = $(GIO_CFLAGS) -I$(top_srcdir)/girepository
+g_ir_dep_tool_LDADD = \
+        libgirepository-internals.la    \
+        libgirepository-1.0.la          \
+        $(GIREPO_LIBS)
+
 GCOVSOURCES =                                  \
        $(g_ir_compiler_SOURCES)                \
        $(g_ir_generate_SOURCES)
 
-CLEANFILES += g-ir-scanner g-ir-annotation-tool g-ir-doc-tool
+CLEANFILES += g-ir-scanner g-ir-annotation-tool g-ir-doc-tool g-ir-dep-tool
diff --git a/tools/g-ir-dep-tool.c b/tools/g-ir-dep-tool.c
new file mode 100644
index 0000000..800779b
--- /dev/null
+++ b/tools/g-ir-dep-tool.c
@@ -0,0 +1,78 @@
+
+/* -*- Mode: C; c-file-style: "gnu"; -*- */
+/* GObject introspection: typelib dependency scanner
+ *
+ * Copyright (C) 2011 Dominique Leuenberger
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib.h>
+#include <girepository.h>
+
+int main(int argc, char *argv[]) {
+       GError *err = NULL;
+       GITypelib *typelib;
+       gchar **deps;
+       const gchar *shlibs;
+       int i;
+       const char *namespace = argv[1];
+       const char *version = argv[2];
+
+       g_type_init();
+
+       if (argc < 2 || argc > 3) {
+               g_print ("Usage: %s <typelib> [<version>]\n\n", argv[0]);
+               g_print ("       typelib: The namespace of the typelib to 
inspect\n");
+               g_print ("       version: The version of the typelib to 
inspect\n");
+               return 1;
+       }
+
+       /* Try to load the typelib specified as parameter */
+       typelib = g_irepository_require (NULL, namespace, version, 0, &err);
+
+       if (!typelib) {
+               g_printerr ("ERROR: Failed to load typelib '%s'\n", namespace);
+               return 2;
+       }
+
+       /* Finding all the typelib based Requires */
+       deps = g_irepository_get_dependencies (NULL, namespace);
+       if (deps) {
+               for (i=0; deps[i]; i++) {
+                       g_print ("typelib: %s\n", deps[i]);
+               }
+               g_strfreev (deps);
+       }
+
+       /* Finding the shared library we depend on (if any) */
+       shlibs = g_irepository_get_shared_library (NULL, namespace);
+
+       if (shlibs != NULL && shlibs[0] != '\0')
+       {
+               /* libs is a comma-separated list of libraries */
+               gchar **libs = g_strsplit (shlibs, ",", 0);
+
+               for (i = 0; libs[i]; i++)
+               {
+                       g_print ("shlib: %s\n", libs[i]);
+               }
+       }
+
+       g_typelib_free (typelib);
+
+       return 0;
+}
-- 
1.7.7.3

++++++ gi-find-deps.sh ++++++
--- /var/tmp/diff_new_pack.ApPIOc/_old  2012-01-06 11:44:44.000000000 +0100
+++ /var/tmp/diff_new_pack.ApPIOc/_new  2012-01-06 11:44:44.000000000 +0100
@@ -70,10 +70,38 @@
                                print_req_prov
                        done
                        ;;
+             *.typelib)
+                       split_name_version $(basename $file | sed 
's,.typelib$,,')
+                       oldIFS=$IFS
+                       IFS=$'\n'
+                       for req in $(g-ir-dep-tool $symbol $version); do
+                               case $req in
+                                       typelib:*)
+                                               module=${req#typelib: }
+                                               split_name_version $module
+                                               print_req_prov
+                                               ;;
+                                       shlib:*)
+                                               echo "${req#shlib: }${shlib_64}"
+                                               ;;
+                               esac
+                       done
+                       IFS=$oldIFS
+                       ;;
        esac
 done
 }
 
+for path in \
+       $(for tlpath in \
+       $(find ${RPM_BUILD_ROOT}/usr/lib64 ${RPM_BUILD_ROOT}/usr/lib /usr/lib64 
/usr/lib -name '*.typelib'); do
+               dirname $tlpath; done | uniq ); do
+       export GI_TYPELIB_PATH=$GI_TYPELIB_PATH:$path
+done
+
+if [ "${HOSTTYPE}" == "x86_64" ]; then
+       shlib_64="()(64bit)"
+fi
 case $1 in
        -P)     
                find_provides

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to