Source: xsane
Version: 0.999-11
Severity: minor
Tags: patch

Hi,

currently, the Debian build scripts (rules & debhelper files) ship only
some of the files installed by upstream, and copy manually a couple
more; this results in lack of files producing issues like #963185.

To improve the situation, IMHO the best approach is to ship everything
that upstream installs, and at most do few tweaks like the location of
the documentation, or avoid a full GPL copy. The attached patch does
this job; copying from the changelog:

  * Improve the general installation, also to properly install all the files
    provided by upstream and avoid issues like #963185:
    - ship the complete /usr/share/sane/xsane directory in xsane-common, rather
      than copying one specific file in xsane: this way nothing is missed
    - replace the xsane-gpl.txt file with a symlink to the GPL 2 file in
      /usr/share/common-licenses; xsane shows it in an about dialog
    - add a lintian override for /usr/share/sane/xsane/xsane-eula.txt, as xsane
      shows it in the about eula dialog
    - keep relocating the documentation from /usr/share/sane/xsane/doc to
      /usr/share/doc/xsane-common/html with symlinks for xsane
    - move/install the application icons, and the custom OCR scripts from xsane
      to xsane-common, as they are shared data
    - stop manually installing xsane.xpm, and xsane.png, as the XPM icon is
      already installed by upstream
    - add proper breaks/replaces in xsane-common because of the files moved
      from xsane
    - drop debian/not-installed, as everything from upstream is installed now
    - drop debian/xsane-common.docs, as there are no separate documentation
      files to copy manually
    - drop debian/xsane.dirs, as dh_install creates all the missing directories

As result of shipping exactly what upstream installs, there is also a
reduction in the installed sizes of the xsane, and xsane-common
binaries:
- xsane (on amd64): before is 2346 kb, after is 1630 kb
- xsane-common: before is 5522 kb, after is 4498 kb

