Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Aug 2012 18:25:28 GMT
From:      Michael Carlson <mike@bayphoto.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/170882: sysutils/bacula-server - Feature Request - Change sysconfdir to $PREFIX/etc/bacula
Message-ID:  <201208221825.q7MIPSh8095808@red.freebsd.org>
Resent-Message-ID: <201208221830.q7MIUFKI048532@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         170882
>Category:       ports
>Synopsis:       sysutils/bacula-server - Feature Request - Change sysconfdir to $PREFIX/etc/bacula
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 22 18:30:15 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Michael Carlson
>Release:        9.0-RELEASE
>Organization:
Bay Photo Lab
>Environment:
FreeBSD b-bot.bayphoto.local 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Although this would probably violate POLA, I think the Bacula ports should use ${PREFIX}/etc/bacula, instead of just ${PREFIX}/etc for the configuration files.

bacula-server and bacula-client currently install configuration files in /usr/local/etc/, unlike other platforms (Linux, solaris, etc...) which install configuration files in /etc/bacula/.

Not only does this clutter up /usr/local/etc/, it also makes it complicated to keep your bacula configuration under some type of revision control. And, if you are using some type of configuration management (ie puppet), its becomes tedious to manage different bacula configuration directories across multiple platforms.

It makes sense to me to update the sysconfdir location from etc/ to etc/bacula/ and lets have some harmony between platforms.
>How-To-Repeat:
cd /usr/ports/sysutils/bacula-server && make install && ls -al /usr/local/etc/bacula-*.conf
-rw-r--r--  1 root  wheel  5411 Apr 10 10:15 /usr/local/etc/bacula-dir.conf
-rw-r--r--  1 root  wheel   801 Mar 20 09:34 /usr/local/etc/bacula-fd.conf
-rw-r-----  1 root  wheel  8482 Apr 10 10:14 /usr/local/etc/bacula-sd.conf

>Fix:
See svn diff attached

Patch attached with submission follows:

Index: bacula-server/files/bacula-fd.in
===================================================================
--- bacula-server/files/bacula-fd.in	(revision 302954)
+++ bacula-server/files/bacula-fd.in	(working copy)
@@ -23,7 +23,7 @@
 load_rc_config $name
 
 : ${bacula_fd_enable="NO"}
-: ${bacula_fd_flags=" -u root -g wheel -v -c %%PREFIX%%/etc/bacula-fd.conf"}
+: ${bacula_fd_flags=" -u root -g wheel -v -c %%PREFIX%%/etc/bacula/bacula-fd.conf"}
 : ${bacula_fd_pidfile="/var/run/bacula-fd.9102.pid"}
 
 pidfile="${bacula_fd_pidfile}"
Index: bacula-server/files/bacula-sd.in
===================================================================
--- bacula-server/files/bacula-sd.in	(revision 302954)
+++ bacula-server/files/bacula-sd.in	(working copy)
@@ -23,7 +23,7 @@
 load_rc_config $name
 
 : ${bacula_sd_enable="NO"}
-: ${bacula_sd_flags=" -u bacula -g bacula -v -c %%PREFIX%%/etc/bacula-sd.conf"}
+: ${bacula_sd_flags=" -u bacula -g bacula -v -c %%PREFIX%%/etc/bacula/bacula-sd.conf"}
 : ${bacula_sd_pidfile="/var/run/bacula-sd.9103.pid"}
 
 pidfile="${bacula_sd_pidfile}"
Index: bacula-server/files/bacula-dir.in
===================================================================
--- bacula-server/files/bacula-dir.in	(revision 302954)
+++ bacula-server/files/bacula-dir.in	(working copy)
@@ -23,7 +23,7 @@
 load_rc_config $name
 
 : ${bacula_dir_enable="NO"}
-: ${bacula_dir_flags=" -u bacula -g bacula -v -c %%PREFIX%%/etc/bacula-dir.conf"}
+: ${bacula_dir_flags=" -u bacula -g bacula -v -c %%PREFIX%%/etc/bacula/bacula-dir.conf"}
 : ${bacula_dir_pidfile="/var/run/bacula-dir.9101.pid"}
 
 pidfile="${bacula_dir_pidfile}"
