[debian-mysql] Bug#920415: Bug#920415: dpkg: warning: version 'p.ci' has bad syntax: version number does not start with digit

Julian Gilbey jdg at debian.org
Mon Jan 28 09:42:24 GMT 2019


On Sun, Jan 27, 2019 at 08:15:24PM +0200, Otto Kekäläinen wrote:
> Hello Olaf!
> 
> Can you reproduce this issue? What are the steps to reproduce?
> I cannot find any file *p.ci* from the sources and I have no clue
> where it is picking it up. It should pick up the version string from
> the maintainer scripts (e.g. mariadb-server-10.3.preinstall) but in
> this case it sees some other string and I have not figured out what it
> is.

Hi Otto,

I had the same on upgrading.  I believe the issue is the following:
the preinst script assumes that the preinst script is called as
/var/lib/dpkg/mariadb-server-10.3.preinst, and mangles the script name
to capture certain characters from it.  However, at the time the
preinst is run, dpkg has only unpacked the preinst control script (and
possibly other control scripts) into a temporary location, and
probably given it some sort of default name.  The package has not even
been unpacked at this point.  So you cannot in any way rely on the
name of the script in the preinst.

A solution to this problem is to have a preinst.in in the debian/
build directory, with the correct version number filled in during the
build to produce a correct preinst with:
VERSION=10.3
or whatever.

Best wishes,

   Julian



More information about the pkg-mysql-maint mailing list