Description of problem: choose and install all DE, servers and workstations less development and network computer(client) from below i586 .iso. at near competion of install, a notice appears : ERROR: 'script' failed for libgtk+2.0_0-2.24.31-2.mga6.i586. clicking on "ok" then presents the configuration page. install then proceeds as normal Mageia-6-i586-DVD.iso DATE.txt: Sat Jul 8 10:32:36 CEST 2017 Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1.choose and install all DE, servers and workstations less development and network computer(client) 2. at near completion of install, an error message appears: "ERROR: 'script' failed for libgtk+2.0_0-2.24.31-2.mga6.i586." 3.
Created attachment 9479 [details] all DE install report for i586
Keywords: (none) => 6final
Relevant error from the debug.log: """ /usr/lib/gtk-2.0/bin/gtk-query-immodules-2.0: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory %post(libgtk+2.0_0-2.24.31-2.mga6.i586) scriptlet failed, exit status 127 """ and: """ * chosen libgtk+-x11-2.0_0-2.24.31-2.mga6.i586 for libgtk-x11-2.0.so.0 * selecting libgtk+-x11-2.0_0-2.24.31-2.mga6.i586 * requiring gtk+2.0[>= 2.24.31-2.mga6],libgtk+2.0_0[== 2.24.31] for libgtk+-x11-2.0_0-2.24.31-2.mga6.i586 """ Failure happens here: http://svnweb.mageia.org/packages/cauldron/gtk%2B2.0/current/SPECS/gtk%2B2.0.spec?view=markup#l169 The relevant Requires(post) is there, but it creates a dependency loop: http://svnweb.mageia.org/packages/cauldron/gtk%2B2.0/current/SPECS/gtk%2B2.0.spec?view=markup#l160 Should that %post be changed to a %posttrans to ensure that both libraries are installed before running that script?
Priority: Normal => release_blockerCC: (none) => rpmstackAssignee: bugsquad => gnomeStatus comment: (none) => Dependency loop: libgtk+2.0_0's %post requires libgtk+-x11-2.0_0, which requires libgtk+2.0_0Source RPM: libgtk+2.0_0-2.24.31-2.mga6.i586? => gtk+2.0
Summary: ERROR: 'script' failed for libgtk+2...." during install => Dependency loop between libgtk+2.0_0's %post and libgtk+-x11-2.0_0. (ERROR: 'script' failed for libgtk+2...." during install)
The %posttrans idea might work. Otherwise, it might just be a circular deps issue. %{libname_x11} Requires %{libname} and vise versa. The %{libname_x11} Requires %{libname} should be removed.
Unless it actually does require %libname, at which point then converting to %posttrans is the right way to fix it.
CC: (none) => ngompa13
I think it likely that %{libname_x11} *does* require %{libname}. The problem is that the %post of %{libname} requires %{libname_x11} too for one command, so either that %post should be move in %{libname_x11} (might make sense), or it should be made a %posttrans yes.
Created attachment 9482 [details] Proposed patch to prevent circular dep in %post Please review my proposed patch, %posttrans does not have "$1 == 2" as %post does to check if it's a package upgrade, so I had to remove the check. I hope it wouldn't introduce an issue. https://fedoraproject.org/wiki/Packaging:Scriptlets
I also noticed that this same command is ran during a %filetriggerin. IMO instead of this patch, split it out into two: 1. %post to remove the directory (or whatever); no require 2. %posttrans to run the command; WITH require
CC: (none) => olav
Good idea. I've pushed this as gtk+2.0-2.24.31-3.mga6: http://svnweb.mageia.org/packages?view=revision&revision=1109645
Resolution: (none) => FIXEDStatus: NEW => RESOLVED