Bug#789704: gamin: Please convert the package to multiarch

Yuriy M. Kaminskiy yumkam at gmail.com
Tue Jun 23 16:22:23 UTC 2015


Package: gamin
Version: 0.1.10-4.1
Severity: wishlist
Tags: patch

Dear Maintainer,

It would be nice if gamin was converted to multiarch. Maybe this should
be coordinated with similar fam bug (#728951), I've posted debdiff there
too.

Experimental debdiff[*] attached, seems works for me 
(libgamin{0,-dev}:{i386,amd64} and gamin:i386 successfully co-installed, 
lighttpd successfully re-built against patched libgamin-dev), please review
carefully.
[*] Note: I've omitted ~2MB debian/patches/90_autoreconf.patch removal 
from the debdiff for clarity.
TBC: are *.la files needed?

Potential problem: gamin apparently uses binary protocol (see GAMPacket 
in libgamin/gam_protocol.h, libgamin/gam_data.c, 
server/gam_connection.c); there should be no problem with e.g. i386 vs 
amd64 libraries sharing same i386 (or amd64) daemon (structure layout 
and endian-ness are same), however there can be problem with 
different-endian architectures (e.g. libgamin0:powerpc vs. gamin:i386, 
or libgamin0:mips vs gamin:mipsel) or varying structure layout due to 
platform ABI.

Potential solutions:
a) (upstream) manually pack-unpack structures in platform/endian-neutral 
way (IMO, "the proper way"; it should not be very complex);
b) (debian packaging) add all different-endian/ABI gamin:${ARCH} to
libgamin0:Conflicts, e.g. "Conflicts: gamin:i386 [powerpc], gamin:mips
[mipsel, i386, amd64]", etc;
c) separate daemon instance [and socket path] for each architecture and
set gamin:Multi-arch: same;

-- System Information:
Debian Release: 8.1
   APT prefers stable-updates
   APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages gamin depends on:
ii  libc6         2.19-18
ii  libgamin0     0.1.10-4.1
ii  libglib2.0-0  2.42.1-1

gamin recommends no packages.

gamin suggests no packages.

-- no debconf information

-------------- next part --------------
diff -Nru gamin-0.1.10/debian/patches/90_autoreconf.patch gamin-0.1.10/debian/patches/90_autoreconf.patch
deleted file mode 0644
[~2MB diff omitted]
diff -Nru gamin-0.1.10/debian/changelog gamin-0.1.10/debian/changelog
--- gamin-0.1.10/debian/changelog	2012-07-20 06:08:26.000000000 +0400
+++ gamin-0.1.10/debian/changelog	2015-06-22 02:50:32.000000000 +0300
@@ -1,3 +1,12 @@
+gamin (0.1.10-4.2~local2) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Convert to multi-arch.
+  * Convert to dh-autoreconf.
+  * Transition to dh-python2
+
+ -- Yuriy M. Kaminskiy <yumkam+debian at gmail.com>  Mon, 22 Jun 2015 02:36:06 +0300
+
 gamin (0.1.10-4.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru gamin-0.1.10/debian/compat gamin-0.1.10/debian/compat
--- gamin-0.1.10/debian/compat	2006-08-10 20:10:52.000000000 +0400
+++ gamin-0.1.10/debian/compat	2015-06-22 02:33:42.000000000 +0300
@@ -1 +1 @@
-5
+8
diff -Nru gamin-0.1.10/debian/control gamin-0.1.10/debian/control
--- gamin-0.1.10/debian/control	2012-07-20 06:34:18.000000000 +0400
+++ gamin-0.1.10/debian/control	2015-06-22 03:27:24.000000000 +0300
@@ -2,24 +2,25 @@
 # 
 # Modifications should be made to debian/control.in instead.
 # This file is regenerated automatically in the clean target.
-
 Source: gamin
 Section: admin
 Priority: optional
 Maintainer: Michael Banck <mbanck at debian.org>
-Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu at debian.org>, Loic Minier <lool at dooz.org>, Martin Pitt <mpitt at debian.org>, Sebastian Drц╤ge <slomo at debian.org>
-Build-Depends: cdbs (>= 0.4.73),
-               debhelper( >= 5.0.37.2),
+Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu at debian.org>, Martin Pitt <mpitt at debian.org>, Sebastian Drц╤ge <slomo at debian.org>
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper( >= 8.1.3),
+               dh-autoreconf,
                libglib2.0-dev,
                gnome-pkg-tools,
                python-all-dev (>= 2.3.5-11),
-               python-support (>= 0.3),
+               dh-python,
                dpkg-dev (>= 1.13.19),
                autotools-dev
 Standards-Version: 3.8.3
 
 Package: gamin
 Architecture: any
+Multi-Arch: foreign
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgamin0 (= ${binary:Version})
@@ -43,6 +44,8 @@
 Package: libgamin0
 Section: libs
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          gamin
@@ -59,6 +62,7 @@
 Package: libgamin-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgamin0 (= ${binary:Version})
@@ -80,7 +84,6 @@
 Conflicts: python2.3-gamin
 Replaces: python2.3-gamin
 Provides: ${python:Provides}
-XB-Python-Version: ${python:Versions}
 Description: Python binding for the gamin client library
  Gamin is a file and directory monitoring system defined to be a
  subset of the FAM (File Alteration Monitor) system.
diff -Nru gamin-0.1.10/debian/control.in gamin-0.1.10/debian/control.in
--- gamin-0.1.10/debian/control.in	2010-04-25 03:13:39.000000000 +0400
+++ gamin-0.1.10/debian/control.in	2015-06-22 02:51:59.000000000 +0300
@@ -3,18 +3,20 @@
 Priority: optional
 Maintainer: Michael Banck <mbanck at debian.org>
 Uploaders: @GNOME_TEAM@
-Build-Depends: cdbs (>= 0.4.73),
-               debhelper( >= 5.0.37.2),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper( >= 8.1.3),
+               dh-autoreconf,
                libglib2.0-dev,
                gnome-pkg-tools,
                python-all-dev (>= 2.3.5-11),
-               python-support (>= 0.3),
+               dh-python,
                dpkg-dev (>= 1.13.19),
                autotools-dev
 Standards-Version: 3.8.3
 
 Package: gamin
 Architecture: any
+Multi-Arch: foreign
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgamin0 (= ${binary:Version})
@@ -38,6 +40,8 @@
 Package: libgamin0
 Section: libs
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          gamin
@@ -54,6 +58,7 @@
 Package: libgamin-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends},
          libgamin0 (= ${binary:Version})
