Subject: Re: problem with build.sh and rdonly filesystem
To: Ronald van der Pol <Ronald.vanderPol@rvdp.org>
From: Luke Mewburn <lukem@netbsd.org>
List: current-users
Date: 03/05/2003 11:26:49
On Tue, Mar 04, 2003 at 10:50:45PM +0100, Ronald van der Pol wrote:
| I haven't built current for about a month.
|
| I have successfully built on an NFS server. The filesytem is mounted
| read-only on the host I which to install.
|
| # sh build.sh -U -M /net/NetBSD/obj-i386 -T /net/NetBSD/tools-i386 \
| -D /net/NetBSD/build-i386 -V MKTOOLS=no install=/
| ===> build.sh command: build.sh -U -M /net/NetBSD/obj-i386 \
| -T /net/NetBSD/tools-i386 -D /net/NetBSD/build-i386 -V MKTOOLS=no install=/
| ===> build.sh started: Tue Mar 4 22:35:30 CET 2003
| mkdir: /net/NetBSD/obj-i386: Read-only file system
| ===> DESTDIR path: /net/NetBSD/build-i386
| ===> TOOLDIR path: /net/NetBSD/tools-i386
| mkdir: /net/NetBSD/tools-i386/bin: Read-only file system
|
| ERROR: mkdir of '/net/NetBSD/tools-i386/bin' failed
| *** BUILD ABORTED ***
| #
|
| It looks like createmakewrapper() is always run and always tries
| to mkdir.
(I haven't checked this myself; I'm just speculating).
I'm surprised the second mkdir (of ..../bin) fails, since it uses
"mkdir -p", it shouldn't fail. Actually, I've just tested this:
ordinary user, no perms, existing dir
the following exits 0:
mkdir -p /usr/bin
ordinary user, no perms, r-o file system, existing dir
the following exits 1:
mkdir -p /readonlymount/existingdir
I would argue that the latter should exit 0.
A quick check against Solaris 8 reveals that it does exit 0 in the
latter case.
So, at the moment, you're stuck :-(. If you just needed to write
the wrapper to another path, I'd suggest looking at the "-w wrapper"
option to build.sh
I'll think about another solution.
Luke.