Adam Williamson wrote:
On Fri, 2015-10-02 at 20:42 -0600, P. Gueckel
wrote:
> Adam Williamson wrote:
>
> > In practice, the best thing to do about scriptlet
> fails is to file a
> > bug any time you see one, and try to figure out
what
> specifically the
> > scriptlet that failed *was*, and what it was
meant
> to do. If it
> > actually needed to do something in your
particular
> context, re-do that
> > thing manually.
>
> Thanks for the great and detailed answer :-) It's
nice
> to be told what is really going on and not just be
> given a yes/no response that doesn't increase one's
> knowledge or tell much of anything at all.
>
> OK. I guess that's the least I can do, since I am a
de
> facto tester of F23, having installed the ß to a
spare
> partition :-)
>
> I recall which package it was, pretty much ;-) It
was
> almost certainly appstream, but it could have been
> appstream-data or appstream-qt, but I don't think
it
> was.
I think you should be able to retrieve the error
message from dnf
history. Try 'dnf history list', identify the
transaction (you should
be able to spot it from the number of packages
changed, or you
can just
go through the last few) and do 'dnf history info
(number)'. It should
show the log and you can see the exact message
again.
You can see the actual scriptlets in the package
either with 'rpm -q --
scripts (packagename)' - which will show you the
scriptlets as they
exist in the *current installed* version - or in
package git,
(where
you can
obviously go back through earlier versions).
scriptlet
ordering is
documented here:
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Orde...
Just above it, there's a table of the weird "$1 ==
n" conditionals
you
will find yourself wondering about :) Basically the
scriptlets
are
passed a value indicating the nature of the
transaction:
whether the
package is being installed for the first time,
updated, or
removed. You
will often find that a scriptlet only does anything
at all in
one of
those cases, or does very different things in
different
cases.
That's pretty cool, but I'm not sure what I should do
with it ;-) I guess I could post it to the bug report.
Here is what it says:
Scriptlet output:
1 disabled
2 disabled
3 disabled
4 disabled
5 /sbin/ldconfig: relative path `1' used to build
cache
6 warning: %postun(appstream-0.8.4-1.fc23.x86_64)
scriptlet failed, exit status 1