Re: Packaging request MobilityDB

From: Bradford Boyle <bradford(dot)d(dot)boyle(at)gmail(dot)com>
To: Esteban Zimanyi <estebanzimanyi(at)gmail(dot)com>
Cc: Christoph Berg <myon(at)debian(dot)org>, Cédric Villemain <cedric(dot)villemain(at)abcsql(dot)com>, pgsql-pkg-debian(at)lists(dot)postgresql(dot)org, SCHOEMANS Maxime <Maxime(dot)Schoemans(at)ulb(dot)be>
Subject: Re: Packaging request MobilityDB
Date: 2023-08-03 04:25:38
Message-ID: CAOMoQbR6Ckg8QtSnb4mDbocbUxxh8OeAxQBvXo_b5SZ7Kg2rZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pkg-debian

Hi,

Thank you for the initial round of feedback.

> When I run the tests on unstable I get this:
>
> $ debian/tests/installcheck
> Creating new PostgreSQL cluster 15/regress ...
> test 001_set ... *** /tmp/pg_virtualenv.ye3HhD/log/postgresql-15-regress.log (last 100 lines) ***
> ...
> 2023-07-31 14:45:00.903 UTC [321209] myon(at)postgres ERROR: Could not parse the set: Missing open brace at character 29
> 2023-07-31 14:45:00.903 UTC [321209] myon(at)postgres STATEMENT: /* Errors */
> SELECT tstzset '2000-01-01, 2000-01-02';
> Dropping cluster 15/regress ...

I've made some changes to how the autopkg tests are run and the tests
are running and passing when building with sbuild on arm64 (I don't have
an amd64 environment available at the momment). Now that there is a
pre-release tag on GitHub, I've enabled the CI/CD in s.d.o to point at
d/gitlab-ci.yml

> debian/copyright: LICENSE mentions the ULB - haven't checked the rest
> of the source yet

I still need to update d/copyright -- there are several different
copyrights in the source (PGDG, ULB, PostGIS, etc) that I need to add to
d/copyright. This is the area of packaging that I am less familiar with,
so any high-level suggestions would be appreciated.

> debian/tests/installcheck: Why is that .so trickery necessary? If
> mobilitydb needs postgis that way, it should link against it.

Mobilitydb needs postgis -- without setting shared_preload_libraries,
tests fail with the errors similar to this one

ERROR: could not load library
"/usr/lib/postgresql/15/lib/libMobilityDB-1.1.so":
/usr/lib/postgresql/15/lib/libMobilityDB-1.1.so: undefined symbol:
ST_Intersects

I've spent some time trying to patch the CMake build to link mobilitydb
against postgis with no success. If I update CMakeLists.txt to link with
-L /usr/lib/postgresql/15/lib -lpostgis-3, the build fails with

/usr/bin/ld: cannot find -lpostgis-3.so: No such file or directory

I think this is because postgis-3.so doesn't have a SONAME field set. If
the build links w/ /usr/lib/postgresql/15/lib/postgis-3.so, then
dpkg-shlibdebs fails with

cannot find library /usr/lib/postgresql/15/lib/postgis-3.so needed by
build/libMobilityDB-1.1.so (ELF format: 'elf64-x86-64' abi:
'0201003e00000000'; RPATH: '')

> debian/control.in: This would be the first package to use PGVERSION in
> the Build-Depends list. I'm slightly surprised it works, but
> apparently I coded the logic in pg_buildext correctly. ;)

> Is the postgis version used at build time relevant? There is a
> postgresql-postgis package that could be used instead. (If the version
> is relevant, we need a solution that works when more than one version
> is targeted.)

I've updated d/control to use the postgresql-postgis package.

--Bradford

In response to

Browse pgsql-pkg-debian by date

  From Date Subject
Next Message apt.postgresql.org Repository Update 2023-08-03 09:25:40 pg-stat-kcache updated to version 2.2.2-1.pgdg+1
Previous Message apt.postgresql.org Repository Update 2023-08-01 08:56:33 tdigest updated to version 1.4.0-3.pgdg+1