Bug 21404 - Update candidate: DNF package manager stack
Summary: Update candidate: DNF package manager stack
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: advisory MGA6-64-OK
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2017-07-30 00:36 CEST by Neal Gompa
Modified: 2017-08-17 10:02 CEST (History)
2 users (show)

See Also:
Source RPM: libsolv, libdnf, dnf, dnf-plugins-core, dnf-plugins-extras
CVE:
Status comment:


Attachments

Description Neal Gompa 2017-07-30 00:36:27 CEST
I've updated the DNF packager stack for Mageia 6 to fix several issues discovered post-release. In addition, it adds the ability to use short subcommand aliases for some common subcommands and to create foreign architecture installation roots.

This update can be tested by just doing some regular package management actions, as documented in the Using DNF wiki page: https://wiki.mageia.org/en/Using_DNF

Also, here are the short subcommand aliases:
* "dnf in", equivalent to "dnf install"
* "dnf rm", equivalent to "dnf remove"
* "dnf ri", equivalent to "dnf reinstall"
* "dnf mc", equivalent to "dnf makecache"
* "dnf sh", equivalent to "dnf shell"
* "dnf se", equivalent to "dnf search"
* "dnf up", equivalent to "dnf upgrade"
* "dnf um", equivalent to "dnf upgrade-minimal"
* "dnf dsync", equivalent to "dnf distro-sync"
* "dnf dg", equivalent to "dnf downgrade"

In addition, to test the new foreign architecture installroot feature, the following procedure is suggested (on x86_64 or i586):

1. Install qemu-user-static on the host system
2. Restart systemd-binfmt.service to have new binfmt take effect
2. Create the directory of your foreign arch chroot, suggested /tmp/mga6armtest
3. Copy /usr/bin/qemu-arm-static into /usr/bin subdirectory of foreign arch chroot directory (e.g. /tmp/mga6armtest/usr/bin)
4. Copy /usr/lib/binfmt.d/qemu-arm-static.conf into /usr/lib/binfmt.d subdirectory of foreign arch chroot directory (e.g. /tmp/mga6armtest/usr/lib/binfmt.d)
5. Run DNF as root to install into the directory. Here's a suggested command:

# dnf --installroot=/tmp/mga6armtest --forcearch=armv7hl --repofrompath=mga6rel,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/release/ --repofrompath=mga6up,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/updates/ --disablerepo=* --enablerepo=mga6rel --enablerepo=mga6up --setopt=install_weak_deps=False install basesystem-minimal dnf

6. Test the chroot to see if a program runs. Here's a suggested command (run as root): chroot /tmp/mga6armtest /usr/bin/uname -r -m


Suggested Advisory:
=========================================

The DNF package manager stack has been updated to address several issues.

For libsolv, there was one issue:

