Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 May 2015 10:05:07 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Garrett Cooper <yaneurabeya@gmail.com>, Wolfgang Zenker <wolfgang@lyxys.ka.sub.org>, Jilles Tjoelker <jilles@stack.nl>, Will Andrews <will@freebsd.org>, Garrett Cooper <ngie@freebsd.org>
Subject:   Re: mergemaster failing with read-only /usr/src
Message-ID:  <4602642.x7Cmbsudvo@ralph.baldwin.cx>
In-Reply-To: <E9FF11ED-92F8-4D4E-9DEA-6EE9A3D2D4FA@gmail.com>
References:  <20150503120349.GA42415@lyxys.ka.sub.org> <20150503155539.GA43387@lyxys.ka.sub.org> <E9FF11ED-92F8-4D4E-9DEA-6EE9A3D2D4FA@gmail.com>

index | next in thread | previous in thread | raw e-mail

On Sunday, May 03, 2015 12:11:03 PM Garrett Cooper wrote:
> On May 3, 2015, at 8:55, Wolfgang Zenker <wolfgang@lyxys.ka.sub.org> wrote:
> 
> > * Jilles Tjoelker <jilles@stack.nl> [150503 14:53]:
> >> On Sun, May 03, 2015 at 02:03:49PM +0200, Wolfgang Zenker wrote:
> >>> I'm trying to update this system:
> >>> FreeBSD pomona 11.0-CURRENT FreeBSD 11.0-CURRENT #0: Mon Apr 13 03:48:04 CEST 2015     wolfgang@pomona:/usr/obj/usr/src/sys/UBQTERL mips
> > 
> >>> Source for that was probably from about April 11th. I sucessfully built
> >>> world and kernel, ran mergemaster -p and make installworld on rev 282299
> >>> but then mergemaster fails with:
> > 
> >>> # mergemaster -iFU
> > 
> >>> *** Creating the temporary root environment in /var/tmp/temproot
> >>> *** /var/tmp/temproot ready for use
> >>> *** Creating and populating directory structure in /var/tmp/temproot
> > 
> >>> /bin/sh: cannot create routing_test.tmp: Read-only file system
> > 
> >>>  *** FATAL ERROR: Cannot 'cd' to /usr/src and install files to
> >>>      the temproot environment
> > 
> >>> Filesystems are mounted like this:
> >>> # mount
> >>> /dev/da0s2a on / (ufs, local, noatime)
> >>> devfs on /dev (devfs, local, multilabel)
> >>> /dev/da0s1 on /boot (msdosfs, local)
> >>> vulcan.lyx:/usr/src11 on /usr/src (nfs, read-only)
> >>> vulcan.lyx:/var/obj/11/mips64 on /usr/obj (nfs)
> > 
> >>> This used to work before. Any ideas, any further info I could provide?
> > 
> >> This broke after a test was added for etc/rc.d/. Without special code,
> >> this causes these tests to be built and installed as part of
> >> mergemaster/etcmerge, like other parts of etc.
> > 
> >> As a workaround you can do:
> >>  echo make -C etc obj all | make buildenv
> >> on the build machine after make buildworld. Then mergemaster will work,
> >> even with a read-only /usr/obj.
> > 
> > Well, I do build on that machine directly, and /usr/obj is mounted r/w,
> > only /usr/src is a read-only mount. Trying the workaround on the machine
> > istself does not help, unfortunately: while the "make buildenv" does
> > work without a problem, mergemaster still fails in the same way.
> 
> I was going to move it to etc/tests soon since it wasn’t really testing /etc/rc.d/, but it makes more sense (with the issue above), just to create .../tests/etc, and move things there. I wish etc/ wasn’t such a special butterfly...

/etc is quite special as it isn't installed during installworld, only for
distribution.  The tests should probably be part of installworld, so please
move it.

-- 
John Baldwin


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4602642.x7Cmbsudvo>