Pages

Monday, August 6, 2018

Packaging PGObject::Util::PseudoCSV for Debian

I'm not sure how much it is being used as yet, but I ITP'ed another of the PGObject series of utility modules as the package libpgobject-util-pseudocsv-perl, under the auspices of the Debian pkg-perl team (of which, I am a member).

PGObject::Util::PseudoCSV - parser and constructor for PostgreSQL text representations of tuples and arrays.

The ITP, #749275, was originally opened back on 25 May 2014.  There have been various issues that have delayed getting the packaging finished, the most important of which was where it was failing tests.   (See also RT # 108416.)  But that was resolved with version 2 of the module and I was able to continue with the packaging.

But other issues were found, one being just a spelling error but the other being an issue with 'PGObject' still being listed in the PREREQ_PM item of the Makefile.PL; that is still present but part of the resaon for the new v2 version was to remove that requirement.  Upstream did take care of that in the code but hadn't yet removed the requirement from the Makefile.PL file.

Opened the following upstream issues regarding those:
https://github.com/ledgersmb/PGObject-Util-PseudoCSV/issues/4
https://github.com/ledgersmb/PGObject-Util-PseudoCSV/issues/5

They were closed in June of 2018 but upstream has not yet released a new version with those fixes. Released the current version 2 as Debian package version 2-1, which includes patches for the above two issues.  It was uploaded to the Debian New queue on 6 August 2018 and accepted into Debian Unstable that same date at 1100 EDT.

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.

Tuesday, June 19, 2018

LedgerSMB v1.6 Perl module dependencies

As Eric noted in IRC on 6 May 2018, there are five modules required for the new LedgerSMB version 1.6 that are not available in Debian v9 ("Stretch"), two of which seem not to be in Debian at all.  And then I found two others that one of them depends on and both were not in Debian.

  • Version::Compare  -  ITP 901638
  • HTML::Escape  -  ITP 901739
  • Module::Build::Pluggable::PPPort - Required for HTML::Escape.  ITP 901898
  • Module::Build::Pluggable - Required for Module::Build::Pluggable::PPPort.  ITP .901882
  • Plack::Request::WithEncoding - ITP 901756
  • PGObject::Util::DBAdmin -  Now that the newer version has been uploaded to CPAN, the debian package can be updated. (then backported later), 
  • Plack::Builder::Conditionals -  In buster|sid|artful|bionic|cosmic. so presumably just needs to be backported to stretch-backports
  • PGObject::Simple - In buster|sid|xenial|artful|bionic|cosmic. So presumably the newer version just needs to be backported to stretch-backports

Packaging Version::Compare for Debian

One of the new requirements for the new LedgerSMB v1.6.x series releases is the Perl module Version::Compare. I checked and found that it was not already in Debian, Created an ITP for it and completed the packaging, which was then uploaded and accepted into Debian Unstable.

Also found that an updated version of Version::Compare, 0.15.0, is in the code repository at
 https://github.com/dominikschulz/Version-Compare but is not showing as available at the metacpan site. I understand that before the cpan.org site went off line,  that newer version was there, but metacpan only had 0.14.0 and that is all that  is there now.  Opened bugs for that issue:

https://rt.cpan.org/Ticket/Display.html?id=125609
https://github.com/dominikschulz/Version-Compare/issues/3




Tuesday, January 16, 2018

Errors attempting to sign a git tag

Getting errors when attempting to do a tag ^ sign it, using a form of the command as follows:
$ git tag -u KKKKKKKK -m "Tagging <program> vM.NN" TAG
error: gpg failed to sign the data
error: unable to sign the tag
Where:

  1.  "KKKKKKKKK" is the keyid being used to do the signing.
  2.  "<program>" is the name of the program in the example commit message for the tag.
  3.  "vM.NN" is the version number for the program in the commit message for the tag.
  4.  "TAG" at the end is the tag that is being set.


Same thing happened with a different git repository. This is on a system running Debian 9.
I'd had no problem doing the same thing in a different git repository quite recently.


https://stackoverflow.com/questions/41052538/git-error-gpg-failed-to-sign-data

$  export GPG_TTY=$(tty)
Adding that allowed me to do it when logged in directly on the system itself but not when using ssh to log in remotely.

Friday, January 5, 2018

OpenWRT & LEDE projects unify!

As noted at https://forum.openwrt.org/viewtopic.php?id=72940:

The OpenWrt and the LEDE project are happily announcing the unification of both projects under the OpenWrt name.

I've long used OpenWRT on a Linksys WRT54L Broadband router but what it has been using is quite old.  Might be time to look into if something newer will run on it.