* libsolv was not properly processing multiple Obsoletes in a single transaction (rhbz#1470922)

For dnf, there were a few issues:

* "dnf list updates" was listing all possible updates, rather than only the latest one (rhbz#1423472)
* "dnf repoquery --obsoletes <package>" did not return Obsoletes defined in the package (rhbz#1457368)

For dnf-plugins-core, there was one issue:

* "dnf config-manager --addrepo" returned 0 on failure (rhbz#1439514)

For dnf-plugins-extras, there was one issue:

* dnf snapper plugin didn't create a snapshot before the transaction and after the transaction to provide a useful recovery snapshot of the system (rhbz#1248806)

In addition, as part of the update for dnf to 2.6.2, it gained the ability to use short subcommand aliases for some common subcommands and to create foreign architecture installation roots. Please see the wiki page on using DNF for more details: https://wiki.mageia.org/en/Using_DNF

References:
http://dnf.readthedocs.io/en/latest/release_notes.html#release-notes
http://dnf-plugins-core.readthedocs.io/en/latest/release_notes.html#release-notes
https://bugzilla.redhat.com/show_bug.cgi?id=1470922
https://bugzilla.redhat.com/show_bug.cgi?id=1423472
https://bugzilla.redhat.com/show_bug.cgi?id=1457368
https://bugzilla.redhat.com/show_bug.cgi?id=1439514
https://bugzilla.redhat.com/show_bug.cgi?id=1248806
=========================================

Updated packages in core/updates_testing:
=========================================

libsolv0-0.6.28-1.1.mga6
libsolv-devel-0.6.28-1.1.mga6
lib64solv0-0.6.28-1.1.mga6
lib64solv-devel-0.6.28-1.1.mga6
libsolv-doc-0.6.28-1.1.mga6
libsolv-tools-0.6.28-1.1.mga6
libsolv-demo-0.6.28-1.1.mga6
ruby-solv-0.6.28-1.1.mga6
python3-solv-0.6.28-1.1.mga6
perl-solv-0.6.28-1.1.mga6

libdnf1-0.9.3-1.mga6
libdnf-gir1.0-0.9.3-1.mga6
libdnf-devel-0.9.3-1.mga6
lib64dnf1-0.9.3-1.mga6
lib64dnf-gir1.0-0.9.3-1.mga6
lib64dnf-devel-0.9.3-1.mga6
hawkey-man-0.9.3-1.mga6
python2-hawkey-0.9.3-1.mga6
python3-hawkey-0.9.3-1.mga6

dnf-2.6.2-1.mga6
dnf-conf-2.6.2-1.mga6
dnf-yum-2.6.2-1.mga6
python2-dnf-2.6.2-1.mga6
python3-dnf-2.6.2-1.mga6
dnf-automatic-2.6.2-1.mga6

dnf-plugins-core-2.1.3-1.mga6
python2-dnf-plugins-core-2.1.3-1.mga6
python3-dnf-plugins-core-2.1.3-1.mga6
dnf-utils-2.1.3-1.mga6
python2-dnf-plugin-leaves-2.1.3-1.mga6
python3-dnf-plugin-leaves-2.1.3-1.mga6
python2-dnf-plugin-local-2.1.3-1.mga6
python3-dnf-plugin-local-2.1.3-1.mga6
python2-dnf-plugin-show-leaves-2.1.3-1.mga6
python3-dnf-plugin-show-leaves-2.1.3-1.mga6
python2-dnf-plugin-versionlock-2.1.3-1.mga6
python3-dnf-plugin-versionlock-2.1.3-1.mga6

python2-dnf-plugins-extras-common-2.0.1-1.1.mga6
python3-dnf-plugins-extras-common-2.0.1-1.1.mga6
python2-dnf-plugin-kickstart-2.0.1-1.1.mga6
python3-dnf-plugin-kickstart-2.0.1-1.1.mga6
python3-dnf-plugin-rpmconf-2.0.1-1.1.mga6
python2-dnf-plugin-snapper-2.0.1-1.1.mga6
python3-dnf-plugin-snapper-2.0.1-1.1.mga6
python2-dnf-plugin-system-upgrade-2.0.1-1.1.mga6
python3-dnf-plugin-system-upgrade-2.0.1-1.1.mga6
python2-dnf-plugin-tracer-2.0.1-1.1.mga6
python3-dnf-plugin-tracer-2.0.1-1.1.mga6
python3-dnf-plugin-torproxy-2.0.1-1.1.mga6

Source RPMs:
libsolv-0.6.28-1.1.mga6.src.rpm
libdnf-0.9.3-1.mga6.src.rpm
dnf-2.6.2-1.mga6.src.rpm
dnf-plugins-core-2.1.3-1.mga6.src.rpm
dnf-plugins-extras-2.0.1-1.1.mga6.src.rpm
Ulrich Beckmann 2017-07-30 07:09:55 CEST

CC: (none) => bequimao.de

Comment 1 Rémi Verschelde 2017-07-30 13:37:49 CEST
Upgraded the following installed packages on my Mageia 6 x86_64: dnf dnf-core dnf-plugins-core dnf-yum hawkey-man lib64dnf1 libg64solv0 libsolv-tools python3-dnf python3-dnf-plugins-core python3-hawkey

Will report back after some testing.
Comment 2 Ulrich Beckmann 2017-07-30 18:43:02 CEST
I did likewise

# dnf upgrade dnf dnf-conf dnf-plugins-core python3-dnf python3-dnf-plugin-snapper python3-dnf-plugin-versionlock  python3-dnf-plugins-core python3-dnf-plugins-extras-common lib64solv0
Last metadata expiration check: 0:02:33 ago on So 30 Jul 2017 18:31:41 UTC.
Dependencies resolved.

...

Installed:
  dnf-yum.noarch 2.6.2-1.mga6

Upgraded:
  dnf.noarch 2.6.2-1.mga6                                  dnf-conf.noarch 2.6.2-1.mga6                       dnf-plugins-core.noarch 2.1.3-1.mga6
  hawkey-man.noarch 0.9.3-1.mga6                           lib64dnf1.x86_64 0.9.3-1.mga6                      lib64solv0.x86_64 0.6.28-1.1.mga6
  libsolv-tools.x86_64 0.6.28-1.1.mga6                     python3-dnf.noarch 2.6.2-1.mga6                    python3-dnf-plugin-snapper.noarch 2.0.1-1.1.mga6
  python3-dnf-plugin-versionlock.noarch 2.1.3-1.mga6       python3-dnf-plugins-core.noarch 2.1.3-1.mga6       python3-dnf-plugins-extras-common.noarch 2.0.1-1.1.mga6
  python3-hawkey.x86_64 0.9.3-1.mga6

Complete!

Ulrich
Comment 3 Rémi Verschelde 2017-08-16 23:35:19 CEST
Marking as OK on Mageia 6 x86_64 for comments 1 and 2.

Validating, advisory uploaded.

Keywords: (none) => validated_update
Whiteboard: (none) => advisory MGA6-64-OK
CC: (none) => sysadmin-bugs

Comment 4 Nicolas Lécureuil 2017-08-17 00:13:17 CEST
Update ID assignment failed

Checking for QA validation keyword⦠  â
Checking dependent bugs⦠             â (None found)
Checking SRPMs⦠                      â (6/core/dnf-2..0-1.mga5) â â â â â 


'validated_update' keyword reset.

Keywords: validated_update => (none)

Comment 5 Rémi Verschelde 2017-08-17 08:06:10 CEST
Advisory fixed.

Keywords: (none) => validated_update

Comment 6 Mageia Robot 2017-08-17 10:02:40 CEST
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGAA-2017-0061.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.