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
This commit is contained in:
nico 2011-11-09 23:17:24 +00:00
parent a91e83b20f
commit c6463f8a84
6 changed files with 44 additions and 108 deletions

View File

@ -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" \

View File

@ -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
}

View File

@ -19,4 +19,4 @@
#ExitPolicy reject *:*
+User tor
+PidFile @LOCALSTATEDIR@/run/tor.pid
+PidFile @LOCALSTATEDIR@/run/tor/tor.pid

View File

@ -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" \

View File

@ -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
}

View File

@ -19,4 +19,4 @@
#ExitPolicy reject *:*
+User tor
+PidFile @LOCALSTATEDIR@/run/tor.pid
+PidFile @LOCALSTATEDIR@/run/tor/tor.pid