[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