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: