Blob Blame History Raw
Name:             opentracker
Version:          0
Release:          0.1.20101114cvs%{?dist}
Summary:          BitTorrent Tracker

Group:            Applications/Internet
License:          Beerware
URL:              http://erdgeist.org/arts/software/opentracker/
# cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co -D "2010-11-14" -d opentracker-0 opentracker
# tar cjf opentracker-0.tar.bz2 opentracker-0
Source0:         %{name}-%{version}.tar.bz2
Source1:          %{name}-ipv4.init
Source2:          %{name}-ipv6.init
Source3:          %{name}.sysconfig

Patch0:           %{name}-0-Makefile.patch
Patch1:           %{name}-0-daemon.patch
Patch2:           %{name}-0-conf.patch

BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:    libowfat-devel
BuildRequires:    zlib-devel
Requires(pre):    shadow-utils
Requires(post):   chkconfig
Requires(preun):  chkconfig
Requires(preun):  initscripts
Requires(postun): initscripts


%description
opentracker is a open and free BitTorrent tracker project. It aims for minimal
resource usage.

%package          common
Summary:          Common-Files for the BitTorrent-Tracker
Group:            Applications/Internet
BuildArch:        noarch

%description common
Filesystem-package which provides the root-dir.


%package          ipv4
Summary:          BitTorrent Tracker using ipv4
Group:            Applications/Internet
Requires:         %{name}-common


%description ipv4
opentracker is a open and free BitTorrent tracker project. It aims for minimal
resource usage.
This package provides IPv4 capability.


%package          ipv6
Summary:          BitTorrent Tracker using ipv6
Group:            Applications/Internet
Requires:         %{name}-common


%description ipv6
opentracker is a open and free BitTorrent tracker project. It aims for minimal
resource usage.
This package provides IPv6 capability.


%prep
%setup -q

%patch0 -p1
%patch1 -p1
%patch2 -p1


%build

sed -i 's|INPUTCONFFILEHERE|%{_sysconfdir}/%{name}/%{name}-ipv4.conf|g' \
       opentracker.c

sed -i 's|INPUTINCLUDEDIRHERE|%{_includedir}|g' \
       Makefile

CFLAGS="%{optflags}" make %{name} %{?_smp_mflags}
mv %{name} %{name}-ipv4

make clean

sed -e 's|#FEATURES+=-DWANT_V6|FEATURES+=-DWANT_V6|g' \
    -i Makefile

sed -i 's|%{_sysconfdir}/%{name}/%{name}-ipv4.conf|%{_sysconfdir}/%{name}/%{name}-ipv6.conf|g' \
       opentracker.c

CFLAGS="%{optflags}" make %{name} %{?_smp_mflags}
mv %{name} %{name}-ipv6


%install
rm -rf %{buildroot}

install -d %{buildroot}%{_bindir}/
install -dm0755 %{buildroot}/var/%{name}

# ipv4
install -Dpm0755 %{name}-ipv4 \
        %{buildroot}%{_bindir}/
install -Dpm0644 %{name}.conf.sample \
        %{buildroot}%{_sysconfdir}/%{name}/%{name}-ipv4.conf
install -Dpm0755 %{SOURCE1} \
        %{buildroot}%{_initrddir}/%{name}-ipv4
install -Dpm0644 %{SOURCE3} \
        %{buildroot}%{_sysconfdir}/sysconfig/%{name}-ipv4

# ipv6
install -Dpm0755 %{name}-ipv6 \
        %{buildroot}%{_bindir}/
install -Dpm0644 %{name}.conf.sample \
        %{buildroot}%{_sysconfdir}/%{name}/%{name}-ipv6.conf
install -Dpm0755 %{SOURCE2} \
        %{buildroot}%{_initrddir}/%{name}-ipv6
install -Dpm0644 %{SOURCE3} \
        %{buildroot}%{_sysconfdir}/sysconfig/%{name}-ipv6


%pre common
getent group %{name}  > /dev/null || %{_sbindir}/groupadd -r %{name}
getent passwd %{name} > /dev/null || %{_sbindir}/useradd  -r -g %{name} -d / -s /sbin/nologin -c "Opentracker User" %{name}
exit 0


%post ipv4
/sbin/chkconfig --add %{name}-ipv4


%post ipv6
/sbin/chkconfig --add %{name}-ipv6


%preun ipv4
if [ $1 = 0 ] ; then
    /sbin/service %{name}-ipv4 stop >/dev/null 2>&1
    /sbin/chkconfig --del %{name}-ipv4
fi


%preun ipv6
if [ $1 = 0 ] ; then
    /sbin/service %{name}-ipv6 stop >/dev/null 2>&1
    /sbin/chkconfig --del %{name}-ipv6
fi


%postun ipv4
if [ "$1" -ge "1" ] ; then
    /sbin/service %{name}-ipv4 condrestart >/dev/null 2>&1 || :
fi

%postun ipv6
if [ "$1" -ge "1" ] ; then
    /sbin/service %{name}-ipv6 condrestart >/dev/null 2>&1 || :
fi


%clean
rm -rf %{buildroot}


%files common
%defattr(-,root,opentracker,-)
%dir %{_sysconfdir}/%{name}/
%dir /var/%{name}/

%files ipv4
%defattr(-,root,root,-)
%doc README
%{_bindir}/%{name}-ipv4
%config(noreplace) %{_sysconfdir}/%{name}/%{name}-ipv4.conf
%{_initrddir}/%{name}-ipv4
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-ipv4


%files ipv6
%defattr(-,root,root,-)
%doc README
%{_bindir}/%{name}-ipv6
%config(noreplace) %{_sysconfdir}/%{name}/%{name}-ipv6.conf
%{_initrddir}/%{name}-ipv6
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-ipv6


# thx to Romain Wartel and Matt Domsch and Robert Scheck for the assistance in the review process.  
%changelog
* Mon Jan 25 2011 Simon Wesp <cassmodiah@fedoraproject.org> - 0-0.1.20101114cvs
- Initial import to the fedora package collection