File xbt-tracker.spec of Package xbt-tracker
#
# spec file for package xbt-tracker (Version 0.0_r1772)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: xbt-tracker
Version: 0.0_r1772
Release: 0.0
#
License: GPLv2
Group: Productivity/Networking/Other
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: boost-devel cmake gcc-c++
BuildRequires: mysql-devel >= 4.1
%define pkg_name xbt_tracker
%define pkg_user xbt_tracker
%define pkg_homedir /var/lib/%{pkg_name}
%define pkg_rundir /var/run/%{pkg_name}
%define pkg_logdir /var/log/%{pkg_name}
#
Url: http://xbtt.sourceforge.net/tracker/
Source: %{name}.tar.bz2
Source1: README.txt
Source2: cmake.tar.bz2
Source3: usr.sbin.xbt_tracker.apparmor
Source4: xbt_tracker.init
Patch: xbt_tracker_etc_config.patch
Patch1: xbt_tracker_default_config.patch
Patch2: xbt_tracker_log_paths.patch
#
Summary: A BitTorrent tracker written in C++
%description
XBT Tracker is a BitTorrent tracker written in C++. It's designed to offer high
performance while consuming little resources (CPU and RAM). It's a pure
tracker, so it doesn't offer a frontend.
Authors:
--------
Olaf van der Spek
%debug_package
%prep
%setup -n xbt -a 2
%patch
%patch1
%patch2
%{__cp} -v %{S:1} .
find -type d -name .svn -print0 | xargs -r0 rm -rfv
%build
#pushd Tracker
## update the following line from make.sh
#g++ -DNDEBUG -I ../misc -I . `mysql_config --libs --cflags` %{optflags} -g -O3 -o xbt_tracker *.cpp ../misc/*.cpp ../misc/sql/*.cpp
#popd
export CFLAGS="%{optflags} -Wall"
export CXXFLAGS="%{optflags} -Wall"
%if 0%{?suse_version} > 1000
export CFLAGS="$CFLAGS -fstack-protector"
export CXXFLAGS="$CXXFLAGS -fstack-protector"
%endif
cmake . && make VERBOSE=1
%install
%{__install} -d -m 0755 %{buildroot}%{pkg_homedir} \
%{buildroot}%{pkg_rundir} \
%{buildroot}%{pkg_logdir}
#
%{__install} -D -m 0755 xbt_tracker %{buildroot}%{_sbindir}/xbt_tracker
%{__install} -D -m 0640 Tracker/xbt_tracker.conf.default %{buildroot}%{_sysconfdir}/xbt_tracker.conf
#
%{__install} -D -m 0640 %{S:3} %{buildroot}/etc/apparmor/profiles/extras/usr.sbin.xbt_tracker
#
%{__install} -D -m 0755 %{S:4} %{buildroot}%{_sysconfdir}/init.d/xbt_tracker
%{__ln_s} -f %{_sysconfdir}/init.d/xbt_tracker %{buildroot}%{_sbindir}/rcxbt_tracker
%clean
%{__rm} -rf %{buildroot}
%pre
/usr/sbin/groupadd -r %{pkg_user} &> /dev/null ||:
/usr/sbin/useradd -g %{pkg_user} -s /bin/false -r -c "xbt tracker" -d %{pkg_homedir} %{pkg_user} &> /dev/null ||:
%preun
%stop_on_removal xbt_tracker
%post
%fillup_and_insserv -f xbt_tracker
%postun
%insserv_cleanup
%restart_on_update xbt_tracker
%files
%defattr(-,root,root,-)
%{_sbindir}/xbt_tracker
#
%doc Tracker/xbt_tracker.sql Tracker/xbt_tracker_upgrade_0.sql Tracker/xbt_tracker_upgrade_1.sql
%doc Tracker/xbt_tracker.conf.default Tracker/htdocs/
%doc README.txt
#
%dir %attr(750,%{pkg_user},%{pkg_user}) %{pkg_homedir}
%dir %attr(750,%{pkg_user},%{pkg_user}) %{pkg_rundir}
%dir %attr(750,%{pkg_user},%{pkg_user}) %{pkg_logdir}
#
%config(noreplace) %attr(640,root,%{pkg_user}) %{_sysconfdir}/xbt_tracker.conf
#
%dir /etc/apparmor
%dir /etc/apparmor/profiles
%dir /etc/apparmor/profiles/extras
%config(noreplace) /etc/apparmor/profiles/extras/usr.sbin.xbt_tracker
#
%config %{_sysconfdir}/init.d/xbt_tracker
%{_sbindir}/rcxbt_tracker
%changelog