Обсуждение: BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility

Поиск
Список
Период
Сортировка

BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility

От
PG Bug reporting form
Дата:
The following bug has been logged on the website:

Bug reference:      17672
Logged by:          Michael Burgener
Email address:      mike.burgener@zg.ch
PostgreSQL version: Unsupported/Unknown
Operating system:   Ubuntu/Debian Distrbution Postgres Repository
Description:

Dear Postgresql Community, while trying to mirror your repository to a
Canonical Landscape Server, i discovered that you don't follow the
guidelines of the Repository Format.

In your case the structure is like:
https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/
where as of best-practice and for best compatibility with mirroring tools
etc. the format should be
https://apt.postgresql.org/pub/repos/apt/dists/focal/

I could not get landscape to mirror, as it quite strictly checks if the
repository is in the correct format and it internaly reuses the
$distribution name set earlier and globally as a variable value.

Maybe a quick on your repository to fullfill the Repository format standard
could be to link/bindmount

https://apt.postgresql.org/pub/repos/apt/dists/focal/ to
https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/ (stable)

Another special case i discovered on your repositories, you are using the
Postgres-Version name like
https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/12/ 
actually that's not really needed, as your package-names for each major
version seem to be different, you could just use
https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql and have all
versions like postgresql-12 postgresql-13 etc. in the same release file, as
thats selectable by apt later for example with "apt install postgresql-12"
"apt install postgresql-13"

My suggestion to have a proper repository setup which follows the guidelines
would be 

https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql
https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql-testing
https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql-snapshot

https://apt.postgresql.org/pub/repos/apt/dists/jammy/postgresql
https://apt.postgresql.org/pub/repos/apt/dists/jammy/postgresql-testing
https://apt.postgresql.org/pub/repos/apt/dists/jammy/postgresql-snapshot

Adjusting the Repository mirrors to better match the guidelines would make
things a lot easier to maintain IMHO.

Btw i provide Ubuntu Official mirrors for about 15 years now and have quite
some experience with Ubuntu/Debian package repos :-)

kind regards

Michael


Re: BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility

От
Christoph Berg
Дата:
> Dear Postgresql Community, while trying to mirror your repository to a
> Canonical Landscape Server, i discovered that you don't follow the
> guidelines of the Repository Format.

Hi Mike,

do you have any references to these guidelines?

> I could not get landscape to mirror, as it quite strictly checks if the
> repository is in the correct format and it internaly reuses the
> $distribution name set earlier and globally as a variable value.

Did you try setting distribution to focal-pgdg? Then everything should
be consistent.

> Maybe a quick on your repository to fullfill the Repository format standard
> could be to link/bindmount
> 
> https://apt.postgresql.org/pub/repos/apt/dists/focal/ to
> https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/ (stable)

That doesn't work as the Release file mentions the name as well and
apt will complain if it doesn't match.

> Another special case i discovered on your repositories, you are using the
> Postgres-Version name like
> https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/12/ 
> actually that's not really needed, as your package-names for each major
> version seem to be different, you could just use
> https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql and have all
> versions like postgresql-12 postgresql-13 etc. in the same release file, as
> thats selectable by apt later for example with "apt install postgresql-12"
> "apt install postgresql-13"

Please see https://apt.postgresql.org/pub/repos/apt/pool/README for an
explanation.

> My suggestion to have a proper repository setup which follows the guidelines
> would be 
> 
> https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql

That would require you to set distribution = focal/postgresql. Is that
any better?

Christoph



AW: BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility

От
Mike Burgener
Дата:
See quoted replies:

> Hi Mike,

> do you have any references to these guidelines?

Here: https://wiki.debian.org/DebianRepository/Format

> I could not get landscape to mirror, as it quite strictly checks if the
> repository is in the correct format and it internaly reuses the
> $distribution name set earlier and globally as a variable value.

> Did you try setting distribution to focal-pgdg? Then everything should
> be consistent.


[>] Many tools don't allow this, landscape also not

> Maybe a quick on your repository to fullfill the Repository format standard
> could be to link/bindmount
> 
> https://apt.postgresql.org/pub/repos/apt/dists/focal/ to
> https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/ (stable)

> That doesn't work as the Release file mentions the name as well and
> apt will complain if it doesn't match.

oh, my bad sorry, maybe somebody else would have a good idea.

> Another special case i discovered on your repositories, you are using the
> Postgres-Version name like
> https://apt.postgresql.org/pub/repos/apt/dists/focal-pgdg/12/ 
> actually that's not really needed, as your package-names for each major
> version seem to be different, you could just use
> https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql and have all
> versions like postgresql-12 postgresql-13 etc. in the same release file, as
> thats selectable by apt later for example with "apt install postgresql-12"
> "apt install postgresql-13"

> Please see https://apt.postgresql.org/pub/repos/apt/pool/README for an
> explanation.

My error! Thx !

> My suggestion to have a proper repository setup which follows the guidelines
> would be 
> 
> https://apt.postgresql.org/pub/repos/apt/dists/focal/postgresql

> That would require you to set distribution = focal/postgresql. Is that
> any better?
Lol, I seem to have misread something last time, a landscape-api line like this worked properly: landscape-api
create-pocket--mirror-suite focal-pgdg --mirror-uri https://apt.postgresql.org/pub/repos/apt  pgdg focal ubuntu  main
amd64mirror mirror-key --mirror-gpg-key postgresql 
 
So everything seems ok with your setup 😃

Maybe the landscape-api line is helpful for somebody else in the future

Thx 

Mike