Thread: BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility
BUG #17672: Wrong logic of Postgresql Resporitory Naming and mirroring incompatibility
From
PG Bug reporting form
Date:
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
From
Christoph Berg
Date:
> 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
From
Mike Burgener
Date:
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