From c6463f8a8457b9f38e0d1b22d6c43e3cd0d2262b Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 9 Nov 2011 23:17:24 +0000 Subject: [PATCH] packages/tor{,-alpha}: use new service functions, move user/group creation from postinst to initscript, move pid file to /var/run/tor directory git-svn-id: svn://svn.openwrt.org/openwrt/packages@28902 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/tor-alpha/Makefile | 37 +---------------------------------- net/tor-alpha/files/tor.init | 37 +++++++++++++++++++---------------- net/tor-alpha/patches/001-torrc.patch | 2 +- net/tor/Makefile | 37 +---------------------------------- net/tor/files/tor.init | 37 +++++++++++++++++++---------------- net/tor/patches/001-torrc.patch | 2 +- 6 files changed, 44 insertions(+), 108 deletions(-) diff --git a/net/tor-alpha/Makefile b/net/tor-alpha/Makefile index 6897ae6fd..8873972fc 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 40d4ecf0a..42eff1ae7 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 a390a6e2d..d5e52709d 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 f87ab2615..b1dc1730d 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 40d4ecf0a..42eff1ae7 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 a390a6e2d..d5e52709d 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 -- 2.11.0