On 01/02/2014 11:34 AM, James Antill wrote:
Eric Shubert <ejs@xxxxxxxxxx> writes:
Let me try to explain a little better what's going on. For example, my
clamav package runs "freshclam" during the %post section, in order to
update virus definitions. The freshclam program outputs a progress
bar, so you can see how the download is going as it progresses. This
works fine when using the rpm command.
This is broken, it's an error for rpm packages to output anything in
%post/%postun ...
Since when is output from an rpm script considered an error? That's news
to me (which is, ironically, nothing new). ;) Can you point me to some
documentation which explains this?
If %post scripts are prohibited from using stdout/stderr, how then are
such scripts supposed to report progress (and/or problems)?
and you'll see that "yum history" will flag any
transaction without output as problematic.
Why exactly is that?
What purpose does this serve?
When the package is installed with yum though, yum shows no progress
bar during the download. The %post section appears to run silently
until the very end, at which time it duly spits out all of the output
created by the %post script(s). My objective here is to have yum show
these messages as they happen, same as what occurs when running rpm.
Even if we wanted to change this behaviour the API interface between
rpm and yum doesn't make this easy.
Sounds to me like the API interface is a bit lacking. :(
I could of course remove the pertinent %post processing from the rpm and
run it external to yum, but that sort of defeats the purpose of having
%post processing in general.
Out of curiosity, how does (or doesn't) yum handle %verify script output?
Is there any sort of best practice (I'm likely missing) for
accomplishing this sort of thing? I'd like to do things in a typical
manner, but I'm finding yum to be somewhat prohibitive in this area.
Thanks for your patience and guidance.
--
-Eric 'shubes'
_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxx
http://lists.baseurl.org/mailman/listinfo/yum