Poll: How users use DNF
pspacek at redhat.com
Wed Dec 10 09:19:00 UTC 2014
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.
> 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
> 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
> $ 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!
More information about the devel