Thanks,
-- 
Pino
diff -Nru xsane-0.999/debian/changelog xsane-0.999/debian/changelog
--- xsane-0.999/debian/changelog        2021-05-04 14:31:47.000000000 +0200
+++ xsane-0.999/debian/changelog        2021-05-09 08:16:22.000000000 +0200
@@ -1,3 +1,29 @@
+xsane (0.999-12) UNRELEASED; urgency=medium
+
+  [ Pino Toscano ]
+  * Improve the general installation, also to properly install all the files
+    provided by upstream and avoid issues like #963185:
+    - ship the complete /usr/share/sane/xsane directory in xsane-common, rather
+      than copying one specific file in xsane: this way nothing is missed
+    - replace the xsane-gpl.txt file with a symlink to the GPL 2 file in
+      /usr/share/common-licenses; xsane shows it in an about dialog
+    - add a lintian override for /usr/share/sane/xsane/xsane-eula.txt, as xsane
+      shows it in the about eula dialog
+    - keep relocating the documentation from /usr/share/sane/xsane/doc to
+      /usr/share/doc/xsane-common/html with symlinks for xsane
+    - move/install the application icons, and the custom OCR scripts from xsane
+      to xsane-common, as they are shared data
+    - stop manually installing xsane.xpm, and xsane.png, as the XPM icon is
+      already installed by upstream
+    - add proper breaks/replaces in xsane-common because of the files moved
+      from xsane
+    - drop debian/not-installed, as everything from upstream is installed now
+    - drop debian/xsane-common.docs, as there are no separate documentation
+      files to copy manually
+    - drop debian/xsane.dirs, as dh_install creates all the missing directories
+
+ -- Jörg Frings-Fürst <debian@jff.email>  Sun, 09 May 2021 08:16:22 +0200
+
 xsane (0.999-11) experimental; urgency=medium
 
   * Fix FTBFS on hppa (Closes: #987841).
diff -Nru xsane-0.999/debian/control xsane-0.999/debian/control
--- xsane-0.999/debian/control  2021-05-02 19:13:09.000000000 +0200
+++ xsane-0.999/debian/control  2021-05-09 08:16:22.000000000 +0200
@@ -59,6 +59,10 @@
 Multi-Arch: foreign
 Depends: ${misc:Depends}
 Recommends: xsane
+Breaks:
+ xsane (<< 0.999-11~),
+Replaces:
+ xsane (<< 0.999-11~),
 Description: xsane architecture independent files
  xsane can be run as a stand-alone program or through the GIMP image
  manipulation program.  In stand-alone mode, xsane can save an image
diff -Nru xsane-0.999/debian/not-installed xsane-0.999/debian/not-installed
--- xsane-0.999/debian/not-installed    2020-08-24 21:25:26.000000000 +0200
+++ xsane-0.999/debian/not-installed    1970-01-01 01:00:00.000000000 +0100
@@ -1,155 +0,0 @@
-usr/share/pixmaps/xsane.xpm 
-usr/share/applications/xsane.desktop
-usr/share/sane/xsane/xsane-logo.xpm
-usr/share/sane/xsane/sane-xsane-logo.xpm
-usr/share/sane/xsane/sane-umax-logo.xpm
-usr/share/sane/xsane/sane-hp-logo.xpm
-usr/share/sane/xsane/sane-epson-logo.xpm
-usr/share/sane/xsane/UMAX-logo.xpm
-usr/share/sane/xsane/Plustek-logo.xpm
-usr/share/sane/xsane/Mustek-logo.xpm
-usr/share/sane/xsane/xsane-gpl.txt
-usr/share/sane/xsane/xsane-calibration.pnm
-usr/share/sane/xsane/xsane-startimage.pnm
-usr/share/sane/xsane/xsane-style.rc
-usr/share/sane/xsane/doc/xsane-zoom.jpg
-usr/share/sane/xsane/doc/xsane-zoom-undo.jpg
-usr/share/sane/xsane/doc/xsane-zoom-out.jpg
-usr/share/sane/xsane/doc/xsane-zoom-not.jpg
-usr/share/sane/xsane/doc/xsane-zoom-in.jpg
-usr/share/sane/xsane/doc/xsane-visible-area.jpg
-usr/share/sane/xsane/doc/xsane-viewer.jpg
-usr/share/sane/xsane/doc/xsane-viewer-window.jpg
-usr/share/sane/xsane/doc/xsane-threshold.jpg
-usr/share/sane/xsane/doc/xsane-target.jpg
-usr/share/sane/xsane/doc/xsane-store.jpg
-usr/share/sane/xsane/doc/xsane-step.jpg
-usr/share/sane/xsane/doc/xsane-standard.jpg
-usr/share/sane/xsane/doc/xsane-setup-save.jpg
-usr/share/sane/xsane/doc/xsane-setup-ocr.jpg
-usr/share/sane/xsane/doc/xsane-setup-filetype.jpg
-usr/share/sane/xsane/doc/xsane-setup-fax.jpg
-usr/share/sane/xsane/doc/xsane-setup-enhancement.jpg
-usr/share/sane/xsane/doc/xsane-setup-email.jpg
-usr/share/sane/xsane/doc/xsane-setup-display.jpg
-usr/share/sane/xsane/doc/xsane-setup-copy.jpg
-usr/share/sane/xsane/doc/xsane-setup-color-management.jpg
-usr/share/sane/xsane/doc/xsane-scansource.jpg
-usr/share/sane/xsane/doc/xsane-scale.jpg
-usr/share/sane/xsane/doc/xsane-save2.jpg
-usr/share/sane/xsane/doc/xsane-save.jpg
-usr/share/sane/xsane/doc/xsane-rotation.jpg
-usr/share/sane/xsane/doc/xsane-rotate-270.jpg
-usr/share/sane/xsane/doc/xsane-rotate-180.jpg
-usr/share/sane/xsane/doc/xsane-rgb-values.jpg
-usr/share/sane/xsane/doc/xsane-rgb-default.jpg
-usr/share/sane/xsane/doc/xsane-restore.jpg
-usr/share/sane/xsane/doc/xsane-resolution.jpg
-usr/share/sane/xsane/doc/xsane-rename.jpg
-usr/share/sane/xsane/doc/xsane-printer.jpg
-usr/share/sane/xsane/doc/xsane-preview.jpg
-usr/share/sane/xsane/doc/xsane-preset-area.jpg
-usr/share/sane/xsane/doc/xsane-preset-area-context-menu.jpg
-usr/share/sane/xsane/doc/xsane-preferences.jpg
-usr/share/sane/xsane/doc/xsane-pipette-white.jpg
-usr/share/sane/xsane/doc/xsane-pipette-gray.jpg
-usr/share/sane/xsane/doc/xsane-pipette-black.jpg
-usr/share/sane/xsane/doc/xsane-paper-portrait-top-right.jpg
-usr/share/sane/xsane/doc/xsane-paper-portrait-top-left.jpg
-usr/share/sane/xsane/doc/xsane-paper-portrait-center.jpg
-usr/share/sane/xsane/doc/xsane-paper-portrait-bottom-right.jpg
-usr/share/sane/xsane/doc/xsane-paper-portrait-bottom-left.jpg
-usr/share/sane/xsane/doc/xsane-paper-landscape-top-right.jpg
-usr/share/sane/xsane/doc/xsane-paper-landscape-top-left.jpg
-usr/share/sane/xsane/doc/xsane-paper-landscape-center.jpg
-usr/share/sane/xsane/doc/xsane-paper-landscape-bottom-right.jpg
-usr/share/sane/xsane/doc/xsane-paper-landscape-bottom-left.jpg
-usr/share/sane/xsane/doc/xsane-open.jpg
-usr/share/sane/xsane/doc/xsane-ocr.jpg
-usr/share/sane/xsane/doc/xsane-new.jpg
-usr/share/sane/xsane/doc/xsane-negative.jpg
-usr/share/sane/xsane/doc/xsane-multipage.jpg
-usr/share/sane/xsane/doc/xsane-multipage-project.jpg
-usr/share/sane/xsane/doc/xsane-mirror-y.jpg
-usr/share/sane/xsane/doc/xsane-mirror-x.jpg
-usr/share/sane/xsane/doc/xsane-medium.jpg
-usr/share/sane/xsane/doc/xsane-medium-add.jpg
-usr/share/sane/xsane/doc/xsane-logo.jpg
-usr/share/sane/xsane/doc/xsane-histogram.jpg
-usr/share/sane/xsane/doc/xsane-guide-9-color-correction.jpg
-usr/share/sane/xsane/doc/xsane-guide-8-resolution.jpg
-usr/share/sane/xsane/doc/xsane-guide-7-medium-selection.jpg
-usr/share/sane/xsane/doc/xsane-guide-6-scan-options.jpg
-usr/share/sane/xsane/doc/xsane-guide-5-saving-options.jpg
-usr/share/sane/xsane/doc/xsane-guide-4b-xsane-mode.jpg
-usr/share/sane/xsane/doc/xsane-guide-4a-adf-pages.jpg
-usr/share/sane/xsane/doc/xsane-guide-4.jpg
-usr/share/sane/xsane/doc/xsane-guide-3-options.jpg
-usr/share/sane/xsane/doc/xsane-guide-2-menu.jpg
-usr/share/sane/xsane/doc/xsane-guide-10-scan.jpg
-usr/share/sane/xsane/doc/xsane-guide-1-decoration.jpg
-usr/share/sane/xsane/doc/xsane-gimp.jpg
-usr/share/sane/xsane/doc/xsane-gamma.jpg
-usr/share/sane/xsane/doc/xsane-fax.jpg
-usr/share/sane/xsane/doc/xsane-fax-project.jpg
-usr/share/sane/xsane/doc/xsane-enable-color-management.jpg
-usr/share/sane/xsane/doc/xsane-email.jpg
-usr/share/sane/xsane/doc/xsane-email-project.jpg
-usr/share/sane/xsane/doc/xsane-edit-medium.jpg
-usr/share/sane/xsane/doc/xsane-disk.jpg
-usr/share/sane/xsane/doc/xsane-despeckle.jpg
-usr/share/sane/xsane/doc/xsane-delete-preview-cache.jpg
-usr/share/sane/xsane/doc/xsane-default.jpg
-usr/share/sane/xsane/doc/xsane-copy.jpg
-usr/share/sane/xsane/doc/xsane-copy-number.jpg
-usr/share/sane/xsane/doc/xsane-contrast.jpg
-usr/share/sane/xsane/doc/xsane-colormode.jpg
-usr/share/sane/xsane/doc/xsane-color-management-main-window.jpg
-usr/share/sane/xsane/doc/xsane-color-correction.jpg
-usr/share/sane/xsane/doc/xsane-color-correction-rgb-default.jpg
-usr/share/sane/xsane/doc/xsane-cms-function.jpg
-usr/share/sane/xsane/doc/xsane-clone.jpg
-usr/share/sane/xsane/doc/xsane-brightness.jpg
-usr/share/sane/xsane/doc/xsane-blur.jpg
-usr/share/sane/xsane/doc/xsane-batch-scan.jpg
-usr/share/sane/xsane/doc/xsane-batch-scan-delete.jpg
-usr/share/sane/xsane/doc/xsane-batch-scan-add.jpg
-usr/share/sane/xsane/doc/xsane-autoselect.jpg
-usr/share/sane/xsane/doc/xsane-autoraise_scanarea.jpg
-usr/share/sane/xsane/doc/xsane-autoenhance.jpg
-usr/share/sane/xsane/doc/xsane-aspect-ratio.jpg
-usr/share/sane/xsane/doc/xsane-advanced.jpg
-usr/share/sane/xsane/doc/xsane-adf-pages.jpg
-usr/share/sane/xsane/doc/sane-xsane-standard-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-save-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-filetype-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-fax-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-enhancement-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-display-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-copy-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-color-management-doc.html
-usr/share/sane/xsane/doc/sane-xsane-scan-options-doc.html
-usr/share/sane/xsane/doc/sane-xsane-save-doc.html
-usr/share/sane/xsane/doc/sane-xsane-preview-doc.html
-usr/share/sane/xsane/doc/sane-xsane-multipage-doc.html
-usr/share/sane/xsane/doc/sane-xsane-medium-definition-doc.html
-usr/share/sane/xsane/doc/sane-xsane-histogram-doc.html
-usr/share/sane/xsane/doc/sane-xsane-guide-doc.html
-usr/share/sane/xsane/doc/sane-xsane-gimp-doc.html
-usr/share/sane/xsane/doc/sane-xsane-fax-doc.html
-usr/share/sane/xsane/doc/sane-xsane-empty-doc.html
-usr/share/sane/xsane/doc/sane-xsane-email-doc.html
-usr/share/sane/xsane/doc/sane-xsane-doc.html
-usr/share/sane/xsane/doc/sane-xsane-copy-doc.html
-usr/share/sane/xsane/doc/sane-xsane-color-management-doc.html
-usr/share/sane/xsane/doc/sane-xsane-color-correction-doc.html
-usr/share/sane/xsane/doc/sane-xsane-batch-scan-doc.html
-usr/share/sane/xsane/doc/sane-scantips-doc.html
-usr/share/sane/xsane/doc/sane-problems-doc.html
-usr/share/sane/xsane/doc/sane-pnm-doc.html
-usr/share/sane/xsane/doc/sane-backends-doc.html
-usr/share/sane/xsane/xsane-eula.txt
-usr/share/sane/xsane/doc/xsane-rotate-90.jpg
-usr/share/sane/xsane/doc/sane-xsane-viewer-doc.html
-usr/share/sane/xsane/doc/sane-xsane-setup-email-doc.html
-usr/share/sane/xsane/doc/sane-xsane-advanced-doc.html
diff -Nru xsane-0.999/debian/rules xsane-0.999/debian/rules
--- xsane-0.999/debian/rules    2021-05-02 19:12:36.000000000 +0200
+++ xsane-0.999/debian/rules    2021-05-09 08:16:22.000000000 +0200
@@ -16,28 +16,18 @@
        rm -f xsane.spec include/config.h
        rm -f po/*.gmo
 
-override_dh_install-arch:
-       dh_install
-
-       install -m 0644 src/xsane-32x32.xpm \
-               debian/xsane/usr/share/pixmaps/xsane.xpm
-       install -m 0644 src/xsane-48x48.png \
-               debian/xsane/usr/share/pixmaps/xsane.png
-
-override_dh_install-indep:
-       dh_install
-
-override_dh_installchangelogs:
-       dh_installchangelogs xsane.CHANGES
-
-override_dh_installdocs-indep:
-       dh_installdocs
-       mkdir debian/xsane-common/usr/share/doc/xsane-common/html
-       mv debian/xsane-common/usr/share/doc/xsane-common/*.html 
debian/xsane-common/usr/share/doc/xsane-common/html/
-       mv debian/xsane-common/usr/share/doc/xsane-common/*.jpg 
debian/xsane-common/usr/share/doc/xsane-common/html/
+execute_after_dh_install-indep:
+       mkdir -p debian/xsane-common/usr/share/doc/xsane-common
+       mv debian/xsane-common/usr/share/sane/xsane/doc 
debian/xsane-common/usr/share/doc/xsane-common/html
+       ln -s /usr/share/doc/xsane-common/html 
debian/xsane-common/usr/share/sane/xsane/doc
        # remove outdated/useless documentation
        rm -f 
debian/xsane-common/usr/share/doc/xsane-common/html/sane-backends-doc.html
        rm -f 
debian/xsane-common/usr/share/doc/xsane-common/html/sane-pnm-doc.html
+       # replace GPL copy with symlink to common-licenses
+       find debian/xsane-common -name xsane-gpl.txt -exec ln -sfv 
/usr/share/common-licenses/GPL-2 {} \;
+
+override_dh_installchangelogs:
+       dh_installchangelogs xsane.CHANGES
 
 override_dh_compress:
        dh_compress -X.pnm -X.rc -X.xpm
diff -Nru xsane-0.999/debian/xsane-common.docs 
xsane-0.999/debian/xsane-common.docs
--- xsane-0.999/debian/xsane-common.docs        2019-12-28 14:42:00.000000000 
+0100
+++ xsane-0.999/debian/xsane-common.docs        1970-01-01 01:00:00.000000000 
+0100
@@ -1,5 +0,0 @@
-doc/*.html
-doc/*.jpg
-src/*.pnm
-src/*.xpm
-src/*.rc
diff -Nru xsane-0.999/debian/xsane-common.install 
xsane-0.999/debian/xsane-common.install
--- xsane-0.999/debian/xsane-common.install     2019-07-27 07:44:10.000000000 
+0200
+++ xsane-0.999/debian/xsane-common.install     2021-05-09 08:16:22.000000000 
+0200
@@ -1 +1,5 @@
+debian/xsane.png usr/share/icons/hicolor/256x256/apps
 usr/share/locale
+usr/share/pixmaps
+usr/share/sane/xsane
+debian/ocr-scripts usr/share/xsane
diff -Nru xsane-0.999/debian/xsane-common.links 
xsane-0.999/debian/xsane-common.links
--- xsane-0.999/debian/xsane-common.links       2021-05-04 13:02:52.000000000 
+0200
+++ xsane-0.999/debian/xsane-common.links       2021-05-09 08:16:22.000000000 
+0200
@@ -1,2 +1 @@
-usr/share/doc/xsane-common/html usr/share/sane/xsane/doc
 usr/share/doc/xsane-common/html/sane-xsane-doc.html 
usr/share/doc/xsane-common/html/index.html
diff -Nru xsane-0.999/debian/xsane-common.lintian-overrides 
xsane-0.999/debian/xsane-common.lintian-overrides
--- xsane-0.999/debian/xsane-common.lintian-overrides   1970-01-01 
01:00:00.000000000 +0100
+++ xsane-0.999/debian/xsane-common.lintian-overrides   2021-05-09 
08:16:22.000000000 +0200
@@ -0,0 +1,2 @@
+# not a real license/EULA file; it is kept as it is loaded from the about eula 
dialog
+xsane-common: package-contains-documentation-outside-usr-share-doc 
usr/share/sane/xsane/xsane-eula.txt
diff -Nru xsane-0.999/debian/xsane.dirs xsane-0.999/debian/xsane.dirs
--- xsane-0.999/debian/xsane.dirs       2016-04-09 00:56:29.000000000 +0200
+++ xsane-0.999/debian/xsane.dirs       1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-usr/lib/gimp/2.0/plug-ins
-usr/share/pixmaps
-usr/share/icons/hicolor/256x256/apps
-usr/share/applications
-usr/share/xsane
diff -Nru xsane-0.999/debian/xsane.install xsane-0.999/debian/xsane.install
--- xsane-0.999/debian/xsane.install    2020-08-24 21:25:26.000000000 +0200
+++ xsane-0.999/debian/xsane.install    2021-05-09 08:16:22.000000000 +0200
@@ -1,7 +1,4 @@
-src/xsane.desktop usr/share/applications
-debian/xsane.png usr/share/icons/hicolor/256x256/apps
 usr/bin
+usr/share/applications/xsane.desktop
 usr/share/man
-debian/ocr-scripts usr/share/xsane
 usr/bin/xsane usr/lib/gimp/2.0/plug-ins/xsane
-src/xsane-startimage.pnm usr/share/sane/xsane

Reply via email to