Dandifying Mageia – Adding the DNF stack to Mageia

There’s a lot of good things coming to Mageia 6: KDE Plasma 5 desktop, updates to other desktop environments, many new games, and a fresh coat of paint with a new visual style. However, there’s quite a lot of under-the-hood improvements in Mageia, too!

Among the many less-than-visible improvements across the board is a brand new dependency resolver: DNF. DNF (Dandified Yum) is a next generation dependency resolver and high-level package management tool with an interesting history. DNF traces its ancestry to two projects: Fedora’s Yum (Yellowdog Updater, Modified) and openSUSE’s SAT Solver (libsolv). DNF was forked from Yum several years ago in order to rewrite it to use the SAT Solver library from openSUSE (which is used in their own tool, Zypper). Another goal of the fork was to massively restructure the codebase so that a sane API would be available for both extending DNF (via plugins and hooks) and building applications on top of it (such as graphical frontends and system lifecycle automation frameworks).

DNF will be available for those willing to use it, however, urpmi and the current familiar Mageia software management tools will remain as the default in Mageia for the foreseeable future.

In many respects, these goals were achieved. DNF ships with a well-structured command line interface, an easy-to-use and very complete API, a dozen core plugins, and a dozen contributed plugins.

As a consequence of the work required to adopt DNF, Mageia is now broadly compatible with a wider array of tools for managing RPM-based systems, due to the use of tooling that is common to other major RPM-based Linux distributions (such as Fedora and openSUSE). For example, tools like Spacewalk and Katello will (to some extent) be able to manage Mageia 6 systems for institutions like schools and businesses.

PackageKit has been also switched to a new backend that leverages the work done to enable DNF, allowing for us to properly enable app-centric software management tools like GNOME Software and KDE’s Plasma Discover to provide a high-quality desktop software management experience through the desktop environment’s native tools.

In addition, we’re working with the developers of Fedora COPR (A PPA-style system developed and provided by our friends at the Fedora Project) to get Mageia 6 and Cauldron added as supported Linux distributions. This will allow people interested in providing packages of free/open source software for Mageia to have a place where they can build them and have a hosted package repository. Once support for Mageia has been activated on Fedora COPR, adding repositories will be as easy as “dnf copr enable”.

One of the fruits borne from this effort is that support for building packages for Mageia 6 is now built right into Mock, the standard clean package build tool used by Red Hat, Fedora, and CentOS. As of Mock 1.2.18 and newer (available on supported RHEL/CentOS and Fedora releases, as well as in the upcoming Mageia 6), it is possible to build Mageia packages without having to switch distributions or manually construct chroots, containers, or virtual machines. Likewise, with Mageia 6, it is possible to build Fedora packages using the same tool. Of course, you can build Mageia packages from Mageia 6 with Mock as well. Mock is the core build engine for Fedora COPR, so it was critical to make this work, and so we did.

The work to offer DNF in Mageia 6 represents nearly a year of work, collaborating and cooperating with the upstream project and the Fedora Project to implement this in the best way possible. We hope that the introduction of DNF and the new PackageKit backend will offer a new, user-friendly way for people to interact with the software installed and available on Mageia!

If you want to learn more about DNF, check out our wiki page on how to use it.

This entry was posted in Collaboration, Mageia, packager. Bookmark the permalink.

Curious about Mageia? Download it, give it a try and tell us how you feel about it.

Want to bring something to it? Learn how you can contribute and donate.

