From eikemeier@fillmore-labs.com  Fri Mar 19 09:25:14 2004
Return-Path: <eikemeier@fillmore-labs.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id E338616A4D0
	for <FreeBSD-gnats-submit@FreeBSD.org>; Fri, 19 Mar 2004 09:25:14 -0800 (PST)
Received: from postman.arcor.de (postman4.arcor-online.net [151.189.0.154])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 06BDE43D1D
	for <FreeBSD-gnats-submit@FreeBSD.org>; Fri, 19 Mar 2004 09:25:09 -0800 (PST)
	(envelope-from eikemeier@fillmore-labs.com)
Received: from fillmore.dyndns.org (port-212-202-51-138.reverse.qsc.de [212.202.51.138])
	(authenticated bits=0)
	by postman.arcor.de (8.13.0.PreAlpha4/8.13.0.PreAlpha4) with ESMTP id i2JHP7D2017653
	(version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO)
	for <FreeBSD-gnats-submit@FreeBSD.org>; Fri, 19 Mar 2004 18:25:07 +0100 (MET)
Received: from [172.16.0.2] (helo=fillmore-labs.com)
	by fillmore.dyndns.org with esmtp (Exim 4.30; FreeBSD)
	id 1B4Nk1-0008Df-2E
	for FreeBSD-gnats-submit@FreeBSD.org; Fri, 19 Mar 2004 18:25:05 +0100
Message-Id: <405B2CF4.2090704@fillmore-labs.com>
Date: Fri, 19 Mar 2004 18:25:08 +0100
From: Oliver Eikemeier <eikemeier@fillmore-labs.com>
To: FreeBSD-gnats-submit@FreeBSD.org
Subject: [PATCH] mergemaster: support for keeping customized rc.d scripts

>Number:         64476
>Category:       bin
>Synopsis:       [patch] mergemaster(8): support for keeping customized rc.d scripts
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    dougb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 19 09:30:11 PST 2004
>Closed-Date:    Wed Dec 21 09:10:57 GMT 2005
>Last-Modified:  Wed Dec 21 09:10:57 GMT 2005
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 5.2.1-RELEASE-p1 i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 5.2.1-RELEASE-p1

>Description:

Recently mergemaster acquired the habit to flag all unknown rc.d scripts
as `stale' and offers to delete them. While it is nice, that scripts removed
from cvs doesn't interrupt the boot process, this also affects any
customized scripts a user might have put there. Currently the only option
is to answer `no' to the offer of deleting `stale' rc.d scripts, since
not every script is treated individually.

This patch adds an variable CUSTOM_RC_FILES to mergemasterrc which
can contain glob(1)-style patterns of scripts which should be kept.

>How-To-Repeat:
>Fix:

Index: mergemaster.8
===================================================================
RCS file: /home/ncvs/src/usr.sbin/mergemaster/mergemaster.8,v
retrieving revision 1.28
diff -u -r1.28 mergemaster.8
--- mergemaster.8	2 May 2003 06:28:30 -0000	1.28
+++ mergemaster.8	19 Mar 2004 17:02:07 -0000
@@ -351,6 +351,9 @@
 # Don't compare the old and new motd files
 #IGNORE_MOTD=yes
 #
+# Customized scripts in /etc/rc.d that should be preserved
+#CUSTOM_RC_FILES=
+#
 # Specify the path to scripts to run before the comparison starts,
 # and/or after the script has finished its work
 #MM_PRE_COMPARE_SCRIPT=
Index: mergemaster.sh
===================================================================
RCS file: /home/ncvs/src/usr.sbin/mergemaster/mergemaster.sh,v
retrieving revision 1.51
diff -u -r1.51 mergemaster.sh
--- mergemaster.sh	7 Mar 2004 10:10:19 -0000	1.51
+++ mergemaster.sh	19 Mar 2004 17:14:50 -0000
@@ -790,7 +790,9 @@
   cd "${DESTDIR}/etc/rc.d" &&
   for file in *; do
     if [ ! -e "${TEMPROOT}/etc/rc.d/${file}" ]; then
-      STALE_RC_FILES="${STALE_RC_FILES} ${file}"
+      if echo ${CUSTOM_RC_FILES} | grep -Fwvq "${file}"; then
+        STALE_RC_FILES="${STALE_RC_FILES} ${file}"
+      fi
     fi
   done
   case "${STALE_RC_FILES}" in

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->dougb 
Responsible-Changed-By: eik 
Responsible-Changed-When: Fri Mar 19 18:30:27 CET 2004 
Responsible-Changed-Why:  
Douglas Barton is the mergemaster maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=64476 

