Wednesday, December 6, 2017

Issue with LedgerSMB 1.5 dependencies at PPA

An issue with the versions of some of the dependencies for the ledgersmb-1.5 package (and which the ledgersmb package would have if it had been updated to LedgerSMB v-1.5 and also uploaded to the PPA) was pointed out by someone attempting to install the ledgersmb-1.5 package on an Ubuntu Xenial (v16.04) installation using the LedgerSMB PPA as the source for the packages. The attempt resulted in errors about the versions of some of the required packages. I was able to duplicate the errors, wherein even after manually installing some dependencies using a command line like this:
apt install libpgobject-perl libpgobject-simple-perl liblatex-driver-perl \
  libmath-bigint-gmp-perl libtemplate-plugin-latex-perl libtex-encode-perl \
Attempting to install the ledgersmb-1.5 package still resulted in errors like this:

The following packages have unmet dependencies:
    ledgersmb-1.5 :
Depends: libpgobject-perl (>= 1.403.2-1) but 1.403.2-1~ubuntu16.04.1 is to be installed
Depends: libpgobject-simple-perl (>= 3.000002-1) but 3.000002-1~ubuntu16.04.1ppa1 is to be installed
Recommends: libtemplate-plugin-latex-perl (>= 3.09-1) but 3.09-1~ubuntu16.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.

I think it is because those are the package versions that are required but the backportpackage process adds the "~ubuntu16.04.1" suffix, which with the "~" suffix makes that version of the package to be "less than" so it doesn't. meet the requirements. Not always an issue but with two of packages in question here, it is curently the most recent version of the module that is required.

I decided that I should do them manually instead of using backportpackage, using '+ubuntu16.04.1' as the full suffix, except for libpgobject-perl which I just manually created and uploaded this version of the package: libpgobject-perl_1.403.2-2~ubuntu16.04.1. There were still the issues with the libpgobject-simple-perl and libtemplate-plugin-latex-perl pacakges and those are the latest required LedgerSMB versions so will need to create packages using the '+ubuntu16.04.1' suffix so as to not interfere with possible later package versions.  Manually created and uploaded  to the PPA: libpgobject-simple-perl_3.000002-1+ubuntu16.04.1 and libtemplate-plugin-latex-perl_3.09-1+ubuntu16.04.1.

Was then able to install the then current ledgersmb-1.5 version as well as the ledgersmb-1.5-apache package, configure it for use, and then log into to create a company database and a user, then use the page to log into the application itself.