Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#19165 closed bug (no change required)

Make pkgman use package "file" names also

Reported by: begasus Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Applications/Command Line Tools Version: R1/beta5
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I've had the rc's for kf6 frameworks installed (over 60 packages), to be able to install the new released version I needed to uninstall the _devel packages for ~rc1. pkgman uninstall doesn't accept filenames in bulk like

/boot/system/packages> pkgman uninstall attica6_devel-6.7.0~rc1-1-x86_64.hpkg
*** Failed to find a match for "attica6_devel-6.7.0~rc1-1-x86_64.hpkg": Name not found

or:

/boot/system/packages> pkgman uninstall *_devel-6.7.0~rc1-1-x86_64.hpkg -y
*** Failed to find a match for "attica6_devel-6.7.0~rc1-1-x86_64.hpkg": Name not found

After some talks at IRC I've used (but isn't the best solution):

ls *_devel-6.7.0* | cut -d- -f1 | xargs pkgman uninstall -y

Would be nice if pkgman could use file names and package names for these cases.

Change History (5)

comment:1 by waddlesplash, 3 months ago

Component: - GeneralApplications/Command Line Tools

This should work fine as long as you don't specify the versions: "pkgman uninstall attica6_devel" etc.

We can't reasonably support uninstalling specific packages by filename. Unless we know for a fact that this package is the same one with the same name (and how would we do that? compare SHAs? compare provides?) the request is ambiguous. But if the filename is canonical, then just only specifying the name up to the first "-" should work.

Furthermore, wildcards do work in this format:

$ pkgman uni *_devel
# offers to uninstall all the devel packages I have installed

So I think there's nothing else to do here?

comment:2 by jmairboeck, 3 months ago

I think the idea here was to uninstall only some devel packages, in this case all the KDE Frameworks packages I think (which all have the same version number).

comment:3 by waddlesplash, 3 months ago

Ah, I see.

Well, that works too:

$ pkgman uni *_devel-2.0.5
The following changes will be made:
  in system:
    uninstall package libidn2_devel-2.0.5-3

comment:4 by waddlesplash, 3 months ago

Resolution: no change required
Status: newclosed

comment:5 by begasus, 3 months ago

OK, altered the commands in the scripts now and it's all good, thanks on the suggestions!

Note: See TracTickets for help on using tickets.