From 1302e6931f093d4d62029300ef60b6fed685ad40 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 18 May 2010 16:38:11 +0200 Subject: [PATCH] OpenRC: added a patch from git master to fix some errors. --- ...dd9b155ec6f6cd8f58236aba9c895cf979a8.patch | 128 ++++++++++++++++++ srcpkgs/OpenRC/template | 1 + 2 files changed, 129 insertions(+) create mode 100644 srcpkgs/OpenRC/patches/fixes_upstream_upto_fb7add9b155ec6f6cd8f58236aba9c895cf979a8.patch diff --git a/srcpkgs/OpenRC/patches/fixes_upstream_upto_fb7add9b155ec6f6cd8f58236aba9c895cf979a8.patch b/srcpkgs/OpenRC/patches/fixes_upstream_upto_fb7add9b155ec6f6cd8f58236aba9c895cf979a8.patch new file mode 100644 index 00000000000..7749add4ea1 --- /dev/null +++ b/srcpkgs/OpenRC/patches/fixes_upstream_upto_fb7add9b155ec6f6cd8f58236aba9c895cf979a8.patch @@ -0,0 +1,128 @@ +diff --git init.d/network.in init.d/network.in +index 7c406c5..135e5d8 100644 +--- init.d/network.in ++++ init.d/network.in +@@ -64,16 +64,8 @@ tentative() + case "$RC_UNAME" in + Linux) + [ -x /sbin/ip ] || return 1 +- LC_ALL=C ip addr show | while read inet address rest; do +- case "${inet}" in +- inet6) +- case "${rest}" in +- *" "tentative*) return 2;; +- esac +- ;; +- esac +- done +- [ $? = 2 ] ++ [ -n "$(ip -f inet6 addr show tentative)" ] ++ ;; + *) + local inet= address= rest= + LC_ALL=C ifconfig -a | while read inet address rest; do +@@ -232,8 +224,6 @@ start() + if [ "$RC_UNAME" = "Linux" ]; then + ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1 + route add -net 127.0.0.0 netmask 255.0.0.0 \ +- gw 127.0.0.1 2>/dev/null +- route add -net 127.0.0.0 netmask 255.0.0.0 \ + gw 127.0.0.1 reject 2>/dev/null + else + ifconfig lo0 127.0.0.1 netmask 255.0.0.0 || cr=1 +@@ -289,9 +279,14 @@ start() + r=5 + while [ $r -gt 0 ]; do + tentative || break ++ [ $r = 5 ] && vebegin "Waiting for tentative addresses" + sleep 1 + r=$(($r - 1)) + done ++ if [ $r != 5 ]; then ++ [ $r != 0 ] ++ veend $? ++ fi + + if [ -n "$defaultroute" ]; then + ebegin "Setting default route $defaultroute" +diff --git net/bonding.sh net/bonding.sh +index 793280b..559c9a1 100644 +--- net/bonding.sh ++++ net/bonding.sh +@@ -15,7 +15,7 @@ _is_bond() + + bonding_pre_start() + { +- local x= s= slaves="$(_get_array "slaves_${IFVAR}")" ++ local x= s= n= slaves="$(_get_array "slaves_${IFVAR}")" + + [ -z "${slaves}" ] && return 0 + +@@ -43,9 +43,11 @@ bonding_pre_start() + # Nice and dynamic :) + for x in /sys/class/net/"${IFACE}"/bonding/*; do + [ -f "${x}" ] || continue +- eval s=\$${x##*/}_${IFVAR} ++ n=${x##*/} ++ eval s=\$${n}_${IFVAR} + if [ -n "${s}" ]; then +- echo "${s}" >"${x}" ++ echo "${s}" >"${x}" || \ ++ eerror "Failed to configure $n (${n}_${IFVAR})" + fi + done + +diff --git net/dhclient.sh net/dhclient.sh +index 6c92c1f..65cacd3 100644 +--- net/dhclient.sh ++++ net/dhclient.sh +@@ -17,6 +17,7 @@ dhclient_start() + + # Get our options + # These options only work in Gentoo, and maybe RedHat ++ eval args=\$dhclient_${IFVAR} + eval opts=\$dhcp_${IFVAR} + [ -z "${opts}" ] && opts=${dhcp} + +diff --git net/iproute2.sh net/iproute2.sh +index 0df8eef..906a45e 100644 +--- net/iproute2.sh ++++ net/iproute2.sh +@@ -160,7 +160,8 @@ _add_route() + + # We cannot use a metric if we're using a nexthop + if ! ${have_metric} && \ +- [ -n "${metric}" -a -z "${cmd##* nexthop }" ] ++ [ -n "${metric}" -a \ ++ "${cmd##* nexthop }" = "$cmd" ] + then + cmd="${cmd} metric ${metric}" + fi +diff --git scripts/on_ac_power scripts/on_ac_power +index 0804952..9ef1df4 100755 +--- scripts/on_ac_power ++++ scripts/on_ac_power +@@ -9,6 +9,10 @@ if [ -f /proc/acpi/ac_adapter/AC*/state ]; then + "state:"*"off-line") return 128;; + esac + done ++elif [ -f /sys/class/power_supply/AC*/online ]; then ++ cat /sys/class/power_supply/AC*/online | while read line; do ++ [ "${line}" = 0 ] && return 128 ++ done + elif [ -f /proc/pmu/info ]; then + cat /proc/pmu/info | while read line; do + case "$line" in +diff --git src/rc/rc.c src/rc/rc.c +index 6d04b3d..ccafbe3 100644 +--- src/rc/rc.c ++++ src/rc/rc.c +@@ -773,7 +773,7 @@ handle_bad_signal(int sig) + #endif + + #include "_usage.h" +-#define getoptstring "o:" getoptstring_COMMON ++#define getoptstring "o:s:S" getoptstring_COMMON + static const struct option longopts[] = { + { "override", 1, NULL, 'o' }, + { "service", 1, NULL, 's' }, diff --git a/srcpkgs/OpenRC/template b/srcpkgs/OpenRC/template index 98b8d22d8c5..dd527cf8087 100644 --- a/srcpkgs/OpenRC/template +++ b/srcpkgs/OpenRC/template @@ -1,6 +1,7 @@ # Template file for 'OpenRC' pkgname=OpenRC version=0.6.1 +revision=1 wrksrc=openrc-${version} distfiles="http://roy.marples.name/downloads/openrc/openrc-$version.tar.bz2" build_style=gnu_makefile