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>

next in thread | previous in thread | raw e-mail | index | archive | help
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:
>=20
> > * 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 0=
3:48:04 CEST 2015     wolfgang@pomona:/usr/obj/usr/src/sys/UBQTERL mips=

> >=20
> >>> 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:
> >=20
> >>> # mergemaster -iFU
> >=20
> >>> *** Creating the temporary root environment in /var/tmp/temproot
> >>> *** /var/tmp/temproot ready for use
> >>> *** Creating and populating directory structure in /var/tmp/tempr=
oot
> >=20
> >>> /bin/sh: cannot create routing_test.tmp: Read-only file system
> >=20
> >>>  *** FATAL ERROR: Cannot 'cd' to /usr/src and install files to
> >>>      the temproot environment
> >=20
> >>> 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)
> >=20
> >>> This used to work before. Any ideas, any further info I could pro=
vide?
> >=20
> >> This broke after a test was added for etc/rc.d/. Without special c=
ode,
> >> this causes these tests to be built and installed as part of
> >> mergemaster/etcmerge, like other parts of etc.
> >=20
> >> 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.
> >=20
> > 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 ma=
chine
> > istself does not help, unfortunately: while the "make buildenv" doe=
s
> > work without a problem, mergemaster still fails in the same way.
>=20
> I was going to move it to etc/tests soon since it wasn=E2=80=99t real=
ly 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=E2=
=80=99t such a special butterfly...

/etc is quite special as it isn't installed during installworld, only f=
or
distribution.  The tests should probably be part of installworld, so pl=
ease
move it.

--=20
John Baldwin



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