@@ -75,7 +80,6 @@
 Conflicts: python2.3-gamin
 Replaces: python2.3-gamin
 Provides: ${python:Provides}
-XB-Python-Version: ${python:Versions}
 Description: Python binding for the gamin client library
  Gamin is a file and directory monitoring system defined to be a
  subset of the FAM (File Alteration Monitor) system.
diff -Nru gamin-0.1.10/debian/libgamin0.install gamin-0.1.10/debian/libgamin0.install
--- gamin-0.1.10/debian/libgamin0.install	2005-04-29 11:38:08.000000000 +0400
+++ gamin-0.1.10/debian/libgamin0.install	2015-06-22 02:33:11.000000000 +0300
@@ -1 +1 @@
-debian/tmp/usr/lib/lib{fam,gamin}*.so.*
+debian/tmp/usr/lib/*/lib{fam,gamin}*.so.*
diff -Nru gamin-0.1.10/debian/libgamin-dev.install gamin-0.1.10/debian/libgamin-dev.install
--- gamin-0.1.10/debian/libgamin-dev.install	2005-04-29 11:38:08.000000000 +0400
+++ gamin-0.1.10/debian/libgamin-dev.install	2015-06-22 02:33:23.000000000 +0300
@@ -1,3 +1,3 @@
-debian/tmp/usr/lib/*.{so,la,a}
-debian/tmp/usr/lib/pkgconfig/*.pc
+debian/tmp/usr/lib/*/*.{so,la,a}
+debian/tmp/usr/lib/*/pkgconfig/*.pc
 debian/tmp/usr/include/*.h
diff -Nru gamin-0.1.10/debian/patches/series gamin-0.1.10/debian/patches/series
--- gamin-0.1.10/debian/patches/series	2012-07-20 05:59:58.000000000 +0400
+++ gamin-0.1.10/debian/patches/series	2015-06-22 02:24:59.000000000 +0300
@@ -3,4 +3,3 @@
 16_armel-gnueabi.patch
 17_deprecated_const_return.patch
 18_gam_server_deadlocks.patch
-90_autoreconf.patch
diff -Nru gamin-0.1.10/debian/pycompat gamin-0.1.10/debian/pycompat
--- gamin-0.1.10/debian/pycompat	2006-08-10 19:53:27.000000000 +0400
+++ gamin-0.1.10/debian/pycompat	1970-01-01 03:00:00.000000000 +0300
@@ -1 +0,0 @@
-2
diff -Nru gamin-0.1.10/debian/pyversions gamin-0.1.10/debian/pyversions
--- gamin-0.1.10/debian/pyversions	2006-08-10 19:53:27.000000000 +0400
+++ gamin-0.1.10/debian/pyversions	1970-01-01 03:00:00.000000000 +0300
@@ -1 +0,0 @@
-2.1-
diff -Nru gamin-0.1.10/debian/rules gamin-0.1.10/debian/rules
--- gamin-0.1.10/debian/rules	2010-04-25 03:13:39.000000000 +0400
+++ gamin-0.1.10/debian/rules	2015-06-22 02:54:29.000000000 +0300
@@ -1,12 +1,12 @@
 #!/usr/bin/make -f
 
 DEB_BUILDDIR = debian/build
-DEB_PYTHON_SYSTEM = pysupport
 
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/python-autotools.mk
 include /usr/share/cdbs/1/class/gnome.mk
 include /usr/share/cdbs/1/rules/utils.mk
+include /usr/share/cdbs/1/rules/autoreconf.mk
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
 
@@ -14,6 +14,7 @@
 
 DEB_CONFIGURE_SCRIPT_ENV += LDFLAGS="-Wl,-O1"
 DEB_CONFIGURE_EXTRA_FLAGS += --disable-kqueue
+DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 DEB_INSTALL_DOCS_ALL :=
 DEB_INSTALL_DOCS_gamin := AUTHORS NEWS README TODO


More information about the pkg-gnome-maintainers mailing list