Bug 3995 - debian packaging of client fails lintian sanity tests
Summary: debian packaging of client fails lintian sanity tests
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Client (show other bugs)
Version: 3.2.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.1.1
Assignee: Peter Åstrand
URL:
Keywords: aaron_tester, derfian_tester, relnotes
Depends on:
Blocks:
 
Reported: 2011-09-21 13:14 CEST by Henrik Andersson
Modified: 2013-10-24 10:49 CEST (History)
2 users (show)

See Also:
Acceptance Criteria:


Attachments

Description Henrik Andersson cendio 2011-09-21 13:14:51 CEST
 
Comment 2 Pierre Ossman cendio 2012-06-07 14:21:42 CEST
Ubuntu's software center only complains when the "lintian" tool is installed. And it only makes noise about some errors. With the 64-bit packaging in place, this is what's left:

Lintian check results for /media/USBDISK/thinlinc-client_3.4.0post-3520_amd64.deb:
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/lintian line 108.
E: thinlinc-client: non-etc-file-marked-as-conffile opt/thinlinc/etc/ssh_known_hosts
E: thinlinc-client: non-etc-file-marked-as-conffile opt/thinlinc/etc/tlclient.conf
Comment 3 Pierre Ossman cendio 2012-06-07 14:22:42 CEST
Here's the complete list of errors and warnings:

user@lolbuntu:~$ lintian  /media/USBDISK/thinlinc-client_3.4.0post-3520_amd64.deb 
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/libalsa-util.so /usr/lib64
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-sink.so /opt/thinlinc/lib/pulse-0.9/modules
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-sink.so /usr/lib64
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-sink.so /local/home/tlbuilder/buildarea/trunk/ctc/buildarea/BUILD/thinlinc-client/pulseaudio/src/.libs
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-source.so /opt/thinlinc/lib/pulse-0.9/modules
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-source.so /usr/lib64
E: thinlinc-client: binary-or-shlib-defines-rpath opt/thinlinc/lib/tlclient/module-alsa-source.so /local/home/tlbuilder/buildarea/trunk/ctc/buildarea/BUILD/thinlinc-client/pulseaudio/src/.libs
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/opensc-pkcs11.so: openssl
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/opensc-pkcs11.so: ltdl
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/pdftops: libjpeg
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/pulseaudio: ltdl
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/ssh: openssl
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/tlclient.bin: expat
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/tlclient.bin: libpng
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/vncviewer: expat
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/vncviewer: libjpeg
E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/vncviewer: libpng
W: thinlinc-client: missing-depends-line
E: thinlinc-client: non-etc-file-marked-as-conffile opt/thinlinc/etc/ssh_known_hosts
E: thinlinc-client: non-etc-file-marked-as-conffile opt/thinlinc/etc/tlclient.conf
E: thinlinc-client: file-in-etc-not-marked-as-conffile etc/profile.d/tlclient.csh
E: thinlinc-client: file-in-etc-not-marked-as-conffile etc/profile.d/tlclient.sh
E: thinlinc-client: control-file-has-bad-permissions postinst 0644 != 0755
E: thinlinc-client: control-file-has-bad-permissions prerm 0644 != 0755
E: thinlinc-client: no-copyright-file
E: thinlinc-client: extended-description-is-empty
W: thinlinc-client: unknown-section alien
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/tlclient
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/tlclient-openconf
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/tlclient-xdm
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/etc/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/etc/ssh_known_hosts
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/etc/tlclient.conf
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/EULA.txt
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/libalsa-util.so
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/de/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/de/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/de/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/es/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/es/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/es/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/fr/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/fr/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/fr/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/nl/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/nl/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/nl/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/pt_BR/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/pt_BR/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/pt_BR/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/ru/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/ru/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/ru/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/sv/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/sv/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/sv/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/tr/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/tr/LC_MESSAGES/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/locale/tr/LC_MESSAGES/tlclient.mo
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/module-alsa-sink.so
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/module-alsa-source.so
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/open_source_licenses.txt
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/opensc-pkcs11.so
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/pcsctun
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/pdftops
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/pulseaudio
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/sercd
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/ssh
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/thinlinc-client-mime.xml
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/thinlinc-client.desktop
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tl-su
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient-xdmstartup
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient.bin
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient.svg
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient_16.png
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient_24.png
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlclient_48.png
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/tlcontrol
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/unfsd
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/vncviewer
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdg-utils/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdg-utils/xdg-desktop-menu
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdg-utils/xdg-icon-resource
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdg-utils/xdg-mime
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdg-utils/xdg-open
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdmstartup.d/
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdmstartup.d/00-startwm.sh
E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/lib/tlclient/xdmstartup.d/90-loop-client.sh
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/de
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/fr/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/xdmstartup.d
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/fr
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/pt_BR/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/tr
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/sv/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/ru
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/bin
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/nl/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/etc
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/pt_BR
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/es/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/tr/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/sv
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/xdg-utils
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/de/LC_MESSAGES
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/es
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/nl
E: thinlinc-client: md5sums-lists-nonexisting-file opt/thinlinc/lib/tlclient/locale/ru/LC_MESSAGES
W: thinlinc-client: executable-not-elf-or-script opt/thinlinc/lib/tlclient/xdmstartup.d/90-loop-client.sh
W: thinlinc-client: executable-not-elf-or-script etc/profile.d/tlclient.sh
W: thinlinc-client: executable-not-elf-or-script opt/thinlinc/lib/tlclient/xdmstartup.d/00-startwm.sh
W: thinlinc-client: executable-not-elf-or-script etc/profile.d/tlclient.csh
W: thinlinc-client: maintainer-script-ignores-errors prerm
W: thinlinc-client: maintainer-script-ignores-errors postinst
E: thinlinc-client: shlib-with-executable-bit opt/thinlinc/lib/tlclient/libalsa-util.so 0755
E: thinlinc-client: shlib-with-executable-bit opt/thinlinc/lib/tlclient/module-alsa-sink.so 0755
E: thinlinc-client: shlib-with-executable-bit opt/thinlinc/lib/tlclient/module-alsa-source.so 0755
Comment 4 Peter Åstrand cendio 2013-07-15 11:16:33 CEST
Apparently, when you install on Ubuntu, you get an message saying:

