[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#971067: RFS: libexif-gtk/0.5.0-1



On 2020-10-15 Hugh McMaster <hugh.mcmaster@outlook.com> wrote:
[...]
> I spoke with the Debian QA Team and they were reluctant to remove gtkam
> because of popcon numbers.

> Myon said I should file a Serious bug against the package (#972085).

> Options for libexif-gtk seem to be reverting to GTK2 only, or building GTK2
> and GTK3 packages. I’m not entirely sure how that would work for the -dev
> package, although I could create a new -dev package for GTK3, I suppose.

Hello,

afaict the build against GTK2 and GTK3 produes identical header files,
only the library differ. So a combined dev package is possible.

Draft atached.

cu Andreas

-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
>From 9c8f11e6e575d46d462d3f48237bd681dee5e76e Mon Sep 17 00:00:00 2001
From: Andreas Metzler <ametzler@bebt.de>
Date: Sun, 18 Oct 2020 14:14:45 +0200
Subject: [PATCH] Build both against GTK 2.0 and 3 to allow rdep(s) to migrate.

---
 debian/changelog               |  4 +++
 debian/control                 | 18 ++++++++++++-
 debian/libexif-gtk-dev.install |  2 +-
 debian/libexif-gtk3-5.install  |  2 +-
 debian/libexif-gtk5.install    |  2 ++
 debian/libexif-gtk5.symbols    | 49 ++++++++++++++++++++++++++++++++++
 debian/rules                   | 23 +++++++++++++---
 7 files changed, 93 insertions(+), 7 deletions(-)
 create mode 100644 debian/libexif-gtk5.install
 create mode 100644 debian/libexif-gtk5.symbols

diff --git a/debian/changelog b/debian/changelog
index c055c07..fbd1eb0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
 libexif-gtk (0.5.0-1) experimental; urgency=medium
 
+  [ Hugh McMaster ]
   * New upstream version:
     - Fix cross-compilation with pkg-config (Closes: #911108).
   * Switch to GTK 3 (Closes: #967573).
@@ -41,6 +42,9 @@ libexif-gtk (0.5.0-1) experimental; urgency=medium
   * Add debian/not-installed file.
   * Add debian/upstream/metadata file.
 
+  [ Andreas Metzler ]
+  * Build both against GTK 2.0 and 3 to allow rdep(s) to migrate.
+
  -- Hugh McMaster <hugh.mcmaster@outlook.com>  Thu, 01 Oct 2020 22:31:22 +1000
 
 libexif-gtk (0.4.0-2) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index 8f19464..04d001c 100644
--- a/debian/control
+++ b/debian/control
@@ -6,6 +6,7 @@ Uploaders: Hugh McMaster <hugh.mcmaster@outlook.com>
 Build-Depends:
  debhelper-compat (= 13),
  libexif-dev (>= 0.6.21),
+ libgtk2.0-dev,
  libgtk-3-dev,
  pkg-config,
 Standards-Version: 4.5.0
@@ -14,6 +15,19 @@ Homepage: https://libexif.github.io/
 Vcs-Browser: https://salsa.debian.org/debian-phototools-team/libexif-gtk
 Vcs-Git: https://salsa.debian.org/debian-phototools-team/libexif-gtk.git
 
+Package: libexif-gtk5
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Library providing GTK+ 2.0 widgets to display/edit EXIF tags
+ Most digital cameras produce EXIF files, which are JPEG files with
+ extra tags that contain information about the image. The EXIF library
+ allows you to parse an EXIF file and read the data from those tags.
+ .
+ This library provides GTK+ widgets to display/edit EXIF tags.
+ .
+ This is the legacy version, built against GTK+ 2.0.
+
 Package: libexif-gtk3-5
 Architecture: any
 Multi-Arch: same
@@ -29,7 +43,9 @@ Package: libexif-gtk-dev
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libexif-gtk3-5 (= ${binary:Version}), libexif-dev, libgtk-3-dev, ${misc:Depends}
+Depends: libexif-gtk5 (= ${binary:Version}),
+ libexif-gtk3-5 (= ${binary:Version}),
+ libexif-dev, libgtk2.0-dev, libgtk-3-dev, ${misc:Depends}
 Description: Library providing GTK+ widgets to display/edit EXIF tags (development files)
  Most digital cameras produce EXIF files, which are JPEG files with
  extra tags that contain information about the image. The EXIF library
diff --git a/debian/libexif-gtk-dev.install b/debian/libexif-gtk-dev.install
index 603b965..75314e4 100644
--- a/debian/libexif-gtk-dev.install
+++ b/debian/libexif-gtk-dev.install
@@ -1,4 +1,4 @@
 usr/include/libexif-gtk/*
 usr/lib/*/lib*.a
 usr/lib/*/lib*.so
-usr/lib/*/pkgconfig/libexif-gtk3.pc
+usr/lib/*/pkgconfig/libexif-gtk*.pc
diff --git a/debian/libexif-gtk3-5.install b/debian/libexif-gtk3-5.install
index e53df30..94d9c0a 100644
--- a/debian/libexif-gtk3-5.install
+++ b/debian/libexif-gtk3-5.install
@@ -1,2 +1,2 @@
-usr/share/locale
+usr/share/locale/*/*/libexif-gtk3-5.*
 usr/lib/*/libexif-gtk3.so.*
diff --git a/debian/libexif-gtk5.install b/debian/libexif-gtk5.install
new file mode 100644
index 0000000..fb2081f
--- /dev/null
+++ b/debian/libexif-gtk5.install
@@ -0,0 +1,2 @@
+usr/share/locale/*/*/libexif-gtk-5.*
+usr/lib/*/libexif-gtk.so.*
diff --git a/debian/libexif-gtk5.symbols b/debian/libexif-gtk5.symbols
new file mode 100644
index 0000000..f5a4562
--- /dev/null
+++ b/debian/libexif-gtk5.symbols
@@ -0,0 +1,49 @@
+libexif-gtk.so.5 libexif-gtk5 #MINVER#
+* Build-Depends-Package: libexif-gtk-dev
+ gtk_exif_browser_get_type@Base 0.4.0
+ gtk_exif_browser_new@Base 0.4.0
+ gtk_exif_browser_set_data@Base 0.4.0
+ gtk_exif_content_list_add_entry@Base 0.4.0
+ gtk_exif_content_list_get_type@Base 0.4.0
+ gtk_exif_content_list_new@Base 0.4.0
+ gtk_exif_content_list_remove_entry@Base 0.4.0
+ gtk_exif_content_list_set_content@Base 0.4.0
+ gtk_exif_content_list_update_entry@Base 0.4.0
+ gtk_exif_entry_added@Base 0.4.0
+ gtk_exif_entry_ascii_get_type@Base 0.4.0
+ gtk_exif_entry_ascii_new@Base 0.4.0
+ gtk_exif_entry_changed@Base 0.4.0
+ gtk_exif_entry_construct@Base 0.4.0
+ gtk_exif_entry_copyright_get_type@Base 0.4.0
+ gtk_exif_entry_copyright_new@Base 0.4.0
+ gtk_exif_entry_date_get_type@Base 0.4.0
+ gtk_exif_entry_date_new@Base 0.4.0
+ gtk_exif_entry_flash_get_type@Base 0.4.0
+ gtk_exif_entry_flash_new@Base 0.4.0
+ gtk_exif_entry_generic_get_type@Base 0.4.0
+ gtk_exif_entry_generic_new@Base 0.4.0
+ gtk_exif_entry_get_type@Base 0.4.0
+ gtk_exif_entry_number_get_type@Base 0.4.0
+ gtk_exif_entry_number_new@Base 0.4.0
+ gtk_exif_entry_option_get_type@Base 0.4.0
+ gtk_exif_entry_option_new@Base 0.4.0
+ gtk_exif_entry_rational_get_type@Base 0.4.0
+ gtk_exif_entry_rational_new@Base 0.4.0
+ gtk_exif_entry_removed@Base 0.4.0
+ gtk_exif_entry_resolution_get_type@Base 0.4.0
+ gtk_exif_entry_resolution_new@Base 0.4.0
+ gtk_exif_entry_user_comment_get_type@Base 0.4.0
+ gtk_exif_entry_user_comment_new@Base 0.4.0
+ gtk_exif_entry_version_get_type@Base 0.4.0
+ gtk_exif_entry_version_new@Base 0.4.0
+ gtk_menu_option_construct@Base 0.4.0
+ gtk_menu_option_get@Base 0.4.0
+ gtk_menu_option_get_index@Base 0.4.0
+ gtk_menu_option_get_type@Base 0.4.0
+ gtk_menu_option_new@Base 0.4.0
+ gtk_menu_option_set@Base 0.4.0
+ gtk_menu_option_set_sensitive@Base 0.4.0
+ gtk_menu_option_set_sensitive_all@Base 0.4.0
+ gtk_options_sort@Base 0.4.0
+ gtk_tree_model_get_iter_from_option@Base 0.4.0
+ gtk_tree_model_new_from_options@Base 0.4.0
diff --git a/debian/rules b/debian/rules
index 8ccb552..6bf7ac0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,15 +2,30 @@
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
+BDIR = -O--builddirectory=buildgtk
+
 override_dh_auto_clean:
-	dh_auto_clean
+	dh_auto_clean $(BDIR)2
+	dh_auto_clean $(BDIR)3
 	rm -f po/*.gmo po/Makevars po/libexif-gtk-5.pot po/stamp-po
 
 override_dh_auto_configure:
-	dh_auto_configure -- --with-gtk3
+	dh_auto_configure $(BDIR)2 --verbose
+	dh_auto_configure $(BDIR)3 --verbose -- --with-gtk3
+
+override_dh_auto_build:
+	dh_auto_build $(BDIR)2
+	dh_auto_build $(BDIR)3
 
 override_dh_auto_install:
-	dh_auto_install
+	dh_auto_install --verbose $(BDIR)2 && \
+		rm -rf debian/tmp-gtk2-include/ && \
+		cp -a debian/tmp/usr/include/ debian/tmp-gtk2-include/
+	dh_auto_install $(BDIR)3
+	# doublecheck that headers are dentical for gtk2 and gtk3 build
+	diff -NurbBp debian/tmp/usr/include/ debian/tmp-gtk2-include/
+	rm -rf debian/tmp-gtk2-include/
+
 	# make it multiarch ready
 	find debian/tmp/usr/lib -iname '*.la' -exec sed -i "/dependency_libs/ s/'.*'/''/" {} \;
 
@@ -18,4 +33,4 @@ override_dh_installchangelogs:
 	dh_installchangelogs -XChangeLog
 
 %:
-	dh $@
+	dh $@ --builddirectory=buildgtk3
-- 
2.28.0


Reply to: