Description of problem: yum, apt and smart follow a very similar interface for basic tasks like install, remove, update, upgrade etc. pkcon is dissimilar for seemingly no good reason. Examples: You have to use get-updates instead of just update. It can't install multiple packages simultaneously and so on. A similar interface would help end users from having to unlearn and relearn commands for similar tasks.
Sure, we'll be fixing the API in 0.1.11 to allow multiple package installs in one transaction, like we did for multiple updates. What about pkcon would you like to change? * yum has "yum check-update" while pkcon has "pkcon get updates" - which is better? * yum has "yum search foo" while pkcon has "pkcon search name foo" - as PackageKit supports more than one type of search. We could perhaps assume "name" if there are only two arguments. Any others? Richard.
* yum update works. The equivalent in pkcon seems to be pkcon get updates. It would be good to have to pkcon update too. IMO pkcon check-update makes sense as well as since unlike yum, pkcon doesn't seem to ask for any confirmation on its actions except removing packages. Maybe that behavior should be changed too? yum -y <argument> works if I need to ask yum to continue without any confirmation. Also yum erase and yum remove are aliases. * yum install quake3-demo works in rawhide while pkcon install quake3-demo fails for some odd reason. Just using that package as an example * yum search foo searches everything. Maybe pkcon search <foo> should do a wide search and users can specify parameters if they want to confine it. That seems to follow the principle of least surprise * The rough equivalent of yum upgrade seems to be pkcon update-system * yum --enablerepo=<foo> enables the repository only for that particular session * yum also supports a yum shell which I find very useful for repeat operations. * yum-utils has a number of additional utilities. Among them yumdownloader downloads a binary and yumdownloader --source downloads the equivalent source package in it's current directory. debuginfo-install makes it very easy to install debuginfo packages. yum-builddep is useful for grabbing dependencies against a source package. yum-complete-transaction allows someone to resume a interrupted transaction. I have some more ideas if you want pkcon to support additional enhancements but this should be enough for now.
> * yum search foo searches everything. That's not true, yum search currently searches: name, summary, description, url With --showduplicates it also shows matches to older pkgs, and -v gives more information ... but I think pkcon trying to re-implement all of the yum cmd line UI is a losing battle, esp. for things like search which already basically work for everyone. Having, "pkcon install/update/reinstall" have basically the same input UI is probably as far as I'd go.
I used "everything" in a loose form obviously. If you are implementing something new and everybody else is used to yum,apt-get or smart you might as well as follow the more or less the same parameters to avoid confusion.That's all I got to say on this.
Rahul, i agree that pkcon could need some love, but i dont see the point to make just like yum, currently pkcon is a 1:1 mapping of the pk API and not a full blown package manager cli. PK is meant to be a cross distro tool, so it has to be more simple that a native package manager cli's, it will be doom to try i integrate all possible features of all packagemanagers. We should focus on the making backends stable and the gui tools better and leave the cli to native package managers IMO. Maybe in the future there should be made a simple cross distro cli "pkcli" to do simple stuff, but pkcon has to match the API, so it can be used to test and debug the API.
1:1 mapping isn't necessary and was never requested. I can switch between yum,apt and smart easily because the basic commands are very similar. Learning pkcon requires unlearning what I have used for such a long time. Please make the equivalent commands similar. That's all I am asking for. Again *similar*, not just the same. I gave a long list above. One specific example: yum, apt and smart supports a update/upgrade command while in pkcon it is called get updates. My request is to avoid unnecessary differentiation. That's all.
pkcon is more an pk API test tool, to test the different backends, than a package manager cli, this is why there is a 1:1 mapping of the API. I agree a cli should not work that way, but it should be another tool . Something like pkcli install foo pkcli remove bar pkcli remove foobar pkcli search someword pkcli list updates/available/install Very simple commands to day to day action, nothing fancy
If this is just a testing tool, you might want to do two things 1) Don't install it by default 2) Mention that it is just a test tool in the man page. Currently it just says, PackageKit console client. What you are envisioning as pkcli is what I was hoping pkcon would be.
I don't think 1:1 pkcon to yum is that important. We're not replacing the yum CLI, so I don't think it's important we wrap it. I've changed "pkcon update-system" to "pkcon update". If you want to change any others, please can you email the mailing list and we'll discuss there with the other developers. Thanks.