Re: Packaging request MobilityDB

Поиск
Список
Период
Сортировка
От Bradford Boyle
Тема Re: Packaging request MobilityDB
Дата
Msg-id CAOMoQbQPOs827ZNk2atm0JHQYDJ4iW339a8HxovxUZzpa4RjtA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Packaging request MobilityDB  (Bradford Boyle <bradford.d.boyle@gmail.com>)
Ответы Re: Packaging request MobilityDB
Список pgsql-pkg-debian
I've spent some time looking at packaging MobilityDB for inclusion in
the Debian archive and PGDG. Here is a high-level summary of what I've
done so far:

* Opened an ITP bug against wnpp for MobilityDB [1]
* Created an initial source package with dh make_pgxs
  - Replaced default autopkgtest with customized one (see below for
    discussion)
* Created a new project on salsa under the PostgreSQL team [2]
  - I have not updated the CI/CD settings to point at d/gitlab-ci.yml
    (see below for discussion)
* Added a job for MobilityDB to the pgapt Jenkins jobs (patch attached)

Upstream isn't using pgxs for its build system and does not have an
installcheck target. The build system does have tests but these tests
are run with cmake and running that in autopkgtest would require
re-building the source package (or using the 'build-needed'
restriction). Additionally, the upstream tests include creating,
starting, and stoping a test cluster. I decided to replace the generated
'installcheck' script with a custom one that uses pg_virtualenv and
pg_regress to run upstream's test cases. I was able to (automatically)
reuse the test SQL queries from upstream but I was not able to reuse the
expected responses. This is because upstream's test uses UTC timezone
while pg_regress sets PGTZ to PST8PDT. Additionally, upstream's test
includes pre- and post-processing of the expected results to standardize
ERROR messages along with removing WARNING and CONTEXT lines. I have had
to skip one test case (052_tpoint.test) because it is currently failing
with the following error message in the Postgres log:

> *** stack smashing detected ***: terminated
> 2023-06-04 02:59:18.383 UTC [25831] LOG:  server process (PID 25852) was terminated by signal 6: Aborted
> 2023-06-04 02:59:18.383 UTC [25831] DETAIL:  Failed process was running: SELECT tgeompoint(Instant,PointZ,5676,1234)
'SRID=5676;Point(00 0)@2000-01-01';
 

I think this indicates a potential buffer overflow bug [3] but I haven't
had a chance to look into it.

I have skipped setting up the CI/CD settings for the packaging
repository on Salsa for now. The intent is to package the upcoming
release of MobilityDB 1.1 and since the release hasn't happened yet,
there is no upstream source archive to fetch with uscan. For my local
development and testing of the package, I've just used a "fake" source
archive that I created with git archive. Until the upstream release of
1.1, I'd expect the default GitLab pipeline to fail. This is why I have
added the package to pgapt's Jenkins jobs with the job group of
"git+upstream-snapshot".



[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037101
[2]: https://salsa.debian.org/postgresql/mobilitydb
[3]: https://stackoverflow.com/a/1347464

Вложения

В списке pgsql-pkg-debian по дате отправления:

Предыдущее
От: Aaron Pavely
Дата:
Сообщение: Re: postgres user home dir
Следующее
От: Esteban Zimanyi
Дата:
Сообщение: Re: Packaging request MobilityDB