-
Notifications
You must be signed in to change notification settings - Fork 42
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
Allow adding / installing packages with --asdeps
#58
Comments
Let's assume hypothetically that
|
Well I think that for consistency's sake there are two options:
Either way, you should get a warning. |
I'd like this - |
--asdeps
I think this makes sense on paper, but it would make certain aspects of aconfmgr's implementation much more complicated. For now, I suggest a pragmatic approach: place each instance of such a dependency beneath its main package in the configuration file (along with said package's other configuration). When you no longer need the main package, you would also remove the dependency. It is valid to specify a package more than once, so the dependency can be specified as often as necessary. |
What if there is a #!/bin/bash
outfile="${XDG_CONFIG_HOME}/aconfmgr/98-asdeps.sh"
pacman -Qd --native | awk '{print "AddAsDeps "$1}' > "$outfile"
printf '\n\n# Foreign dependencies\n\n\n' >> "$outfile"
pacman -Qd --foreign | awk '{print "AddAsDeps --foreign "$1}' >> "$outfile" where #!/bin/bash
function AddAsDeps() {
local fn='dependencies.txt'
if [[ "$1" == "--foreign" ]]
then
shift
fn="foreign-dependencies.txt"
fi
printf '%q\n' "$@" >> "${output_dir}/${fn}"
} Then these can be processed with #!/bin/bash
# this would get called on each line of `dependencies.txt`
function resolve_dependency() {
# check if the provided package is installed
if pacman -q -Qs "^$1\$" > /dev/null; then
pacman -D --asdeps "$1"
else
pacman -S --asdeps "$1"
fi
} and a complementary version for |
pacman allows you to install packages with the option
--asdeps
to mark them as dependencies.This is useful for optional dependencies as pacman can then recognize them as orphans when the packages that optionally required them are removed.
Supporting this flag might also help with the limitations mentioned in the README.
The text was updated successfully, but these errors were encountered: