From nobody@FreeBSD.org  Tue Aug  9 09:55:47 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 17E95106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  9 Aug 2011 09:55:47 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 066A18FC13
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  9 Aug 2011 09:55:47 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p799tk7m081194
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 9 Aug 2011 09:55:46 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p799tkiU081192;
	Tue, 9 Aug 2011 09:55:46 GMT
	(envelope-from nobody)
Message-Id: <201108090955.p799tkiU081192@red.freebsd.org>
Date: Tue, 9 Aug 2011 09:55:46 GMT
From: Robert Millan <rmh@debian.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [PATCH] replace hardcoded /usr/local with a variable in devd.conf to make it easier to override
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         159625
>Category:       conf
>Synopsis:       [devd.conf] [patch] replace hardcoded /usr/local with a variable in devd.conf to make it easier to override
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 09 10:00:22 UTC 2011
>Closed-Date:    
>Last-Modified:  Sun May 04 03:46:08 UTC 2014
>Originator:     Robert Millan
>Release:        FreeBSD 8.1
>Organization:
>Environment:
GNU/kFreeBSD thorin 8.1-1-amd64 #0 Mon Feb 21 22:03:13 UTC 2011 x86_64 amd64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ GNU/kFreeBSD

>Description:
Please could you replace the hardcoded /usr/local with a variable in devd.conf?

This will make it easier to override this value (specially useful for downstream distributors of FreeBSD code).

Patch attached.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: devd.conf
===================================================================
--- devd.conf	(revision 224728)
+++ devd.conf	(working copy)
@@ -8,12 +8,14 @@
 # NB: device-name is shorthand for 'match device-name'
 
 options {
+	set prefix "/usr/local";
+
 	# Each directory directive adds a directory the list of directories
 	# that we scan for files.  Files are read-in in the order that they
 	# are returned from readdir(3).  The rule-sets are combined to
 	# create a DFA that's used to match events to actions.
 	directory "/etc/devd";
-	directory "/usr/local/etc/devd";
+	directory "$prefix/etc/devd";
 	pid-file "/var/run/devd.pid";
 
 	# Setup some shorthand for regex that we use later in the file.
@@ -101,7 +103,7 @@
 #attach 100 {
 #	match "vendor" "0x0cf3";
 #	match "product" "0x3000";
-#	action "sleep 2 && /usr/sbin/ath3kfw -d $device-name -f /usr/local/etc/ath3k-1.fw";
+#	action "sleep 2 && /usr/sbin/ath3kfw -d $device-name -f $prefix/etc/ath3k-1.fw";
 #};
 
 # When a USB keyboard arrives, attach it as the console keyboard.
@@ -131,7 +133,7 @@
 	match "vendor"	"0x0854";
 	match "product"	"0x0100";
 	match "release"	"0x0000";
-	action "/usr/local/bin/ezdownload -f /usr/local/share/usb/firmware/0854.0100.0_01.hex $device-name";
+	action "$prefix/bin/ezdownload -f $prefix/share/usb/firmware/0854.0100.0_01.hex $device-name";
 };
 
 # Firmware download for Entrega Serial DB25 adapter.
@@ -143,8 +145,8 @@
 };
 
 # This entry starts the ColdSync tool in daemon mode. Make sure you have an up
-# to date /usr/local/etc/palms. We override the 'listen' settings for port and
-# type in /usr/local/etc/coldsync.conf.
+# to date $prefix/etc/palms. We override the 'listen' settings for port and
+# type in $prefix/etc/coldsync.conf.
 notify 100 {
 	match "system"		"USB";
 	match "subsystem"	"DEVICE";
@@ -152,7 +154,7 @@
 	match "vendor"		"0x082d";
 	match "product"		"0x0100";
 	match "release"		"0x0100";
-	action "/usr/local/bin/coldsync -md -p /dev/$cdev -t usb";
+	action "$prefix/bin/coldsync -md -p /dev/$cdev -t usb";
 };
 
 #
@@ -267,7 +269,7 @@
 
 # The following might be an example of something that a vendor might
 # install if you were to add their device.  This might reside in
-# /usr/local/etc/devd/deqna.conf.  A deqna is, in this hypothetical
+# $prefix/etc/devd/deqna.conf.  A deqna is, in this hypothetical
 # example, a pccard ethernet-like device.  Students of history may
 # know other devices by this name, and will get the in-jokes in this
 # entry.
@@ -320,7 +322,7 @@
 notify 0 {
 	match "system"		"RCTL";
 	match "rule"		"user:70:swap:.*";
-	action			"/usr/local/etc/rc.d/postgresql restart"
+	action			"$prefix/etc/rc.d/postgresql restart"
 };
 
 */


>Release-Note:
>Audit-Trail:

From: Marcin Wisnicki <mwisnicki+freebsd@gmail.com>
To: bug-followup@FreeBSD.org, rmh@debian.org
Cc:  
Subject: Re: conf/159625: [PATCH] replace hardcoded /usr/local with a variable
 in devd.conf to make it easier to override
