`repoctl list` is showing packages that are not in the repo
maximbaz opened this issue · 5 comments
Add a package to the repo with repo-add
, then remove the package with repo-remove
, but leave the cache file in /var/cache/pacman/myrepo
folder.
Then repoctl list
is still showing this package in its output, although the package is not in the database anymore. I can confirm using aurutils
(aur sync --list -d myrepo
) that the package is not in the database. I would expect repoctl list
to also not show this package.
This was by design at the time.
I'm not sure whether it was a good idea or not. Part of the idea was that I would build packages and they would automatically be put in the repository directory by makepkg
. Then repo list
would show me which packages are registered with the database as well as which packages are just there. More detailed listings would then let you fine-tune it.
The other caveat is that repo update
will just re-add it to the database if you don't remove the cache file.
Not sure how to proceed on this, whether to leave as is, or change it.
Up to you, feel free to close if you want to keep this behavior, I'm happily using aur sync --list
🙂
It really depends on what meaning you want to put into the repoctl list
command, should it represent the current state of the database, or should it represent the "potential" state as if you executed repoctl update
.
Hey @maximbaz would it make sense for repoctl list
to gain -r, --registered
and -u, --unregistered
flags to pre-filter which packages are shown?
Sounds good, yeah 👍
Decided to leave that -u
flag out, since that is out of the scope of what the list
command is for. But with -r
, it's now possible to only show registered packages. Honestly, don't know why I didn't have this as the default from the very start...