Bug 22661

Summary: Mergemaster Fails with R/O NFS Mounted /usr/src
Product: Base System Reporter: Cy Schubert <Cy.Schubert>
Component: binAssignee: Doug Barton <dougb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Cy Schubert 2000-11-07 16:00:01 UTC
Installing 4.2-BETA on a system from read-only NFS mounted /usr/src and 
/usr/obj, mergemaster fails with the following:

[lines removed]
mtree -deU -f /usr/opt/cvs-420b-001106/src/etc/mtree/BSD.include.dist  
-p /usr/libdata/perl/5.00503/mach
cd /; rm -f /sys; ln -s usr/src/sys sys
cd /usr/share/locale;  set - `cat /usr/opt/cvs-420b-001106/src/etc/local
e.alias`;  while [ $# -gt 0 ] ;  do  rm -rf "$1";  ln -s "$2" "$1";  
shift; shift;  done
cd /usr/share/nls;  set - `cat /usr/opt/cvs-420b-001106/src/etc/locale.a
lias`;  while [ $# -gt 0 ] ;  do  rm -rf "$1";  ln -s "$2" "$1";  
shift; shift;  done;  rm -rf POSIX;  ln -s C POSIX
rm: ASCII: Read-only file system
*** Error code 1

Stop in /usr/opt/cvs-420b-001106/src/etc.

  *** FATAL ERROR: Cannot 'cd' to /usr/src/etc and install files to the
      temproot environment

cwtest#

Fix: Based upon the diffs between mergemaster 1.6.2.3 and 1.6.2.4, here's my 
workaround:
How-To-Repeat: 
See description.
Comment 1 Bruce Evans 2000-11-08 09:44:42 UTC
On Tue, 7 Nov 2000 Cy.Schubert@uumail.gov.bc.ca wrote:

> >Description:
> 
> Installing 4.2-BETA on a system from read-only NFS mounted /usr/src and 
> /usr/obj, mergemaster fails with the following:
> 
> [lines removed]
> cd /usr/share/nls;  set - `cat /usr/opt/cvs-420b-001106/src/etc/locale.a
> lias`;  while [ $# -gt 0 ] ;  do  rm -rf "$1";  ln -s "$2" "$1";  
> shift; shift;  done;  rm -rf POSIX;  ln -s C POSIX
> rm: ASCII: Read-only file system
> *** Error code 1

I think this can only fail if /usr/share/nls is read-only.

> >Fix:
> 
> Based upon the diffs between mergemaster 1.6.2.3 and 1.6.2.4, here's my 
> workaround:
> 
> --- src/usr.sbin/mergemaster/mergemaster.sh.orig	Wed Nov  1 00:34:30 2000
> +++ src/usr.sbin/mergemaster/mergemaster.sh	Tue Nov  7 06:38:46 2000
> @@ -428,7 +428,7 @@
>    esac
>  
>    { cd ${SOURCEDIR} &&
> -    make DESTDIR=${DESTDIR} distrib-dirs &&
> +    touch .foobar && rm .foobar && make DESTDIR=${DESTDIR} distrib-dirs
>      make DESTDIR=${TEMPROOT} distrib-dirs &&
>      make DESTDIR=${TEMPROOT} -DNO_MAKEDEV distribution;} ||
>    { echo '';

Making distrib-dirs has other problems.  It updates ${DESTDIR} without
asking, and shows bugs in the support for the SHARED=symlinks case.

Bruce
Comment 2 Cy Schubert 2000-11-08 14:13:13 UTC
In message <Pine.BSF.4.21.0011082039500.4925-100000@besplex.bde.org>, 
Bruce Eva
ns writes:
> On Tue, 7 Nov 2000 Cy.Schubert@uumail.gov.bc.ca wrote:
> 
> > >Description:
> > 
> > Installing 4.2-BETA on a system from read-only NFS mounted /usr/src and 
> > /usr/obj, mergemaster fails with the following:
> > 
> > [lines removed]
> > cd /usr/share/nls;  set - `cat /usr/opt/cvs-420b-001106/src/etc/locale.a
> > lias`;  while [ $# -gt 0 ] ;  do  rm -rf "$1";  ln -s "$2" "$1";  
> > shift; shift;  done;  rm -rf POSIX;  ln -s C POSIX
> > rm: ASCII: Read-only file system
> > *** Error code 1
> 
> I think this can only fail if /usr/share/nls is read-only.

That is correct.

> 
> > >Fix:
> > 
> > Based upon the diffs between mergemaster 1.6.2.3 and 1.6.2.4, here's my 
> > workaround:
> > 
> > --- src/usr.sbin/mergemaster/mergemaster.sh.orig	Wed Nov  1 00:34:30 200
> 0
> > +++ src/usr.sbin/mergemaster/mergemaster.sh	Tue Nov  7 06:38:46 2000
> > @@ -428,7 +428,7 @@
> >    esac
> >  
> >    { cd ${SOURCEDIR} &&
> > -    make DESTDIR=${DESTDIR} distrib-dirs &&
> > +    touch .foobar && rm .foobar && make DESTDIR=${DESTDIR} distrib-dirs
> >      make DESTDIR=${TEMPROOT} distrib-dirs &&
> >      make DESTDIR=${TEMPROOT} -DNO_MAKEDEV distribution;} ||
> >    { echo '';
> 
> Making distrib-dirs has other problems.  It updates ${DESTDIR} without
> asking, and shows bugs in the support for the SHARED=symlinks case.

Then it should be removed, rather than my test for a r/o fs.

> 
> Bruce
> 



Regards,                       Phone:  (250)387-8437
Cy Schubert                      Fax:  (250)387-5766
Team Leader, Sun/DEC Team   Internet:  Cy.Schubert@osg.gov.bc.ca
Open Systems Group, ITSD, ISTA
Province of BC
Comment 3 Doug Barton freebsd_committer freebsd_triage 2000-11-09 00:20:12 UTC
State Changed
From-To: open->closed


This is fixed in -current, will be MFC'ed as soon as 
I get approval. 


Comment 4 Doug Barton freebsd_committer freebsd_triage 2000-11-09 00:20:12 UTC
Responsible Changed
From-To: freebsd-bugs->dougb


mm is my baby