Date: Tue, 9 Aug 2011 23:02:06 +0200

 To be consistent with ports this should be called $localbase.

From: Robert Millan <rmh@debian.org>
To: Marcin Wisnicki <mwisnicki+freebsd@gmail.com>
Cc: bug-followup@freebsd.org
Subject: Re: conf/159625: [PATCH] replace hardcoded /usr/local with a variable
 in devd.conf to make it easier to override
Date: Wed, 10 Aug 2011 20:32:25 +0200

 --90e6ba61393add115504aa2ae60a
 Content-Type: text/plain; charset=UTF-8
 
 2011/8/9 Marcin Wisnicki <mwisnicki+freebsd@gmail.com>:
 > To be consistent with ports this should be called $localbase.
 
 Here's a patch using $localbase instead.
 
 -- 
 Robert Millan
 
 --90e6ba61393add115504aa2ae60a
 Content-Type: text/plain; charset=US-ASCII; name="patch.txt"
 Content-Disposition: attachment; filename="patch.txt"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_gr6mz6xq0
 
 SW5kZXg6IGRldmQuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkZXZkLmNvbmYJKHJldmlzaW9uIDIyNDcy
 OCkKKysrIGRldmQuY29uZgkod29ya2luZyBjb3B5KQpAQCAtOCwxMiArOCwxNCBAQAogIyBOQjog
 ZGV2aWNlLW5hbWUgaXMgc2hvcnRoYW5kIGZvciAnbWF0Y2ggZGV2aWNlLW5hbWUnCiAKIG9wdGlv
 bnMgeworCXNldCBsb2NhbGJhc2UgIi91c3IvbG9jYWwiOworCiAJIyBFYWNoIGRpcmVjdG9yeSBk
 aXJlY3RpdmUgYWRkcyBhIGRpcmVjdG9yeSB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcwogCSMgdGhh
 dCB3ZSBzY2FuIGZvciBmaWxlcy4gIEZpbGVzIGFyZSByZWFkLWluIGluIHRoZSBvcmRlciB0aGF0
 IHRoZXkKIAkjIGFyZSByZXR1cm5lZCBmcm9tIHJlYWRkaXIoMykuICBUaGUgcnVsZS1zZXRzIGFy
 ZSBjb21iaW5lZCB0bwogCSMgY3JlYXRlIGEgREZBIHRoYXQncyB1c2VkIHRvIG1hdGNoIGV2ZW50
 cyB0byBhY3Rpb25zLgogCWRpcmVjdG9yeSAiL2V0Yy9kZXZkIjsKLQlkaXJlY3RvcnkgIi91c3Iv
 bG9jYWwvZXRjL2RldmQiOworCWRpcmVjdG9yeSAiJGxvY2FsYmFzZS9ldGMvZGV2ZCI7CiAJcGlk
 LWZpbGUgIi92YXIvcnVuL2RldmQucGlkIjsKIAogCSMgU2V0dXAgc29tZSBzaG9ydGhhbmQgZm9y
 IHJlZ2V4IHRoYXQgd2UgdXNlIGxhdGVyIGluIHRoZSBmaWxlLgpAQCAtMTAxLDcgKzEwMyw3IEBA
 CiAjYXR0YWNoIDEwMCB7CiAjCW1hdGNoICJ2ZW5kb3IiICIweDBjZjMiOwogIwltYXRjaCAicHJv
 ZHVjdCIgIjB4MzAwMCI7Ci0jCWFjdGlvbiAic2xlZXAgMiAmJiAvdXNyL3NiaW4vYXRoM2tmdyAt
 ZCAkZGV2aWNlLW5hbWUgLWYgL3Vzci9sb2NhbC9ldGMvYXRoM2stMS5mdyI7CisjCWFjdGlvbiAi
 c2xlZXAgMiAmJiAvdXNyL3NiaW4vYXRoM2tmdyAtZCAkZGV2aWNlLW5hbWUgLWYgJGxvY2FsYmFz
 ZS9ldGMvYXRoM2stMS5mdyI7CiAjfTsKIAogIyBXaGVuIGEgVVNCIGtleWJvYXJkIGFycml2ZXMs
 IGF0dGFjaCBpdCBhcyB0aGUgY29uc29sZSBrZXlib2FyZC4KQEAgLTEzMSw3ICsxMzMsNyBAQAog
 CW1hdGNoICJ2ZW5kb3IiCSIweDA4NTQiOwogCW1hdGNoICJwcm9kdWN0IgkiMHgwMTAwIjsKIAlt
 YXRjaCAicmVsZWFzZSIJIjB4MDAwMCI7Ci0JYWN0aW9uICIvdXNyL2xvY2FsL2Jpbi9lemRvd25s
 b2FkIC1mIC91c3IvbG9jYWwvc2hhcmUvdXNiL2Zpcm13YXJlLzA4NTQuMDEwMC4wXzAxLmhleCAk
 ZGV2aWNlLW5hbWUiOworCWFjdGlvbiAiJGxvY2FsYmFzZS9iaW4vZXpkb3dubG9hZCAtZiAkbG9j
 YWxiYXNlL3NoYXJlL3VzYi9maXJtd2FyZS8wODU0LjAxMDAuMF8wMS5oZXggJGRldmljZS1uYW1l
 IjsKIH07CiAKICMgRmlybXdhcmUgZG93bmxvYWQgZm9yIEVudHJlZ2EgU2VyaWFsIERCMjUgYWRh
 cHRlci4KQEAgLTE0Myw4ICsxNDUsOCBAQAogfTsKIAogIyBUaGlzIGVudHJ5IHN0YXJ0cyB0aGUg
 Q29sZFN5bmMgdG9vbCBpbiBkYWVtb24gbW9kZS4gTWFrZSBzdXJlIHlvdSBoYXZlIGFuIHVwCi0j
 IHRvIGRhdGUgL3Vzci9sb2NhbC9ldGMvcGFsbXMuIFdlIG92ZXJyaWRlIHRoZSAnbGlzdGVuJyBz
 ZXR0aW5ncyBmb3IgcG9ydCBhbmQKLSMgdHlwZSBpbiAvdXNyL2xvY2FsL2V0Yy9jb2xkc3luYy5j
 b25mLgorIyB0byBkYXRlICRsb2NhbGJhc2UvZXRjL3BhbG1zLiBXZSBvdmVycmlkZSB0aGUgJ2xp
 c3Rlbicgc2V0dGluZ3MgZm9yIHBvcnQgYW5kCisjIHR5cGUgaW4gJGxvY2FsYmFzZS9ldGMvY29s
 ZHN5bmMuY29uZi4KIG5vdGlmeSAxMDAgewogCW1hdGNoICJzeXN0ZW0iCQkiVVNCIjsKIAltYXRj
 aCAic3Vic3lzdGVtIgkiREVWSUNFIjsKQEAgLTE1Miw3ICsxNTQsNyBAQAogCW1hdGNoICJ2ZW5k
 b3IiCQkiMHgwODJkIjsKIAltYXRjaCAicHJvZHVjdCIJCSIweDAxMDAiOwogCW1hdGNoICJyZWxl
 YXNlIgkJIjB4MDEwMCI7Ci0JYWN0aW9uICIvdXNyL2xvY2FsL2Jpbi9jb2xkc3luYyAtbWQgLXAg
 L2Rldi8kY2RldiAtdCB1c2IiOworCWFjdGlvbiAiJGxvY2FsYmFzZS9iaW4vY29sZHN5bmMgLW1k
 IC1wIC9kZXYvJGNkZXYgLXQgdXNiIjsKIH07CiAKICMKQEAgLTI2Nyw3ICsyNjksNyBAQAogCiAj
 IFRoZSBmb2xsb3dpbmcgbWlnaHQgYmUgYW4gZXhhbXBsZSBvZiBzb21ldGhpbmcgdGhhdCBhIHZl
 bmRvciBtaWdodAogIyBpbnN0YWxsIGlmIHlvdSB3ZXJlIHRvIGFkZCB0aGVpciBkZXZpY2UuICBU
 aGlzIG1pZ2h0IHJlc2lkZSBpbgotIyAvdXNyL2xvY2FsL2V0Yy9kZXZkL2RlcW5hLmNvbmYuICBB
 IGRlcW5hIGlzLCBpbiB0aGlzIGh5cG90aGV0aWNhbAorIyAkbG9jYWxiYXNlL2V0Yy9kZXZkL2Rl
 cW5hLmNvbmYuICBBIGRlcW5hIGlzLCBpbiB0aGlzIGh5cG90aGV0aWNhbAogIyBleGFtcGxlLCBh
 IHBjY2FyZCBldGhlcm5ldC1saWtlIGRldmljZS4gIFN0dWRlbnRzIG9mIGhpc3RvcnkgbWF5CiAj
 IGtub3cgb3RoZXIgZGV2aWNlcyBieSB0aGlzIG5hbWUsIGFuZCB3aWxsIGdldCB0aGUgaW4tam9r
 ZXMgaW4gdGhpcwogIyBlbnRyeS4KQEAgLTMyMCw3ICszMjIsNyBAQAogbm90aWZ5IDAgewogCW1h
 dGNoICJzeXN0ZW0iCQkiUkNUTCI7CiAJbWF0Y2ggInJ1bGUiCQkidXNlcjo3MDpzd2FwOi4qIjsK
 LQlhY3Rpb24JCQkiL3Vzci9sb2NhbC9ldGMvcmMuZC9wb3N0Z3Jlc3FsIHJlc3RhcnQiCisJYWN0
 aW9uCQkJIiRsb2NhbGJhc2UvZXRjL3JjLmQvcG9zdGdyZXNxbCByZXN0YXJ0IgogfTsKIAogKi8K
 --90e6ba61393add115504aa2ae60a--
>Unformatted:
