From nik@coconut.blueberry.co.uk  Sat Feb 22 11:36:52 1997
Received: from coconut.blueberry.co.uk ([194.70.52.66])
          by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id LAA07922
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 22 Feb 1997 11:36:50 -0800 (PST)
Received: (from nik@localhost)
	by coconut.blueberry.co.uk (8.8.5/8.8.5) id TAA00481;
	Sat, 22 Feb 1997 19:36:31 GMT
Message-Id: <199702221936.TAA00481@coconut.blueberry.co.uk>
Date: Sat, 22 Feb 1997 19:36:31 GMT
From: Nik Clayton <nik@blueberry.co.uk>
Reply-To: nik@blueberry.co.uk
To: FreeBSD-gnats-submit@freebsd.org
Subject: 2.1.7: Bug in /etc/rc prevents running of rc.i386
X-Send-Pr-Version: 3.2

>Number:         2802
>Category:       i386
>Synopsis:       /etc/rc expects /etc/rc.i386, actually /etc/etc.i386/rc.i386
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    jkh
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Feb 22 11:40:01 PST 1997
>Closed-Date:    Sat Feb 22 15:10:43 PST 1997
>Last-Modified:  Wed Mar 21 13:11:49 UTC 2012
>Originator:     Nik Clayton
>Release:        FreeBSD 2.1.7-RELEASE i386
>Organization:
>Environment:

	2.1.7-RELEASE, obtained by supping RELENG_2_1_0 and making the 
	world

>Description:

        2.1.5 had an /etc/rc.i386 file. By 2.1.7 this had changed to become
	the directory /etc/etc.i386, which contains disktab, MAKEDEV and
	rc.i386.

	In 2.1.5, rc.i386 was run by /etc/rc with this piece of code

	# configure implementation specific stuff
	arch=`uname -m`
	if [ -f /etc/rc.${arch} ]; then
		. /etc/rc.${arch}
	fi

	This same code is used in /etc/rc for 2.1.7. However, because
	/etc/rc.i386 no longer exists, it's not run at startup.

	I first noticed this when my keymappings (for a uk.cp850) 
	vanished after upgrading.

>How-To-Repeat:

        Look at /etc/ in RELENG_2_1_0

>Fix:
	
        Quickest fix is to replace the code above with

	# configure implementation specific stuff
	arch=`uname -m`
	if [ -f /etc/etc.${arch}/rc.${arch} ]; then
		. /etc/etc.${arch}/rc.${arch}
	fi

	which simply extends the search. However, if you've already 
	specified the architecture with the directory name (etc.i386),
	would it not be cleaner to have /etc/etc.i386/rc?
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->jkh 
Responsible-Changed-By: mpp 
Responsible-Changed-When: Sat Feb 22 12:49:26 PST 1997 
Responsible-Changed-Why:  
Jordan, please verify this one way or the other and decide what you are 
going to do with 2.1.7 if it is a real problem. 

Note: mail to the originator has been bouncing all week. 

From: Mike Pritchard <mpp@FreeBSD.org>
To: nik@blueberry.co.uk
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: i386/2802: 2.1.7: Bug in /etc/rc prevents running of rc.i386
Date: Sat, 22 Feb 1997 12:42:51 -0800 (PST)

 Nik Clayton wrote:
 > 
 >         2.1.5 had an /etc/rc.i386 file. By 2.1.7 this had changed to become
 > 	the directory /etc/etc.i386, which contains disktab, MAKEDEV and
 > 	rc.i386.
 
 Is this right?  Looking at the 2.1.7, 2.2 and 3.0 etc/Makefile's
 looks like you will get two files, /etc/rc and /etc/rc.i386,
 and no /etc/rc.i386 directory.  A test "make distribute" under 3.0
 created me two files, and no /etc/rc.i386 directory.
 -- 
 Mike Pritchard
 mpp@FreeBSD.org
 "Go that way.  Really fast.  If something gets in your way, turn"

From: Mark Murray <mark@grondar.za>
To: nik@blueberry.co.uk
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: i386/2802: 2.1.7: Bug in /etc/rc prevents running of rc.i386 
Date: Sat, 22 Feb 1997 22:41:42 +0200

 Nik Clayton wrote:
 >         2.1.5 had an /etc/rc.i386 file. By 2.1.7 this had changed to become
 > 	the directory /etc/etc.i386, which contains disktab, MAKEDEV and
 > 	rc.i386.
 
 You haven't follwed this upgrade up properly. Look in src/release/Makefile
 to see which file gets copied to /etc/ and when. The source tree and the
 structure of /etc/ _are_ different.
 
 This PR exposes the same problem as your conf/2801, where you have not
 properly hand-merged the two trees.
 
 > 	In 2.1.5, rc.i386 was run by /etc/rc with this piece of code
 > 
 > 	# configure implementation specific stuff
 > 	arch=`uname -m`
 > 	if [ -f /etc/rc.${arch} ]; then
 > 		. /etc/rc.${arch}
 > 	fi
 > 
 > 	This same code is used in /etc/rc for 2.1.7. However, because
 > 	/etc/rc.i386 no longer exists, it's not run at startup.
 
 It does exist! It is in src/etc/i386/etc.i386.
 
 > >Fix:
 > 	
 >         Quickest fix is to replace the code above with
 > 
 > 	# configure implementation specific stuff
 > 	arch=`uname -m`
 > 	if [ -f /etc/etc.${arch}/rc.${arch} ]; then
 > 		. /etc/etc.${arch}/rc.${arch}
 > 	fi
 
 No. You need to properly hand-merge the 2.1.7 stuff to your tree.
 
 M
 --
 Mark Murray                PGP key fingerprint = 80 36 6E 40 83 D6 8A 36
 This .sig is umop ap!sdn.                        BC 06 EA 0E 7A F2 CE CE
 
 
State-Changed-From-To: open->closed 
State-Changed-By: jkh 
State-Changed-When: Sat Feb 22 15:10:43 PST 1997 
State-Changed-Why:  
The poster was almost certainly confused and probably updated his 
/etc by doing: 

cp -pr /usr/src/etc / 

Or something similarly crazed if he thinks that 2.1.7 has an /etc/etc.i386 
directory.  It does not. :-) 

>Unformatted:
