Bug 52742 - %postinstall scriptlet fails if /usr is mounted ro
%postinstall scriptlet fails if /usr is mounted ro
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: guile (Show other bugs)
7.3
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Phil Knirsch
:
Depends On: 51193
Blocks:
  Show dependency treegraph
 
Reported: 2001-08-28 13:06 EDT by Enrico Scholz
Modified: 2015-03-04 20:09 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-09-03 09:09:05 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Enrico Scholz 2001-08-28 13:06:26 EDT
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)
Comment 1 Phil Knirsch 2001-09-04 07:54:33 EDT
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

Note You need to log in before you can comment on or make changes to this bug.