F22 System Wide Change: Replace Yum With DNF

Jan Zelený jzeleny at redhat.com
Thu Jun 12 07:43:08 UTC 2014


On 11. 6. 2014 at 18:09:25, Michael Scherer wrote:
> Le mercredi 11 juin 2014 à 11:37 -0400, Chuck Anderson a écrit :
> > On Wed, Jun 11, 2014 at 05:21:30PM +0200, Jan Zelený wrote:
> > > On 11. 6. 2014 at 08:52:34, Matthew Miller wrote:
> > > > On Wed, Jun 11, 2014 at 02:44:10PM +0200, Jaroslav Reznik wrote:
> > > > > * package 'dnf-yum-compat-command' is installed by default. It
> > > 
> > > obsoletes
> > > 
> > > > > Yum and provides its own <code>/usr/bin/yum</code>, a short 
script
> > > 
> > > that
> > > 
> > > > > redirects to <code>/usr/bin/dnf</code> with an appropriate 
warning
> > > > > message that DNF is the preferred package manager now. Notice 
that
> > > > > upgrading F21 to F22 will not cause the compat package to be
> > > > > installed
> > > 
> > > so
> > > 
> > > > > will not disturb any upgrading users.
> > > > 
> > > > This is kind of sentimental, and I think possibly Seth would not have
> > > > liked
> > > > to have a big deal made of it, but... I guess I'm going to anyway. I
> > > > would
> > > > like to keep the "yum" name in remembrance of his contributions. 
This
> > > > also
> > > > seems like the easiest path for all of the documentation, scripts, and
> > > > user
> > > > habits out there. I don't mind if the backend package is called "dnf",
> > > > but
> > > > why not keep /usr/bin/yum as the primary command and just do the 
right
> > > > thing, only warning on incompatible usage rather than nagging every
> > > > time it
> > > > is used?
> > > 
> > > Actually the plan is to keep /usr/bin/yum as the primary command 
during
> > > the
> > > transition but it will do something similar to what the /sbin/service
> > > command does now. It will redirect to dnf and give user a message that
> > > it is redirecting to dnf.
> > > 
> > > As for scripts, that's actually another reason why to keep yum around.
> > > Some
> > > scripts might not be able to handle some of the minor differences and
> > > some
> > > python scripts might still want to use the yum python API. That's why it
> > > makes sense to keep yum around for a few releases as a fallback.
> > 
> > Have puppet, chef, ansible, salt, etc. been taught how to use "dnf" to
> > install packages?  I think it would be a shame to force all this
> > software to do s/yum/dnf/ or to have to conditionally code for these
> > differences based on OS release or the presense of yum vs. dnf.  Why
> > not just keep the command name the same with no nag message?
> 
> I would expect puppet/chef to start using the library rather than direct
> access to the binary.
> 
> And for ansible, I think the patch is quite simple, just add 2 lines.
> 
> I guess we can start right now to get stuff merged.

Yes, you can either use dnf's well documented API [1] or you can use the 
libraries beneath it. That's one of the advantages of dnf. Its individual 
components were moved to external libraries and can be used by anyone, as 
few projects can already testify. The last piece that is missing and being 
worked on is a library wrapping dnf software database.

Thanks
Jan

[1] http://akozumpl.github.io/dnf/api.html


More information about the devel mailing list