On 10.12.2014 10:14, Petr Spacek wrote: > On 9.12.2014 18:28, Radek Holy wrote: >> Dear users of YUM and DNF, >> >> I'm writing to you regarding a request for your feedback. I would be very grateful if you could send me a brief description of how you use YUM or DNF currently or how would you like to use it. I am particularly interested in the occurrences of "dnf/yum install" calls in your scripts. What does these scripts do and what do they expect when they call the "install" command in different situations? >> >> Please share with me the use cases, not the description of the "install" command. Think twice before you share something because I believe it's not as easy as it might seem. As an example I think it might be something like: >> >> - "I call YUM install, because I want to get given packages into my system and I don't care whether it requires an upgrade or downgrade or what." or >> - "I want to get them there but it should protect me against dangerous operations like downgrades" or >> - "I often make typos, so I expect that the program knows what I mean" or >> - "it would be nice if it would literally perform the installation; if any of the packages cannot be installed because of any reason, it should fail". >> >> Not something like: "that's obvious that the install command should never downgrade packages". >> >> Please focus on *use cases*. The *real* (non-hypothetical) use cases. Not on the command's name as it might also result in a new command (while preserving the well-known install command together with an appropriate behaviour). >> >> I don't mind if you send it offlist (or to another list). I think there is no need to comment on anyone's use case. Every case is valid. Just not every case can be supported. >> >> Thank you very much in advance. >> > > Hello, > > my use cases are developer-oriented: > > 1) I need ability to install *precise* versions of packages. Typically this is > caused by need to examine coredump file received from a user. > > Install command in yum behaves weirdly, there are all sorts of weird corner > cases where "yum install foo-2:3.4.5-666 bar-1:2.3-4" fails for some reason. > > Imagine this situation: > - I always start with clean Fedora VM snapshot created a week (or month :-) > ago. It would be waste of bandwidth and time to reinstall it the every day. > - I copy&paste list of package from bug report to command line - it results in > command line: > $ yum install foo-2:3.4.5-666 bar-1:2.3-4 > > In this scenario, it could happen that package foo needs upgrade (because the > VM snapshot is 1 week old) and package bar needs downgrade at the same time > (because user who reported the bug did not upgrade bar package for whatever > reason). > > In my opinion, if 'install' command receives N(E)VR specification then it > should respect it even if it means downgrade. And it should *scream* if it is > not possible install requested package version! > > I'm not sure if there is a conflict with other requirements you received, > maybe I'm asking for dnf install-what-I-typed-in command :-) > > > 2) Installing locally built RPMs: > I often rebuild packages with minimal changes, e.g. just with different CFLAGS > but with no changes to the actual source. > > I get my new shiny packages in ~/rpmbuild > but > $ yum install ~/rpmbuild/RPMS/*/* > often fails to install them because system has newer or the same version of > the package installed already. > > In this specific case, where yum install gets RPMs as parameters (instead of > names from repo) it should (re)install them even if it means downgrade. > > > 3) Upgrading/Reinstalling locally built packages. > In cases where rebuild yields lots of packages it is handy to have ability to > reinstall/upgrade/downgrade only packages which are installed at the moment. > > E.g. bind src rpm produces 15 different packages but my test system has only 8 > of them installed. In this case running > $ yum install ~/rpmbuild/RPMS/*/* > is not useful because I would install a lot of unnecessary packages (which can > be sometime conflicting with others). > > I would be happy if > $ yum reinstall ~/rpmbuild/RPMS/*/* > reinstalled/upgradeed/downgraded only packages which are actually installed > and ignored the rest. > > Maybe it is a case for dnf reinstall-what-I-typed-in command. Oh, I forgot to one more use case/plugin. 4) Fedora does not store old versions of packages in repo so I often have to go to Koji and download older rpms from there. A koji-repo plugin (in combination with install-what-I-typed-in command described above) would be awesome thing to have: Just copy&paste list of RPMs from bug report and get all of them installed in one sweep! > Thank you for listening and have a nice day! -- Petr^2 Spacek -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct