Bug#842442: libglib2.0-dev: move glib-genmarshal to a Multi-Arch: foreign package
Helmut Grohne
helmut at subdivi.de
Sat Oct 29 09:35:57 UTC 2016
Package: libglib2.0-dev
Version: 2.50.1-1
Tags: patch
User: helmutg at debian.org
Usertags: rebootstrap
Control: affects -1 + src:cinnamon-session src:clutter-imcontext src:goocanvas src:gtksourceview2 src:libgnomecanvas src:libindicator src:libunique3 src:libunique src:tumbler src:vino
The packages listed under affects fail to cross build from source,
because they fail executing glib-genmarshal. I conducted some
experiments with glib-genmarshal and conclude that its output solely
depends on the input and command line switches and does not depend on
the architecture of the glib-genmarshal binary. Thus I believe that
glib-genmarshal should be moved to a Multi-Arch: foreign package. A
quick google indicates that using a native glib-genmarshal for cross
compiling glib users is a common technique further supporting my view.
Thus, I propose adding a new package libglib2.0-dev-bin. glib-genmarshal
and other shared components are moved from libglib2.0-dev into the new
package. It will be Architecture: any (due to containing
glib-genmarshal) and Multi-Arch: foreign. In order to not break any
current uses of libglib2.0-dev, it gains a dependency on the new
package.
Please review the suggested change and apply the patch if appropriate.
Helmut
-------------- next part --------------
diff --minimal -Nru glib2.0-2.50.1/debian/changelog glib2.0-2.50.1/debian/changelog
--- glib2.0-2.50.1/debian/changelog
+++ glib2.0-2.50.1/debian/changelog
@@ -1,3 +1,11 @@
+glib2.0 (2.50.1-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Move glib-genmarshal and related files to a new M-A:foreign package
+ libglib2.0-dev-bin (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de> Sat, 29 Oct 2016 11:27:41 +0200
+
glib2.0 (2.50.1-1) unstable; urgency=medium
[ Jason Crain ]
diff --minimal -Nru glib2.0-2.50.1/debian/control glib2.0-2.50.1/debian/control
--- glib2.0-2.50.1/debian/control
+++ glib2.0-2.50.1/debian/control
@@ -112,6 +112,7 @@
${python3:Depends},
libglib2.0-0 (= ${binary:Version}),
libglib2.0-bin (= ${binary:Version}),
+ libglib2.0-dev-bin (= ${binary:Version}),
libpcre3-dev (>= 1:8.31),
pkg-config,
zlib1g-dev
@@ -125,6 +126,23 @@
as only it includes the header files and static libraries (optionally)
needed for compiling.
+Package: libglib2.0-dev-bin
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+Breaks: libglib2.0-dev (<< 2.50.1-1.1~)
+Replaces: libglib2.0-dev (<< 2.50.1-1.1~)
+Multi-Arch: foreign
+Description: Development utilities for the GLib library
+ GLib is a library containing many useful C routines for things such
+ as trees, hashes, lists, and strings. It is a useful general-purpose
+ C library used by projects such as GTK+, GIMP, and GNOME.
+ .
+ This package is needed to compile programs against libglib2.0-0. It contains
+ development utilities typically run during compilation and should not be
+ installed directly. Use libglib2.0-dev instead.
+
Package: libglib2.0-0-dbg
Section: debug
Priority: extra
diff --minimal -Nru glib2.0-2.50.1/debian/control.in glib2.0-2.50.1/debian/control.in
--- glib2.0-2.50.1/debian/control.in
+++ glib2.0-2.50.1/debian/control.in
@@ -112,6 +112,7 @@
${python3:Depends},
@SHARED_PKG@ (= ${binary:Version}),
@BIN_PKG@ (= ${binary:Version}),
+ @DEVBIN_PKG@ (= ${binary:Version}),
libpcre3-dev (>= 1:8.31),
pkg-config,
zlib1g-dev
@@ -125,6 +126,23 @@
as only it includes the header files and static libraries (optionally)
needed for compiling.
+Package: @DEVBIN_PKG@
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+Breaks: libglib2.0-dev (<< 2.50.1-1.1~)
+Replaces: libglib2.0-dev (<< 2.50.1-1.1~)
+Multi-Arch: foreign
+Description: Development utilities for the GLib library
+ GLib is a library containing many useful C routines for things such
+ as trees, hashes, lists, and strings. It is a useful general-purpose
+ C library used by projects such as GTK+, GIMP, and GNOME.
+ .
+ This package is needed to compile programs against libglib2.0-0. It contains
+ development utilities typically run during compilation and should not be
+ installed directly. Use libglib2.0-dev instead.
+
Package: @DEBUG_PKG@
Section: debug
Priority: extra
diff --minimal -Nru glib2.0-2.50.1/debian/libglib2.0-dev-bin.install glib2.0-2.50.1/debian/libglib2.0-dev-bin.install
--- glib2.0-2.50.1/debian/libglib2.0-dev-bin.install
+++ glib2.0-2.50.1/debian/libglib2.0-dev-bin.install
@@ -0,0 +1,8 @@
+usr/share/aclocal
+usr/share/glib-2.0/gettext
+usr/share/man/man1/glib-genmarshal.1*
+usr/share/man/man1/glib-mkenums.1*
+usr/share/man/man1/glib-gettextize.1*
+usr/bin/glib-genmarshal
+usr/bin/glib-mkenums
+usr/bin/glib-gettextize
diff --minimal -Nru glib2.0-2.50.1/debian/libglib2.0-dev.install glib2.0-2.50.1/debian/libglib2.0-dev.install
--- glib2.0-2.50.1/debian/libglib2.0-dev.install
+++ glib2.0-2.50.1/debian/libglib2.0-dev.install
@@ -6,21 +6,13 @@
usr/lib/*/libgio*.so
usr/lib/*/glib-2.0
usr/lib/*/pkgconfig
-usr/share/aclocal
usr/share/glib-2.0/codegen/*.py
-usr/share/glib-2.0/gettext
usr/share/glib-2.0/schemas
-usr/share/man/man1/glib-genmarshal.1*
-usr/share/man/man1/glib-mkenums.1*
usr/share/man/man1/gobject-query.1*
-usr/share/man/man1/glib-gettextize.1*
usr/share/man/man1/gtester.1*
usr/share/man/man1/gtester-report.1*
usr/share/man/man1/gdbus-codegen.1*
-usr/bin/glib-genmarshal
usr/bin/gobject-query
-usr/bin/glib-mkenums
usr/bin/gtester-report
-usr/bin/glib-gettextize
usr/bin/gtester
usr/bin/gdbus-codegen
diff --minimal -Nru glib2.0-2.50.1/debian/rules glib2.0-2.50.1/debian/rules
--- glib2.0-2.50.1/debian/rules
+++ glib2.0-2.50.1/debian/rules
@@ -35,6 +35,7 @@
DATA_PKG := libglib$(APIVER)-data
TEST_PKG := libglib$(APIVER)-tests
DEV_PKG := libglib$(APIVER)-dev
+DEVBIN_PKG := libglib$(APIVER)-dev-bin
BIN_PKG := libglib$(APIVER)-bin
UDEB_PKG := libglib$(APIVER)-udeb
DOC_PKG := libglib$(APIVER)-doc
@@ -135,6 +136,7 @@
-e "s#@BIN_PKG@#$(BIN_PKG)#g" \
-e "s#@DATA_PKG@#$(DATA_PKG)#g" \
-e "s#@DEV_PKG@#$(DEV_PKG)#g" \
+ -e "s#@DEVBIN_PKG@#$(DEVBIN_PKG)#g" \
-e "s#@UDEB_PKG@#$(UDEB_PKG)#g" \
-e "s#@DOC_PKG@#$(DOC_PKG)#g" \
-e "s#@DEBUG_PKG@#$(DEBUG_PKG)#g" \
More information about the pkg-gnome-maintainers
mailing list