On 2020-10-15 Hugh McMaster <hugh.mcmas...@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 <ametz...@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.mcmas...@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.mcmas...@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