[tor/f17] Package cleanup and various fixes

Jamie Nguyen jamielinux at fedoraproject.org
Wed Feb 6 22:32:02 UTC 2013


commit c25dae014fba82209a3f0471867e257cddd0f07c
Author: Jamie Nguyen <j at jamielinux.com>
Date:   Wed Feb 6 20:23:00 2013 +0000

    Package cleanup and various fixes

 .gitignore          |    2 +
 Makefile            |    2 -
 lastver             |    1 -
 sources             |    4 +-
 tor.logrotate       |   17 ++--
 tor.spec            |  270 ++++++++++++++++++++++++++-------------------------
 tor.systemd.service |    2 +-
 verinfo             |    2 -
 8 files changed, 148 insertions(+), 152 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 63bee14..98dbc4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 /tor-0.2.2.39.tar.gz
 /tor-0.2.2.39.tar.gz.asc
+/tor-0.2.3.25.tar.gz
+/tor-0.2.3.25.tar.gz.asc
diff --git a/sources b/sources
index 6cea52c..6eae516 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-9157a1f02fcda9d7d2c5744176373abd  tor-0.2.2.39.tar.gz
-7944de0693fccf65fe0e3ea6712887b6  tor-0.2.2.39.tar.gz.asc
+a1c364189a9a66ed9daa8e6436489daf  tor-0.2.3.25.tar.gz
+a4c12795ffb8f68550a5dab4a9eb0654  tor-0.2.3.25.tar.gz.asc
diff --git a/tor.logrotate b/tor.logrotate
index 3677b2c..5d6f22b 100644
--- a/tor.logrotate
+++ b/tor.logrotate
@@ -1,13 +1,10 @@
 /var/log/tor/*.log {
-	su toranon toranon
-	delaycompress
-	notifempty
-	sharedscripts
-	missingok
+    su toranon toranon
+    delaycompress
+    notifempty
+    sharedscripts
+    missingok
 	postrotate
-		test ! -f /etc/init.d/tor          || /etc/init.d/tor reload         >/dev/null 2>/dev/null || :
-		test ! -f /etc/initng/daemon/tor.i || /sbin/ngc --restart daemon/tor >/dev/null 2>/dev/null || :
-		test ! -d /etc/minit/services/tor  || /bin/msvc -h services/tor      >/dev/null 2>/dev/null || :
-		test ! -f /lib/systemd/system/tor.service || /bin/systemctl reload tor.service >/dev/null 2>/dev/null || :
-        endscript
+        /bin/systemctl reload tor.service >/dev/null 2>/dev/null || :
+    endscript
 }
diff --git a/tor.spec b/tor.spec
index 479cbf6..a235795 100644
--- a/tor.spec
+++ b/tor.spec
@@ -1,102 +1,75 @@
 ## This package understands the following switches:
-%bcond_without		fedora
-%bcond_without		noarch
-
-%global _hardened_build	1
-
-%global username		toranon
-%global uid			19
-%global homedir			%_var/lib/%name
-%global logdir			%_var/log/%name
-
-%{!?_unitdir:%global _unitdir /lib/systemd/system}
-%{?with_noarch:%global noarch	BuildArch:	noarch}
-%{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}}
-%{!?systemd_reqs:%global systemd_reqs \
-Requires(post):		 /bin/systemctl\
-Requires(preun):	 /bin/systemctl\
-Requires(postun):	 /bin/systemctl\
-%nil}
-%{!?systemd_install:%global systemd_install()\
-%post %1\
-test "$1" != "1" || /bin/systemctl daemon-reload >/dev/null 2>&1 || :\
-%preun %1\
-test "$1" != "0" || /bin/systemctl --no-reload disable %2 >/dev/null 2>&1 || :\
-test "$1" != "0" || /bin/systemctl stop %2 >/dev/null 2>&1 || :\
-%postun %1\
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :\
-test "$1" = "0" || /bin/systemctl try-restart %2 >/dev/null 2>&1 || :\
-%nil}
-
-
-Name:		tor
-Version:	0.2.2.39
-Release:	%release_func 1700
-Group:		System Environment/Daemons
-License:	BSD
-Summary:	Anonymizing overlay network for TCP (The onion router)
-URL:		http://tor.eff.org
-Requires:	%name-core = %version-%release
-Requires:	%name-systemd  = %version-%release
+%bcond_without      fedora
+%bcond_without      noarch
+%bcond_with         upstart
+
+%global _hardened_build 1
+
+%global username    toranon
+%global uid         19
+%global homedir     %_var/lib/%{name}
+%global logdir      %_var/log/%{name}
+
+Name:           tor
+Version:        0.2.3.25
+Release:        1700
+Group:          System Environment/Daemons
+License:        BSD
+Summary:        Anonymizing overlay network for TCP (The onion router)
+URL:            http://www.torproject.org
+Requires:       %{name}-core     = %{version}-%{release}
+Requires:       %{name}-systemd  = %{version}-%{release}
 
 
 %package core
-Summary:	Core programs for tor
-Group:		System Environment/Daemons
-URL:		http://www.torproject.org
-Source0:	https://www.torproject.org/dist/%name-%version.tar.gz
-Source1:	https://www.torproject.org/dist/%name-%version.tar.gz.asc
-Source2:	tor.logrotate
-BuildRoot:	%_tmppath/%name-%version-%release-root
+Summary:        Core programs for tor
+Group:          System Environment/Daemons
+Source0:        https://www.torproject.org/dist/%{name}-%{version}.tar.gz
+Source1:        https://www.torproject.org/dist/%{name}-%{version}.tar.gz.asc
+Source2:        tor.logrotate
 
 # tor-design.pdf is not shipped anymore with tor
-Obsoletes:	tor-doc < 0.2.2
-
-BuildRequires:	libevent-devel openssl-devel
-BuildRequires:	fedora-usermgmt-devel
-Provides:		user(%username)  = %uid
-Provides:		group(%username) = %uid
-Requires:		init(%name)
-Requires(pre):		/etc/logrotate.d
-Requires(postun):	/etc/logrotate.d
+Obsoletes:      tor-doc < 0.2.2
+
+BuildRequires:  libevent-devel openssl-devel asciidoc
+BuildRequires:  fedora-usermgmt-devel
+Provides:       user(%{username})  = %uid
+Provides:       group(%{username}) = %uid
+Requires:       init(%{name})
+Requires(pre):     /etc/logrotate.d
+Requires(postun):  /etc/logrotate.d
 %{?FE_USERADD_REQ}
 
 
 %package -n torify
-Summary:	The torify wrapper script
-Group:		System Environment/Daemons
-Requires:	tsocks
-# Prevent version mix
-Conflicts:	%name-core < %version-%release
-Conflicts:	%name-core > %version-%release
+Summary:        The torify wrapper script
+Group:          System Environment/Daemons
+Requires:       tsocks
+Requires:       %{name}-core = %{version}-%{release}
 %{?noarch}
 
 
 %package systemd
-Summary:	Systemd initscripts for tor
-Group:		System Environment/Daemons
-Source10:	tor.systemd.service
-Provides:	init(%name) = systemd
-Requires:	%name-core = %version-%release
-%{?systemd_reqs}
-
-# TODO: remove me in F17
-Obsoletes:	%name-lsb < %version-%release
-Provides:	%name-lsb = %version-%release
-Obsoletes:	%name-sysv < %version-%release
-Provides:	%name-sysv = %version-%release
+Summary:        Systemd initscripts for tor
+Group:          System Environment/Daemons
+Source10:       tor.systemd.service
+Provides:       init(%{name}) = systemd
+Requires:       %{name}-core = %{version}-%{release}
+Requires(post):    systemd
+Requires(preun):   systemd
+Requires(postun):  systemd
 %{?noarch}
 
 
 %package upstart
-Summary:		upstart initscripts for %name
-Group:			System Environment/Base
-Source20:		%name.upstart
-Provides:		init(%name) = upstart
-Requires:		%name-core = %version-%release
-Requires(pre):		/etc/init
-Requires(post):		/usr/bin/killall
-Requires(postun):	/sbin/initctl
+Summary:        upstart initscripts for %{name}
+Group:          System Environment/Base
+Source20:       %{name}.upstart
+Provides:       init(%{name}) = upstart
+Requires:       %{name}-core = %{version}-%{release}
+Requires(pre):     /etc/init
+Requires(post):    /usr/bin/killall
+Requires(postun):  /sbin/initctl
 %{?noarch}
 
 
@@ -149,102 +122,131 @@ daemon.
 %prep
 %setup -q
 
-sed -i -e 's!^\(\# *\)\?DataDirectory .*!DataDirectory %homedir/.tor!' src/config/torrc.sample.in
-cat <<EOF >>src/config/torrc.sample.in
-Log notice syslog
-User  %username
-EOF
-
 
 %build
 export LDFLAGS='-Wl,--as-needed'
-%configure
+%configure --with-tor-user=%{username} --with-tor-group=%{username}
 make %{?_smp_mflags}
 
 
 %install
-rm -rf $RPM_BUILD_ROOT _doc _doc-torify
-
 make install DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT%_sysconfdir/tor/torrc{.sample,}
 
-mkdir -p $RPM_BUILD_ROOT{%logdir,%homedir,%_var/run/%name}
+mv $RPM_BUILD_ROOT%{_sysconfdir}/tor/torrc{.sample,}
+sed -i -e "s|#DataDirectory.*$|DataDirectory %{homedir}/.tor|g" \
+    $RPM_BUILD_ROOT%{_sysconfdir}/tor/torrc
+cat << EOF >> $RPM_BUILD_ROOT%{_sysconfdir}/tor/torrc
+Log notice syslog
+User %{username}
+EOF
 
-install -D -p -m 0644 %SOURCE10 $RPM_BUILD_ROOT%_unitdir/%name.service
-install -D -p -m 0644 %SOURCE2  $RPM_BUILD_ROOT%_sysconfdir/logrotate.d/tor
+mkdir -p $RPM_BUILD_ROOT%{logdir}
+mkdir -p $RPM_BUILD_ROOT%{homedir}
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/tor
 
-install -D -p -m 0644 %SOURCE20 $RPM_BUILD_ROOT%_sysconfdir/init/tor.conf
+install -D -p -m 0644 %{SOURCE10} \
+    $RPM_BUILD_ROOT%_unitdir/%{name}.service
+install -D -p -m 0644 %{SOURCE2} \
+    $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/tor
+install -D -p -m 0644 %{SOURCE20} \
+    $RPM_BUILD_ROOT%{_sysconfdir}/init/tor.conf
 
-mv $RPM_BUILD_ROOT%_datadir/doc/tor _doc
+# Split docs for tor and torify
+mv $RPM_BUILD_ROOT%{_datadir}/doc/tor _doc
 mkdir _doc-torify
 mv _doc/torify.html _doc-torify
 
+%{!?with_upstart:  rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/init}
+
 
 %pre core
-%__fe_groupadd %uid -r %username &>/dev/null || :
-%__fe_useradd  %uid -r -s /sbin/nologin -d %homedir -M          \
-                    -c 'TOR anonymizing user' -g %username %username &>/dev/null || :
+%__fe_groupadd %uid -r %{username} &>/dev/null || :
+%__fe_useradd  %uid -r -s /sbin/nologin -d %{homedir} -M \
+                    -c 'TOR anonymizing user' \
+                    -g %{username} %{username} &>/dev/null || :
 
 %postun core
-%__fe_userdel  %username &>/dev/null || :
-%__fe_groupdel %username &>/dev/null || :
-
-
-%systemd_install systemd %name.service
-
+%__fe_userdel  %{username} &>/dev/null || :
+%__fe_groupdel %{username} &>/dev/null || :
+
+%post systemd
+if [ $1 -eq 1 ]; then
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+
+%preun systemd
+if [ $1 -eq 0 ] ; then
+    /bin/systemctl --no-reload disable tor.service >/dev/null 2>&1 || :
+    /bin/systemctl stop tor.service >/dev/null 2>&1 || :
+fi
+
+%postun systemd
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    /bin/systemctl try-restart tor.service >/dev/null 2>&1 || :
+fi
 
 %postun upstart
-/usr/bin/killall -u %username -s INT tor 2>/dev/null || :
+/usr/bin/killall -u %{username} -s INT tor 2>/dev/null || :
 
 %preun upstart
 test "$1" != "0" || /sbin/initctl -q stop tor || :
 
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
 %files
 
 
 %files core
-%defattr(-,root,root,-)
-%doc LICENSE README ChangeLog
-%doc ReleaseNotes
-%doc _doc/*
-%dir               %_sysconfdir/tor
-%config(noreplace) %_sysconfdir/logrotate.d/tor
-%attr(0700,%username,%username) %dir %homedir
-%attr(0730,root,%username)      %dir %logdir
-%attr(0640,root,%username) %config(noreplace) %_sysconfdir/tor/torrc
-%_bindir/*
-%_mandir/man1/*
-%_datadir/tor
-
-%exclude %_mandir/man1/torify*
-%exclude %_bindir/torify
+%doc LICENSE README ChangeLog ReleaseNotes _doc/*
+%{_bindir}/tor
+%{_bindir}/tor-gencert
+%{_bindir}/tor-resolve
+%{_datadir}/tor
+%{_mandir}/man1/tor.1*
+%{_mandir}/man1/tor-gencert.1*
+%{_mandir}/man1/tor-resolve.1*
+%dir %{_sysconfdir}/tor
+%attr(0640,root,%{username}) %config(noreplace) %{_sysconfdir}/tor/torrc
+%config(noreplace) %{_sysconfdir}/logrotate.d/tor
+%attr(0700,%{username},%{username}) %dir %{homedir}
+%attr(0750,%{username},%{username}) %dir %{logdir}
+%attr(0750,%{username},%{username}) %dir %{_localstatedir}/run/tor
+
+%exclude %{_mandir}/man1/torify.1*
+%exclude %{_bindir}/torify
 
 
 %files -n torify
-%defattr(-,root,root,-)
 %doc _doc-torify/*
-%_bindir/torify
-%_mandir/man1/torify*
-%dir               %_sysconfdir/tor
-%config(noreplace) %_sysconfdir/tor/tor-tsocks.conf
+%{_bindir}/torify
+%{_mandir}/man1/torify*
+%dir               %{_sysconfdir}/tor
+%config(noreplace) %{_sysconfdir}/tor/tor-tsocks.conf
 
 
 %files systemd
-%defattr(-,root,root,-)
-%_unitdir/%name.service
+%{_unitdir}/tor.service
 
 
+%if 0%{?with_upstart:1}
 %files upstart
-%defattr(-,root,root,-)
-%config(noreplace) /etc/init/*
+  %config(noreplace) %{_sysconfdir}/init/*
+%endif
 
 
 %changelog
+* Wed Feb 06 2013 Jamie Nguyen <jamielinux at fedoraproject.org> - 0.2.3.25-1700
+- add additional %%configure options for user and group
+- add --defaults-torrc to systemd service to make sure sane defaults are set
+  unless explicitly overridden
+- remove unnecessary BuildRoot tag
+- remove unnecessary rm -rf RPM_BUILD_ROOT
+- remove unnecessary %%clean section
+- remove unnecessary defattr's
+- fix Requires for torify subpackage
+- update scriptlets to latest systemd guidelines
+- aesthetic changes to the SPEC for clarity and readability
+
 * Sat Sep 22 2012 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 0.2.2.39-1700
 - updated to 0.2.2.29
 - CVE-2012-4419: assertion failure when comparing an address with port
diff --git a/tor.systemd.service b/tor.systemd.service
index 2fabf70..3b3d3f2 100644
--- a/tor.systemd.service
+++ b/tor.systemd.service
@@ -4,7 +4,7 @@ After = syslog.target network.target nss-lookup.target
 
 [Service]
 Type = simple
-ExecStart = /usr/bin/tor --runasdaemon 0 --quiet
+ExecStart = /usr/bin/tor --runasdaemon 0 --defaults-torrc /usr/share/tor/defaults-torrc -f /etc/tor/torrc --quiet
 ExecReload = /bin/kill -HUP ${MAINPID}
 ExecStop = /bin/kill -INT ${MAINPID}
 TimeoutSec = 30


More information about the scm-commits mailing list