Maintain extra repository of Arch packages

I'm running into a problem: I'd like to use a package from AUR that takes a long time to build. Specifically, it's MPICH, and building it takes around 20 minutes on builds.sr.ht.

I have several projects that depend on it, and it seems silly to rebuild it every time, for tests that take only a couple of minutes. I realize that I could maintain a binary package myself in a repository somewhere and add it to the build manifest, but that seems like it would be prone to errors.

The natural solution would be to have a sourcehut binary repo of common AUR packages that would be updated automatically, when the archlinux image gets rebuilt. Is this something you'd be interested in supporting? Or is there some other solution I'm missing?

This is somewhat related to #58, but with a simpler solution, I think.

Assigned to
2 months ago
a month ago
No labels applied.

~sircmpwn 2 months ago

I think you should just petition for this package to be moved to community.

~mrzv 2 months ago

That's an interesting idea, but I'm not sure how such decisions are made within Arch. I know they keep track of the votes on AUR, but I don't know what happens beyond that. Are you familiar with their process?

It's also the case that one might want to test against packages that they are very unlikely to move to the community, such as the older versions of GCC, e.g., gcc7.

~sircmpwn 2 months ago

Speak to a trusted user, see if you can find someone who maintains similar packages and send them an email. Or ask in #archlinux on irc.freenode.net. If not, you could always maintain your own third-party package repo.

~mrzv 2 months ago

I'm not opposed to the latter, but then the question is how do I trigger a build job, when you update the archlinux image? Is there a hook to run my job, when core.sr.ht/archlinux.yml gets rebuilt? This is not unlike what we discussed yesterday, but in this case I don't control the dependency.

~sircmpwn 2 months ago

Why would you trigger a build when I rebuild the arch image?

~mrzv 2 months ago

To check if the extra packages need to be updated and update them, if necessary.

~sircmpwn REPORTED NOT_OUR_BUG 2 months ago

That's just not something you can do. This seems like a limitation of Arch imo. You'll have to live with occasional build failures letting you know you need to rebuild. Or, you can just follow the schedule and automatically rebuild your package on a cron. But I don't expect that to actually do much for bug prevention, since we run -Syu on every build. In any case, this isn't something I expect us to do anything about.

~eschwartz 2 months ago

What is a limitation of Arch? I don't think we will ever allow you to register a webhook to have us notify you when a package you depend on is updated, but there are definitely options on your end:

https://www.archlinux.org/packages/$repo/$arch/$pkgname/json/ will let you scrape information such as builddate or lastupdate

https://www.archlinux.org/feeds/ can give you RSS updates for added/removed/updated packages; some granularity is available, though not per-package.

~mrzv a month ago

Another example, for future reference, in case you ever decide to revisit this issue: intel-compiler-base. It takes 5 hours to build (really just to download and to re-compress all the files; I don't think anything gets built). I imagine I'm not the only one who is interested in testing with the Intel compiler.

~eschwartz a month ago

That seems like a much different problem to solve. Since CI builds do not save the built package, they should be optimized for that.


~eschwartz a month ago

Meh, looks like someone already sent the exact same patch in: https://lists.sr.ht/~sircmpwn/sr.ht-dev/patches/8336

Register here or Log in to comment, or comment via email.