Jump to content
Ryan-linux

Debian packaging, and versioning

Recommended Posts

I didn't see a public facing bug/issue tracker, so I'm assuming everything should be entered here.  If there is a better/preferred reporting method, sorry for not spotting it; please let me know. :)

  • enpass debian 5.4.1 still has '.DS_Store' files from 2015 (which shouldn't be packaged at all)
  • ls -lh $(dpkg-query -L enpass |egrep 'DS_Store')
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/128x128/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/128x128/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/16x16/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/16x16/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/24x24/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/24x24/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/256x256/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/256x256/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/32x32/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/32x32/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/48x48/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/48x48/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/64x64/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/64x64/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/96x96/apps/.DS_Store
    -rw-rw-r-- 1 root root 6.1K Apr 23  2015 /usr/share/icons/hicolor/96x96/.DS_Store
    
  • Beta version .deb packaging character encoding error in description text.  ("\u2019" for unicode character 2019 (right single quotation mark), instead of the right single quotation mark)
  • apt-cache show enpass=5.5.0-1beta 
    Package: enpass
    Priority: optional
    Section: default
    Installed-Size: 81340
    Maintainer: Sinew Software Systems Pvt Ltd. <support@enpass.io>
    Architecture: amd64
    Version: 5.5.0-1beta
    Depends: libxss1, lsof
    Filename: pool/beta/e/enpass/enpass_5.5.0-1beta_amd64.deb
    Size: 35476082
    MD5sum: 26f26d78b5d28eb9df9f918d810f6962
    SHA1: e92444b9409608324f0ea8e82419cef55c8eb586
    SHA256: f3e6d55aeec7712c12efee7ff3d06bb1b5873801f58ee79a2bcc4d493188696d
    Description: A cross-platform, complete password management solution that securely manages passwords and all other life important credentials like bank accounts, Credit cards, IDs, passport, driving licenses etc. Everything is saved locally on user\u2019s device and optionally he can sync through other devices using his accounts of Dropbox, Box, Google Drive, OneDrive and ownCloud.
    Description-md5: e6961c02661fe77fcbb74a8548ef3fa9
    Homepage: https://www.enpass.io/apps/linux/
    Vendor: Sinew Software Systems Pvt Ltd.
    License: SINEW END USER LICENSE AGREEMENT (EULA)
    
    
  • 5.5.0-1beta has even more files that shouldn't have been packaged...
  • ls -lk $(dpkg-query -L enpass |egrep '(swp|DS_Store)')
    -rw-rw-r-- 1 root root 12288 Jul 27  2015 /usr/share/applications/.enpass.desktop.swp
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/128x128/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/128x128/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/16x16/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/16x16/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/24x24/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/24x24/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/256x256/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/256x256/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/32x32/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/32x32/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/48x48/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/48x48/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/64x64/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/64x64/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/96x96/apps/.DS_Store
    -rw-rw-r-- 1 root root  6148 Apr 23  2015 /usr/share/icons/hicolor/96x96/.DS_Store
    
  • There are no man pages, (eg under /opt/Enpass/share/man )
  • Bad packaging (doesn't use dependencies, or static builds, instead includes every single library dependency, and uses a launch script
  • Corrective action option 1. Properly call out dependencies via the deb "Depends" field, 2. compile the binary with static libs (ugly and less portable). 3. Change to a language with happy/consistent binary blobs, without external library dependencies (eg golang)
  • ## From /opt/Enpass/bin/runenpass.sh:
    export LD_LIBRARY_PATH="$enpassRoot/lib:$enpassRoot/plugins/sqldrivers"
    export QT_PLUGIN_PATH=$enpassRoot/plugins
    export QT_QPA_PLATFORM_PLUGIN_PATH=$enpassRoot/plugins/platforms
    export HIDE_TOOLBAR_LINE=0
    

Towards a list of locally provided libs vs a double install of them (which is much worse for security patching etc...)

libgcc_s.so.1 can be provided by libgcc1:amd64 OR libgcc-6-dev:amd64  but otherwise, here is a requires entry....

The rest of the package Depends fields; Could be shortened since many of the deps would pull in things like libc6....

for LIB in $(ldd /opt/Enpass/bin/Enpass | awk '{print $3}'); do
dpkg-query -S $(basename $LIB) |sed 's/: / /g' | awk '{print $1}' | egrep -v 'enpass|i386|libgcc'
done|sort -u

libasyncns0:amd64
libbz2-1.0:amd64
libc6:amd64
libcap2:amd64
libdbus-1-3:amd64
libdouble-conversion1:amd64
libdrm2:amd64
libexpat1:amd64
libflac8:amd64
libfreetype6:amd64
libgcrypt20:amd64
libgl1-mesa-glx:amd64
libglapi-mesa:amd64
libglib2.0-0:amd64
libgpg-error0:amd64
libgraphite2-3:amd64
libharfbuzz0b:amd64
libice6:amd64
libicu57:amd64
liblz4-1:amd64
liblzma5:amd64
libogg0:amd64
libpcre16-3:amd64
libpcre3:amd64
libpng16-16:amd64
libproxy1v5:amd64
libpulse0:amd64
libqt5core5a:amd64
libqt5dbus5:amd64
libqt5gui5:amd64
libqt5multimedia5:amd64
libqt5network5:amd64
libqt5sql5:amd64
libqt5websockets5:amd64
libqt5widgets5:amd64
libqt5xml5:amd64
libqt5xmlpatterns5:amd64
libselinux1:amd64
libsm6:amd64
libsndfile1:amd64
libssl1.0.0:amd64
libstdc++6:amd64
libsystemd0:amd64
libuuid1:amd64
libvorbis0a:amd64
libvorbisenc2:amd64
libwrap0:amd64
libx11-6:amd64
libx11-xcb1:amd64
libxau6:amd64
libxcb1:amd64
libxcb-dri2-0:amd64
libxcb-dri3-0:amd64
libxcb-glx0:amd64
libxcb-present0:amd64
libxcb-sync1:amd64
libxdamage1:amd64
libxdmcp6:amd64
libxext6:amd64
libxfixes3:amd64
libxi6:amd64
libxshmfence1:amd64
libxss1:amd64
libxtst6:amd64
libxxf86vm1:amd64
zlib1g:amd64

Please see...Debian's How Software Producers Can Distribute Their Products Directly in DEB Format

 

Share this post


Link to post
Share on other sites

Hi @Ryan-linux,

Thanks a ton for reporting the issues with Enpass DEB packaging. The extra files and typos are certainly the mistakes by packager and shouldn't be there. We will get them corrected in next version.

For proper working, Enpass needs latest features and bugfixes in Qt which are always not available in older versions as different Debian based distros provides different versions of Qt. This will add up more time in testing without any significant improvement in quality. And this could flood our inbox with complaints of Qt incompatibility. 
The current solution, where we provide those Qt libs against which Enpass is compiled and hence a launch script, has been working fine without any incompatibility for many different version of various distros. 

I wish we had all the time and resources to keep the things align perfectly with DEB packaging guidelines. 


We appreciate all your love and support for us to keep improving Enpass with every update.

Cheers!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...