From: Scot Hetzel <swhetzel@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org, eikemeier@fillmore-labs.com
Cc:  
Subject: Re: bin/64476: [PATCH] mergemaster: support for keeping customized rc.d scripts
Date: Fri, 27 Aug 2004 11:18:37 -0500

 ------=_Part_23_22739577.1093623517652
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 An alternative approach is to check for "$FreeBSD: src" in the rc.d scripts.
 
 Scot
 
 Index: mergemaster.sh
 ===================================================================
 RCS file: /home/ncvs/src/usr.sbin/mergemaster/mergemaster.sh,v
 retrieving revision 1.51
 diff -u -r1.51 mergemaster.sh
 --- mergemaster.sh	7 Mar 2004 10:10:19 -0000	1.51
 +++ mergemaster.sh	26 Aug 2004 08:54:54 -0000
 @@ -790,7 +790,18 @@
    cd "${DESTDIR}/etc/rc.d" &&
    for file in *; do
      if [ ! -e "${TEMPROOT}/etc/rc.d/${file}" ]; then
 -      STALE_RC_FILES="${STALE_RC_FILES} ${file}"
 +      case "${STRICT}" in
 +      [Yy][Ee][Ss])
 +        STALE_RC_FILES="${STALE_RC_FILES} ${file}"
 +        ;;
 +      '' | [Nn][Oo])
 +        if grep -c "[$]${CVS_ID_TAG}: src" ${file} ; then
 +          STALE_RC_FILES="${STALE_RC_FILES} ${file}"
 +        else
 +          EXTRA_RC_FILES="${EXTRA_RC_FILES} ${file}"
 +        fi
 +        ;;
 +      esac
      fi
    done
    case "${STALE_RC_FILES}" in
 
 ------=_Part_23_22739577.1093623517652
 Content-Type: application/octet-stream; name="mergemaster.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="mergemaster.diff"
 
 VG86IERvdWdCQEZyZWVCU0Qub3JnLCBGcmVlQlNELUN1cnJlbnRARnJlZUJTRC5vcmcKU3ViamVj
 dDoKCkluZGV4OiBtZXJnZW1hc3Rlci5zaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3Zz
 L3NyYy91c3Iuc2Jpbi9tZXJnZW1hc3Rlci9tZXJnZW1hc3Rlci5zaCx2CnJldHJpZXZpbmcgcmV2
 aXNpb24gMS41MQpkaWZmIC11IC1yMS41MSBtZXJnZW1hc3Rlci5zaAotLS0gbWVyZ2VtYXN0ZXIu
 c2gJNyBNYXIgMjAwNCAxMDoxMDoxOSAtMDAwMAkxLjUxCisrKyBtZXJnZW1hc3Rlci5zaAkyNiBB
 dWcgMjAwNCAwODo1NDo1NCAtMDAwMApAQCAtNzkwLDcgKzc5MCwxOCBAQAogICBjZCAiJHtERVNU
 RElSfS9ldGMvcmMuZCIgJiYKICAgZm9yIGZpbGUgaW4gKjsgZG8KICAgICBpZiBbICEgLWUgIiR7
 VEVNUFJPT1R9L2V0Yy9yYy5kLyR7ZmlsZX0iIF07IHRoZW4KLSAgICAgIFNUQUxFX1JDX0ZJTEVT
 PSIke1NUQUxFX1JDX0ZJTEVTfSAke2ZpbGV9IgorICAgICAgY2FzZSAiJHtTVFJJQ1R9IiBpbgor
 ICAgICAgW1l5XVtFZV1bU3NdKQorICAgICAgICBTVEFMRV9SQ19GSUxFUz0iJHtTVEFMRV9SQ19G
 SUxFU30gJHtmaWxlfSIKKyAgICAgICAgOzsKKyAgICAgICcnIHwgW05uXVtPb10pCisgICAgICAg
 IGlmIGdyZXAgLWMgIlskXSR7Q1ZTX0lEX1RBR306IHNyYyIgJHtmaWxlfSA7IHRoZW4KKyAgICAg
 ICAgICBTVEFMRV9SQ19GSUxFUz0iJHtTVEFMRV9SQ19GSUxFU30gJHtmaWxlfSIKKyAgICAgICAg
 ZWxzZQorICAgICAgICAgIEVYVFJBX1JDX0ZJTEVTPSIke0VYVFJBX1JDX0ZJTEVTfSAke2ZpbGV9
 IgorICAgICAgICBmaQorICAgICAgICA7OworICAgICAgZXNhYwogICAgIGZpCiAgIGRvbmUKICAg
 Y2FzZSAiJHtTVEFMRV9SQ19GSUxFU30iIGluCg==
 ------=_Part_23_22739577.1093623517652--
State-Changed-From-To: open->closed 
State-Changed-By: dougb 
State-Changed-When: Wed Dec 21 09:08:09 UTC 2005 
State-Changed-Why:  

I just MFC'ed the code which allows local boot scripts to 
be run in the base rcorder, so it is no longer necessary 
to put local scripts in /etc/rc.d.  

While this type of capability might have some utility 
down the road, at this point I don't think it is needed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=64476 
>Unformatted:
