On Thursday 11 October 2007 03:59:52 Jon Masters wrote: > Seems to me that it'd be more useful if the readahead package > configuration files (default/later) could use wildcards for path > components such as firefox, python, etc. (so that you don't have quite > the disconnect/lock-step requirement between these packages). I've been working on a tool that scans certain important paths looking for any file that is unpackaged. What I've found is that a lot of files get installed where the package creates the directory structure, but does not actually own it. IOW, a packager will do: %config(noreplace) %attr(640,root,root) /etc/audit/auditd.conf but DOES NOT do: %attr(750,root,root) %dir /etc/audit So, when the package is upgraded later by another version or uninstalled, you have *many* files laying around and dead-end directories. Here's a SMALL sample of a typical rawhide system: /usr/lib/gtk is not owned by a package /usr/lib/gtk/themes is not owned by a package /usr/lib/gtk/themes/engines is not owned by a package /usr/lib/pwlib is not owned by a package /usr/lib/pwlib/codecs is not owned by a package /usr/lib/pwlib/codecs/audio is not owned by a package /usr/lib/mozilla-1.7.8 is not owned by a package /usr/lib/mozilla is not owned by a package /usr/lib/mozilla/plugins is not owned by a package /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi is not owned by a package /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto is not owned by a package /usr/lib/perl5/vendor_perl/5.8.8/auto is not owned by a package /usr/lib/perl5/vendor_perl/5.8.6/HTML is not owned by a package /usr/lib/perl5/vendor_perl/5.8.6/XML is not owned by a package /usr/lib/samba is not owned by a package /usr/lib/samba/auth is not owned by a package /usr/lib64/gimp/2.0/interpreters is not owned by a package /usr/lib64/mozilla-1.7.12 is not owned by a package /usr/lib64/mozilla-1.7.12/chrome is not owned by a package /usr/lib64/mozilla-1.7.12/chrome/overlayinfo is not owned by a package /usr/lib64/mozilla-1.7.12/chrome/overlayinfo/messenger is not owned by a package /usr/lib64/mozilla-1.7.12/chrome/overlayinfo/messenger/content is not owned by a package /usr/lib64/mozilla-1.7.12/chrome/overlayinfo/messenger/content/overlays.rdf is not owned by a package /usr/lib64/X11/app-defaults is not owned by a package /usr/lib64/X11/locale is not owned by a package /usr/lib64/mozilla-1.7.11 is not owned by a package /usr/lib64/mozilla-1.7.11/chrome is not owned by a package /usr/lib64/mozilla-1.7.11/chrome/overlayinfo is not owned by a package /usr/lib64/mozilla-1.7.11/chrome/overlayinfo/messenger is not owned by a package /usr/lib64/mozilla-1.7.11/chrome/overlayinfo/messenger/content is not owned by a package /usr/lib64/mozilla-1.7.11/chrome/overlayinfo/messenger/content/overlays.rdf is not owned by a package /usr/lib64/openoffice.org2.1 is not owned by a package /usr/lib64/openoffice.org2.1/share is not owned by a package /usr/lib64/libkdeinit_kview.so.#prelink#.n5F8Qg is not owned by a package /usr/lib64/totem is not owned by a package /usr/lib64/python2.4 is not owned by a package /usr/lib64/python2.4/site-packages is not owned by a package /usr/lib64/python2.4/site-packages/dbus is not owned by a package /usr/lib64/python2.4/site-packages/gtk-2.0 is not owned by a package /usr/lib64/python2.4/site-packages/gtk-2.0/gtk is not owned by a package /usr/lib64/python2.4/site-packages/GMenuSimpleEditor is not owned by a package /usr/lib64/ruby/1.8/x86_64-linux/io is not owned by a package /usr/lib64/ruby/1.8/x86_64-linux/racc is not owned by a package /usr/lib64/ruby/1.8/optparse is not owned by a package /usr/lib64/ruby/1.8/dl is not owned by a package /usr/lib64/gcj-4.1.0 is not owned by a package /usr/lib64/gcj-4.1.0/classmap.db is not owned by a package /usr/lib64/openoffice.org2.0 is not owned by a package /usr/lib64/openoffice.org2.0/program is not owned by a package /usr/lib64/python2.5/site-packages/dbus is not owned by a package /usr/lib64/gcj-4.0.1 is not owned by a package /usr/lib64/gcj-4.0.1/classmap.db is not owned by a package /usr/lib64/rhythmbox/plugins is not owned by a package /usr/lib64/gcj/xerces-j2 is not owned by a package /usr/lib64/gcj/tomcat5 is not owned by a package /usr/lib64/gcj/sinjdoc is not owned by a package /usr/lib64/firefox-2.0.0.6/plugin-config is not owned by a package /usr/lib64/mozilla-1.7.10 is not owned by a package /usr/lib64/mozilla-1.7.10/chrome is not owned by a package /usr/lib64/mozilla-1.7.10/chrome/overlayinfo is not owned by a package /usr/lib64/mozilla-1.7.10/chrome/overlayinfo/messenger is not owned by a package /usr/lib64/mozilla-1.7.10/chrome/overlayinfo/messenger/content is not owned by a package /usr/lib64/mozilla-1.7.10/chrome/overlayinfo/messenger/content/overlays.rdf is not owned by a package /usr/lib64/gtk-2.0/2.10.0/filesystems is not owned by a package /usr/lib64/firefox-2.0.0.5 is not owned by a package /usr/lib64/firefox-2.0.0.5/plugin-config is not owned by a package /usr/lib64/sasl is not owned by a package /usr/lib64/udev is not owned by a package /usr/lib64/firefox-2.0.0.2 is not owned by a package /usr/lib64/firefox-2.0.0.2/updates is not owned by a package /usr/lib64/firefox-2.0.0.2/updates/0 is not owned by a package /usr/lib64/gcj-4.1.1 is not owned by a package /usr/lib64/gcj-4.1.1/classmap.db is not owned by a package and perl5 is a very naughty package too. This is a small sample of all the unclaimed files/dirs on a system. So, if you have a wildcard, the search for the right file can go down a lot of deadends before it finds the right one. Then what if the wildcard picks something that is the wrong version? I think one thing that would help performance overall is that packages must own all the directories they create and delete them when its uninstalled. This removes directory entries and improves search time. -Steve -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list