What I did:
On Friday (at about 11:00 PM UTC), on repo.parabolagnulinux.org, I
set `PKGPOOL=pool/parabola`, and created `pool/parabola` in the
web root. Newly staged packages from Parabola will go there.
Eventually, `pool/packages` will just be packages from Arch.[0]
What it affects:
I don't imagine this affects anybody in a real way, but figured it
might affect some mirrors, so I should announce it.
Unfortunately, it did cause a problem with db-sync, where
`pool/{packages,community}` were not be updated, though the
symlinks pointing to them were. This was first reported out by
IRC user ciclognu at 3:40 PM UTC earlier today.
Why I did it:
This was to fix previously-theoretical repo breakage with packages
that are repackaged with the same name, where the Arch version
overwrites the Parabola version. (This causes pacman to say
something about "maximum filesize exceeded" if the Arch version is
larger, I imagine there's a similar message if the Arch version is
smaller) On Friday, I had discovered that this actually happened
with the 'antlr2' package, making the problem no longer
theoretical. After making the change, I audited the repos, and
concluded that antlr2 was the only affected package.
What I did to fix the new error:
I originally theorized that re-running db-sync would fix the
(thought-to-be-transient) issue. Emulatorman ran db-sync, and
discovered that this was not the case. From his error log, I was
able to identify the issue, which was that db-sync tries to rsync
*all* PKGPOOLS with the Arch mirror. I fixed this by creating a
separate ARCHPKGPOOLS variable that is used by db-sync instead.
This was done, and the repos repaired by 9:48 PM UTC.
Conclusion:
The new error made me aware of the fact that during normal
opperation of db-sync, the sync'ed repos are briefly in an invalid
state where new packages exist in the DBs and as symlinks, but not
in the pools. This only lasts for a few seconds, and has caused
no (reported) errors to date, but it makes me unhappy. I hope
that this is one of the nails in the coffin for db-sync, so it can
be replaced by db-import (which I now realize I have never
published).
Happy hacking,
~ Luke Shumaker
[0]: This will have the added advantage that it will greatly simplify
sharing package files for mirrors that mirror both Arch and
Parabola mirrors. The current solution is... gross. Most
packages will eventually be moved as they get updated. We'll
probably manually move (or remove?) mips64el packages eventually.
_______________________________________________
Dev mailing list
[email protected]
https://lists.parabolagnulinux.org/mailman/listinfo/dev