Description of Problem: When having /usr mounted read-only (and put into rpms %_netsharedpath), the %postinstall scriptlet fails. This leads to duplicate entries in the rpm-database: $ rpm -q guile guile-1.3.4-14 guile-1.3.4-15 See bug #51193 also. Version-Release number of selected component (if applicable): guile-1.3.4-15 (-14 also) Steps to Reproduce: 1. mount /usr read-only 2. rpm -U --eval '%define _netsharedpath /usr' guile-1.3.4-15.i386.rpm Actual Results: (2) tells ERROR: In procedure open-file: ERROR: No such file or directory: "/usr/share/guile/slib/mklibcat" Fehler: execution of %post scriptlet from guile-1.3.4-15 failed, exit status 2 Expected Results: no output Additional Information: Message is misleading; strace tells: $ strace -eopen /usr/bin/guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)" ... open("/usr/share/guile/slibcat", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EROFS (Read-only file system)
OK, fixed in: guile-1.3.4-16 umb-scheme-3.2-21 It needs also umb-scheme to be updated (as that one contains the 'original' slibcat file). The one included by umb-scheme doesn't need to be processed by guile anymore to be used. Hope this fixes your problems. But keep in mind that if some package adds any modules in slib then slibcat will be regenerated by guile and might fail in /usr is read-only. Granted, the slibcat file should probably then go to /var whatever, but that's something perhaps for a future fix. Read ya, Phil