Re: installworld broken - osreldate.h: permission denied

From: Jilles Tjoelker <jilles_at_stack.nl>
Date: Mon, 30 Sep 2013 19:02:43 +0200
On Sun, Sep 29, 2013 at 10:13:29AM +0200, Joel Dahl wrote:
> On Sat, Sep 28, 2013 at 11:19:51AM -0600, Ian Lepore wrote:
> > On Sat, 2013-09-28 at 15:09 +0200, Joel Dahl wrote:
> > > Fresh HEAD. installworld from read-only /usr/obj and /usr/src:

> > > /usr/src/include/iconv.h osreldate.h /usr/include
> > > install: osreldate.h: Permission denied
> > > *** Error code 71

> > > Stop.
> > > make[4]: stopped in /usr/src/include
> > > *** Error code 1

> > > Everything was working fine 2 weeks ago, so it's a recent breakage.

> > Okay, I just accidentally created conditions for this error on my
> > system...  I checked in a change to newvers.sh while a buildworld was
> > running, which led to a situation where newvers.sh was newer than
> > osreldate.h at the end of the buildworld.  Then an installworld tried to
> > regenerate osreldate.h due to its dependency on newvers.sh, which would
> > fail if the obj was readonly at that point.

> > I think we could see if something similar applies for you if you use
> > this command:

> >   make -dm installworld SUBDIR_OVERRIDE=include

> I tried this with a fresh HEAD but the error message is still the same.

> /usr/src and /usr/obj are NFS mounted, FYI.

I had the same problem as Joel. It has nothing to do with timestamps,
but with the default -maproot -2:-2. The include/mk-osreldate.sh script
creates osreldate.h from mktemp(1), so with mode 600. The squashed root
(nobody) is then not allowed to read it.

The below patch should fix it.

Index: include/mk-osreldate.sh
===================================================================
--- include/mk-osreldate.sh	(revision 255946)
+++ include/mk-osreldate.sh	(working copy)
_at__at_ -48,4 +48,5 _at__at_
 #define __FreeBSD_version $RELDATE
 #endif
 EOF
+chmod 644 $tmpfile
 mv $tmpfile osreldate.h

-- 
Jilles Tjoelker
Received on Mon Sep 30 2013 - 15:03:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:42 UTC