| 
					
				 | 
			
			
				@@ -1,360 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## NOTE: tor.spec is autogenerated from tor.spec.in . Edit the latter, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## not the former. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Things that need to be edited frequently 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This should be incremented whenever the spec file changes, but 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# can drop back to zero at a new Tor version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define specver 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Things users may want to change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# User (and group) name under which the Tor daemon runs. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define toruser @TORUSER@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define torgroup @TORGROUP@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Version song and dance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This should be the Tor version number, as it appears on the tarball, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# including any "pre<x>" or "rc<y>" suffix. This gets massaged to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# create the RPM version number, in a way that depends on the Tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# numbering scheme. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define native_version       @VERSION@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define version %(echo %{native_version} | sed -e 's/-/./g') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Define output filename  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This creates filenames based upon the value of target_cpu defined above 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Release and OS identification song and dance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This identifies the lineage of the spec file. This file is the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# standard one that comes with Tor; various distributions may 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# have their own ideas about the right ways to do things. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define pkgspec tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This spec is intended to build and install on multiple distributions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# (someday). Detect the distribution we're building on. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_rh   %(test -e /etc/redhat-release && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_fc   %(test -e /etc/fedora-release && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_mdk  %(test -e /etc/mandrake-release && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_rfl  %(test -e /etc/redflag-release && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_fc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define ostag %(sed -e 's/^.*release /fc/' -e 's/ .*$//' -e 's/\\./_/g' < /etc/fedora-release) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_rh} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define ostag %(sed -e 's/^.*release /rh/' -e 's/ .*$//' -e 's/\\./_/g' < /etc/redhat-release) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_mdk} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define ostag mdk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_suse} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define ostag suse%(grep openSUSE /etc/SuSE-release | awk '{print $2}' | sed -e 's/\\./_/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_rfl} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define ostag %(sed -e 's/^.*Desktop /redflag/' -e 's/ .*$//' -e 's/\\./_/g' < /etc/redflag-release) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Using the build date ensures that every build really does get 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# a different release number.  We use this trick for CVS versions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# For release versions, we don't want or need it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define is_dev_version %(echo %{native_version} | grep 'dev' > /dev/null && echo 1 || echo 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_dev_version} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define blddate %(date -u +"%Y%m%d%H%M") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define release %{pkgspec}.%{specver}.%{ostag}.%{blddate} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define release %{pkgspec}.%{specver}.%{ostag} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## General-purpose macros 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Some systems don't have some macros. If a macro doesn't seem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# to exist on your system, add it here... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{!?__make:1}%{?__make:0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define __make make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{!?make:1}%{?make:0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define make %{__make} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{!?_localstatedir:1}%{?_localstatedir:0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%define _localstatedir @LOCALSTATEDIR@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## Package information 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Name: tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Version: %{version} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Release: %{release} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Summary: Anonymizing overlay network for TCP (The onion router) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-URL: https://www.torproject.org/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Group: System Environment/Daemons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-License: 3-clause BSD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Vendor: The Tor Project (https://torproject.org) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Packager: Erinn Clark <erinn@torproject.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Requires: openssl >= 0.9.7, libevent >= 1.4.13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-BuildRequires: openssl-devel >= 0.9.7, libevent-devel >= 1.4.13, asciidoc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Fedora 16 and RHEL 5 have following conflicting packages according to rpm search 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_rh} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Conflicts: tor-core, tor-lsb, tor-upstart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Requires(pre): /usr/bin/id, /bin/date, /bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Requires(pre): %{_sbindir}/useradd, %{_sbindir}/groupadd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Source0: https://www.torproject.org/dist/%{name}-%{native_version}.tar.gz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%description 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Tor is a connection-based low-latency anonymous communication system. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-This package provides the "tor" program, which serves as both a client and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-a relay node. Scripts will automatically create a "%{toruser}" user and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-a "%{torgroup}" group, and set tor up to run as a daemon when the system 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-is rebooted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Applications connect to the local Tor proxy using the SOCKS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol. The tor client chooses a path through a set of relays, in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-which each relay knows its predecessor and successor, but no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-others. Traffic flowing down the circuit is unwrapped by a symmetric 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-key at each relay, which reveals the downstream relay. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Warnings: Tor does no protocol cleaning.  That means there is a danger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-that application protocols and associated programs can be induced to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-reveal information about the initiator. Tor depends on Privoxy or  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-similar protocol cleaners to solve this problem. This is alpha code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-and is even more likely than released code to have anonymity-spoiling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bugs. The present network is small -- this further reduces the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-strength of the anonymity provided. Tor is not presently suitable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-for high-stakes anonymity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%prep 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%setup -q -n %{name}-%{native_version} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%build 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_suse} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup} --docdir=%{_docdir}/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%makeinstall 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Install init script and control script 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p ${RPM_BUILD_ROOT}%{_initrddir} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_suse} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__install -p -m 755 contrib/suse/tor.sh ${RPM_BUILD_ROOT}%{_initrddir}/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__install -p -m 755 contrib/tor.sh ${RPM_BUILD_ROOT}%{_initrddir}/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__install -p -m 755 contrib/torctl ${RPM_BUILD_ROOT}%{_bindir} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Set up config file; "sample" file implements a basic user node. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__install -p -m 644 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/torrc.sample ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/torrc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Install the logrotate control file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p -m 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__install -p -m 644 contrib/tor.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Directories that don't have any preinstalled files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p -m 700 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p -m 755 ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p -m 755 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__mkdir_p -m 700 ${RPM_BUILD_ROOT}%{_localstatedir}/tmp/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# These scripts are probably wrong for Mandrake or SuSE. They're certainly 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# wrong for Debian, but what are you doing using RPM on Debian? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%pre 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# If tor is already installed and running (whether installed by RPM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# or not), then kill it, but remember that it was running. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__rm -f /%{_localstatedir}/tmp/${name}-was-running-%{version}-%{release} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ -f %{_initrddir}/%{name} ] && /sbin/service %{name} status ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /sbin/service %{name} stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    touch /%{_localstatedir}/tmp/${name}-was-running-%{version}-%{release} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Create a user and group if need be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ ! -n "`/usr/bin/id -g %{torgroup} 2>/dev/null`" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # One would like to default the GID, but doing that properly would 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # require thought. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %{_sbindir}/groupadd %{torgroup} 2> /dev/null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ ! -n "`/usr/bin/id -u %{toruser} 2>/dev/null`" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # One would also like to default the UID, but doing that properly would 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # also require thought. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if [ -x %{_sbindir}/nologin ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        %{_sbindir}/useradd -r -g %{torgroup} -d %{_localstatedir}/lib/%{name} -s %{_sbindir}/nologin %{toruser} 2> /dev/null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        %{_sbindir}/useradd -r -g %{torgroup} -d %{_localstatedir}/lib/%{name}  -s /bin/false %{toruser} 2> /dev/null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%post 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# If this is a new installation, use chkconfig to put tor in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# default set of runlevels. If it's an upgrade, leave the existing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# configuration alone. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ $1 -eq 1 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /sbin/chkconfig --add %{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /sbin/chkconfig %{name} on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Older tor RPMS used a different username for the tor daemon. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Make sure the runtime data have the right ownership. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%__chown -R %{toruser}.%{torgroup} %{_localstatedir}/{lib,log,run}/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ -f /%{_localstatedir}/tmp/${name}-was-running-%{version}-%{release} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /sbin/service %{name} start 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f /%{_localstatedir}/tmp/${name}-was-running-%{version}-%{release} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%preun 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# If no instances of tor will be installed when we're done, make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# sure that it gets killed. We *don't* want to kill it or delete 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# any of its data on uninstall if it's being upgraded to a new 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# version, because the new version will actually already have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# been installed and started before the uninstall script for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# the old version is run, and we'd end up hosing it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ $1 -le 0 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if [ -f %{_initrddir}/%{name} ] && /sbin/service %{name} status ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        /sbin/service %{name} stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %/sbin/chkconfig --del %{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f ${_localstatedir}/lib/%{name}/cached-directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f ${_localstatedir}/lib/%{name}/bw_accounting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f ${_localstatedir}/lib/%{name}/control_auth_cookie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f ${_localstatedir}/lib/%{name}/router.desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    %__rm -f ${_localstatedir}/lib/%{name}/fingerprint 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%defattr(-,root,root) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_suse} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%doc INSTALL LICENSE README ChangeLog doc/HACKING doc/TODO doc/*html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%doc INSTALL LICENSE README ChangeLog doc/HACKING doc/TODO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_mandir}/man*/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_bindir}/tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_bindir}/torctl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_bindir}/torify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_bindir}/tor-resolve 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_bindir}/tor-gencert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%if %{is_suse} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_docdir}/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%{_datadir}/tor/geoip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%config %{_initrddir}/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%dir %attr(0755,root,%{torgroup}) %{_sysconfdir}/%{name}/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%config(noreplace) %attr(0644,root,%{torgroup}) %{_sysconfdir}/%{name}/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%attr(0700,%{toruser},%{torgroup}) %dir %{_localstatedir}/lib/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%attr(0750,%{toruser},%{torgroup}) %dir %{_localstatedir}/run/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%attr(0750,%{toruser},%{torgroup}) %dir %{_localstatedir}/log/%{name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-%changelog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Thu Jun 21 2012 Ondrej Mikle <ondrej.mikle@gmail.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- fixed to work with both rpmbuild and mock on RHEL/Fedora 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- removed unnecessary files from rpm such as .git repo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- fixed build dependencies and package conflicts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- fixed creating _tor user on Fedora 17 (ancient typo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- added/updated build instructions for RPM creation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- confirmed to build and run on EL5, EL6, Fedora 16/17, OpenSuse 12.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Fri Aug 20 2010 Erinn Clark <erinn@torproject.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- add conflicts for Fedora packages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- add logic for SuSE since it requires special doc handling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Mon Feb 22 2010 Erinn Clark <erinn@torproject.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- remove AUTHORS from %doc line since it no longer exists upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- switch maintainers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Fri May 01 2009 Andrew Lewman <andrew@torproject.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- clean up distro detection and remove dead comment blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Sun Feb 22 2009 Andrew Lewman <andrew@torproject.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- update the description, vendor, and packager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Thu Sep 11 2008 Andrew Lewman <phobos@rootme.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- See r16867  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- http://archives.seul.org/or/cvs/Sep-2008/msg00156.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Tue Feb 27 2007 Andrew Lewman <phobos@rootme.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Fix a potential race condition in how we determine the running state of tor.  Found by Stefan Nordhausen. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- see OR-CVS for details 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Fri May 26 2006 Andrew Lewman <phobos@rootme.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Add in a few "SUSEisms" to make dist-rpm actually work on suse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Turn Tor "on" via chkconfig 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Update -mcpu to -mtune to make GCC happy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- see OR-CVS for details 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Tue Mar 28 2006 Andrew Lewman <phobos@rootme.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- converted to build the specified target cpu and arch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- override related rpm macros to build correctly 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- see OR-CVS for details 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Mon Jan 17 2005 John Bashinski <jbash@velvet.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Take runtime user and group names from configure system. Default 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  user/group names are now "_tor"; blame Roger... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Make logrotate control file a separate file in the source distribution, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  rather than creating it from the spec file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Properly handle the order in which RPM executes scriptlets on upgrade. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  The old code would kill the daemon on upgrade. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Start the tor daemon after installation if and only if it was 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  running before installation. Preserve runlevel setup on upgrade. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Package the torctl script; the init script is now a wrapper around it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Tue Nov  5 2004 John Bashinski <jbash@velvet.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Add skeletal support for multiple distributions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Even more ridiculous level of macro-ization 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Modify version numbers so RPM can determine when it has a newer version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Return to including distribution name in package release number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Sharply trim description 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Change user/group name from "tor" to "tordmn"; "tor" is a common 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  given name (reported by Marius Hjelle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Change group to "System Environment/Daemons" (suggested by Marius Hjelle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Create logrotate file (suggested by Marius Hjelle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Make Tor run as a user proxy by default (suggested by Marius Hjelle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Autogenerate spec file from GNU autotools data, substituting version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  and whatnot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Be perhaps excessively paranoid with config file and directory modes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Remove auto-start and auto-stop at installation time; there's some kind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  of weird race going on, and it's arguably a bad thing anyway. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Mon Jun 06 2004 Nick Mathewson <nickm@freehaven.net> 0.0.7-0.std.0.1.rc2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Make spec file more happy with fc2 packaging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Sat Jan 17 2004 John Bashinski <jbash@velvet.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Basic spec file; tested with Red Hat 9. 
			 |