I've noticed for a while that updates get "stuck" in the scriptlets
phase.  For example I've got an update running now which has taken
3+ minutes of wallclock time (on a 16 core Xeon) in the scriptlets.
Looking in ‘top’ I can see:

  29490 root      20   0  156620  28352   2684 S  25.7  0.0   1:41.52 mandb

I suspect this runs from the following trigger in the man-db package:

  # update cache
  %transfiletriggerpostun -- %{_mandir}
  MAN_NO_LOCALE_WARNING=1 /usr/bin/mandb -q

It creates or updates a set of databases under /var/cache/man.

The databases are not used by the regular ‘man’ command.  They are
only used by ‘apropos’ and ‘whatis’ which are (I suppose) quite rarely
used commands for searching all man pages.

You can prove this by moving /var/cache/man out of the way, and you'll
notice that ‘man’ continues to work just fine.  However ‘whatis’
always prints ‘nothing appropriate’ if no database is available.

There is a man-db-cron package, although it's not installed by
default.  Perhaps we could install the cron job by default and drop
the trigger?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to