Skip to content

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