From: Nicolas Thill Date: Wed, 9 Nov 2011 23:17:24 +0000 (+0000) Subject: packages/tor{,-alpha}: use new service functions, move user/group creation from posti... X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=70656b41992f43a492cc5bbc79f02c4c419bb3ee packages/tor{,-alpha}: use new service functions, move user/group creation from postinst to initscript, move pid file to /var/run/tor directory SVN-Revision: 28902 --- diff --git a/net/tor-alpha/Makefile b/net/tor-alpha/Makefile index 6897ae6fdf..8873972fcd 100644 --- a/net/tor-alpha/Makefile +++ b/net/tor-alpha/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor-alpha PKG_VERSION:=0.2.3.5-alpha -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=tor-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.torproject.org/dist \ @@ -73,41 +73,6 @@ define Package/tor-alpha/conffiles /etc/tor/torrc endef -define Package/tor-alpha/postinst -#!/bin/sh - -name=tor -id=52 - -# do not change below -# # check if we are on real system -if [ -z "$${IPKG_INSTROOT}" ]; then - # create copies of passwd and group, if we use squashfs - rootfs=`mount |awk '/root/ { print $$5 }'` - if [ "$$rootfs" = "squashfs" ]; then - if [ -h /etc/group ]; then - rm /etc/group - cp /rom/etc/group /etc/group - fi - if [ -h /etc/passwd ]; then - rm /etc/passwd - cp /rom/etc/passwd /etc/passwd - fi - fi -fi - -echo "" -if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then - echo "adding group $$name to /etc/group" - echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group -fi - -if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then - echo "adding user $$name to /etc/passwd" - echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd -fi -endef - CONFIGURE_ARGS += \ --with-libevent-dir="$(STAGING_DIR)/usr" \ --with-ssl-dir="$(STAGING_DIR)/usr" \ diff --git a/net/tor-alpha/files/tor.init b/net/tor-alpha/files/tor.init index 40d4ecf0a1..42eff1ae71 100644 --- a/net/tor-alpha/files/tor.init +++ b/net/tor-alpha/files/tor.init @@ -1,26 +1,29 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org + START=50 -BIN=tor -DEFAULT=/etc/default/$BIN -LOG_D=/var/log/$BIN -LIB_D=/var/lib/$BIN -RUN_D=/var/run -PID_F=$RUN_D/$BIN.pid -RUN_USER=$BIN -RUN_GROUP=$BIN +SERVICE_PID_FILE=/var/run/tor/tor.pid start() { - [ -f $DEFAULT ] && . $DEFAULT - [ -d $LOG_D ] || ( mkdir -m 0755 -p $LOG_D && chown $RUN_USER:$RUN_GROUP $LOG_D ) - [ -d $LIB_D ] || ( mkdir -m 0700 -p $LIB_D && chown $RUN_USER:$RUN_GROUP $LIB_D ) - [ -d $RUN_D ] || mkdir -p $RUN_D - [ -f $PID_F ] || ( touch $PID_F && chown $RUN_USER:$RUN_GROUP $PID_F ) - $BIN $OPTIONS + user_exists tor 52 || user_add tor 52 + group_exists tor 52 || group_add tor 52 + [ -d /var/run/tor ] || { + mkdir -m 0755 -p /var/run/tor + chown tor:tor /var/run/tor + } + [ -d /var/lib/tor ] || { + mkdir -m 0755 -p /var/lib/tor + chmod 0700 /var/lib/tor + chown tor:tor /var/lib/tor + } + [ -d /var/log/tor ] || { + mkdir -m 0755 -p /var/log/tor + chown tor:tor /var/log/tor + } + service_start /usr/sbin/tor } stop() { - [ -f $PID_F ] && kill $(cat $PID_F) + service_stop /usr/sbin/tor } - diff --git a/net/tor-alpha/patches/001-torrc.patch b/net/tor-alpha/patches/001-torrc.patch index a390a6e2d8..d5e52709d9 100644 --- a/net/tor-alpha/patches/001-torrc.patch +++ b/net/tor-alpha/patches/001-torrc.patch @@ -19,4 +19,4 @@ #ExitPolicy reject *:* +User tor -+PidFile @LOCALSTATEDIR@/run/tor.pid ++PidFile @LOCALSTATEDIR@/run/tor/tor.pid diff --git a/net/tor/Makefile b/net/tor/Makefile index f87ab2615a..b1dc1730d1 100644 --- a/net/tor/Makefile +++ b/net/tor/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor PKG_VERSION:=0.2.2.34 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.torproject.org/dist \ @@ -50,41 +50,6 @@ define Package/tor/conffiles /etc/tor/torrc endef -define Package/tor/postinst -#!/bin/sh - -name=tor -id=52 - -# do not change below -# # check if we are on real system -if [ -z "$${IPKG_INSTROOT}" ]; then - # create copies of passwd and group, if we use squashfs - rootfs=`mount |awk '/root/ { print $$5 }'` - if [ "$$rootfs" = "squashfs" ]; then - if [ -h /etc/group ]; then - rm /etc/group - cp /rom/etc/group /etc/group - fi - if [ -h /etc/passwd ]; then - rm /etc/passwd - cp /rom/etc/passwd /etc/passwd - fi - fi -fi - -echo "" -if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then - echo "adding group $$name to /etc/group" - echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group -fi - -if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then - echo "adding user $$name to /etc/passwd" - echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd -fi -endef - CONFIGURE_ARGS += \ --with-libevent-dir="$(STAGING_DIR)/usr" \ --with-ssl-dir="$(STAGING_DIR)/usr" \ diff --git a/net/tor/files/tor.init b/net/tor/files/tor.init index 40d4ecf0a1..42eff1ae71 100644 --- a/net/tor/files/tor.init +++ b/net/tor/files/tor.init @@ -1,26 +1,29 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org + START=50 -BIN=tor -DEFAULT=/etc/default/$BIN -LOG_D=/var/log/$BIN -LIB_D=/var/lib/$BIN -RUN_D=/var/run -PID_F=$RUN_D/$BIN.pid -RUN_USER=$BIN -RUN_GROUP=$BIN +SERVICE_PID_FILE=/var/run/tor/tor.pid start() { - [ -f $DEFAULT ] && . $DEFAULT - [ -d $LOG_D ] || ( mkdir -m 0755 -p $LOG_D && chown $RUN_USER:$RUN_GROUP $LOG_D ) - [ -d $LIB_D ] || ( mkdir -m 0700 -p $LIB_D && chown $RUN_USER:$RUN_GROUP $LIB_D ) - [ -d $RUN_D ] || mkdir -p $RUN_D - [ -f $PID_F ] || ( touch $PID_F && chown $RUN_USER:$RUN_GROUP $PID_F ) - $BIN $OPTIONS + user_exists tor 52 || user_add tor 52 + group_exists tor 52 || group_add tor 52 + [ -d /var/run/tor ] || { + mkdir -m 0755 -p /var/run/tor + chown tor:tor /var/run/tor + } + [ -d /var/lib/tor ] || { + mkdir -m 0755 -p /var/lib/tor + chmod 0700 /var/lib/tor + chown tor:tor /var/lib/tor + } + [ -d /var/log/tor ] || { + mkdir -m 0755 -p /var/log/tor + chown tor:tor /var/log/tor + } + service_start /usr/sbin/tor } stop() { - [ -f $PID_F ] && kill $(cat $PID_F) + service_stop /usr/sbin/tor } - diff --git a/net/tor/patches/001-torrc.patch b/net/tor/patches/001-torrc.patch index a390a6e2d8..d5e52709d9 100644 --- a/net/tor/patches/001-torrc.patch +++ b/net/tor/patches/001-torrc.patch @@ -19,4 +19,4 @@ #ExitPolicy reject *:* +User tor -+PidFile @LOCALSTATEDIR@/run/tor.pid ++PidFile @LOCALSTATEDIR@/run/tor/tor.pid