Bug#1062319: libgphoto2: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Thu Feb 1 02:05:39 GMT 2024


Source: libgphoto2
Version: 2.5.31-2
Severity: serious
Tags: patch pending
Justification: library ABI skew on upgrade
User: debian-arm at lists.debian.org
Usertags: time-t

Dear maintainer,

As part of the 64-bit time_t transition required to support 32-bit
architectures in 2038 and beyond
(https://wiki.debian.org/ReleaseGoals/64bit-time), we have identified
libgphoto2 as a source package shipping runtime libraries whose ABI
either is affected by the change in size of time_t, or could not be
analyzed via abi-compliance-checker (and therefore to be on the safe
side we assume is affected).

To ensure that inconsistent combinations of libraries with their
reverse-dependencies are never installed together, it is necessary to
have a library transition, which is most easily done by renaming the
runtime library package.

Since turning on 64-bit time_t is being handled centrally through a change
to the default dpkg-buildflags (https://bugs.debian.org/1037136), it is
important that libraries affected by this ABI change all be uploaded close
together in time.  Therefore I have prepared a 0-day NMU for libgphoto2
which will initially be uploaded to experimental if possible, then to
unstable after packages have cleared binary NEW.

Please find the patch for this NMU attached.

If you have any concerns about this patch, please reach out ASAP.  Although
this package will be uploaded to experimental immediately, there will be a
period of several days before we begin uploads to unstable; so if information
becomes available that your package should not be included in the transition,
there is time for us to amend the planned uploads.



-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-14-generic (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
diff -Nru libgphoto2-2.5.31/debian/changelog libgphoto2-2.5.31/debian/changelog
--- libgphoto2-2.5.31/debian/changelog	2023-12-06 17:46:28.000000000 +0000
+++ libgphoto2-2.5.31/debian/changelog	2024-02-01 01:54:58.000000000 +0000
@@ -1,3 +1,10 @@
+libgphoto2 (2.5.31-2.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Thu, 01 Feb 2024 01:54:58 +0000
+
 libgphoto2 (2.5.31-2) unstable; urgency=medium
 
   [ Andreas Metzler ]
diff -Nru libgphoto2-2.5.31/debian/control libgphoto2-2.5.31/debian/control
--- libgphoto2-2.5.31/debian/control	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/control	2024-02-01 01:54:58.000000000 +0000
@@ -32,7 +32,7 @@
 Architecture: any
 Multi-Arch: same
 Depends: libexif-dev,
-         libgphoto2-6 (= ${binary:Version}),
+         libgphoto2-6t64 (= ${binary:Version}),
          pkg-config,
          ${misc:Depends}
 Breaks: libgphoto2-2-dev (<< 2.5.2-1~)
@@ -57,11 +57,12 @@
  .
  This package contains the development documentation.
 
-Package: libgphoto2-port12
+Package: libgphoto2-port12t64
+Provides: ${t64:Provides}
 Architecture: any
 Multi-Arch: same
-Breaks: libgphoto2-port10 (>= 2.5.7)
-Replaces: libgphoto2-port10 (>= 2.5.7)
+Breaks: libgphoto2-port12 (<< ${source:Version}), libgphoto2-port10 (>= 2.5.7)
+Replaces: libgphoto2-port12, libgphoto2-port10 (>= 2.5.7)
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: gphoto2
@@ -72,7 +73,10 @@
  .
  This package contains the runtime code for port access.
 
-Package: libgphoto2-6
+Package: libgphoto2-6t64
+Provides: ${t64:Provides}
+Replaces: libgphoto2-6
+Breaks: libgphoto2-6 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb
--- libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb	2024-02-01 01:54:58.000000000 +0000
@@ -0,0 +1 @@
+# hardware database file for libgphoto2 devices
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian
--- libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian	1970-01-01 00:00:00.000000000 +0000
@@ -1,33 +0,0 @@
-Using libgphoto2 as a normal user
----------------------------------
-
-This version of libgphoto2-installs udev files in /lib/udev/rules.d/ to
-allow camera access to all members of group 'plugdev'.
-
-This means the only configuration is to add authorized users to the 'plugdev'
-group.  Note that group changes will only apply when you relog.
-
-udev may fail to set group ownership for cameras that are not explicitly known
-by gphoto2, if you know your camera is a generic PTP model not handled by udev,
-you can create a file in /etc/udev/rules.d/, say z25_my_camera.rules, with such
-a content:
-
-ACTION=="add", SYSFS{idVendor}=="XXXX", SYSFS{idProduct}=="YYYY", \
-  MODE="0660", GROUP="plugdev"
-
-You can get XXXX and YYYY value with lsusb, for example:
-
-  Bus 001 Device 010: ID 04a9:3125 Canon, Inc.
-                         ^^^^ ^^^^
-			 XXXX YYYY
-
-You can also send the USB ID as a Debian bug report or to gphoto2 development
-mailing list at gphoto-devel at lists.sourceforge.net
-
-Note: before 2.2.1-9, the group was not 'plugdev' but 'camera'.
-
-Note: 2.5.23 has OUTDATED.txt file. The camlibs for cameras (and driver) older
-      than 15 years have been default disabled for installation. Please see
-      the changelog file for more information.
-      /usr/share/doc/libgphoto2-6/OUTDATED.txt
-      /usr/share/doc/libgphoto2-6/changelog.gz
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.install libgphoto2-2.5.31/debian/libgphoto2-6.install
--- libgphoto2-2.5.31/debian/libgphoto2-6.install	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,7 +0,0 @@
-# Watch out: $(major) from debian/rules is seen here, target directory is libgphoto2-$(major):
-usr/lib/*/libgphoto2.so.*
-usr/lib/*/libgphoto2/*/*.so
-usr/share/doc/libgphoto2/README.md usr/share/doc/libgphoto2-6
-OUTDATED.txt usr/share/doc/libgphoto2-6
-usr/share/doc/libgphoto2/camlibs/ usr/share/doc/libgphoto2-6
-debian/libgphoto2.metainfo.xml /usr/share/metainfo/
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.lintian-overrides libgphoto2-2.5.31/debian/libgphoto2-6.lintian-overrides
--- libgphoto2-2.5.31/debian/libgphoto2-6.lintian-overrides	2023-12-06 17:44:04.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-# "Optio" is a camera model
-libgphoto2-6: spelling-error-in-binary Optio Option [usr/lib/*/libgphoto2/*/sierra.so]
-
-# "Lumix WiH" appears in the .text section as a specialization of
-# strcpy(id->text, "Lumix Wifi") using immediate values.  The letter
-# "H" is part of the next machine instruction, "ifi\0" follows shortly.
-libgphoto2-6: spelling-error-in-binary WiH With [usr/lib/*/libgphoto2/*/lumix.so]
-
-# begin-remove-after: released:forky
-# protective diversion for upgrades of files moved from / to /usr
-libgphoto2-6: diversion-for-unknown-file lib/udev/hwdb.d/20-libgphoto2-6.hwdb [preinst:*]
-libgphoto2-6: diversion-for-unknown-file lib/udev/rules.d/60-libgphoto2-6.rules [preinst:*]
-# end-remove-after
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.postinst libgphoto2-2.5.31/debian/libgphoto2-6.postinst
--- libgphoto2-2.5.31/debian/libgphoto2-6.postinst	2023-12-06 17:44:04.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-#! /bin/sh
-
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "configure" ]; then
-    # At this point, the package will have installed the same file in */usr*.
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
-        --remove /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/60-libgphoto2-6.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.postrm libgphoto2-2.5.31/debian/libgphoto2-6.postrm
--- libgphoto2-2.5.31/debian/libgphoto2-6.postrm	2023-12-06 17:44:04.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.postrm	1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-#!/bin/sh
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
-    # Cleanup in case package is removed before upgrade is finished (postinst ran).
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
-        --remove /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/60-libgphoto2-6.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
-
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.preinst libgphoto2-2.5.31/debian/libgphoto2-6.preinst
--- libgphoto2-2.5.31/debian/libgphoto2-6.preinst	2023-12-06 17:44:04.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.preinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,18 +0,0 @@
-#!/bin/sh
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "upgrade" ]; then
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
-        --add /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
-        --add /lib/udev/rules.d/60-libgphoto2-6.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
-
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.symbols libgphoto2-2.5.31/debian/libgphoto2-6.symbols
--- libgphoto2-2.5.31/debian/libgphoto2-6.symbols	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,192 +0,0 @@
-libgphoto2.so.6 libgphoto2-6 #MINVER#
-* Build-Depends-Package: libgphoto2-dev
- gp_abilities_list_append at Base 2.5.10
- gp_abilities_list_count at Base 2.5.10
- gp_abilities_list_detect at Base 2.5.10
- gp_abilities_list_free at Base 2.5.10
- gp_abilities_list_get_abilities at Base 2.5.10
- gp_abilities_list_load at Base 2.5.10
- gp_abilities_list_load_dir at Base 2.5.10
- gp_abilities_list_lookup_model at Base 2.5.10
- gp_abilities_list_new at Base 2.5.10
- gp_abilities_list_reset at Base 2.5.10
- gp_ahd_decode at Base 2.5.10
- gp_ahd_interpolate at Base 2.5.10
- gp_bayer_decode at Base 2.5.10
- gp_bayer_expand at Base 2.5.10
- gp_bayer_interpolate at Base 2.5.10
- gp_camera_autodetect at Base 2.5.10
- gp_camera_capture at Base 2.5.10
- gp_camera_capture_preview at Base 2.5.10
- gp_camera_exit at Base 2.5.10
- gp_camera_file_delete at Base 2.5.10
- gp_camera_file_get at Base 2.5.10
- gp_camera_file_get_info at Base 2.5.10
- gp_camera_file_read at Base 2.5.10
- gp_camera_file_set_info at Base 2.5.10
- gp_camera_folder_delete_all at Base 2.5.10
- gp_camera_folder_list_files at Base 2.5.10
- gp_camera_folder_list_folders at Base 2.5.10
- gp_camera_folder_make_dir at Base 2.5.10
- gp_camera_folder_put_file at Base 2.5.10
- gp_camera_folder_remove_dir at Base 2.5.10
- gp_camera_free at Base 2.5.10
- gp_camera_get_abilities at Base 2.5.10
- gp_camera_get_about at Base 2.5.10
- gp_camera_get_config at Base 2.5.10
- gp_camera_get_manual at Base 2.5.10
- gp_camera_get_port_info at Base 2.5.10
- gp_camera_get_port_speed at Base 2.5.10
- gp_camera_get_single_config at Base 2.5.10
- gp_camera_get_storageinfo at Base 2.5.10
- gp_camera_get_summary at Base 2.5.10
- gp_camera_init at Base 2.5.10
- gp_camera_list_config at Base 2.5.10
- gp_camera_new at Base 2.5.10
- gp_camera_ref at Base 2.5.10
- gp_camera_set_abilities at Base 2.5.10
- gp_camera_set_config at Base 2.5.10
- gp_camera_set_port_info at Base 2.5.10
- gp_camera_set_port_speed at Base 2.5.10
- gp_camera_set_single_config at Base 2.5.10
- gp_camera_set_timeout_funcs at Base 2.5.10
- gp_camera_start_timeout at Base 2.5.10
- gp_camera_stop_timeout at Base 2.5.10
- gp_camera_trigger_capture at Base 2.5.10
- gp_camera_unref at Base 2.5.10
- gp_camera_wait_for_event at Base 2.5.10
- gp_context_cancel at Base 2.5.10
- gp_context_error at Base 2.5.10
- gp_context_idle at Base 2.5.10
- gp_context_message at Base 2.5.10
- gp_context_new at Base 2.5.10
- gp_context_progress_start at Base 2.5.10
- gp_context_progress_stop at Base 2.5.10
- gp_context_progress_update at Base 2.5.10
- gp_context_question at Base 2.5.10
- gp_context_ref at Base 2.5.10
- gp_context_set_cancel_func at Base 2.5.10
- gp_context_set_error_func at Base 2.5.10
- gp_context_set_idle_func at Base 2.5.10
- gp_context_set_message_func at Base 2.5.10
- gp_context_set_progress_funcs at Base 2.5.10
- gp_context_set_question_func at Base 2.5.10
- gp_context_set_status_func at Base 2.5.10
- gp_context_status at Base 2.5.10
- gp_context_unref at Base 2.5.10
- gp_file_adjust_name_for_mime_type at Base 2.5.10
- gp_file_append at Base 2.5.10
- gp_file_clean at Base 2.5.10
- gp_file_copy at Base 2.5.10
- gp_file_detect_mime_type at Base 2.5.10
- gp_file_free at Base 2.5.10
- gp_file_get_data_and_size at Base 2.5.10
- gp_file_get_mime_type at Base 2.5.10
- gp_file_get_mtime at Base 2.5.10
- gp_file_get_name at Base 2.5.10
- gp_file_get_name_by_type at Base 2.5.10
- gp_file_new at Base 2.5.10
- gp_file_new_from_fd at Base 2.5.10
- gp_file_new_from_handler at Base 2.5.10
- gp_file_open at Base 2.5.10
- gp_file_ref at Base 2.5.10
- gp_file_save at Base 2.5.10
- gp_file_set_data_and_size at Base 2.5.10
- gp_file_set_mime_type at Base 2.5.10
- gp_file_set_mtime at Base 2.5.10
- gp_file_set_name at Base 2.5.10
- gp_file_slurp at Base 2.5.10
- gp_file_unref at Base 2.5.10
- gp_filesystem_append at Base 2.5.10
- gp_filesystem_count at Base 2.5.10
- gp_filesystem_delete_all at Base 2.5.10
- gp_filesystem_delete_file at Base 2.5.10
- gp_filesystem_delete_file_noop at Base 2.5.10
- gp_filesystem_dump at Base 2.5.10
- gp_filesystem_free at Base 2.5.10
- gp_filesystem_get_file at Base 2.5.10
- gp_filesystem_get_folder at Base 2.5.10
- gp_filesystem_get_info at Base 2.5.10
- gp_filesystem_list_files at Base 2.5.10
- gp_filesystem_list_folders at Base 2.5.10
- gp_filesystem_make_dir at Base 2.5.10
- gp_filesystem_name at Base 2.5.10
- gp_filesystem_new at Base 2.5.10
- gp_filesystem_number at Base 2.5.10
- gp_filesystem_put_file at Base 2.5.10
- gp_filesystem_read_file at Base 2.5.10
- gp_filesystem_remove_dir at Base 2.5.10
- gp_filesystem_reset at Base 2.5.10
- gp_filesystem_set_file_noop at Base 2.5.10
- gp_filesystem_set_funcs at Base 2.5.10
- gp_filesystem_set_info at Base 2.5.10
- gp_filesystem_set_info_dirty at Base 2.5.28
- gp_filesystem_set_info_noop at Base 2.5.10
- gp_gamma_correct_single at Base 2.5.10
- gp_gamma_fill_table at Base 2.5.10
- gp_init_localedir at Base 2.5.30
- gp_library_version at Base 2.5.10
- gp_list_append at Base 2.5.10
- gp_list_count at Base 2.5.10
- gp_list_find_by_name at Base 2.5.10
- gp_list_free at Base 2.5.10
- gp_list_get_name at Base 2.5.10
- gp_list_get_value at Base 2.5.10
- gp_list_new at Base 2.5.10
- gp_list_populate at Base 2.5.10
- gp_list_ref at Base 2.5.10
- gp_list_reset at Base 2.5.10
- gp_list_set_name at Base 2.5.10
- gp_list_set_value at Base 2.5.10
- gp_list_sort at Base 2.5.10
- gp_list_unref at Base 2.5.10
- gp_message_codeset at Base 2.5.10
- gp_result_as_string at Base 2.5.10
- gp_setting_get at Base 2.5.10
- gp_setting_set at Base 2.5.10
- gp_widget_add_choice at Base 2.5.10
- gp_widget_append at Base 2.5.10
- gp_widget_changed at Base 2.5.10
- gp_widget_count_children at Base 2.5.10
- gp_widget_count_choices at Base 2.5.10
- gp_widget_free at Base 2.5.10
- gp_widget_get_child at Base 2.5.10
- gp_widget_get_child_by_id at Base 2.5.10
- gp_widget_get_child_by_label at Base 2.5.10
- gp_widget_get_child_by_name at Base 2.5.10
- gp_widget_get_choice at Base 2.5.10
- gp_widget_get_id at Base 2.5.10
- gp_widget_get_info at Base 2.5.10
- gp_widget_get_label at Base 2.5.10
- gp_widget_get_name at Base 2.5.10
- gp_widget_get_parent at Base 2.5.10
- gp_widget_get_range at Base 2.5.10
- gp_widget_get_readonly at Base 2.5.10
- gp_widget_get_root at Base 2.5.10
- gp_widget_get_type at Base 2.5.10
- gp_widget_get_value at Base 2.5.10
- gp_widget_new at Base 2.5.10
- gp_widget_prepend at Base 2.5.10
- gp_widget_ref at Base 2.5.10
- gp_widget_set_changed at Base 2.5.10
- gp_widget_set_info at Base 2.5.10
- gp_widget_set_name at Base 2.5.10
- gp_widget_set_range at Base 2.5.10
- gp_widget_set_readonly at Base 2.5.10
- gp_widget_set_value at Base 2.5.10
- gp_widget_unref at Base 2.5.10
- gpi_camera_driver_status_map at Base 2.5.10
- gpi_camera_operation_map at Base 2.5.10
- gpi_exif_get_thumbnail_and_size at Base 2.5.10
- gpi_exif_stat at Base 2.5.10
- gpi_file_operation_map at Base 2.5.10
- gpi_folder_operation_map at Base 2.5.10
- gpi_gphoto_device_type_map at Base 2.5.10
- gpi_jpeg_add_marker at Base 2.5.10
- gpi_jpeg_chunk_destroy at Base 2.5.10
- gpi_jpeg_chunk_new at Base 2.5.10
- gpi_jpeg_chunk_new_filled at Base 2.5.10
- gpi_jpeg_chunk_print at Base 2.5.10
- gpi_jpeg_destroy at Base 2.5.10
- gpi_jpeg_header at Base 2.5.10
- gpi_jpeg_write at Base 2.5.10
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.README.Debian libgphoto2-2.5.31/debian/libgphoto2-6t64.README.Debian
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.README.Debian	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.README.Debian	2023-12-01 06:32:29.000000000 +0000
@@ -0,0 +1,33 @@
+Using libgphoto2 as a normal user
+---------------------------------
+
+This version of libgphoto2-installs udev files in /lib/udev/rules.d/ to
+allow camera access to all members of group 'plugdev'.
+
+This means the only configuration is to add authorized users to the 'plugdev'
+group.  Note that group changes will only apply when you relog.
+
+udev may fail to set group ownership for cameras that are not explicitly known
+by gphoto2, if you know your camera is a generic PTP model not handled by udev,
+you can create a file in /etc/udev/rules.d/, say z25_my_camera.rules, with such
+a content:
+
+ACTION=="add", SYSFS{idVendor}=="XXXX", SYSFS{idProduct}=="YYYY", \
+  MODE="0660", GROUP="plugdev"
+
+You can get XXXX and YYYY value with lsusb, for example:
+
+  Bus 001 Device 010: ID 04a9:3125 Canon, Inc.
+                         ^^^^ ^^^^
+			 XXXX YYYY
+
+You can also send the USB ID as a Debian bug report or to gphoto2 development
+mailing list at gphoto-devel at lists.sourceforge.net
+
+Note: before 2.2.1-9, the group was not 'plugdev' but 'camera'.
+
+Note: 2.5.23 has OUTDATED.txt file. The camlibs for cameras (and driver) older
+      than 15 years have been default disabled for installation. Please see
+      the changelog file for more information.
+      /usr/share/doc/libgphoto2-6/OUTDATED.txt
+      /usr/share/doc/libgphoto2-6/changelog.gz
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.install libgphoto2-2.5.31/debian/libgphoto2-6t64.install
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.install	2023-12-01 06:32:29.000000000 +0000
@@ -0,0 +1,7 @@
+# Watch out: $(major) from debian/rules is seen here, target directory is libgphoto2-$(major):
+usr/lib/*/libgphoto2.so.*
+usr/lib/*/libgphoto2/*/*.so
+usr/share/doc/libgphoto2/README.md usr/share/doc/libgphoto2-6
+OUTDATED.txt usr/share/doc/libgphoto2-6
+usr/share/doc/libgphoto2/camlibs/ usr/share/doc/libgphoto2-6
+debian/libgphoto2.metainfo.xml /usr/share/metainfo/
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.lintian-overrides libgphoto2-2.5.31/debian/libgphoto2-6t64.lintian-overrides
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.lintian-overrides	2024-02-01 01:54:57.000000000 +0000
@@ -0,0 +1,14 @@
+# "Optio" is a camera model
+libgphoto2-6t64: spelling-error-in-binary Optio Option [usr/lib/*/libgphoto2/*/sierra.so]
+
+# "Lumix WiH" appears in the .text section as a specialization of
+# strcpy(id->text, "Lumix Wifi") using immediate values.  The letter
+# "H" is part of the next machine instruction, "ifi\0" follows shortly.
+libgphoto2-6t64: spelling-error-in-binary WiH With [usr/lib/*/libgphoto2/*/lumix.so]
+
+# begin-remove-after: released:forky
+# protective diversion for upgrades of files moved from / to /usr
+libgphoto2-6t64: diversion-for-unknown-file lib/udev/hwdb.d/20-libgphoto2-6t64.hwdb [preinst:*]
+libgphoto2-6t64: diversion-for-unknown-file lib/udev/rules.d/60-libgphoto2-6t64.rules [preinst:*]
+# end-remove-after
+libgphoto2-6t64: package-name-doesnt-match-sonames libgphoto2-6
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.postinst libgphoto2-2.5.31/debian/libgphoto2-6t64.postinst
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.postinst	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.postinst	2023-12-06 17:44:04.000000000 +0000
@@ -0,0 +1,19 @@
+#! /bin/sh
+
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "configure" ]; then
+    # At this point, the package will have installed the same file in */usr*.
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
+        --remove /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/60-libgphoto2-6.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.postrm libgphoto2-2.5.31/debian/libgphoto2-6t64.postrm
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.postrm	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.postrm	2023-12-06 17:44:04.000000000 +0000
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
+    # Cleanup in case package is removed before upgrade is finished (postinst ran).
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
+        --remove /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/60-libgphoto2-6.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.preinst libgphoto2-2.5.31/debian/libgphoto2-6t64.preinst
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.preinst	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.preinst	2023-12-06 17:44:04.000000000 +0000
@@ -0,0 +1,18 @@
+#!/bin/sh
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "upgrade" ]; then
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
+        --add /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
+        --add /lib/udev/rules.d/60-libgphoto2-6.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
+
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6t64.symbols libgphoto2-2.5.31/debian/libgphoto2-6t64.symbols
--- libgphoto2-2.5.31/debian/libgphoto2-6t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-6t64.symbols	2024-02-01 01:54:57.000000000 +0000
@@ -0,0 +1,192 @@
+libgphoto2.so.6 libgphoto2-6t64 #MINVER#
+* Build-Depends-Package: libgphoto2-dev
+ gp_abilities_list_append at Base 2.5.10
+ gp_abilities_list_count at Base 2.5.10
+ gp_abilities_list_detect at Base 2.5.10
+ gp_abilities_list_free at Base 2.5.10
+ gp_abilities_list_get_abilities at Base 2.5.10
+ gp_abilities_list_load at Base 2.5.10
+ gp_abilities_list_load_dir at Base 2.5.10
+ gp_abilities_list_lookup_model at Base 2.5.10
+ gp_abilities_list_new at Base 2.5.10
+ gp_abilities_list_reset at Base 2.5.10
+ gp_ahd_decode at Base 2.5.10
+ gp_ahd_interpolate at Base 2.5.10
+ gp_bayer_decode at Base 2.5.10
+ gp_bayer_expand at Base 2.5.10
+ gp_bayer_interpolate at Base 2.5.10
+ gp_camera_autodetect at Base 2.5.10
+ gp_camera_capture at Base 2.5.10
+ gp_camera_capture_preview at Base 2.5.10
+ gp_camera_exit at Base 2.5.10
+ gp_camera_file_delete at Base 2.5.10
+ gp_camera_file_get at Base 2.5.10
+ gp_camera_file_get_info at Base 2.5.10
+ gp_camera_file_read at Base 2.5.10
+ gp_camera_file_set_info at Base 2.5.10
+ gp_camera_folder_delete_all at Base 2.5.10
+ gp_camera_folder_list_files at Base 2.5.10
+ gp_camera_folder_list_folders at Base 2.5.10
+ gp_camera_folder_make_dir at Base 2.5.10
+ gp_camera_folder_put_file at Base 2.5.10
+ gp_camera_folder_remove_dir at Base 2.5.10
+ gp_camera_free at Base 2.5.10
+ gp_camera_get_abilities at Base 2.5.10
+ gp_camera_get_about at Base 2.5.10
+ gp_camera_get_config at Base 2.5.10
+ gp_camera_get_manual at Base 2.5.10
+ gp_camera_get_port_info at Base 2.5.10
+ gp_camera_get_port_speed at Base 2.5.10
+ gp_camera_get_single_config at Base 2.5.10
+ gp_camera_get_storageinfo at Base 2.5.10
+ gp_camera_get_summary at Base 2.5.10
+ gp_camera_init at Base 2.5.10
+ gp_camera_list_config at Base 2.5.10
+ gp_camera_new at Base 2.5.10
+ gp_camera_ref at Base 2.5.10
+ gp_camera_set_abilities at Base 2.5.10
+ gp_camera_set_config at Base 2.5.10
+ gp_camera_set_port_info at Base 2.5.10
+ gp_camera_set_port_speed at Base 2.5.10
+ gp_camera_set_single_config at Base 2.5.10
+ gp_camera_set_timeout_funcs at Base 2.5.10
+ gp_camera_start_timeout at Base 2.5.10
+ gp_camera_stop_timeout at Base 2.5.10
+ gp_camera_trigger_capture at Base 2.5.10
+ gp_camera_unref at Base 2.5.10
+ gp_camera_wait_for_event at Base 2.5.10
+ gp_context_cancel at Base 2.5.10
+ gp_context_error at Base 2.5.10
+ gp_context_idle at Base 2.5.10
+ gp_context_message at Base 2.5.10
+ gp_context_new at Base 2.5.10
+ gp_context_progress_start at Base 2.5.10
+ gp_context_progress_stop at Base 2.5.10
+ gp_context_progress_update at Base 2.5.10
+ gp_context_question at Base 2.5.10
+ gp_context_ref at Base 2.5.10
+ gp_context_set_cancel_func at Base 2.5.10
+ gp_context_set_error_func at Base 2.5.10
+ gp_context_set_idle_func at Base 2.5.10
+ gp_context_set_message_func at Base 2.5.10
+ gp_context_set_progress_funcs at Base 2.5.10
+ gp_context_set_question_func at Base 2.5.10
+ gp_context_set_status_func at Base 2.5.10
+ gp_context_status at Base 2.5.10
+ gp_context_unref at Base 2.5.10
+ gp_file_adjust_name_for_mime_type at Base 2.5.10
+ gp_file_append at Base 2.5.10
+ gp_file_clean at Base 2.5.10
+ gp_file_copy at Base 2.5.10
+ gp_file_detect_mime_type at Base 2.5.10
+ gp_file_free at Base 2.5.10
+ gp_file_get_data_and_size at Base 2.5.10
+ gp_file_get_mime_type at Base 2.5.10
+ gp_file_get_mtime at Base 2.5.10
+ gp_file_get_name at Base 2.5.10
+ gp_file_get_name_by_type at Base 2.5.10
+ gp_file_new at Base 2.5.10
+ gp_file_new_from_fd at Base 2.5.10
+ gp_file_new_from_handler at Base 2.5.10
+ gp_file_open at Base 2.5.10
+ gp_file_ref at Base 2.5.10
+ gp_file_save at Base 2.5.10
+ gp_file_set_data_and_size at Base 2.5.10
+ gp_file_set_mime_type at Base 2.5.10
+ gp_file_set_mtime at Base 2.5.10
+ gp_file_set_name at Base 2.5.10
+ gp_file_slurp at Base 2.5.10
+ gp_file_unref at Base 2.5.10
+ gp_filesystem_append at Base 2.5.10
+ gp_filesystem_count at Base 2.5.10
+ gp_filesystem_delete_all at Base 2.5.10
+ gp_filesystem_delete_file at Base 2.5.10
+ gp_filesystem_delete_file_noop at Base 2.5.10
+ gp_filesystem_dump at Base 2.5.10
+ gp_filesystem_free at Base 2.5.10
+ gp_filesystem_get_file at Base 2.5.10
+ gp_filesystem_get_folder at Base 2.5.10
+ gp_filesystem_get_info at Base 2.5.10
+ gp_filesystem_list_files at Base 2.5.10
+ gp_filesystem_list_folders at Base 2.5.10
+ gp_filesystem_make_dir at Base 2.5.10
+ gp_filesystem_name at Base 2.5.10
+ gp_filesystem_new at Base 2.5.10
+ gp_filesystem_number at Base 2.5.10
+ gp_filesystem_put_file at Base 2.5.10
+ gp_filesystem_read_file at Base 2.5.10
+ gp_filesystem_remove_dir at Base 2.5.10
+ gp_filesystem_reset at Base 2.5.10
+ gp_filesystem_set_file_noop at Base 2.5.10
+ gp_filesystem_set_funcs at Base 2.5.10
+ gp_filesystem_set_info at Base 2.5.10
+ gp_filesystem_set_info_dirty at Base 2.5.28
+ gp_filesystem_set_info_noop at Base 2.5.10
+ gp_gamma_correct_single at Base 2.5.10
+ gp_gamma_fill_table at Base 2.5.10
+ gp_init_localedir at Base 2.5.30
+ gp_library_version at Base 2.5.10
+ gp_list_append at Base 2.5.10
+ gp_list_count at Base 2.5.10
+ gp_list_find_by_name at Base 2.5.10
+ gp_list_free at Base 2.5.10
+ gp_list_get_name at Base 2.5.10
+ gp_list_get_value at Base 2.5.10
+ gp_list_new at Base 2.5.10
+ gp_list_populate at Base 2.5.10
+ gp_list_ref at Base 2.5.10
+ gp_list_reset at Base 2.5.10
+ gp_list_set_name at Base 2.5.10
+ gp_list_set_value at Base 2.5.10
+ gp_list_sort at Base 2.5.10
+ gp_list_unref at Base 2.5.10
+ gp_message_codeset at Base 2.5.10
+ gp_result_as_string at Base 2.5.10
+ gp_setting_get at Base 2.5.10
+ gp_setting_set at Base 2.5.10
+ gp_widget_add_choice at Base 2.5.10
+ gp_widget_append at Base 2.5.10
+ gp_widget_changed at Base 2.5.10
+ gp_widget_count_children at Base 2.5.10
+ gp_widget_count_choices at Base 2.5.10
+ gp_widget_free at Base 2.5.10
+ gp_widget_get_child at Base 2.5.10
+ gp_widget_get_child_by_id at Base 2.5.10
+ gp_widget_get_child_by_label at Base 2.5.10
+ gp_widget_get_child_by_name at Base 2.5.10
+ gp_widget_get_choice at Base 2.5.10
+ gp_widget_get_id at Base 2.5.10
+ gp_widget_get_info at Base 2.5.10
+ gp_widget_get_label at Base 2.5.10
+ gp_widget_get_name at Base 2.5.10
+ gp_widget_get_parent at Base 2.5.10
+ gp_widget_get_range at Base 2.5.10
+ gp_widget_get_readonly at Base 2.5.10
+ gp_widget_get_root at Base 2.5.10
+ gp_widget_get_type at Base 2.5.10
+ gp_widget_get_value at Base 2.5.10
+ gp_widget_new at Base 2.5.10
+ gp_widget_prepend at Base 2.5.10
+ gp_widget_ref at Base 2.5.10
+ gp_widget_set_changed at Base 2.5.10
+ gp_widget_set_info at Base 2.5.10
+ gp_widget_set_name at Base 2.5.10
+ gp_widget_set_range at Base 2.5.10
+ gp_widget_set_readonly at Base 2.5.10
+ gp_widget_set_value at Base 2.5.10
+ gp_widget_unref at Base 2.5.10
+ gpi_camera_driver_status_map at Base 2.5.10
+ gpi_camera_operation_map at Base 2.5.10
+ gpi_exif_get_thumbnail_and_size at Base 2.5.10
+ gpi_exif_stat at Base 2.5.10
+ gpi_file_operation_map at Base 2.5.10
+ gpi_folder_operation_map at Base 2.5.10
+ gpi_gphoto_device_type_map at Base 2.5.10
+ gpi_jpeg_add_marker at Base 2.5.10
+ gpi_jpeg_chunk_destroy at Base 2.5.10
+ gpi_jpeg_chunk_new at Base 2.5.10
+ gpi_jpeg_chunk_new_filled at Base 2.5.10
+ gpi_jpeg_chunk_print at Base 2.5.10
+ gpi_jpeg_destroy at Base 2.5.10
+ gpi_jpeg_header at Base 2.5.10
+ gpi_jpeg_write at Base 2.5.10
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-port12.install libgphoto2-2.5.31/debian/libgphoto2-port12.install
--- libgphoto2-2.5.31/debian/libgphoto2-port12.install	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-port12.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,7 +0,0 @@
-# This does not work. Please see debian/rules
-#debian/libgphoto2_port.so.10          usr/lib/*
-usr/lib/*/libgphoto2_port.so.*
-usr/lib/*/libgphoto2_port/*/*.so
-usr/share/doc/libgphoto2_port/NEWS    usr/share/doc/libgphoto2-port12
-usr/share/doc/libgphoto2_port/README  usr/share/doc/libgphoto2-port12
-usr/share/locale/*/LC_MESSAGES/libgphoto2_port-12.mo
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-port12.symbols libgphoto2-2.5.31/debian/libgphoto2-port12.symbols
--- libgphoto2-2.5.31/debian/libgphoto2-port12.symbols	2023-12-01 06:32:29.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-port12.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,82 +0,0 @@
-libgphoto2_port.so.12 libgphoto2-port12 #MINVER#
-* Build-Depends-Package: libgphoto2-dev
- LIBGPHOTO2_5_0 at LIBGPHOTO2_5_0 2.5.10
- LIBGPHOTO2_INTERNAL at LIBGPHOTO2_INTERNAL 2.5.10
- gp_log at LIBGPHOTO2_5_0 2.5.10
- gp_log_add_func at LIBGPHOTO2_5_0 2.5.10
- gp_log_data at LIBGPHOTO2_5_0 2.5.10
- gp_log_remove_func at LIBGPHOTO2_5_0 2.5.10
- gp_log_with_source_location at LIBGPHOTO2_5_0 2.5.10
- gp_logv at LIBGPHOTO2_5_0 2.5.10
- gp_port_check_int at LIBGPHOTO2_5_0 2.5.10
- gp_port_check_int_fast at LIBGPHOTO2_5_0 2.5.10
- gp_port_close at LIBGPHOTO2_5_0 2.5.10
- gp_port_flush at LIBGPHOTO2_5_0 2.5.10
- gp_port_free at LIBGPHOTO2_5_0 2.5.10
- gp_port_get_error at LIBGPHOTO2_5_0 2.5.10
- gp_port_get_info at LIBGPHOTO2_5_0 2.5.10
- gp_port_get_pin at LIBGPHOTO2_5_0 2.5.10
- gp_port_get_settings at LIBGPHOTO2_5_0 2.5.10
- gp_port_get_timeout at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_get_name at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_get_path at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_get_type at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_append at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_count at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_free at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_get_info at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_load at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_lookup_name at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_lookup_path at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_list_new at LIBGPHOTO2_5_0 2.5.10
- gp_port_info_new at LIBGPHOTO2_INTERNAL 2.5.10
- gp_port_info_set_name at LIBGPHOTO2_INTERNAL 2.5.10
- gp_port_info_set_path at LIBGPHOTO2_INTERNAL 2.5.10
- gp_port_info_set_type at LIBGPHOTO2_INTERNAL 2.5.10
- gp_port_init_localedir at LIBGPHOTO2_5_0 2.5.30
- gp_port_library_version at LIBGPHOTO2_5_0 2.5.10
- gp_port_message_codeset at LIBGPHOTO2_5_0 2.5.10
- gp_port_new at LIBGPHOTO2_5_0 2.5.10
- gp_port_open at LIBGPHOTO2_5_0 2.5.10
- gp_port_read at LIBGPHOTO2_5_0 2.5.10
- gp_port_reset at LIBGPHOTO2_5_0 2.5.10
- gp_port_result_as_string at LIBGPHOTO2_5_0 2.5.10
- gp_port_seek at LIBGPHOTO2_5_0 2.5.10
- gp_port_send_break at LIBGPHOTO2_5_0 2.5.10
- gp_port_send_scsi_cmd at LIBGPHOTO2_5_0 2.5.10
- gp_port_set_error at LIBGPHOTO2_5_0 2.5.10
- gp_port_set_info at LIBGPHOTO2_5_0 2.5.10
- gp_port_set_pin at LIBGPHOTO2_5_0 2.5.10
- gp_port_set_settings at LIBGPHOTO2_5_0 2.5.10
- gp_port_set_timeout at LIBGPHOTO2_5_0 2.5.10
- gp_port_settings_get at LIBGPHOTO2_5_0 2.5.10
- gp_port_settings_set at LIBGPHOTO2_5_0 2.5.10
- gp_port_timeout_get at LIBGPHOTO2_5_0 2.5.10
- gp_port_timeout_set at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_clear_halt at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_find_device at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_find_device_by_class at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_class_read at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_class_write at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_interface_read at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_interface_write at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_read at LIBGPHOTO2_5_0 2.5.10
- gp_port_usb_msg_write at LIBGPHOTO2_5_0 2.5.10
- gp_port_write at LIBGPHOTO2_5_0 2.5.10
- gp_system_closedir at LIBGPHOTO2_5_0 2.5.10
- gp_system_filename at LIBGPHOTO2_5_0 2.5.10
- gp_system_is_dir at LIBGPHOTO2_5_0 2.5.10
- gp_system_is_file at LIBGPHOTO2_5_0 2.5.10
- gp_system_mkdir at LIBGPHOTO2_5_0 2.5.10
- gp_system_opendir at LIBGPHOTO2_5_0 2.5.10
- gp_system_readdir at LIBGPHOTO2_5_0 2.5.10
- gp_system_rmdir at LIBGPHOTO2_5_0 2.5.10
- gpi_enum_to_string at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_flags_to_string_list at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_libltdl_lock at LIBGPHOTO2_INTERNAL 2.5.31
- gpi_libltdl_unlock at LIBGPHOTO2_INTERNAL 2.5.31
- gpi_string_list_to_flags at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_string_or_to_flags at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_string_to_enum at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_string_to_flag at LIBGPHOTO2_INTERNAL 2.5.10
- gpi_vsnprintf at LIBGPHOTO2_INTERNAL 2.5.10
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-port12t64.install libgphoto2-2.5.31/debian/libgphoto2-port12t64.install
--- libgphoto2-2.5.31/debian/libgphoto2-port12t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-port12t64.install	2023-12-01 06:32:29.000000000 +0000
@@ -0,0 +1,7 @@
+# This does not work. Please see debian/rules
+#debian/libgphoto2_port.so.10          usr/lib/*
+usr/lib/*/libgphoto2_port.so.*
+usr/lib/*/libgphoto2_port/*/*.so
+usr/share/doc/libgphoto2_port/NEWS    usr/share/doc/libgphoto2-port12
+usr/share/doc/libgphoto2_port/README  usr/share/doc/libgphoto2-port12
+usr/share/locale/*/LC_MESSAGES/libgphoto2_port-12.mo
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-port12t64.lintian-overrides libgphoto2-2.5.31/debian/libgphoto2-port12t64.lintian-overrides
--- libgphoto2-2.5.31/debian/libgphoto2-port12t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-port12t64.lintian-overrides	2024-02-01 01:54:58.000000000 +0000
@@ -0,0 +1 @@
+libgphoto2-port12t64: package-name-doesnt-match-sonames libgphoto2-port12
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-port12t64.symbols libgphoto2-2.5.31/debian/libgphoto2-port12t64.symbols
--- libgphoto2-2.5.31/debian/libgphoto2-port12t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libgphoto2-2.5.31/debian/libgphoto2-port12t64.symbols	2024-02-01 01:54:58.000000000 +0000
@@ -0,0 +1,82 @@
+libgphoto2_port.so.12 libgphoto2-port12t64 #MINVER#
+* Build-Depends-Package: libgphoto2-dev
+ LIBGPHOTO2_5_0 at LIBGPHOTO2_5_0 2.5.10
+ LIBGPHOTO2_INTERNAL at LIBGPHOTO2_INTERNAL 2.5.10
+ gp_log at LIBGPHOTO2_5_0 2.5.10
+ gp_log_add_func at LIBGPHOTO2_5_0 2.5.10
+ gp_log_data at LIBGPHOTO2_5_0 2.5.10
+ gp_log_remove_func at LIBGPHOTO2_5_0 2.5.10
+ gp_log_with_source_location at LIBGPHOTO2_5_0 2.5.10
+ gp_logv at LIBGPHOTO2_5_0 2.5.10
+ gp_port_check_int at LIBGPHOTO2_5_0 2.5.10
+ gp_port_check_int_fast at LIBGPHOTO2_5_0 2.5.10
+ gp_port_close at LIBGPHOTO2_5_0 2.5.10
+ gp_port_flush at LIBGPHOTO2_5_0 2.5.10
+ gp_port_free at LIBGPHOTO2_5_0 2.5.10
+ gp_port_get_error at LIBGPHOTO2_5_0 2.5.10
+ gp_port_get_info at LIBGPHOTO2_5_0 2.5.10
+ gp_port_get_pin at LIBGPHOTO2_5_0 2.5.10
+ gp_port_get_settings at LIBGPHOTO2_5_0 2.5.10
+ gp_port_get_timeout at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_get_name at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_get_path at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_get_type at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_append at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_count at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_free at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_get_info at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_load at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_lookup_name at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_lookup_path at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_list_new at LIBGPHOTO2_5_0 2.5.10
+ gp_port_info_new at LIBGPHOTO2_INTERNAL 2.5.10
+ gp_port_info_set_name at LIBGPHOTO2_INTERNAL 2.5.10
+ gp_port_info_set_path at LIBGPHOTO2_INTERNAL 2.5.10
+ gp_port_info_set_type at LIBGPHOTO2_INTERNAL 2.5.10
+ gp_port_init_localedir at LIBGPHOTO2_5_0 2.5.30
+ gp_port_library_version at LIBGPHOTO2_5_0 2.5.10
+ gp_port_message_codeset at LIBGPHOTO2_5_0 2.5.10
+ gp_port_new at LIBGPHOTO2_5_0 2.5.10
+ gp_port_open at LIBGPHOTO2_5_0 2.5.10
+ gp_port_read at LIBGPHOTO2_5_0 2.5.10
+ gp_port_reset at LIBGPHOTO2_5_0 2.5.10
+ gp_port_result_as_string at LIBGPHOTO2_5_0 2.5.10
+ gp_port_seek at LIBGPHOTO2_5_0 2.5.10
+ gp_port_send_break at LIBGPHOTO2_5_0 2.5.10
+ gp_port_send_scsi_cmd at LIBGPHOTO2_5_0 2.5.10
+ gp_port_set_error at LIBGPHOTO2_5_0 2.5.10
+ gp_port_set_info at LIBGPHOTO2_5_0 2.5.10
+ gp_port_set_pin at LIBGPHOTO2_5_0 2.5.10
+ gp_port_set_settings at LIBGPHOTO2_5_0 2.5.10
+ gp_port_set_timeout at LIBGPHOTO2_5_0 2.5.10
+ gp_port_settings_get at LIBGPHOTO2_5_0 2.5.10
+ gp_port_settings_set at LIBGPHOTO2_5_0 2.5.10
+ gp_port_timeout_get at LIBGPHOTO2_5_0 2.5.10
+ gp_port_timeout_set at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_clear_halt at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_find_device at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_find_device_by_class at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_class_read at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_class_write at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_interface_read at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_interface_write at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_read at LIBGPHOTO2_5_0 2.5.10
+ gp_port_usb_msg_write at LIBGPHOTO2_5_0 2.5.10
+ gp_port_write at LIBGPHOTO2_5_0 2.5.10
+ gp_system_closedir at LIBGPHOTO2_5_0 2.5.10
+ gp_system_filename at LIBGPHOTO2_5_0 2.5.10
+ gp_system_is_dir at LIBGPHOTO2_5_0 2.5.10
+ gp_system_is_file at LIBGPHOTO2_5_0 2.5.10
+ gp_system_mkdir at LIBGPHOTO2_5_0 2.5.10
+ gp_system_opendir at LIBGPHOTO2_5_0 2.5.10
+ gp_system_readdir at LIBGPHOTO2_5_0 2.5.10
+ gp_system_rmdir at LIBGPHOTO2_5_0 2.5.10
+ gpi_enum_to_string at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_flags_to_string_list at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_libltdl_lock at LIBGPHOTO2_INTERNAL 2.5.31
+ gpi_libltdl_unlock at LIBGPHOTO2_INTERNAL 2.5.31
+ gpi_string_list_to_flags at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_string_or_to_flags at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_string_to_enum at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_string_to_flag at LIBGPHOTO2_INTERNAL 2.5.10
+ gpi_vsnprintf at LIBGPHOTO2_INTERNAL 2.5.10
diff -Nru libgphoto2-2.5.31/debian/rules libgphoto2-2.5.31/debian/rules
--- libgphoto2-2.5.31/debian/rules	2023-12-06 17:44:04.000000000 +0000
+++ libgphoto2-2.5.31/debian/rules	2024-02-01 01:54:58.000000000 +0000
@@ -2,12 +2,12 @@
 
 export DH_VERBOSE=1
 
-DOC_IMG=$(CURDIR)/debian/libgphoto2-dev-doc/usr/share/doc/libgphoto2-6/libgphoto2-api.html
+DOC_IMG=$(CURDIR)/debian/libgphoto2-dev-doc/usr/share/doc/libgphoto2-6t64/libgphoto2-api.html
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 ### soname version - libgphoto2-major:
-major=6
+major=6t64
 
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
@@ -24,9 +24,9 @@
 	dh_install
 	# Double-check that and act accordingly:
 	-test -e debian/tmp/usr/lib/udev/check-mtp-device && \
-		mkdir -p debian/libgphoto2-port12/lib/udev && \
+		mkdir -p debian/libgphoto2-port12t64/lib/udev && \
 		mv debian/tmp/usr/lib/udev/check-mtp-device \
-			debian/libgphoto2-port12/lib/udev/check-mtp-device
+			debian/libgphoto2-port12t64/lib/udev/check-mtp-device
 	# Using rdfind and symlinks to transform duplicated files in softlinks
 	rdfind -makesymlinks true -makeresultsfile false $(DOC_IMG)
 	symlinks -cr $(DOC_IMG)
@@ -42,9 +42,9 @@
 	dh_installudev
 	rm debian/libgphoto2-$(major).udev
 	# This will become harmless after dh_installudev changes the default install path.
-	set -e; if test -d debian/libgphoto2-6/lib/udev/rules.d; then mv debian/libgphoto2-6/lib/udev/rules.d debian/libgphoto2-6/usr/lib/udev; fi
-	set -e; if test -d debian/libgphoto2-6/lib/udev; then rmdir debian/libgphoto2-6/lib/udev; fi
-	set -e; if test -d debian/libgphoto2-6/lib; then rmdir debian/libgphoto2-6/lib; fi
+	set -e; if test -d debian/libgphoto2-6t64/lib/udev/rules.d; then mv debian/libgphoto2-6t64/lib/udev/rules.d debian/libgphoto2-6t64/usr/lib/udev; fi
+	set -e; if test -d debian/libgphoto2-6t64/lib/udev; then rmdir debian/libgphoto2-6t64/lib/udev; fi
+	set -e; if test -d debian/libgphoto2-6t64/lib; then rmdir debian/libgphoto2-6t64/lib; fi
 endif
 
 override_dh_fixperms:
@@ -52,13 +52,13 @@
 
 override_dh_makeshlibs:
 	dh_makeshlibs -plibgphoto2-$(major) -X/usr/lib/$(DEB_HOST_MULTIARCH)/libgphoto2/
-	dh_makeshlibs -plibgphoto2-port12 -X/usr/lib/$(DEB_HOST_MULTIARCH)/libgphoto2_port/
+	dh_makeshlibs -plibgphoto2-port12t64 -X/usr/lib/$(DEB_HOST_MULTIARCH)/libgphoto2_port/
 
 override_dh_missing:
 	dh_missing -X.la
 
 override_dh_shlibdeps:
-	dh_shlibdeps -ldebian/libgphoto2-$(major)/usr/lib/:debian/libgphoto2-port12/usr/lib/
+	dh_shlibdeps -ldebian/libgphoto2-$(major)/usr/lib/:debian/libgphoto2-port12t64/usr/lib/
 
 ifeq (linux,$(DEB_HOST_ARCH_OS))
 override_dh_gencontrol:
@@ -66,7 +66,7 @@
 	dh_gencontrol -plibgphoto2-$(major) -- -Vudev-hotplug='udev (>= 201)'
 endif
 
-# libgphoto2-dev-doc installs files under /usr/share/doc/libgphoto2-6/examples/,
+# libgphoto2-dev-doc installs files under /usr/share/doc/libgphoto2-6t64/examples/,
 # which isn't excluded by default:
 override_dh_compress:
 	dh_compress --exclude=/examples/


More information about the Pkg-phototools-devel mailing list