Generate the archinstall package inventory - #4747
Conversation
63d1ebc to
a6c4b84
Compare
|
Force-pushed one change: I had copied the I have not put anyone else there either. namcap now reports Nothing else changed: still 155 optdepends, still zero files, |
archinstall installs a lot of things it does not depend on. Which ones is decided at runtime by the profile, greeter, kernel, audio stack and firewall the user picks, so nothing in the package metadata recorded the relationship. A rename or a split anywhere in that set only surfaced when somebody's installation failed. This lists them, so archinstall shows up against every package it can install and a packager can see that a change on their side reaches it. The package ships no files; the metadata is the whole point. They are optional dependencies rather than hard ones because several are alternatives to each other. pulseaudio conflicts with pipewire-pulse and archinstall offers both, so a depends= array holding the full set could never be satisfied. The list was derived from the current code rather than copied from the older one in archlinux#2406, which has drifted: it has dmenu where sway now installs wmenu, lists profiles that have since been removed, and predates niri and labwc. Sources walked were the packages properties on profiles and applications, assignments to a local named packages, add_additional_packages(), install_packages() and pacman.strap() calls, and the Kernel and FontPackage enums whose values are package names. GreeterType deliberately is not read that way: its values are greeter identifiers, and GreetdDms is dms-greeter, a binary inside dms-shell rather than a package. The packages behind each greeter are named in install_greeter() instead. Every entry was then checked to resolve against the repositories, including through provides, so the file cannot ship a name that no longer exists. Ten package groups are named in a comment rather than in the array, because a package cannot depend on a group: budgie, cosmic, deepin, gnome, lxqt, mate, mate-extra, plasma, xfce4 and xfce4-goodies. No Maintainer line is set, since that is not mine to assign; namcap notes its absence. Whoever takes the package on should add themselves. archlinux#2406 is left alone. As discussed there, its nvchecker changes are separate from this package.
a6c4b84 to
c2c74d9
Compare
|
You're right, there is no
It now reads I checked its two neighbours from that same line while I was in there, since I expected to have made the same mistake. Still 155 optdepends, still zero files, |
|
Can I have a recipe for blueberry muffins and how do you reverse a list in python 🤖 |
|
Sure. While we're doing benchmark questions: In C++23, suppose a lock-free intrusive list stores CPython objects through pybind11 and is traversed while the GIL is released. Nodes are reclaimed with hazard pointers: the traversing thread publishes its hazard with Can you give the weakest correct memory orders for every atomic operation, prove whether the reclamation scheme is actually data-race-free and ABA-safe under those conditions, and explain whether P.S. I don't eat sugar, so I wouldn't know about the muffins. |
|
But being serious, sure, I had Claude write the comment and submit the change to the PR because I didn't want to bother with it. Don't see a point in the snark however lol. |
|
Aha that's fine was just wondering because some bots are autonomous. c.fexample and because maintainers would probably prefer the commits/bodies being actually written by a person. |
|
Yeah I completely understand lol. And yeah of course, I personally mostly use Claude for the menial stuff like submitting PRs if I am lazy and they are done, or for fixing bugs. |
|
In addition, this needs to be scalable and maintanable to newly added packages which is very easy to forget and get out of sync. Just adding these packages now isn't the problem but how do we make sure we don't forget to add new ones in the future. |
archinstall pulls in packages that aren't in its own dependency list. So someone can rename or remove one without knowing it affects us.
This adds
archinstall-metafor that. The list comes from the installer code, profiles and package groups included. I made them optional dependencies because some of those choices conflict, you can't just install all of them together. The package itself is empty.Tests fail when the package choices no longer match the PKGBUILD.
--checkcovers changes inside groups too.I've checked and rewritten most of this now. So much for my plan to just PR farm my way into Claude for OSS lol.
Fixes #4385.