Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have created this PR because of https://www.reddit.com/r/voidlinux/comments/1bgdi51/recommend_way_to_update_xbpssrc_packages/
vpsm's latest commit has been made five years ago. I've reviewed the script, and it seems that everything is still functioning correctly. However, there's a possibility that any future changes to
xbps-src
could potentially break vpsm.One might argue that this doesn't matter because it's not broken (yet). One could say that vpsm is feature complete and it doesn't need any updates. But it appears to me as though it has been abandoned.
vpsm isn't compiled, no packages require it and it doesn't need to be system installed. It therefore meets none of the quality requirements.
I personally hate these wrapper scripts because they do not provide any value of their own. vpsm doesn't really combine
xtools
,xbps-src
andgit
to produce something, it just executes the appropriate commands 1:1. For example,vpsm update-sys
=./xbps-src update-sys
,vpsm show-deps
=./xbps-src show-deps
,vpsm push-commit
=
git push -u
etc.This "hides the truth" from the user. Instead of using official, documented commands,
vpsm
users are encouraged to usevpsm
(which uses those official commands) which adds an unnecessary layer of abstraction. Using official, documented commands should be preferred in my opinion.But it isn't always 1:1. Users of vpsm might be surprised to find out1 that
vpsm build-environment
usesXBPS_CHROOT_CMD=uchroot
, which is not the default wayxbps-src
is used. vpsm does special setup for this which requires superuser privileges, but it isn't properly documented. It also sets the set user ID bit onxbps-uchroot
, which really should be documented. All of this shouldn't even happen in the first place, becausexbps-uchroot
has the right permissions set by default.Testing the changes
Footnotes
vpsm
echos the commands used to set up the build environment, so the user will be made aware thatXBPS_CHROOT_CMD=uchroot
is used. However, I don't see it documented anywhere. Figuring this out as the commands are being run is too late. ↩