Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: unindex removed packages #2

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

Chocimier
Copy link
Member

@Chocimier Chocimier commented Dec 21, 2019

For packages reported by xbps-checkvers as removed, generated makefile
finds files matching <pkgversion>.<arch>.xbps or
<pkgversion>.noarch.xbps. This is needed to know where is repodata in
which package is indexed (path may contain multilib, aarch64, nonfree
subdirectories). Then, xbps-rindex is called to remove package from
stage index. Then, xbps-repodb needs to remove package from public
index when no other package depend on it. Finally, xbps-rindex -r will
remove package file.

Tested with cross repository, multilib, removing of subpkg only.

Requirement for present .xbps file means that to index already cleaned packages, they will need to be touched in repository.
We do not use noarch anymore, one-time intervention for recreating still indexed noarch packages may be needed.

Requires void-linux/xbps#418, void-linux/void-infrastructure#125.

@pullmoll
Copy link
Member

pullmoll commented Mar 25, 2020

Perhaps instead of actually removing the *.xbps files in the Makefile, instead move them to a sub-directory backup. This could prevent big trouble in case something goes horribly wrong and a package needs to be added back with xbps-rindex later on.

Purging this backup directory in its entirety or, for example, for everything where the file age is greater than x months could then be the final step after which packages are in limbo. This can be done manually or by a simple cron script.

@Chocimier
Copy link
Member Author

Good idea, packages are now moved. Tested this only briefly today.

@Chocimier Chocimier force-pushed the unindex branch 2 times, most recently from 2b531af to 6e6f992 Compare March 2, 2022 21:38
For packages reported by xbps-checkvers as removed, generated makefile
finds files matching <pkgversion>.<arch>.xbps. This is needed to know
where is repodata in which package is indexed (path may contain
multilib, aarch64, nonfree subdirectories). Then, xbps-rindex is called
to remove package from stage index. Then, xbps-repodb needs to remove
package from public index when no other package depend on it. Finally,
xbps-rindex -r will remove package file.
When package is updated and marked not to build on some architectures
with archs/nocross/broken/restricted, it needs to be removed form
repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants