Pages

Monday, July 30, 2018

Packaging HTML::Escape for Debian

The Perl module HTML::Escape provides a function which escapes HTML's special characters and is required for the 1.6.x version series of the LedgerSMB package.

I created the ITP (Intend To Package) bug #901739 to track working on adding it to Debian.
Besides the usual packaging issues, a question also came up regarding the copyright holder on the module:  I had initially taken the list from the x_contributors list as noted in the META.json & META.yml files, and that can be taken as the list of authors which is backed up by the commit metadata  in the upstream git repository. But it was clarified for me that we (the pkg-perl team) "usually don't guess or assist them in getting their credits but just go by what upstream says".  (Which, given the number of packages that the team manages, is quite understandable.).  Since only one person is actually listed in the module as having the copyright, I went with that.

It was uploaded to the New Queue on 30 July 2018 and accepted into Debian Unstable on the same day at 9pm.


Saturday, July 28, 2018

Packaging Module::Build::Pluggable::PPPort for Debian

The Perl module Module::Build::Pluggable::PPPort is a requirement for the Module::Build::Pluggable Perl module (now in Debian), and which in turn is required for HTML::Escape (that was also not in Debian but had a separate ITP), which in turn is required for the v1.6.x version series of the LedgerSMB package.

I created the ITP (Intend To Package) bug #901898 to track working on adding it to Debian.
Besides the usual packaging issues for new packages, another was found that affected the operation the module tests under autopkgtest but not under a normal package build, caused by the t/*.t testing scripts not taking into account that "." (the 'current' directory) is no longer in @INC as of Perl version 5.26. This is hidden during a normal package build because that runs the tests under Test::Harness and that enables the ENV variable PERL_USE_UNSAFE_INC during the testing portion of the build.  Enabled the ENV variable for autopkgtest as well by adding it to the debian/tests/pkg-perl/smoke-env file.

It was uploaded to the Debian Package New queue on 28 July 2018 and accepted into Debian on that same day at 10:10pm EDT (according to the notification email).

Friday, July 27, 2018

Packaging Module::Build::Pluggable for Debian

The Perl module Module::Build::Pluggable adds pluggability for Module::Build and is required for Module::Build::Pluggable::PPPort (which was not in Debian), which in turn is required for HTML::Escape (which was also not yet in Debian), and which in turn is required for the v1.6.x version series of the LedgerSMB package.
I created the ITP (Intend To Package) bug #901882 to track working on adding it to Debian.
Besides the usual packaging issues, another was found that affected the operation the module tests under autopkgtest but not under a normal package build, caused by the t/*.t testing scripts not taking into account that "." (the 'current' directory) is no longer in @INC as of Perl version 5.26. This is hidden during a normal package build because that runs the tests under Test::Harness and that is currently set to enable the PERL_USE_UNSAFE_INC variable during the testing portion of the build. Enabled the ENV variable for autopkgtest as well by adding it to the debian/tests/pkg-perl/smoke-env file.

It was uploaded to New queue and then accepted into Debian at 12:00am on 27 July 2018.




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.

Friday, July 6, 2018

Adopting the sql-ledger Debian package

I had already been involved with the sql-package because LedgerSMB was originally forked from that application and the original packaging efforts were done as a sub-project of the SQL-Ledger project on the old alioth service (which is no longer around). In May of 2017, the then Debian maintainer orphaned the package when he created  the Debian bug #862963.  I changed that one to an ITA (Intend To Adopt) at the end of July of 2017.  Yes, that was almost a year ago, but there were issues that blocked simply taking over the package which I was finally able to overcome.

Thursday, July 5, 2018

Stop using debhelper 9 for new package updates?

This question keeps on coming up on packages I'm working on updating. I'd thought about not bumping the debhelper version from 9 to 10 on such packages until later but now I'm not so sure it's necessary. I'd thought that it would be useful to do it that way to facilitate package backports but the most likely backports in Debian would be to Stretch (Debian v9), which currently has version 10.2.5; and Jessie (Debian v8) where v10.2.5~bpo8+1 is currently in jessie-backports.  For Ubuntu: Bionic (18.04 LTS) already has v11.3.5 while Xenial (16.04 LTS) has 10.2.2ubuntu1~ubuntu16.04.1 in xenial-backports.  In both of the backport cases, packages can be built (using different methods) with the appropriate backports repository included.
As can be seen from that as well as the current package details beyond the fold;  the actual current debhelper version is 11, so bumping the version just to 10 will allow bringing the version more up-to-date but still allow backporting to fairly recent Debian or Ubuntu release versions.