瀏覽代碼

new package: cvsync 0.24.13 (CVS Repository Synchronization)

Ralf S. Engelschall 22 年之前
父節點
當前提交
b4d1f07039
共有 4 個文件被更改,包括 203 次插入0 次删除
  1. 29 0
      cvsync/cvsync.conf
  2. 95 0
      cvsync/cvsync.spec
  3. 17 0
      cvsync/cvsyncd.conf
  4. 62 0
      cvsync/rc.cvsync

+ 29 - 0
cvsync/cvsync.conf

@@ -0,0 +1,29 @@
+##
+##  cvsync.conf -- CVSync Client Configuration
+##
+
+config {
+    hostname cvsync1.example.com
+    port 7777
+    collection {
+        name all
+        release list
+        prefix /cvsroot/example
+    }
+}
+
+config {
+    hostname cvsync2.example.com
+    port 7777
+    collection {
+        name foo
+        release rcs
+        prefix /cvsroot/foo
+    }
+    collection {
+        name bar 
+        release rcs
+        prefix /cvsroot/bar
+    }
+}
+

+ 95 - 0
cvsync/cvsync.spec

@@ -0,0 +1,95 @@
+##
+##  cvsync.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2000-2003 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:         cvsync
+Summary:      CVS Repository Synchronization
+URL:          http://www.cvsync.org/
+Vendor:       Maekawa Masahide
+Packager:     The OpenPKG Project
+Distribution: OpenPKG [EVAL]
+Group:        SCM
+License:      BSD
+Version:      0.24.13
+Release:      20031223
+
+#   list of sources
+Source0:      ftp://ftp.cvsync.org/pub/cvsync/cvsync-%{version}.tar.gz
+Source1:      cvsync.conf
+Source2:      cvsyncd.conf
+Source3:      rc.cvsync
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20030103, make, gcc, zlib
+PreReq:       OpenPKG, openpkg >= 20030103
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    CVSync is a portable CVS repository synchronization utility.
+
+%prep
+    %setup -q
+
+%build
+    %{l_make} %{l_mflags -O} \
+        CC_TYPE=gnu \
+        CFLAGS_OPTS="%{l_cflags -O}" \
+        ZLIB_PREFIX="%{l_prefix}" \
+        PREFIX="%{l_prefix}" \
+        CVSYNC_DEFAULT_CONFIG="%{l_prefix}/etc/cvsync/cvsync.conf" \
+        CVSYNCD_DEFAULT_CONFIG="%{l_prefix}/etc/cvsync/cvsyncd.conf"
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/bin \
+        $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/cvsync \
+        $RPM_BUILD_ROOT%{l_prefix}/var/cvsync
+    %{l_make} %{l_mflags} install \
+        PREFIX=$RPM_BUILD_ROOT%{l_prefix} \
+        INSTALL="%{l_shtool} install" \
+        INSTALL_BIN_OPTS="-c -m \${BINMODE} -s" \
+        INSTALL_MAN_OPTS="-c -m \${MANMODE}"
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        %{SOURCE cvsync.conf} %{SOURCE cvsyncd.conf} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/cvsync/
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.cvsync} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%config %{l_prefix}/etc/cvsync/*.conf' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/cvsync'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+

+ 17 - 0
cvsync/cvsyncd.conf

@@ -0,0 +1,17 @@
+##
+##  cvsyncd.conf -- CVSync Daemon Configuration
+##
+
+config {
+    listen       127.0.0.1
+    port         7777
+    maxclients   16
+    collection {
+        name     foo
+        release  rcs
+        prefix   /cvsroot/foo
+        comment  "The FOO CVS repository"
+        nofollow
+    }
+}
+

+ 62 - 0
cvsync/rc.cvsync

@@ -0,0 +1,62 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.cvsync -- Run-Commands
+##
+
+%config
+    cvsync_enable="$openpkg_rc_def"
+    cvsync_flags=""
+    cvsync_log_prolog="true"
+    cvsync_log_epilog="true"
+    cvsync_log_numfiles="10"
+    cvsync_log_minsize="1M"
+    cvsync_log_complevel="9"
+
+%common
+    cvsync_pidfile="@l_prefix@/var/cvsync/cvsync.pid"
+    cvsync_logfile="@l_prefix@/var/cvsync/cvsync.log"
+    cvsync_signal () {
+        [ -f ${cvsync_pidfile} ] && kill -$1 `cat ${cvsync_pidfile}`
+    }
+
+%status -u @l_susr@ -o
+    cvsync_usable="no"
+    cvsync_active="no"
+    echo "cvsync_enable=\"${cvsync_enable}\""
+    echo "cvsync_usable=\"${cvsync_usable}\""
+    echo "cvsync_active=\"${cvsync_active}\""
+
+%start -p 100 -u @l_susr@
+    rcService cvsync enable yes || exit 0
+    rcService cvsync active yes && exit 0
+    @l_prefix@/bin/cvsyncd \
+        -u @l_rusr@ \
+        -g @l_rgrp@ \
+        -p ${cvsync_pidfile} \
+        -l ${cvsync_logfile} \
+        ${cvsync_flags}
+
+%stop -p 100 -u @l_susr@
+    rcService cvsync enable yes || exit 0
+    rcService cvsync active no  && exit 0
+
+%restart -p 100 -u @l_susr@
+    rcService cvsync enable yes || exit 0
+    rcService cvsync active no  && exit 0
+    rc cvsync stop start
+
+%hourly -u @l_susr@
+    rcService cvsync enable yes || exit 0
+    @l_prefix@/bin/cvscan \
+        -c @l_prefix@/etc/cvsync/cvsyncd.conf \
+        >>@l_prefix@/var/cvsync/cvscan.log 2>/dev/null || true
+
+%daily -u @l_susr@
+    rcService cvsync enable yes || exit 0
+    shtool rotate -f \
+        -n ${cvsync_log_numfiles} -s ${cvsync_log_minsize} -d \
+        -z ${cvsync_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \
+        -P "${cvsync_log_prolog}" \
+        -E "${cvsync_log_epilog} && rc cvsync restart" \
+        ${cvsync_logfile}
+