The package is of bad quality 

Perhaps this is the same bug? Re-assigning to --- for discussion.
Comment 5 Peter Åstrand cendio 2013-07-16 11:32:59 CEST
Note that this bug is only for the client. 

It seems that this happens on a default Ubuntu system, which means that we need to do something about it. Assuming the problem is related to the configuration files not located below /etc, there are a few options:

1) Move the config files to /etc. However, this means that the client will no longer be fully contained under its prefix. The tarball client, a relocatable RPM etc would be different from the DEB client. The documentation would need to cover the situation where different client have the configuration files in different locations. Risk of user confusion. 

2) Remove the configuration file attribute from these files. One disadvantage here is that local changes might be lost during upgrade. Perhaps this can be handle with a pre-install script that makes a backup.
Comment 6 Peter Åstrand cendio 2013-07-18 14:30:56 CEST
Tested on Ubuntu 12.10-64bit. Installed by downloading in Firefox and double-clicking on the package. The client was then installed via the "Package Installer", without errors or warnings, despite the "lintian" package being installed.
Comment 7 Peter Åstrand cendio 2013-07-18 14:35:50 CEST
(In reply to comment #6)
> Tested on Ubuntu 12.10-64bit. Installed by downloading in Firefox and
> double-clicking on the package. The client was then installed via the "Package
> Installer", without errors or warnings, despite the "lintian" package being
> installed.

Running lintian manually on this machine gives 120 errors and 48 warnings (!).
Comment 8 Peter Åstrand cendio 2013-07-18 15:08:33 CEST
Types of errors:

E: thinlinc-client: embedded-library opt/thinlinc/lib/tlclient/opensc-pkcs11.so: openssl

E: thinlinc-client: non-etc-file-marked-as-conffile opt/thinlinc/etc/ssh_known_hosts

E: thinlinc-client: file-in-etc-not-marked-as-conffile etc/profile.d/tlclient.csh

E: thinlinc-client: control-file-has-bad-permissions postinst 0644 != 0755

E: thinlinc-client: control-file-has-bad-permissions prerm 0644 != 0755

E: thinlinc-client: no-copyright-file

E: thinlinc-client: extended-description-is-empty

E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/tlclient

E: thinlinc-client: shlib-with-executable-bit opt/thinlinc/lib/tlclient/pulse/libalsa-util.so 0755
Comment 9 Peter Åstrand cendio 2013-07-18 15:30:00 CEST
(In reply to comment #8)
> Types of errors:

> E: thinlinc-client: file-in-etc-not-marked-as-conffile
> etc/profile.d/tlclient.csh

Fixed in r27702, marking as conffile in RPM package as well.
Comment 10 Peter Åstrand cendio 2013-07-18 16:06:04 CEST
(In reply to comment #8)

> E: thinlinc-client: shlib-with-executable-bit
> opt/thinlinc/lib/tlclient/pulse/libalsa-util.so 0755

Red Hat and Debian has different policies. If we remove the executable bit, then rpmbuild will no longer strip the libs, and we will get lintian warnings about this instead. Consider checking if LSB says anything about this.
Comment 11 Peter Åstrand cendio 2013-09-09 15:54:06 CEST
Apparently, different distributions are using different Lintian versions and/or profiles. This makes testing very difficult. 

Long term, I think it would be best if we could include lintian as part of the test system. However, "lintian" is a very cumbersome package. It's big: the source code is 19 MiB. It requires a lot of other packages:

Build-Depends: aspell,
               aspell-en,
               binutils,
               bzip2,
               cdbs,
               debhelper (>= 9),
               default-jdk,
               diffstat,
               docbook-utils,
               docbook-xml,
               fakeroot,
               file,
               gettext,
               hardening-includes,
               intltool-debian,
               javahelper,
               libapt-pkg-perl,
               libarchive-zip-perl,
               libclass-accessor-perl,
               libclone-perl,
               libdpkg-perl,
               libdigest-sha-perl,
               libemail-valid-perl,
               libfile-basedir-perl,
               libhtml-parser-perl,
               libipc-run-perl,
               liblist-moreutils-perl,
               libparse-debianchangelog-perl,
               libtest-minimumversion-perl,
               libtest-perl-critic-perl,
               libtest-pod-coverage-perl,
               libtest-pod-perl,
               libtest-spelling-perl,
               libtest-strict-perl,
               libtest-synopsis-perl,
               libtext-levenshtein-perl,
               libtext-template-perl,
               libtimedate-perl,
               liburi-perl,
               man-db,
               patchutils,
               perl,
               pkg-php-tools (>= 1.5~) | bash (<< 4.2+dfsg-1~),
               python,
               python-all-dev,
               python-numpy,
               quilt,
               rsync,
               t1utils,
               unzip,
               xz-utils,
               zip

And finally, there's no way to build/install it except by building dpkg. 

So I guess it's better to handle problems whenever they appear, then add our own automatic tests.
Comment 12 Peter Åstrand cendio 2013-09-10 14:16:28 CEST
(In reply to comment #10)
> (In reply to comment #8)
> 
> > E: thinlinc-client: shlib-with-executable-bit
> > opt/thinlinc/lib/tlclient/pulse/libalsa-util.so 0755
> 
> Red Hat and Debian has different policies. If we remove the executable bit,
> then rpmbuild will no longer strip the libs, and we will get lintian warnings
> about this instead. Consider checking if LSB says anything about this.

LSB says nothing about this. Fixed in 27854 by changing rpm2debpkg. Affects server as well, but should be desired.
Comment 13 Peter Åstrand cendio 2013-09-10 16:03:24 CEST
(In reply to comment #8)

> E: thinlinc-client: control-file-has-bad-permissions postinst 0644 != 0755
> 
> E: thinlinc-client: control-file-has-bad-permissions prerm 0644 != 0755

Fixed in 27858.
Comment 14 Peter Åstrand cendio 2013-09-10 16:20:23 CEST
(In reply to comment #8)

> E: thinlinc-client: extended-description-is-empty

Fixed in 27859.
Comment 15 Peter Åstrand cendio 2013-09-11 08:48:54 CEST
(In reply to comment #8)
> Types of errors:

What remains now:


> E: thinlinc-client: embedded-library
> opt/thinlinc/lib/tlclient/opensc-pkcs11.so: openssl

Difficult to solve; we must do that for a portable binary. 

 
> E: thinlinc-client: non-etc-file-marked-as-conffile
> opt/thinlinc/etc/ssh_known_hosts

We have two options here: 1) Keep it as it is. 2) Tweak rpm2debpkg so that it no 
longer marks these files as config files. The files are:

opt/thinlinc/etc/ssh_known_hosts
opt/thinlinc/etc/tlclient.conf

If we are no longer marking these as configs, this means that any changes will be lost on upgrade. 
Note that this will affect the server as well. 


> E: thinlinc-client: no-copyright-file

Wants a file /usr/share/doc/pkg/copyright, which we cannot provide when using the /opt prefix. 


> E: thinlinc-client: dir-or-file-in-opt opt/thinlinc/bin/tlclient

According to http://lintian.debian.org/tags/dir-or-file-in-opt.html:

"Debian packages should not install into /opt, because it is reserved for add-on software."

Well, duh! 


In general, it's worth noting that not all lintian errors are causing problems with the Ubuntu package manager, 
since they are tweaking the errors reported. I've failed to find good information on what their requirements
actually are nowadays; this seems to be changing between releases. Several bugs has been filed wrt the
Google Chrome package; most of them seems to be resolved now. Therefore, I believe that lintian errors which are
also still present in the Chrome package should be safe to ignore. This includes all of the above errors except:

non-etc-file-marked-as-conffile


In other words, I believe we are fine now. However, I'll take a quick look at the warnings as well.
Comment 16 Peter Åstrand cendio 2013-09-11 09:28:31 CEST
lintian warnings:

>W: thinlinc-client: missing-depends-line

"The package contains an ELF binary with dynamic dependencies, but does not have a Depends line in its control file. " 
Difficult for us to solve, since deps are not portable across different distros. We *could* try to find some more or 
less dummy/bogus package which is available "everywhere", such as "lsb-base". But perhaps not fully safe in any case;
perhaps not available on HP terminals, for example. 


>W: thinlinc-client: unknown-section alien

rpm2debpkg currently sets Section: alien. I believe this is that the alien tool used to do, but this section
is not documented, as far as I can tell. Changed to "misc" in 27861.


>W: thinlinc-client: executable-not-elf-or-script opt/thinlinc/lib/tlclient/xdmstartup.d/90-loop-client.sh
>W: thinlinc-client: executable-not-elf-or-script etc/profile.d/tlclient.sh
>W: thinlinc-client: executable-not-elf-or-script opt/thinlinc/lib/tlclient/xdmstartup.d/00-startwm.sh
>W: thinlinc-client: executable-not-elf-or-script etc/profile.d/tlclient.csh

Should be easy to solve, either by not marking as executable, or adding shebang. For the server, 
it seems we are using a shebang in all .sh files. Fixed in 27862.


>W: thinlinc-client: maintainer-script-ignores-errors prerm
>W: thinlinc-client: maintainer-script-ignores-errors postinst

"The maintainer script doesn't seem to set the -e flag which ensures that the script's execution is aborted when any executed command fails."

However, we do not want to abort execution on all errors. Ignoring for now.
Comment 17 Peter Åstrand cendio 2013-09-11 09:32:47 CEST
I'd say that this bug is resolved now. The tester should make sure that it is possible to install the client package on one or two modern Ubuntu distros, without any bad package warnings.
Comment 18 Peter Åstrand cendio 2013-09-12 09:04:08 CEST
> 
> > E: thinlinc-client: non-etc-file-marked-as-conffile
> > opt/thinlinc/etc/ssh_known_hosts
> 
> We have two options here: 1) Keep it as it is. 2) Tweak rpm2debpkg so that it
> no 
> longer marks these files as config files. The files are:
> 
> opt/thinlinc/etc/ssh_known_hosts
> opt/thinlinc/etc/tlclient.conf
> 
> If we are no longer marking these as configs, this means that any changes will
> be lost on upgrade. 
> Note that this will affect the server as well. 

This error causes the "bad quality" error on Ubuntu 13.04. Need to solve.
Comment 20 Peter Åstrand cendio 2013-09-12 15:29:32 CEST
For reference, when installing a package through the Ubuntu Software Center on 13.04, lintian is executed as:

/usr/bin/perl -w /usr/bin/lintian --no-cfg --fail-on-warnings --profile ubuntu/aptdaemon /tmp/thinlinc-client_4.1.0post-4081_i386.deb

Notice --fail-on-warnings; we must consider those as well. The ubuntu/aptdaemon profile contains:

# The default profile installing local software packages used by aptdaemon
Profile: ubuntu/aptdaemon
Extends: debian/aptdaemon
Disable-Tags:
        FSSTND-dir-in-usr,
        FSSTND-dir-in-var,
        arch-dependent-file-in-usr-share,
        binary-file-compressed-with-upx,
        binary-or-shlib-defines-rpath,
        control-interpreter-in-usr-local,
        copyright-contains-dh_make-todo-boilerplate,
        copyright-file-compressed,
        copyright-file-is-symlink,
        copyright-refers-to-incorrect-directory,
        copyright-refers-to-old-directory,
        debian-rules-missing-required-target,
        debian-rules-not-a-makefile,
        description-is-dh_make-template,
        description-synopsis-is-empty,
        dir-or-file-in-srv,
        dir-or-file-in-var-www,
        embedded-library,
        extended-description-is-empty,
        file-in-etc-not-marked-as-conffile,
        file-in-usr-marked-as-conffile,
        install-info-used-in-maintainer-script,
        library-in-debug-or-profile-should-not-be-stripped,
        magic-arch-in-arch-list,
        missing-build-dependency,
        missing-pre-dependency-on-multiarch-support,
        mknod-in-maintainer-script,
        no-architecture-field,
        no-copyright-file,
        no-maintainer-field,
        no-shlibs-control-file,
        package-installs-python-bytecode,
        section-is-dh_make-template,
        statically-linked-binary,
        udeb-uses-unsupported-compression-for-data-tarball,
        uploader-address-is-on-localhost,
        uploader-address-malformed,
        uploader-name-missing,
        usr-share-doc-symlink-to-foreign-package,
        usr-share-doc-symlink-without-dependency,
Comment 21 Peter Åstrand cendio 2013-09-12 15:37:41 CEST
(In reply to comment #18)
> > 
> > > E: thinlinc-client: non-etc-file-marked-as-conffile
> > > opt/thinlinc/etc/ssh_known_hosts
> > 
> > We have two options here: 1) Keep it as it is. 2) Tweak rpm2debpkg so that it
> > no 
> > longer marks these files as config files. The files are:
> > 
> > opt/thinlinc/etc/ssh_known_hosts
> > opt/thinlinc/etc/tlclient.conf
> > 
> > If we are no longer marking these as configs, this means that any changes will
> > be lost on upgrade. 
> > Note that this will affect the server as well. 
> 
> This error causes the "bad quality" error on Ubuntu 13.04. Need to solve.

We have decided to move tlclient machine wide config files to /etc, an all "package" platforms, thus both DEB and RPM. Symlinks will be placed in the normal location, which will still be what we are documenting. Obviously, the dynamic tarball client etc cannot use this approach. Implemented in 27875.
Comment 22 Aaron Sowry cendio 2013-10-14 11:11:54 CEST
Tested on Ubuntu 13.10; the 4.1 client gives warnings on installation, whereas the nightly build client doesn't. Good enough for me.

Leaving as "resolved" until Karl has also tested.
Comment 23 Karl Mikaelsson cendio 2013-10-16 14:09:24 CEST
Ubuntu 12.04: Warns about thinlinc-client-4.1.0, doesn't warn about thinlinc-client-4.1.0post-4115.

Closing.

Note You need to log in before you can comment on or make changes to this bug.