Index: bacula-server/files/pkg-message.client.in
===================================================================
--- bacula-server/files/pkg-message.client.in	(revision 302954)
+++ bacula-server/files/pkg-message.client.in	(working copy)
@@ -1,7 +1,7 @@
 ################################################################################
 
 NOTE:
-Sample files are installed in %%PREFIX%%/etc:
+Sample files are installed in %%PREFIX%%/etc/bacula:
 bconsole.conf.sample, bacula-barcodes.sample, bacula-fd.conf.sample
 
   Please read this file:
Index: bacula-server/files/pkg-message.server.in
===================================================================
--- bacula-server/files/pkg-message.server.in	(revision 302954)
+++ bacula-server/files/pkg-message.server.in	(working copy)
@@ -9,7 +9,7 @@
 Please have a look at it if you want to use an
 autochanger. You have to configure the usage in
 
-  %%PREFIX%%/etc/bacula-dir.conf
+  %%PREFIX%%/etc/bacula/bacula-dir.conf
 
 Take care of correct permissions for changer and
 tape device (e.g. /dev/ch0 and /dev/n[r]sa0) i.e.
Index: bacula-server/Makefile
===================================================================
--- bacula-server/Makefile	(revision 302954)
+++ bacula-server/Makefile	(working copy)
@@ -56,6 +56,7 @@
 CONFIGURE_ARGS+=--with-tcp-wrappers=/usr/lib \
 		--enable-smartalloc \
 		--with-working-dir=${BACULA_DIR} \
+		--sysconfdir=${PREFIX}/etc/bacula \
 		--with-scriptdir=${PREFIX}/share/${PORTNAME} \
 		--docdir=${DOCSDIR} \
 		--htmldir=${DOCSDIR} \
@@ -222,8 +223,8 @@
 .if defined(NOPORTDOCS)
 	${REINPLACE_CMD} -e '/docdir/d' ${WRKSRC}/Makefile.in
 .endif
-#	Default bconsole.conf is ${PREFIX}/etc
-	@${REINPLACE_CMD} -e 's|./bconsole.conf|${PREFIX}/etc/bconsole.conf|g' ${WRKSRC}/src/console/console.c
+#	Default bconsole.conf is ${PREFIX}/etc/bacula
+	@${REINPLACE_CMD} -e 's|./bconsole.conf|${PREFIX}/etc/bacula/bconsole.conf|g' ${WRKSRC}/src/console/console.c
 .if defined(WITH_CLIENT_ONLY)
 # 	In client port only install startup script out of script dir (see below post-install)
 # 	Dont mkdir ${PREFIX}/share/bacula cause it's empty
@@ -255,19 +256,19 @@
 	@ ${SETENV} PKG_PREFIX=${PREFIX} \
 		${SH} ${PKGINSTALL} ${PORTNAME}
 # 	Console stuff
