core/openresolv/fs33801.patch
2015-02-27 22:00:40 +01:00

224 lines
7.1 KiB
Diff

diff -u -r openresolv-3.6.1/configure openresolv-3.6.1-arch/configure
--- openresolv-3.6.1/configure 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/configure 2015-01-01 12:20:34.805786238 +0100
@@ -7,6 +7,7 @@
HOST=
TARGET=
RESTARTCMD=
+RELOADCMD=
RCDIR=
for x do
@@ -33,6 +34,7 @@
--target) TARGET=$var;;
--libdir) LIBDIR=$var;;
--restartcmd) RESTARTCMD=$var;;
+ --reloadcmd) RELOADCMD=$var;;
--includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";;
--datadir|--infodir) ;; # ignore autotools
--disable-maintainer-mode|--disable-dependency-tracking) ;;
@@ -60,7 +62,7 @@
echo "no"
RUNDIR=/var/run
fi
-fi
+fi
: ${SED:=sed}
@@ -68,7 +70,6 @@
: ${SBINDIR:=$PREFIX/sbin}
: ${LIBEXECDIR:=$PREFIX/libexec/resolvconf}
: ${STATEDIR:=/var}
-: ${RUNDIR:=$STATEDIR/run}
: ${MANDIR:=${PREFIX:-/usr}/share/man}
eval SYSCONFDIR="$SYSCONFDIR"
@@ -117,7 +118,7 @@
rm -rf $CONFIG_MK
echo "# $OS" >$CONFIG_MK
-for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR; do
+for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RUNDIR; do
eval v=\$$x
# Make files look nice for import
l=$((10 - ${#x}))
@@ -126,26 +127,30 @@
echo "$x=$t $v" >>$CONFIG_MK
done
-if [ -z "$RESTARTCMD" ]; then
+if [ -z "$RESTARTCMD" -o -z "$RELOADCMD" ]; then
printf "Checking for systemd ... "
if [ -x /bin/systemctl ]; then
- RESTARTCMD="/bin/systemctl try-restart \1"
+ : ${RESTARTCMD:="/bin/systemctl --fail --no-block try-restart \1"}
+ : ${RELOADCMD:="/bin/systemctl --fail --no-block reload \1"}
echo "yes"
elif [ -x /usr/bin/systemctl ]; then
- RESTARTCMD="/usr/bin/systemctl try-restart \1"
+ : ${RESTARTCMD:="/usr/bin/systemctl --fail --no-block try-restart \1"}
+ : ${RELOADCMD:="/usr/bin/systemctl --fail --no-block reload \1"}
echo "yes"
else
echo "no"
fi
fi
+: ${RELOADCMD:='[ -s "\2" ] \&\& kill -HUP \\`cat "\2"\\` 2>/dev/null'}
+
# Arch upgraded to systemd, so this check has to be just after systemd
# but higher than the others
if [ -z "$RESTARTCMD" ]; then
printf "Checking for Arch ... "
if [ -e /etc/arch-release -a -d /etc/rc.d ]; then
RCDIR=/etc/rc.d
- RESTARTCMD="[ -e /var/run/daemons/\1 ] \&\& /etc/rc.d/\1 restart"
+ RESTARTCMD="[ -e $RUNDIR/daemons/\1 ] \&\& /etc/rc.d/\1 restart"
echo "yes"
else
echo "no"
@@ -203,11 +208,13 @@
echo "RCDIR= $RCDIR" >>$CONFIG_MK
# Work around bug in the dash shell as "echo 'foo \1'" does bad things
printf "%s\n" "RESTARTCMD= $RESTARTCMD" >>$CONFIG_MK
+printf "%s\n" "RELOADCMD= $RELOADCMD" >>$CONFIG_MK
echo
echo " SYSCONFDIR = $SYSCONFDIR"
echo " SBINDIR = $SBINDIR"
echo " LIBEXECDIR = $LIBEXECDIR"
-echo " VARDIR = $RUNDIR"
+echo " RUNDIR = $RUNDIR"
+echo " VARDIR = $VARDIR"
echo " MANDIR = $MANDIR"
echo
diff -u -r openresolv-3.6.1/dnsmasq.in openresolv-3.6.1-arch/dnsmasq.in
--- openresolv-3.6.1/dnsmasq.in 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/dnsmasq.in 2015-01-01 12:22:47.265204837 +0100
@@ -33,11 +33,12 @@
NL="
"
-: ${dnsmasq_pid:=/var/run/dnsmasq.pid}
-[ -s "$dnsmasq_pid" ] || dnsmasq_pid=/var/run/dnsmasq/dnsmasq.pid
+: ${dnsmasq_pid:=@RUNDIR@/dnsmasq.pid}
+[ -s "$dnsmasq_pid" ] || : ${dnsmasq_pid:=@RUNDIR@/dnsmasq/dnsmasq.pid}
[ -s "$dnsmasq_pid" ] || unset dnsmasq_pid
: ${dnsmasq_service:=dnsmasq}
: ${dnsmasq_restart:=@RESTARTCMD ${dnsmasq_service}@}
+: ${dnsmasq_reload:=@RELOADCMD ${dnsmasq_service} ${dnsmasq_pid}@}
newconf="# Generated by resolvconf$NL"
newresolv="$newconf"
@@ -184,7 +185,7 @@
fi
if $dbus; then
if [ -s "$dnsmasq_pid" ]; then
- $changed || kill -HUP $(cat "$dnsmasq_pid")
+ $changed || eval $dnsmasq_reload
fi
# Send even if empty so old servers are cleared
if $dbus_ex; then
diff -u -r openresolv-3.6.1/Makefile openresolv-3.6.1-arch/Makefile
--- openresolv-3.6.1/Makefile 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/Makefile 2015-01-01 12:20:34.862452655 +0100
@@ -10,11 +10,13 @@
SBINDIR?= /sbin
SYSCONFDIR?= /etc
LIBEXECDIR?= /libexec/resolvconf
-VARDIR?= /var/run/resolvconf
+RUNDIR?= /var/run
+VARDIR?= ${RUNDIR}/resolvconf
RCDIR?= /etc/rc.d
RESTARTCMD?= if ${RCDIR}/\1 status >/dev/null 2>\&1; then \
${RCDIR}/\1 restart; \
fi
+RELOADCMD?= [ -s "\2" ] \&\& kill -HUP \\`cat "\2"\\` 2>/dev/null
INSTALL?= install
SED?= sed
@@ -32,17 +34,19 @@
SED_SBINDIR= -e 's:@SBINDIR@:${SBINDIR}:g'
SED_SYSCONFDIR= -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g'
SED_LIBEXECDIR= -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g'
+SED_RUNDIR= -e 's:@RUNDIR@:${RUNDIR}:g'
SED_VARDIR= -e 's:@VARDIR@:${VARDIR}:g'
SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g'
SED_RESTARTCMD= -e 's:@RESTARTCMD \(.*\)@:${RESTARTCMD}:g'
+SED_RELOADCMD= -e 's:@RELOADCMD \([^ ]*\) \(.*\)@:${RELOADCMD}:g'
.SUFFIXES: .in
all: ${TARGET}
.in:
- ${SED} ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \
- ${SED_VARDIR} ${SED_RCDIR} ${SED_RESTARTCMD} \
+ ${SED} ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} ${SED_RUNDIR} \
+ ${SED_VARDIR} ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RELOADCMD} \
$< > $@
clean:
diff -u -r openresolv-3.6.1/resolvconf.8.in openresolv-3.6.1-arch/resolvconf.8.in
--- openresolv-3.6.1/resolvconf.8.in 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/resolvconf.8.in 2015-01-01 12:20:34.882452568 +0100
@@ -124,7 +124,7 @@
This only needs to be called if the initial system boot sequence does not
automatically clean it out; for example the state directory is moved
somewhere other than
-.Pa /var/run .
+.Pa @RUNDIR@ .
If used, it should only be called once as early in the system boot sequence
as possible and before
.Nm
diff -u -r openresolv-3.6.1/resolvconf.conf.5.in openresolv-3.6.1-arch/resolvconf.conf.5.in
--- openresolv-3.6.1/resolvconf.conf.5.in 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/resolvconf.conf.5.in 2015-01-01 12:20:34.882452568 +0100
@@ -281,6 +281,8 @@
Command to restart the dnsmasq service.
.It Sy dnsmasq_pid
Location of the dnsmasq pidfile.
+.It Sy dnsmasq_reload
+Command to reload the dnsmasq service.
.It Sy libc_service
Location of the libc service.
.It Sy libc_restart
@@ -297,6 +299,8 @@
Command to restart the unbound service.
.It Sy unbound_pid
Location of the unbound pidfile.
+.It Sy unbound_reload
+Command to reload the unbound service.
.El
.Sh SEE ALSO
.Xr resolv.conf 5 ,
diff -u -r openresolv-3.6.1/unbound.in openresolv-3.6.1-arch/unbound.in
--- openresolv-3.6.1/unbound.in 2014-10-28 23:03:14.000000000 +0100
+++ openresolv-3.6.1-arch/unbound.in 2015-01-01 12:20:34.882452568 +0100
@@ -35,9 +35,10 @@
NL="
"
-: ${unbound_pid:=/var/run/unbound.pid}
+: ${unbound_pid:=@RUNDIR@/unbound.pid}
: ${unbound_service:=unbound}
: ${unbound_restart:=@RESTARTCMD ${unbound_service}@}
+: ${unbound_reload:=@RELOADCMD ${unbound_service} ${unbound_pid}@}
newconf="# Generated by resolvconf$NL"
for d in $DOMAINS; do
@@ -75,11 +76,5 @@
then
printf %s "$newconf" >"$unbound_conf"
# If we can't sent a HUP then force a restart
- if [ -s "$unbound_pid" ]; then
- if ! kill -HUP $(cat "$unbound_pid") 2>/dev/null; then
- eval $unbound_restart
- fi
- else
- eval $unbound_restart
- fi
+ eval $unbound_reload || eval $unbound_restart
fi