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
sync
: pick up a "provides" package from the command line
#837
Comments
While your expectation is perfectly valid, it's a difficult problem because In case the provider is already in a repository, it is handled by |
Now that |
sync
: pick up a "provides" package from the command line
The following works (at the cost of a large file download):
after caching of the
So what would the best UI for this be? I can think of the following cases:
For case 1. and 3. there can either be one or multiple packages that provide the package name. Approach for case 1:
For case 3, since the build process cannot continue without the user specifying a
Because of low performance, the above should be explicitely enabled by the user. When RPCv6 eventually supports
although having 1 request per edit: https://gitlab.archlinux.org/archlinux/aurweb/-/issues/307#note_63764 Arguably the implementation also belongs in |
This is also an issue with .so provides on the command line. Example command which triggered issues:
qtforkawesome fails to build because (according to alad on IRC):
|
This allows to include `provides` in the dependency order. #837 (comment)
|
So, with aur pkglist --info | aur format -f '%n\t%P\n' --delim=, \
| awk -F'\t' '{ split($2, provs, ","); for (p in provs) { sub(/[<>=].*/, "", provs[p]); printf("%s\t%s\n", provs[p], $1); }; }' \
| sort -k1,1b -u > shlibs This file can then be used to resolve
It might make sense to remove targets provided by repo packages from this output: datamash -W check < shlibs # check for malformed packages
cut -f1 shlibs | aur repo-filter --sync > shlibs_repo
grep -wvxf shlibs_repo shlibs > shlibs_aur
|
Should it not be possible to cache this result for, say, 24 hours? In which case it doesn't really matter. You could set it up as a systemd timer (user one perhaps). |
Sure but there should be faster alternatives available. For example:
|
It took a rewrite in Any
Additional logic makes it works with providers that don't have an existing
Note that #1041 does not update |
Sweet, nice work! |
Consider:
aur sync bitlbee-libpurple-git bitlbee-discord-git
bitlbee-libpurple-git
providesbitlbee
, andbitlbee-discord-git
depends onbitlbee
, so one would expect thatbitlbee-discord-git
is built againstbitlbee-libpurple-git
. However, aurutils pulls in thebitlbee
package instead.Not sure if this is a defect or maybe there is a good reason for this. However, it is at least inconsistent with the behavior when
bitlbee-discord-git
is available in a repository; then, aurutils does not pull inbitlbee
, but just usesbitlbee-discord-git
which provides it.The text was updated successfully, but these errors were encountered: