Subject: [alpine-aports] [PATCH V2] main/dnsmasq: change default user/group, add config directory, cleanups in init script.

From: Valery Kartel <[email-masked]>
Date: Thu, 16 Jun 2016 15:29:41 +0300

---
 main/dnsmasq/APKBUILD         | 54 +++++++++++++++++++++++++------------------
 main/dnsmasq/dnsmasq.confd    |  5 ++--
 main/dnsmasq/dnsmasq.initd    | 29 +++++------------------
 main/dnsmasq/user_group.patch | 13 +++++++++++
 4 files changed, 53 insertions(+), 48 deletions(-)
 create mode 100644 main/dnsmasq/user_group.patch

diff --git a/main/dnsmasq/APKBUILD b/main/dnsmasq/APKBUILD
index ee9c814..4e958ce 100644
--- a/main/dnsmasq/APKBUILD
+++ b/main/dnsmasq/APKBUILD
@@ -1,7 +1,8 @@
+# Contributor: Valery Kartel <[email-masked]>
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=dnsmasq
 pkgver=2.76
-pkgrel=0
+pkgrel=1
 pkgdesc="Small forwarding DNS server"
 url="http://www.thekelleys.org.uk/dnsmasq/"
 arch="all"
@@ -9,42 +10,51 @@ license="GPL2"
 depends=
 makedepends="linux-headers"
 install="$pkgname.pre-install $pkgname.pre-upgrade"
+pkgusers="dnsmasq"
+pkggroups="dnsmasq"
 subpackages="$pkgname-doc"
 source="http://www.thekelleys.org.uk/dnsmasq/$pkgname-$pkgver.tar.gz
 	$pkgname.initd
 	$pkgname.confd
+	user_group.patch
 	"
 
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
 build() {
-	cd "$srcdir/$pkgname-$pkgver"
+	cd "$_builddir"
 	sed -i -e 's/^AWK.*/AWK = awk/' Makefile
-	make PREFIX=/usr \
-		CFLAGS="$CFLAGS" \
-		DBUS_LIBS= \
-		DBUS_CFLAGS= \
-		DBUS_MINOR= \
-		all || return 1
+	make CFLAGS="$CFLAGS" PREFIX=/usr all || return 1
 }
 
 package() {
-	cd "$srcdir/$pkgname-$pkgver"
-	make PREFIX=/usr \
-		DESTDIR="$pkgdir" \
-		DBUS_LIBS= \
-		DBUS_CFLAGS= \
-		DBUS_MINOR= \
-		install
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" PREFIX=/usr install || return 1
 	install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
 	install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-	install dnsmasq.conf.example "$pkgdir"/etc/dnsmasq.conf
+	install -m644 dnsmasq.conf.example "$pkgdir"/etc/dnsmasq.conf
+	sed -i 's:#conf-dir=/etc/dnsmasq.d/:conf-dir=/etc/dnsmasq.d/:' \
+		"$pkgdir"/etc/dnsmasq.conf || return 1
+	install -d -m755 "$pkgdir"/etc/dnsmasq.d
 }
 
 md5sums="6610f8233ca89b15a1bb47c788ffb84f  dnsmasq-2.76.tar.gz
-bfc91bcb341fd6d0f50eaeca1bb31cb0  dnsmasq.initd
-16985abb08c8e11f85e38b37ea3863a4  dnsmasq.confd"
+417c1c6607faed64bd5735d464d9345d  dnsmasq.initd
+4fd013f2cee3afe28094f9e1fb950bb3  dnsmasq.confd
+53bed407ebc76bea245f6e2d79c3955d  user_group.patch"
 sha256sums="777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32  dnsmasq-2.76.tar.gz
-9105043609236d774c1f502c309b56cbc669ce0b5e39b424789bbf55f0842037  dnsmasq.initd
-51c0672a70d5d6793d295d82db666d372fb081e8627318f67c88e48d08d254b5  dnsmasq.confd"
+9ada9d5d6bb62c620b543fb388207f9e9ef77da8d3d94e26789c1ad28e6cc72f  dnsmasq.initd
+a35c6a2fc158d812e290489fd6b090261f978e5a1d2019f70b2caeb61d1f94e3  dnsmasq.confd
+3a4597ab00e1d618a0c1badd1509189643b4a51d708c071e482a1e506a7288c4  user_group.patch"
 sha512sums="c22627a8d864671096d3b3428ec4f879b513e1f1e7f79be3ab89444c56234e748fbfa6b6b4f9e521984fea95d363f4aa2ca6243f0dfc12ffb74bed0648ae21c5  dnsmasq-2.76.tar.gz
