[Pkg-phototools-devel] Bug#653198: please build for Multi-Arch

Kees Cook kees at debian.org
Sun Dec 25 01:57:12 UTC 2011


Package: libgphoto2
Version: 2.4.11-3.1
Severity: normal
Tags: patch

Hello!

In an effort to reach the Multi-Arch release goal, here is a patch to
build libgphoto2 for Multi-Arch, along with a few other subtle fixes. :)

Thanks!

-Kees

-- 
Kees Cook                                            @debian.org
-------------- next part --------------
diff -Nru libgphoto2-2.4.11/debian/changelog libgphoto2-2.4.11/debian/changelog
--- libgphoto2-2.4.11/debian/changelog	2011-09-10 08:11:31.000000000 -0700
+++ libgphoto2-2.4.11/debian/changelog	2011-12-24 17:25:34.000000000 -0800
@@ -1,3 +1,14 @@
+libgphoto2 (2.4.11-3.2) UNRELEASED; urgency=low
+
+  * debian/{control,rules,compat,*.install}: Build for Multi-arch, fix
+    CFLAGS handling, move "print-camera-list" ELF from libgphoto2-2 to
+    libgphoto2-2-dev.
+  * debian/libgphoto2-2-dev.install:
+    - drop use of {}, since it is not technically supported.
+  * debian/patches/71_format-security.patch: fix missing "%s" in printf().
+
+ -- Kees Cook <kees at debian.org>  Sat, 24 Dec 2011 16:25:52 -0800
+
 libgphoto2 (2.4.11-3.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru libgphoto2-2.4.11/debian/compat libgphoto2-2.4.11/debian/compat
--- libgphoto2-2.4.11/debian/compat	2011-02-26 04:08:20.000000000 -0800
+++ libgphoto2-2.4.11/debian/compat	2011-12-24 16:28:51.000000000 -0800
@@ -1 +1 @@
-7
+9
diff -Nru libgphoto2-2.4.11/debian/control libgphoto2-2.4.11/debian/control
--- libgphoto2-2.4.11/debian/control	2011-09-10 07:54:54.000000000 -0700
+++ libgphoto2-2.4.11/debian/control	2011-12-24 17:10:25.000000000 -0800
@@ -6,7 +6,7 @@
  , David Paleino <dapal at debian.org>
  , G?rkan Seng?n <gurkan at phys.ethz.ch>
 Build-Depends:
- debhelper (>= 7.0.50)
+ debhelper (>= 8.1.3~)
  , libtool
  , libltdl-dev
  , zlib1g-dev
@@ -35,6 +35,8 @@
  , libc-dev
  , pkg-config
  , ${misc:Depends}
+Breaks: libgphoto2-2 (<< 2.4.11-3.2)
+Replaces: libgphoto2-2 (<< 2.4.11-3.2)
 Description: gphoto2 digital camera library (development files)
  The gphoto2 library can be used by applications to access various
  digital camera models, via standard protocols such as USB Mass Storage
@@ -55,10 +57,12 @@
 
 Package: libgphoto2-port0
 Architecture: any
+Multi-Arch: same
 Provides: libgphoto2port
 Replaces: libgphoto2port
 Conflicts: libgphoto2port
 Breaks: gphoto2 (<= 2.1.1)
+Pre-Depends: ${misc:Pre-Depends}
 Depends:
  ${shlibs:Depends}
  , ${misc:Depends}
@@ -72,7 +76,9 @@
 
 Package: libgphoto2-2
 Architecture: any
+Multi-Arch: same
 Breaks: gphoto2 (<= 2.1.1)
+Pre-Depends: ${misc:Pre-Depends}
 Depends:
  ${shlibs:Depends}
  , ${misc:Depends}
@@ -93,6 +99,7 @@
 Package: libgphoto2-l10n
 Section: localization
 Architecture: all
+Multi-Arch: foreign
 Breaks: libgphoto2-2 (<= 2.4.10.1-4)
 Replaces: libgphoto2-2 (<= 2.4.10.1-4)
 Depends: ${misc:Depends}
diff -Nru libgphoto2-2.4.11/debian/libgphoto2-2-dev.install libgphoto2-2.4.11/debian/libgphoto2-2-dev.install
--- libgphoto2-2.4.11/debian/libgphoto2-2-dev.install	2011-04-13 02:32:26.000000000 -0700
+++ libgphoto2-2.4.11/debian/libgphoto2-2-dev.install	2011-12-24 17:09:37.000000000 -0800
@@ -1,11 +1,17 @@
 usr/share/man/man3/libgphoto2.3
 usr/share/man/man3/libgphoto2_port.3
-usr/lib/libgphoto2_port.{so,a}
-usr/lib/libgphoto2_port/*/{serial,usb,disk,ptpip}.a
-usr/lib/libgphoto2.{so,a}
-usr/lib/pkgconfig/libgphoto2.pc
-usr/lib/pkgconfig/libgphoto2_port.pc
-usr/lib/libgphoto2/*/*.a
+usr/lib/*/libgphoto2_port.so
+usr/lib/*/libgphoto2_port.a
+usr/lib/*/libgphoto2_port/*/serial.a
+usr/lib/*/libgphoto2_port/*/usb.a
+usr/lib/*/libgphoto2_port/*/disk.a
+usr/lib/*/libgphoto2_port/*/ptpip.a
+usr/lib/*/libgphoto2.so
+usr/lib/*/libgphoto2.a
+usr/lib/*/pkgconfig/libgphoto2.pc
+usr/lib/*/pkgconfig/libgphoto2_port.pc
+usr/lib/*/libgphoto2/*/*.a
+usr/lib/*/libgphoto2/print-camera-list
 usr/include/gphoto2/*.h
 usr/bin/gphoto2-port-config
 usr/bin/gphoto2-config
diff -Nru libgphoto2-2.4.11/debian/libgphoto2-2.install libgphoto2-2.4.11/debian/libgphoto2-2.install
--- libgphoto2-2.4.11/debian/libgphoto2-2.install	2011-02-27 08:03:30.000000000 -0800
+++ libgphoto2-2.4.11/debian/libgphoto2-2.install	2011-12-24 17:09:05.000000000 -0800
@@ -4,6 +4,5 @@
 usr/share/doc/libgphoto2/README usr/share/doc/libgphoto2-2
 usr/share/doc/libgphoto2/camlibs/ usr/share/doc/libgphoto2-2
 usr/share/libgphoto2/*/konica/*
-usr/lib/libgphoto2/*/*.so
-usr/lib/libgphoto2.so.*
-usr/lib/libgphoto2/print-camera-list
+usr/lib/*/libgphoto2/*/*.so
+usr/lib/*/libgphoto2.so.*
diff -Nru libgphoto2-2.4.11/debian/libgphoto2-port0.install libgphoto2-2.4.11/debian/libgphoto2-port0.install
--- libgphoto2-2.4.11/debian/libgphoto2-port0.install	2011-04-18 09:04:58.000000000 -0700
+++ libgphoto2-2.4.11/debian/libgphoto2-port0.install	2011-12-24 16:31:21.000000000 -0800
@@ -2,5 +2,5 @@
 usr/share/doc/libgphoto2_port/AUTHORS usr/share/doc/libgphoto2-port0
 usr/share/doc/libgphoto2_port/README  usr/share/doc/libgphoto2-port0
 usr/share/doc/libgphoto2_port/NEWS    usr/share/doc/libgphoto2-port0
-usr/lib/libgphoto2_port.so.*
-usr/lib/libgphoto2_port/*/*.so
+usr/lib/*/libgphoto2_port.so.*
+usr/lib/*/libgphoto2_port/*/*.so
diff -Nru libgphoto2-2.4.11/debian/patches/71_format-security.patch libgphoto2-2.4.11/debian/patches/71_format-security.patch
--- libgphoto2-2.4.11/debian/patches/71_format-security.patch	1969-12-31 16:00:00.000000000 -0800
+++ libgphoto2-2.4.11/debian/patches/71_format-security.patch	2011-12-24 17:25:02.000000000 -0800
@@ -0,0 +1,16 @@
+Description: avoid -Wformat-security warnings.
+Author: Kees Cook <kees at debian.org>
+
+Index: libgphoto2-2.4.11/packaging/generic/print-camera-list.c
+===================================================================
+--- libgphoto2-2.4.11.orig/packaging/generic/print-camera-list.c	2011-12-24 17:24:28.081326412 -0800
++++ libgphoto2-2.4.11/packaging/generic/print-camera-list.c	2011-12-24 17:24:39.841493885 -0800
+@@ -506,7 +506,7 @@
+ 			version_str);
+ 		print_version_comment(stdout, "# ", "\n", NULL, "#\n");
+ 		printf ("# this file is autogenerated, local changes will be LOST on upgrades\n");
+-		printf (pdata->begin_string);
++		printf ("%s", pdata->begin_string);
+ 
+ 		if (pdata->version == UDEV_136) {
+ 			if (pdata->mode != NULL || pdata->owner != NULL || pdata->group != NULL) {
diff -Nru libgphoto2-2.4.11/debian/patches/series libgphoto2-2.4.11/debian/patches/series
--- libgphoto2-2.4.11/debian/patches/series	2011-04-18 08:33:31.000000000 -0700
+++ libgphoto2-2.4.11/debian/patches/series	2011-12-24 17:24:23.000000000 -0800
@@ -1,3 +1,4 @@
 #10_disable_cache
 #11_hurd_no_path_max_bsdsource
 70_increase_max_entries
+71_format-security.patch
diff -Nru libgphoto2-2.4.11/debian/rules libgphoto2-2.4.11/debian/rules
--- libgphoto2-2.4.11/debian/rules	2011-02-26 04:08:20.000000000 -0800
+++ libgphoto2-2.4.11/debian/rules	2011-12-24 17:15:52.000000000 -0800
@@ -9,22 +9,11 @@
 ifeq ($(DEB_HOST_ARCH_OS),hurd)
   CONFIGURE_OPTIONS += --without-libusb
 endif
-
-### CFLAGS handling:
-CFLAGS = -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-    CFLAGS += -O0
-else
-    CFLAGS += -O2
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-    INSTALL_PROGRAM += -s
-endif
-
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 ### Overrides:
 override_dh_auto_configure:
-	CFLAGS="$(CFLAGS)" dh_auto_configure -- --with-drivers=all --enable-static $(CONFIGURE_OPTIONS)
+	dh_auto_configure -- --with-drivers=all --enable-static $(CONFIGURE_OPTIONS)
 
 override_dh_auto_install:
 	LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/lib $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
@@ -49,7 +38,7 @@
 	# No longer needed with current udev. But check with non-Linux architectures stuff:
 	# rm debian/libgphoto2-2/lib/udev/check-ptp-camera
 	# Generate the udev file, get it installed, and clean:
-	CAMLIBS=`ls -d debian/libgphoto2-$(major)/usr/lib/libgphoto2/2*` ./packaging/generic/print-camera-list udev-rules version 136 mode 0664 group plugdev > debian/libgphoto2-$(major).udev
+	CAMLIBS=`ls -d debian/libgphoto2-$(major)/usr/lib/$(DEB_HOST_MULTIARCH)/libgphoto2/2*` ./packaging/generic/print-camera-list udev-rules version 136 mode 0664 group plugdev > debian/libgphoto2-$(major).udev
 	dh_installudev
 	rm debian/libgphoto2-$(major).udev
 endif


More information about the Pkg-phototools-devel mailing list