Bug 52742 - %postinstall scriptlet fails if /usr is mounted ro
Summary: %postinstall scriptlet fails if /usr is mounted ro
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: guile
Version: 7.3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Phil Knirsch
QA Contact:
URL:
Whiteboard:
Depends On: 51193
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-08-28 17:06 UTC by Enrico Scholz
Modified: 2015-03-05 01:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-09-03 13:09:05 UTC
Embargoed:


Attachments (Terms of Use)

Description Enrico Scholz 2001-08-28 17:06:26 UTC
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 11:54:33 UTC
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.