-a7c44bd4c7d04d881e561288ee4979378ee0cd72a812a5dc33a040aea40374a2cbcafb1b3b2a6fa07291ee0831b7d421f7a8749289213fe1fb3205163980bfa5  dnsmasq.initd
-9a401bfc408bf1638645c61b8ca734bea0a09ef79fb36648ec7ef21666257234254bbe6c73c82cc23aa1779ddcdda0e6baa2c041866f16dfb9c4e0ba9133eab8  dnsmasq.confd"
+47787414bb157cfda07bdda6a1f459324fbf7db9c31f19ac2c660860d1d24316f23d511cbb8ad880e178ae82f200ca9b0d05ff80c7902e67e5d1b70f06fafd5c  dnsmasq.initd
+ad835012aaceadd8c67e3ebe1fe279d76b807f1a9d7f10195ddabf1b5f01f768b93605f7e0b24a262819f66a18fe097a5fc38ab54585b79e6516b179e278c7b2  dnsmasq.confd
+4dcc9bd931843d95f578398c7ae735b9c6df5d63906854e748a1419d8cfcffb3332f899dccf87d9163778206ac3d8412c3113b895bb82a3bcd9ebbe8ec91080e  user_group.patch"
diff --git a/main/dnsmasq/dnsmasq.confd b/main/dnsmasq/dnsmasq.confd
index 0e94463..2700cd1 100644
--- a/main/dnsmasq/dnsmasq.confd
+++ b/main/dnsmasq/dnsmasq.confd
@@ -1,4 +1,3 @@
-# /etc/conf.d/dnsmasq: config file for /etc/init.d/dnsmasq
-
 # See the dnsmasq(8) man page for possible options to put here.
-DNSMASQ_OPTS="--user=dnsmasq --group=dnsmasq"
+#
+#command_args=""
diff --git a/main/dnsmasq/dnsmasq.initd b/main/dnsmasq/dnsmasq.initd
index 0ebcb3c..2e43d13 100644
--- a/main/dnsmasq/dnsmasq.initd
+++ b/main/dnsmasq/dnsmasq.initd
@@ -1,13 +1,12 @@
 #!/sbin/openrc-run
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/net-dns/dnsmasq/files/dnsmasq-init-r1,v 1.2 2011/12/04 10:28:47 swegener Exp $
 
+command=/usr/sbin/dnsmasq
+pidfile=/var/run/dnsmasq.pid
+required_files=/etc/dnsmasq.conf
+extra_started_commands="reload"
 description="Lightweight DNS, TFTP, PXE, router advertisement and DHCP server"
 description_reload="Clear cache and reload hosts files"
 
-extra_started_commands="reload"
-
 depend() {
 	provide dns
 	need localmount net
@@ -15,24 +14,8 @@ depend() {
 	use logger
 }
 
-start() {
-	ebegin "Starting ${SVCNAME}"
-	start-stop-daemon --start --exec /usr/sbin/dnsmasq \
-	    --pidfile /var/run/dnsmasq.pid \
-	    -- -x /var/run/dnsmasq.pid ${DNSMASQ_OPTS}
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping ${SVCNAME}"
-	start-stop-daemon --stop --exec /usr/sbin/dnsmasq \
-	    --pidfile /var/run/dnsmasq.pid
-	eend $?
-}
-
 reload() {
-	ebegin "Reloading ${SVCNAME}"
-	start-stop-daemon --stop --oknodo --signal HUP \
-	    --exec /usr/sbin/dnsmasq --pidfile /var/run/dnsmasq.pid
+	ebegin "Reloading $SVCNAME"
+	start-stop-daemon --signal HUP --pidfile $pidfile
 	eend $?
 }
diff --git a/main/dnsmasq/user_group.patch b/main/dnsmasq/user_group.patch
new file mode 100644
index 0000000..b7e4604
--- /dev/null
+++ b/main/dnsmasq/user_group.patch
@@ -0,0 +1,13 @@
+--- a/src/config.h
++++ b/src/config.h
+@@ -40,8 +40,8 @@
+ #define HOSTSFILE "/etc/hosts"
+ #define ETHERSFILE "/etc/ethers"
+ #define DEFLEASE 3600 /* default lease time, 1 hour */
+-#define CHUSER "nobody"
+-#define CHGRP "dip"
++#define CHUSER "dnsmasq"
++#define CHGRP "dnsmasq"
+ #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */
+ #define LOG_MAX 5 /* log-queue length */
+ #define RANDFILE "/dev/urandom"
-- 
2.8.4

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---