Friday, July 13, 2018

Release of ledrgersmb package 1.5.x in Debian

The update of the LedgerSMB package in Debian from the 1.4.x LedgersSMB series to the 1.5.x series required quite a few changes in the packaging, as is noted in the debian/changelog file for the released version 1:5.21+ds-1:
  • New series 1.5.x Upstream Release (Closes: #874664) 
  • + Along with an explicit requirement for liblatex-driver-perl >= 0.300.2, resolves the issue with printing to PDF or Postscript. (Closes: #821251) 
  • Updated the debian/po/* files using 'debconf-updatepo'.
  • Rewrote the debian/ledgersmb.config file for new upstream.
  • Add '--with systemd' to dh invocation line in debian/rules 
  • Adapt the maintainer scripts for the new 1.5.x series upstream.
  • Add a debian/ledgersmb.init and a debian/ledgersmb.default file.
  • Removed debian/adm/apache-vhost.conf as the file itself is now in upstream.
  • Rewrite and/or rename or delete debian/patches/* for new upstream version. 
  • Removed debian/adm/apache-vhost.conf as the file is now in upstream.
  • Add capability to select setting for Web Proxy to use during installation.
  • Remove debian/ledgersmb.starman-ledgersmb.service as it is now in upstream and add installing a patched version of it. 
  • Update the links in 'debian/ledgersmb.links' related to embedded dojo files.
  • Edited the README.Debian file, adding a new introduction at the beginning as well as a new section specifically regarding accessing the application via a web proxy and otherwise updating it for the new upstream version. 
  • Changes in debian/copyright: 
  • + Update copyright years as necessary for new upstream.
  • + Add a stanza for the 'debian/ledgersmb.default' file.
  • + Add 'David Godfrey' & 'Nick Prater' to the Core Team in the source stanza.
  • + Correct the License entry in the 'debian/*' stanza to 'GPL-2+' and update its comment with about why that was done. 
  • + Update 'Files-Excluded' in debian/copyright related to embedded dojo files and unneeded empty directories. 
  • Changes in debian/control: 
  • + Add a stanza for the 'debian/ledgersmb.default' file.
  • + Include 'liblocale-codes-perl' package as a Depends. (Closes: #903273)
  • + Change debhelper Build-Depends from '>= 9' to '>= 9.20160709'. 
  • + Include as 'Depends': libmoosex-nonmoose-perl, libcgi-emulate-psgi-per', libplack-builder-conditionals-perl. 
  • + Update dojo requirement from libjs-dojo-dojox to libjs-dojo-dijit. 
  • + Drop explicit 'Depends' on 'liberror-perl' as not being necessary. 
  • + Drop 'libparse-recdescent-perl' as a Recommends as it is no longer needed. 
  • + Drop the version being required for the Perl requirement in 'Depends'. 
  • + Explicitly add 'liblatex-driver-perl (>= 0.300.2)' to Recommends section. 
  • + Include the PGObject* Perl modules required for the new 1.5.x series upstream as Depends: libpgobject-perl, libpgobject-simple-perl, libpgobject-simple-role-perl, libpgobject-type-bigfloat-perl, libpgobject-type-bytestring-perl, libpgobject-type-datetime-perl, libpgobject-util-dbmethod-perl, and libpgobject-util-dbadmin-perl. 
  • Changes in debian/templates for new upstream version series:
  • + Update the example URL in the admin_login stanza.
  • + Update the example URL in the admin_password stanza.
  • + Drop the debconf_install stanza but add a lsmb_proxy stanza.

The following are some of the issues I needed to resolve. 

Reviewed the copyright settings for the debian/ directory again back to the beginning of the LedgerSMB packaging as although it may have listed 'GPL' as the license involved I'm not sure that GPL3 existed back then and that is what it points to now. May have been just GPL2+, like ledgersmbitself.
- According to,
"In 2007, the third version of the license (GNU GPLv3) was released"
- But LedgerSMB was originally debianized on Mon, 13 Nov 2006 15:29:53, viewable in the packaging repostory with the inport of version 1.2.5-2.

  • Corrected the debian/* stanza in d/copyright:
  • Changed the License to "GPL-2+"
  • Added this to its Comment: Note that originally, the License was noted as being "GPL" but that is currently the same as GPL-3 but LedgerSMB was originally debianized on Mon, 13 Nov 2006 15:29:53, while the GPL-3 was released in 2007. So, noting it as GPL-2+ rather than GPL-3(GPL), the same as that for LedgerSMB itself.

$ git ci
[master 750ef8464] Correct License in 'debian/*' stanza to 'GPL-2+ in & updated comment about why. 1 file changed, 6 insertions(+), 37 deletions(-)

+Files: debian/missing-sources/UI/js/lsmb/*+Comment: Copyright and License for files copied from upstream UI/js-src/lsmb/+ because Lintian could not find these source files which resulted in multiple+ instances of the following error: "source-is-missing".+Copyright: 2016-2017, The LedgerSMB Core Team+License: GPL-2+

$ git ci -m "Add a stanza for 'debian/missing-sources/UI/js/lsmb/*' to debian/copyright."[master 256d41ada] Add a stanza for 'debian/missing-sources/UI/js/lsmb/*' to debian/copyright. 1 file changed, 7 insertions(+)

Regarding the source-is-missing errors, I posted this to the LedgerSMB IRC on 18 November 2017.

And regarding what's distributed in UI/js/lsmb/nls; where is the 'source' for that? I've found a work-around that gets rid of at least some of the 'source-is-missing' type Lintian errors (30 of 60 for the ledgersmb pkg) but need the actual source for those... I'll keep looking for the dojo changelog as well, but yeah in the meantime there is always the commits in their git repo.I'm working on the ledgersmb pkg, which as you may recall uses the system dojo, except for UI/js/lsmb/*. It works, at least in-so-far as being able to login to, create a DB & user, then login via wander around the menu a bit. But system dojo is 1.11.0 (currently) which isn't, one would think, much different from 1.10.9.

But that ended up not being necessary as I instead decided to not use the UI/js at all.   Created a new +ds.orig archive, this time updating the Files-Exluded with the entire UI/lsmb dir instead of just the UI/lsmb/nls directory. The  UI/js-src/dijit & UI/js-src/dojo directories are still being removed because they are empty but also because now they will be getting replaced by sym links to the
 system js libs. The UI/js-src/util is being removed because it's empty (which leads to a lintian warning).  The UI/js directory is being entirely removed because will be doing the package LedgerSMB configuration with 'dojo_built=0' which looks only at the UI/js-src/ directory.

There was also an issue that came up only on 8 July 2018 and was in regard to the use by the application of the Perl module Locale::Language which is part of the module Locale-Codes which is being removed from the Perl core as of Perl 5.28. That version of Perl is planned to be included in the next version of Debian and is currently undergoing the transition to be included in Debian Unstable. Rather than wait, decided to include the dependency for the liblocale-codes-perl package and resolving the issue in this package update.

No comments:

Post a Comment