소스 검색

new package: bittorrent 3.4.2 (BitTorrent Peer-To-Peer Networking)

Ralf S. Engelschall 21 년 전
부모
커밋
c719b99145
2개의 변경된 파일158개의 추가작업 그리고 0개의 파일을 삭제
  1. 101 0
      bittorrent/bittorrent.spec
  2. 57 0
      bittorrent/rc.bittorrent

+ 101 - 0
bittorrent/bittorrent.spec

@@ -0,0 +1,101 @@
+##
+##  bittorrent.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
+##
+##  Permission to use, copy, modify, and distribute this software for
+##  any purpose with or without fee is hereby granted, provided that
+##  the above copyright notice and this permission notice appear in all
+##  copies.
+##
+##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+##  SUCH DAMAGE.
+##
+
+#   package information
+Name:         bittorrent
+Summary:      BitTorrent Peer-To-Peer Networking
+URL:          http://bitconjurer.org/BitTorrent/
+Vendor:       Bram Cohen
+Packager:     The OpenPKG Project
+Distribution: OpenPKG
+Class:        EVAL
+Group:        Network
+License:      MIT-style
+Version:      3.4.2
+Release:      20040518
+
+#   list of sources
+Source0:      http://osdn.dl.sourceforge.net/bittorrent/BitTorrent-%{version}.tar.gz
+Source1:      rc.bittorrent
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20040130, python
+PreReq:       OpenPKG, openpkg >= 20040130, python
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    BitTorrent is a Peer-to-Peer networking server and client.
+
+%track
+    prog bittorrent = {
+        version   = %{version}
+        url       = http://prdownloads.sourceforge.net/bittorrent/
+        regex     = BitTorrent-(__VER__)\.tar\.gz
+    }
+
+%prep
+    %setup -q -n BitTorrent-%{version}
+
+%build
+    %{l_shtool} subst \
+        -e 's;#!/usr/bin/env python;#!%{l_prefix}/bin/python;g' \
+        *.py
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+    %{l_prefix}/bin/python \
+        setup.py install \
+        --root=$RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/bittorrent
+    ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
+      for src in *.py; do
+          dst=`echo $src | sed -e 's;\.py$;;'`
+          mv $src $RPM_BUILD_ROOT%{l_prefix}/libexec/bittorrent/$src
+          ( echo "#!/bin/sh"
+            echo "PYTHONPATH=\"%{l_prefix}/libexec/bittorrent\"; export PYTHONPATH"
+            echo "exec %{l_prefix}/libexec/bittorrent/$src \${1+\"\$@\"}"
+          ) >$RPM_BUILD_ROOT%{l_prefix}/bin/$dst
+          chmod a+x $RPM_BUILD_ROOT%{l_prefix}/bin/$dst
+      done
+    ) || exit $?
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.bittorrent} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/var/bittorrent
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/bittorrent'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+

+ 57 - 0
bittorrent/rc.bittorrent

@@ -0,0 +1,57 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.bittorrent -- Run-Commands
+##
+
+%config
+    bittorrent_enable="$openpkg_rc_def"
+    bittorrent_port="6969"
+    bittorrent_log_prolog="true"
+    bittorrent_log_epilog="true"
+    bittorrent_log_numfiles="10"
+    bittorrent_log_minsize="1M"
+    bittorrent_log_complevel="9"
+
+%common
+    bittorrent_datafile="@l_prefix@/var/bittorrent/bttrack.data"
+    bittorrent_logfile="@l_prefix@/var/bittorrent/bttrack.log"
+    bittorrent_pidfile="@l_prefix@/var/bittorrent/bttrack.pid"
+    bittorrent_signal () {
+        [ -f $bittorrent_pidfile ] \
+        && kill -$1 `cat $bittorrent_pidfile`
+    }
+
+%status -u @l_susr@ -o
+    bittorrent_usable="no"
+    bittorrent_active="no"
+    echo "bittorrent_enable=\"$bittorrent_enable\""
+    echo "bittorrent_usable=\"$bittorrent_usable\""
+    echo "bittorrent_active=\"$bittorrent_active\""
+
+%start -p 100 -u @l_rusr@
+    rcService bittorrent enable yes || exit 0
+    rcService bittorrent active yes && exit 0
+    ( nohup @l_prefix@/bin/bttrack \
+          --port $bittorrent_port \
+          --dfile $bittorrent_datafile \
+          >>$bittorrent_logfile \
+          </dev/null 2>/dev/null &
+      echo $! >$bittorrent_pidfile
+    ) >/dev/null 2>&1
+
+%stop -p 100 -u @l_rusr@
+    rcService bittorrent enable yes || exit 0
+    rcService bittorrent active no  && exit 0
+    bittorrent_signal TERM
+    sleep 2
+    rm -f $bittorrent_pidfile 2>/dev/null || true
+
+%daily -u @l_susr@
+    rcService bittorrent enable yes || exit 0
+    shtool rotate -f \
+        -n ${bittorrent_log_numfiles} -s ${bittorrent_log_minsize} -d \
+        -z ${bittorrent_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \
+        -P "${bittorrent_log_prolog}" \
+        -E "${bittorrent_log_epilog} && rc bittorrent restart" \
+        $bittorrent_logfile
+