-	if [ -f ${PREFIX}/etc/bconsole.conf.new ]; then \
-		${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \
-		${CHGRP} bacula ${PREFIX}/etc/bconsole.conf.new; \
-	elif [ -f ${PREFIX}/etc/bconsole.conf ]; then \
-		${MV} ${PREFIX}/etc/bconsole.conf ${PREFIX}/etc/bconsole.conf.sample; \
-		${CHGRP} bacula ${PREFIX}/etc/bconsole.conf.sample; \
-		${ECHO_CMD} "etc/bconsole.conf.sample" >> ${TMPPLIST}; \
+	if [ -f ${PREFIX}/etc/bacula/bconsole.conf.new ]; then \
+		${ECHO_CMD} "etc/bacula/bconsole.conf.new" >> ${TMPPLIST}; \
+		${CHGRP} bacula ${PREFIX}/etc/bacula/bconsole.conf.new; \
+	elif [ -f ${PREFIX}/etc/bacula/bconsole.conf ]; then \
+		${MV} ${PREFIX}/etc/bacula/bconsole.conf ${PREFIX}/etc/bacula/bconsole.conf.sample; \
+		${CHGRP} bacula ${PREFIX}/etc/bacula/bconsole.conf.sample; \
+		${ECHO_CMD} "etc/bacula/bconsole.conf.sample" >> ${TMPPLIST}; \
 	fi
 .if defined(WITH_WXCONSOLE)
-	if [ -f ${PREFIX}/etc/bwx-console.conf.new ]; then \
+	if [ -f ${PREFIX}/etc/bacula/bwx-console.conf.new ]; then \
 		${ECHO_CMD} "etc/bwx-console.conf.new" >> ${TMPPLIST}; \
-	elif [ -f ${PREFIX}/etc/bwx-console.conf ]; then \
-		${MV} ${PREFIX}/etc/bwx-console.conf ${PREFIX}/etc/bwx-console.conf.sample; \
+	elif [ -f ${PREFIX}/etc/bacula/bwx-console.conf ]; then \
+		${MV} ${PREFIX}/etc/bacula/bwx-console.conf ${PREFIX}/etc/bacula/bwx-console.conf.sample; \
 		${ECHO_CMD} "etc/bwx-console.conf.sample" >> ${TMPPLIST}; \
 	fi
 .endif
@@ -278,10 +279,10 @@
 # 	Install config files and preserve existing ones
 	${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${PREFIX}/sbin
 	if [ -f ${PREFIX}/etc/bacula-barcodes ]; then \
-		${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${PREFIX}/etc/bacula-barcodes.new ; \
+		${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${PREFIX}/etc/bacula/bacula-barcodes.new ; \
 		${ECHO_CMD} "etc/bacula-barcodes.new" >> ${TMPPLIST}; \
 	else \
-		${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${PREFIX}/etc/bacula-barcodes.samples ; \
+		${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${PREFIX}/etc/bacula/bacula-barcodes.samples ; \
 		${ECHO_CMD} "etc/bacula-barcodes.samples" >> ${TMPPLIST}; \
 	fi
 # 	chmod of bsmtp program so bacula can use it with dropped down permissions
@@ -290,9 +291,9 @@
 
 #	on a fresh install, the .new suffix is not used
 	if [ -f ${PREFIX}/etc/bacula-dir.conf.new ]; then \
-		${CHGRP} bacula ${PREFIX}/etc/bacula-dir.conf.new; \
+		${CHGRP} bacula ${PREFIX}/etc/bacula/bacula-dir.conf.new; \
 	else \
-		${CHGRP} bacula ${PREFIX}/etc/bacula-dir.conf; \
+		${CHGRP} bacula ${PREFIX}/etc/bacula/bacula-dir.conf; \
 	fi
 
 	${CHGRP} bacula ${PREFIX}/sbin/dbcheck
@@ -300,11 +301,11 @@
 .endif
 # 	Install leaves existing conf files untouched. Respect this here!
 	for na in ${CONFFILES}; do \
-		if [ -f ${PREFIX}/etc/bacula-$$na.conf.new ]; then \
+		if [ -f ${PREFIX}/etc/bacula/bacula-$$na.conf.new ]; then \
 			${ECHO_CMD} "etc/bacula-$$na.conf.new" >> ${TMPPLIST}; \
-		elif [ -f ${PREFIX}/etc/bacula-$$na.conf ]; then \
-			${MV} ${PREFIX}/etc/bacula-$$na.conf ${PREFIX}/etc/bacula-$$na.conf.sample; \
-			${ECHO_CMD} "etc/bacula-$$na.conf.sample" >> ${TMPPLIST}; \
+		elif [ -f ${PREFIX}/etc/bacula/bacula-$$na.conf ]; then \
+			${MV} ${PREFIX}/etc/bacula/bacula-$$na.conf ${PREFIX}/etc/bacula/bacula-$$na.conf.sample; \
+			${ECHO_CMD} "etc/bacula/bacula-$$na.conf.sample" >> ${TMPPLIST}; \
 		fi; \
 	done
 


>Release-Note:
>Audit-Trail:
>Unformatted:



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