Announcement

Collapse
No announcement yet.

Mageia To Offer DNF, But Will Keep Using URPMI By Default

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Thanks for filling the bug. Hopefully it will be implemented soon and using zypper in fedora will be easy.

    Originally posted by King InuYasha View Post
    Zypper does have some nice things, like the colorful text, which makes it easier to identify the kind of changes occurring. It'd be nice to see that in DNF, too.
    Yes, I find the way zypper presents most of the information way better than dnf.
    For example at update it shows the old and new version, this way I can tell if a program has a major version update that means probably some big changes are included.
    And the colorful text is really well designed.

    Comment


    • #12
      Originally posted by King InuYasha View Post

      Hey, I'm the guy who actually is implementing all of this.

      The most compelling reason to choose DNF was the API. It's not that easy to integrate Zypper into applications written in languages other than C++, whereas DNF has a Python API (by virtue of being written in Python) and someone has written a daemon that lets us use it via the API in non-Python applications. The Zypper bindings are very flaky and mostly not usable. Most of Mageia's tools are written in Perl and Python, so this is an important consideration. Even without that, the underlying libraries that DNF uses are written in C, and are easy enough to access from other languages through gobject-introspection or a CFFI. The PackageKit-Hif backend is also more reliable in my experience. And unlike Zypper, there's a non-YaST GUI frontend already available for us to use while we update our own, if we want to use it.

      There are also a couple of features in DNF that don't exist in Zypper that we want to leverage:
      • Actionable history (dnf history info/list/undo/redo)
      • Programmable transaction hooks

      Using DNF doesn't preclude OBS integration. In fact, if an OBS plugin were to be written for DNF, it would just work with Mageia 6, because I've already worked with the OBS guys to prepare for it.
      All right, nice to know.

      So which are you going for, OBS or Copr? Or both? I feel that OBS is an overall stronger contender there, but then I haven't worked with Copr much.

      Comment


      • #13
        Originally posted by GreatEmerald View Post

        All right, nice to know.

        So which are you going for, OBS or Copr? Or both? I feel that OBS is an overall stronger contender there, but then I haven't worked with Copr much.
        At least initially, I'm focusing more on Copr, since there's already a plugin. But I have already worked with the OBS developers to ensure that the Mageia 6 will be supported (producing DNF-compatible repositories) once Mageia 6 is released.

        Comment


        • #14
          How to list package updates together with installed versions in one view with dnf?

          I hacked together this side-by-side comparison:
          Code:
          # I could have used check-update, but distro-sync or upgrade was easier to parse
          echo n | dnf distro-sync | sed -ne '/^Upgrading:$/,/^Transaction Summary$/{/^ /p}' | while read name arch to repo size; do printf "%50s → %-20s %8s %8s %s\n" "$(rpm -q "$name")" "$to" "$repo" "$arch" "$size"; done

          Comment

          Working...
          X