48 Responses to Dandifying Mageia – Adding the DNF stack to Mageia

  1. Gildevan says:

    Can’t wait to lay eyes on Mageia 6!!!
    When is it arriving ?

    • Random Reader says:

      I get the impression that nobody wants to answer that question.

      • Devan Silva says:

        lol.. I see.
        You know, there’s a lot of work involved and I definitely understand the wood-dragging, like, it takes time to pull it off, to make it go down and fit things right. I’ve been a Mageia admirer for quite a while and have no doubts it’s gonna meet our expectations. It doesn’t kill my anxiety though 🙂

  2. Gary Walsh says:

    Does this mean that urpmi will be going away?

    • schultz says:

      No not at all, we will be keeping urpmi for the foreseeable future, just having additional solvers, especially when they give access to large cross distro services link DNF does is always useful.

      On a similar note, we also have dpkg available, so having tools usually associated with other distros available isn’t something new.

    • Conan Kudo (ニール・ゴンパ) says:

      For now, there are no plans to remove urpmi. At least with Mageia 6, we want to give people the opportunity to try DNF and give us feedback so that we know what they think of it. While using DNF unlocks a lot of extra capabilities for us, we want to make sure our users’ experience is solid and positive.

      In addition, we still have tools that depend on urpmi, so to some extent, it can’t go away for now. For example, the installer and rpmdrake both depend on urpmi, so for the time being, it isn’t even possible to remove it.

      As part of the ManaTools next-generation administration panel tools, we are working on developing a new graphical frontend that is powered by DNF ( dnfdragora, https://github.com/anaselli/dnfdragora ), but it’s not ready yet.

  3. Pingback: Причепурена Mageia | Mageia Blog (Україна)

  4. Hal says:

    when will you release the final product?

  5. Pingback: Dandifying Mageia – Adicionando a pilha DNF para Mageia | Mageia Blog (Português)

  6. Franck says:

    I really like it when bridges are build between several distros I like (Fedora, OpenSuSE and Mageia are my favorites).
    I dream of a distro that would combine all their nice features.

    • Klaatu says:

      Agreed! I use Mageia because, for me, it’s the happy middle-ground between a very stable but not-so desktop-oriented distro like Red Hat, and the desktop-centric but not very stable Fedora. Zypper is a great package manager, too, so seeing Mageia roll in the best bits from all these other very good distros is very exciting. And unification, when convenient, is awfully nice.

  7. Random Reader says:

    Schultz, when you say “we”, who is that exactly? Who did most of the work to get DNF into mageia? And who actually *wrote* this post?

    As there is no mention of any name in the post, one would guess that the answer to all those questions is “schultz”, the author of this post. But I know from reading the dev mailing list that most of the work was actually done by Neal Gompa. I suspect he might even be the real author of this post. Is that common practice in Mageia to steal credits from other contributors?

    • schultz says:

      I think you answered your own question there.

      Seriously, this is the Mageia blog, not my own personal one.

      Yes, the work was done by Neal, yes he wrote this post, I proofed it then published it, so it comes up as my name.

      Would you go to the press releases of HP or IBM and accuse them of stealing credit as it wasn’t the press team that did the engineering work?

      • Random Reader says:

        You are comparing Mageia with some of the big companies with the most awful management practices. One difference though, however insane things are at HP or IBM, at least the employees get paid for the work they did. In open source projects where much of the work is done by otherwise unpaid volunteers, it is usually considered important to give credit to whoever did the work. Especially when it only requires adding one line to a post, or set the authorship of the post correctly. As I understand, this is not the case at Mageia, you don’t get paid and don’t get the credit either, worst of both world. Thanks for the clarification anyway, now I know this is certainly not a project I would want to contribute to.

        • Luke says:

          I see you like to criticize about name credit but you don’t even put your own name on your posts. Typical of a troll!

          • Random Reader says:

            Luke, you neither. Where’s your full name?

            “Random Reader” is my usual pseudonym.

            But, don’t you really have anything of value to add to the topic to jump on attacks against me for using a pseudonym?

        • egc says:

          Oh come on, Random Reader, are you serious? …

        • schultz says:

          As we’re talking about giving credit here, all of that is tracked in the GIT and SVN repos, its on the changelogs for who did the work in the packages that ship.

          That is identical to how it would be in any big company, so i really don’t see the issue with comparison here. Neal, myself and every other person that works on Mageia chooses to give there time (some are actually paid, but that is not by Mageia)

          The credit is very clearly given, in all of the places you would expect it.

          Should I start listing each contributor that helped with each thing that appears in a release announcement now?

          • No, just do it as you do now. Those of us who work in open source know very well how things are and can find who actually implemented a feature if we really need to know. An announcement is always “on behalf of all contributors”.

            Keep up the great work.

    • katnatek says:

      I think if Neal would wish publish this personally he will did it, may be he is a team worker and don’t like be the star or maybe he think is better a “marketing” guy publish the announce..

      Complain in the name of some one that is not making complains is insane.

  8. Pingback: Links 5/9/2016: Linux 4.8 RC5, Mageia Picks DNF | Techrights

  9. Devan Silva says:

    Guys, let’s not fight?
    I mean, Mageia is an awesome distro and I’m sure the group responsible for getting it ready is doing the best work possible. And about the ownership stuff, the whole crew gets credit. I trust full-hearted that they’re working as a team to make it happen.
    Congrats, guys!!

  10. aguador says:

    Great news about the improvements under the hood — and just as I am getting ready to install Mageia 6 to take it for a spin (and change to my favorite DE, Enlightenment).

    Out of curiosity (as I did not see it answered), is there a rough timeline for the next stable or a final release date?

  11. Pingback: HPE Boosts SUSE, Rootkit Targets Linux & More… | FOSS Force

  12. Doug Laidlaw, Australia says:

    Mageia is awesome for what it includes, but IMO, the team are always putting off the release to add another feature. Deadlines are never kept. The image in the community suffers as a result. The posts on this page are an indicator.

    • schultz says:

      The delays with release Mga6 have nothing to do with DNF or adding more features, but more that the features we have not being stable enough.

      This time around it is getting Plasma to behave properly, and yes, it has been updated a few times, but more that the newer releases were more stable, rather than the release being postponed for their inclusion.

      If you follow the QA list, you can see the issues that are had with ISO testing.

      That being said, I can completely get the frustration, it isn’t just felt by the users but also by the packagers, QA, and every other team working to get the release out. We’ll hopefully have more news on all of this soon.

      • zezinho says:

        While the delays seems long for enthousiasts, it is not the same for average users. My customers always says why a new version? When I tell them that their Mageia is out of security updates.

        Let’s face this fact, Mageia is an usable system on daily basis, lots of users just use it basicaly : Desktop/Firefox/LibreOffice and printing. It is very important to give them a system that doesn’t crashes occasionally. Much more than never kept deadlines.

        Furthermore, deadlines never kept just mean not enough people contributing, come on with us, even just one hour a week helps a lot!

      • Devan Silva says:

        I totally get that deadlines are there for a reason, not just floating around. I’ve been a lot frustrated with waiting for mageia releases before and even it shows that the project has made its point and got credibility. However, I’m not blaming anyone for delaying the work or having to do extra workarounds. Coordinating a community such as mageia’s is not an easy task, and people working backstage put time an efforts on the distro; that’s how it survives. Guys, just keep up with the good work !!

        • schultz says:

          Yep, I think we should probably try and address the deadline issue after release, they are needed, but they also send a message. Seeing as we prefer to release when ready, that message becomes confusing after the deadline passes.

          Anyway, that’s a discussion for another day and another place.

    • Conan Kudo (ニール・ゴンパ) says:

      Trust me when I say that DNF has had zero impact on the releasability of Mageia. It’s been entirely structured so that it operates fully in parallel with the current tooling.

  13. Garthhh says:

    I would like the end of life date to be extended when the release date is postponed…
    a full 6 months would be helpful

  14. Yolo Yolo says:

    Can I ask a simple question?

  15. schultz says:

    While we do everything we can publicly and everyone who wants to constructively help with Mageia is welcome to, publishing links to pads like this isn’t really helpful.

    Please refrain from this in the future as the information on the ether pads will not always be accurate or publishable

  16. aguador says:

    What we clearly do not need here are uncivil comments and behaviour. Yolo Yolo’s language is completely out of place given the nature and spirit of the broader open-source community and Mageia, especially. Mageia is a community effort and as such involves the work of many volunteers who understand that the Linux-based OSs are not just about a better technology, but about community and giving back in some way.

    I am not part of the team and have very limited time, but at the moment I am attempting to do my small part by doing just a bit of testing of Cauldron and some work on updating themes for my preferred DE. Given that I also use a rolling release distro, I have a sense of what the Mageia team is up against: constant gtk3 changes that break themes and raise havoc generally, a Plasma that is constantly morphing as well, not to mention changes to the “other” DEs like MATE, Cinnamon, Enlightenment and LXQt that are moving quickly.

    Getting all the packages to play nice together is bad enough without having to worry about getting the users to play nice.

    As far as the original post is concerned, the communication itself is great. The last commenter seems to view it as tooting of the horn for a long-delayed product, perhaps because more communication would be nice, even as I doubt the team could do more.

    As far as the last commenter, I have two suggestions:

    1) Sign up on the dev or QA mailing lists, listen in, and see the level of activity and the effort that is involved. If you follow the broader Linux community, you may be aware that some “quasi-rolling releases” like SolydXK went from monthly to quarterly to semi-annual update cycles. Keeping this all together is hard work!

    2) Help with Cauldron in some way. There are all sorts of ways listed to contribute to the project. One that may not be listed is that you might actually turn your blogging skills toward contributing here to keep users updated on developments.

    I, like many, understand that the commenter may not have time to contribute and, if not, so be it. He or she should consider a couple of things: Is there a real hurry or just a desire to have something new? (I happened across Clem Lefebvre’s comment on the Mint 18 release telling people that they might not want to update if everything was working for them — and Mageia’s release cycles are nothing compared to the Mint-buntu LTS cycles!) Sure, I’d like to see Mageia 6 say . . . yesterday! However, Mageia 5 has been a great release that still meets my needs, so an updated iso with a new kernel is icing on the cake.

    Are you missing something specific that is lacking in Mga5? Why not file a request for a new package or whatever need you see unfulfilled? There might be others in the same boat. If you want something newer and shinier and have a machine you use for fun things, perhaps you can go ahead and install Mga6 in it, even if you might have a few hiccups along the way. You might inadvertently come round to improving the release if you find an undiscovered bug and report it.

    In the worst of cases, if Mageia is somehow not meeting your real computing needs, perhaps you need to consider another distribution. It would be sad to lose people in the community, but there is no one best distro for everyone. Furthermore, if you have reached a point where destructive, disrespectful comments are all you can bring to the table, I will simply offer my own opinion that an amicable separation and divorce is preferable to a bitter marriage.

    • Devan Silva says:

      Well, you’ve said it all. 👏👏👏👏
      Mageia commenters should be all about doubts and wishes? Hell yeah ! But it should also be about supporting each other ’cause distros don’t just fall out of trees; they’re built by people who love what they do and for those who love what’s been done. I fully support Mageia and want to be a part of the team soon, but for now, go find something useful to do you haters.

  17. David Locklear says:

    Back in May, I custom built a computer for our house and installed a Linux operating
    system on it. Since then, I have spent about six hours teaching our 11 year old daughter,
    how to use Linux computers.

    4 days ago, I erased the hard-drive installed “Mageia 6” sta 1 permanently as the sole
    operating system.

    This morning, I woke up to find our daughter was doing her school homework all by herself on our Linux computer, and she didn’t even know she was in LibreOffice ( the clone of Microsoft Word ).

    She had never seen me boot up Mageia before, but figured it out on her own.

    That is exciting to me.

    I became a fan of Linux computers just 4 month’s ago, and believe that they will someday be more popular.

    Our daughter has now used 12 of the newest Linux distributions, but only for a few minutes each.
    She has spent about 2 hours using Linux Mint 18, and now about an hour with Mageia 6.

    We live in southeast Texas, U.S.A.

    I guess my only suggestion would be to make an additional iso image available with more stuff on it. People now are using 8 GB USB sticks to install. Some other distros are doing that. PCLinux calls theirs, The Full Monty. New users are not going to feel comfortable installing things, so a iso aimed at newbies should have lots of games pre-installed. It would also be nice to have a link to some really awesome wallpapers as new users are not going to know how to put their favorite photo on the desktop.

    Mageia 6 is stable. Kernel is stable. Plasma seems to have a strange thing we it reverts to desktop settings. Mageia Control Center and Software Installer seem to have a bug where they do not turn on and you have to reboot. Network seems to work good. Hardware compatibility was perfect for me: ASUS mini-ITX Impact. I have not yet test printers or graphics cards.

  18. Pingback: Mageia Akan Gunakan DNF Sebagai Alternatif Urpmi

  19. katnatek says:

    Report that this comments are not mine:
    comment-7866
    comment-7865
    comment-7864
    comment-7863
    comment-7865

    I don’t know who did neither why use my email but quite sure if you check origin will note that are not mine

  20. Pingback: Incluyendo DNF en Mageia | Mageia Blog (Español)

  21. Davide says:

    It’s not possible to integrate hawkey or libsolv into urpmi?

    • schultz says:

      You would be more likely to get sufficiently technical answers to questions like that on the dev ml or dev channel on irc.