[Bug 1002507] New: zypper packages --unneeded does not list all unneeded packages
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507 Bug ID: 1002507 Summary: zypper packages --unneeded does not list all unneeded packages Classification: openSUSE Product: openSUSE Distribution Version: Leap 42.2 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: libzypp Assignee: zypp-maintainers@forge.provo.novell.com Reporter: rdodopoulos@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Trying to uninstall an unneeded package (e.g., gtk2-tools-32bit) wants to remove a package that seems to be -not listed as unneeded- needed (e.g., libcanberra-gtk2-module-32bit).
linux:/home/test # zypper packages --unneeded Loading repository data... Warning: Repository 'openSUSE-Leap-42.2-Update-Non-Oss' appears to be outdated. Consider using a different mirror or server. Reading installed packages... S | Repository | Name | Version | Arch --+-----------------+------------------------+-------------+------- i | openSUSE-42.2-0 | gtk2-tools-32bit | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | libcanberra-gtk0-32bit | 0.30-12.1 | x86_64 i | openSUSE-42.2-0 | libgtk-2_0-0-32bit | 2.24.31-1.1 | x86_64 linux:/home/test # zypper --quiet rm gtk2-tools-32bit
The following 4 packages are going to be REMOVED: gtk2-tools-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libgtk-2_0-0-32bit
4 packages to remove. After the operation, 5.7 MiB will be freed. Continue? [y/n/? shows all options] (y): n
From my point of view either those packages should not have been marked as unneeded at all or libcanberra-gtk2-module-32bit should have been marked as unneeded as well. Since libcanberra-gtk2-module-32bit seems to be actually unneeded the second option seems to be more valid.
Similarly,
linux:/home/test # zypper --quiet rm libcanberra-gtk0-32bit
The following 2 packages are going to be REMOVED: libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit
2 packages to remove. After the operation, 39.3 KiB will be freed. Continue? [y/n/? shows all options] (y): n linux:/home/test # zypper --quiet rm libgtk-2_0-0-32bit
The following 4 packages are going to be REMOVED: gtk2-tools-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libgtk-2_0-0-32bit
4 packages to remove. After the operation, 5.7 MiB will be freed. Continue? [y/n/? shows all options] (y): n
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c1
Michael Andres
# zypper in --debug-solver nopackage ... Generating solver test case... Solver test case generated successfully at /var/log/zypper.solverTestCase. Then pack the output directory together with /var/log/zypper.log and attach it to the bugreport.
In case the testcase exceeds the 10MB limit for bugzilla uploads, you can use 'split' to divide the file into smaller pieces:
$ cd /tmp $ tar cvjf zypper.solverTestCase.tar.bz2 /var/log/zypper.solverTestCase/ $ split -b 9M --additional-suffix=-zypper.solverTestCase.tar.bz2 \ zypper.solverTestCase.tar.bz2 The created pieces will be named like this: xaa-zypper.solverTestCase.tar.bz2 xab-zypper.solverTestCase.tar.bz2 xac-zypper.solverTestCase.tar.bz2 ...
-- You are receiving this mail because: You are on the CC list for the bug.
The following 81 NEW packages are going to be installed: atk-devel cairo-devel damageproto-devel fixesproto-devel fontconfig-devel freetype2-devel gdk-pixbuf-devel gdk-pixbuf-query-loaders-32bit glib2-devel graphite2-devel gtk2-devel gtk2-devel-32bit gtk2-tools-32bit harfbuzz-devel kbproto-devel libatk-1_0-0-32bit libbz2-devel libcairo2-32bit libcanberra0-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libdatrie1-32bit libdrm-devel libexpat-devel libgbm1-32bit libgdk_pixbuf-2_0-0-32bit libgraphite2-3-32bit libgtk-2_0-0-32bit libharfbuzz0-32bit libicu-devel libjasper1-32bit libltdl7-32bit libpango-1_0-0-32bit libpcrecpp0 libpcreposix0 libpixman-1-0-32bit libpixman-1-0-devel libpng16-compat-devel libpng16-devel libstdc++48-devel libstdc++-devel libthai0-32bit libvorbisfile3-32bit libwayland-client0-32bit libwayland-server0-32bit libX11-devel libXau-devel libxcb-composite0 libxcb-damage0 libxcb-devel libxcb-dpms0 libxcb-record0 libxcb-render0-32bit libxcb-res0 libxcb-screensaver0 libxcb-shm0-32bit libxcb-xevie0 libxcb-xfixes0-32bit libxcb-xprint0 libxcb-xtest0 libxcb-xvmc0 libXcomposite1-32bit libXdamage-devel libXext-devel libXfixes-devel libXft2-32bit libXft-devel libXrender-devel libXxf86vm-devel Mesa-libEGL1-32bit Mesa-libEGL-devel Mesa-libGL-devel pango-devel pcre-devel pthread-stubs-devel renderproto-devel typelib-1_0-Gtk-2_0 xextproto-devel xf86vidmodeproto-devel xproto-devel zlib-devel
The following recommended package was automatically selected: libpng16-compat-devel
81 new packages to install.
The following package is going to be REMOVED: gtk2-devel-32bit
1 package to remove.
S | Repository | Name | Version | Arch --+-----------------+------------------------+------------------------------+------- i | openSUSE-42.2-0 | gtk2-devel | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | gtk2-tools-32bit | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | libcanberra-gtk0-32bit | 0.30-12.1 | x86_64 i | openSUSE-42.2-0 | libgtk-2_0-0-32bit | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | texlive-lm-fonts | 2015.104.2.004svn28119-19.15 | noarch
The following 4 packages are going to be REMOVED: gtk2-tools-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libgtk-2_0-0-32bit
4 packages to remove.
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c2
Romanos Dodopoulos
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c3
Romanos Dodopoulos
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c4
--- Comment #4 from Romanos Dodopoulos
The following 81 NEW packages are going to be installed: atk-devel cairo-devel damageproto-devel fixesproto-devel fontconfig-devel freetype2-devel gdk-pixbuf-devel gdk-pixbuf-query-loaders-32bit glib2-devel graphite2-devel gtk2-devel gtk2-devel-32bit gtk2-tools-32bit harfbuzz-devel kbproto-devel libatk-1_0-0-32bit libbz2-devel libcairo2-32bit libcanberra0-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libdatrie1-32bit libdrm-devel libexpat-devel libgbm1-32bit libgdk_pixbuf-2_0-0-32bit libgraphite2-3-32bit libgtk-2_0-0-32bit libharfbuzz0-32bit libicu-devel libjasper1-32bit libltdl7-32bit libpango-1_0-0-32bit libpcrecpp0 libpcreposix0 libpixman-1-0-32bit libpixman-1-0-devel libpng16-compat-devel libpng16-devel libstdc++48-devel libstdc++-devel libthai0-32bit libvorbisfile3-32bit libwayland-client0-32bit libwayland-server0-32bit libX11-devel libXau-devel libxcb-composite0 libxcb-damage0 libxcb-devel libxcb-dpms0 libxcb-record0 libxcb-render0-32bit libxcb-res0 libxcb-screensaver0 libxcb-shm0-32bit libxcb-xevie0 libxcb-xfixes0-32bit libxcb-xprint0 libxcb-xtest0 libxcb-xvmc0 libXcomposite1-32bit libXdamage-devel libXext-devel libXfixes-devel libXft2-32bit libXft-devel libXrender-devel libXxf86vm-devel Mesa-libEGL1-32bit Mesa-libEGL-devel Mesa-libGL-devel pango-devel pcre-devel pthread-stubs-devel renderproto-devel typelib-1_0-Gtk-2_0 xextproto-devel xf86vidmodeproto-devel xproto-devel zlib-devel
The following recommended package was automatically selected: libpng16-compat-devel
81 new packages to install.
The following package is going to be REMOVED: gtk2-devel-32bit
1 package to remove.
S | Repository | Name | Version | Arch --+-----------------+------------------------+------------------------------+------- i | openSUSE-42.2-0 | gtk2-devel | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | gtk2-tools-32bit | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | libcanberra-gtk0-32bit | 0.30-12.1 | x86_64 i | openSUSE-42.2-0 | libgtk-2_0-0-32bit | 2.24.31-1.1 | x86_64 i | openSUSE-42.2-0 | texlive-lm-fonts | 2015.104.2.004svn28119-19.15 | noarch
The following 4 packages are going to be REMOVED: gtk2-tools-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit libgtk-2_0-0-32bit
4 packages to remove.
Reproducer ---------- 1. zypper install gtk2-devel-32bit 2. zypper remove gtk2-devel-32bit 3. zypper packages --unneeded 4. zypper remove gtk2-tools-32bit 5. Observe that libcanberra-gtk2-module-32bit was not listed in step 4. ^^^^^^^^^ CORRECT: in step 3
Ondřej Súkup mentioned and I think he is right that this happens when 2 packages are from the same source file.
The same happens when trying to uninstalling (unneeded) libpng16-devel that wants to uninstall (not marked as unneeded) libpng16-compat-devel. In that case, it is clear but it was still confusing at first.
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c5
--- Comment #5 from Michael Andres
libcanberra-gtk2-module-32bit: supplements: packageand(libcanberra0:gtk2-32bit)
Without the supplements, libcanberra-gtk2-module-32bit is considered to be unneeded. In fact it is considered to be the only unneeded package (ignoring the unrelated gtk2-devel and texlive-lm-fonts). With the supplements it turns into a needed package and those packages turn into uneeded:
gtk2-tools-32bit libcanberra-gtk0-32bit libgtk-2_0-0-32bit
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507
http://bugzilla.opensuse.org/show_bug.cgi?id=1002507#c6
Michael Andres
participants (1)
-
bugzilla_noreply@novell.com