Re: Re: Suggested ScriptletSnippets (icon cache) changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Jan 2009, Rex Dieter wrote:

Rex Dieter wrote:
Bill Nottingham wrote:
Enrico Scholz (enrico.scholz@xxxxxxxxxxxxxxxxxxxxxxxxx) said:

?  All relevant Fedora releases should understand %posttrans and this
speeds up things significantly.

As posttrans isn't collated into a single run, it just moves the total
of calls from point A to point B, and therefore would theoretically
only speed things up via cache effects.

posttrans could be a win if the idea from
https://bugzilla.redhat.com/show_bug.cgi?id=170335#c33
ever came to fruition.

nevermind, recalled that posttrans was previously considered and rejected, since posttrans isn't called on erasure (only install/upgrade).

Yup, %posttrans for erase is kinda hard when the package header(s) that the regular rpm scriptlet machinery needs are long gone by the time %posttrans runs.

I've been playing around a bit with the "file triggers" concept recently, a very crude but lightweight version is actually possible with a three-liner patch to rpm 4.6 (heck, even 4.4.2.x) + bit of lua scripting. This is nowhere near real-world usable (see below) but in case somebody wants to tinker and play around, a quick and dirty example is here: http://laiskiainen.org/tmp/rpmhook-example/

This tries to get by with just watching bunch of selected directories and launching associated hooks if the directory times change, which is fairly close to being enough, at least for many things:

[root@turre rpm-4.6.x]# ./rpm -Uvh --noscripts /tmp/gthumb-2.10.10-3.fc10.x86_64.rpm /tmp/seahorse-2.24.1-1.fc10.x86_64.rpm Preparing... ########################################### [100%] 1:seahorse ########################################### [ 50%] 2:gthumb ########################################### [100%]
ldconfig hook caught:
  -> /usr/lib64
desktop_db hook caught:
  -> /usr/share/applications
scrollkeeper hook caught:
  -> /usr/share/omf

Icon cache gets missed here as the files go into subdirectories of /usr/share/icons/hicolor/, it'd need watching on all the directories recursively. This approach will give some false positives too, like gthumb putting files into /usr/lib64/gthumb/ triggering ldconfig needlessly, otoh in many cases the false positives are harmless as it only runs once.

The nice point about using directory timestamps would be that it avoids potentially *very* expensive filename/regex matching on the entire transaction set filelist + needing to store the matches somewhere, but whether that's sufficient for real-world use I dunno... Also this doesn't handle chroot at all, and the hooks should come from the relevant packages, not from some central rpm scripts which in turn means the hooks should be in headers etc.

	- Panu -

--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux