You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

153 lines
5.0 KiB

##
## cvstrac.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2022 OpenPKG Project <http://openpkg.org/>
##
## 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: cvstrac
Summary: Bug Tracking System for CVS
URL: http://www.cvstrac.org/
Vendor: D. Richard Hipp
Packager: OpenPKG Project
Distribution: OpenPKG Community
Class: BASE
Group: SCM
License: GPL
Version: 2.0.1
Release: 20150112
# package options
%option with_cvs yes
%option with_svn no
%option with_git no
# list of sources
Source0: http://www.cvstrac.org/cvstrac-%{version}.tar.gz
Source1: cvstrac.cgi
Patch0: cvstrac.patch
# build information
BuildPreReq: OpenPKG, openpkg >= 20160101, make, gcc
PreReq: OpenPKG, openpkg >= 20160101
%if "%{with_cvs}" == "yes"
PreReq: cvs, rcs
%endif
%if "%{with_svn}" == "yes"
PreReq: subversion
%endif
%if "%{with_git}" == "yes"
PreReq: git
%endif
BuildPreReq: sqlite >= 3.2
PreReq: sqlite >= 3.2
%description
CVSTrac provides repository browsing, changeset tracking, issue
tracking and Wiki-based community documentation functionality for
use with the CVS, Subversion and Git source code management (SCM)
systems. It is appropriate for use on projects with up to a few
hundred developers and is designed for low-ceremony workflows.
%track
prog cvstrac = {
version = %{version}
url = http://www.cvstrac.org/cvstrac/wiki?p=DownloadCvstrac
regex = cvstrac-(__VER__)\.tar\.gz
}
%prep
%setup -q
%patch -p0
%build
libs="-lsqlite3 -lcrypt -lm"
case "%{l_platform -t}" in
*-sunos* ) libs="$libs -lrt -lsocket -lnsl" ;;
esac
for scm in \
%if "%{with_cvs}" == "yes"
cvs \
%endif
%if "%{with_svn}" == "yes"
svn \
%endif
%if "%{with_git}" == "yes"
git \
%endif
; do
%{l_make} %{l_mflags} -f main.mk \
SRCDIR=`pwd` \
BCC="%{l_cc} %{l_cflags -O} %{l_cppflags}" \
TCC="%{l_cc} %{l_cflags -O} %{l_cppflags}" \
LIBSQLITE="%{l_ldflags} $libs" \
APPNAME="${scm}trac" E=""
done
%install
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/cgi \
$RPM_BUILD_ROOT%{l_prefix}/var/cvstrac
for scm in \
%if "%{with_cvs}" == "yes"
cvs \
%endif
%if "%{with_svn}" == "yes"
svn \
%endif
%if "%{with_git}" == "yes"
git \
%endif
; do
%{l_shtool} install -c -s -m 755 \
${scm}trac $RPM_BUILD_ROOT%{l_prefix}/bin/
%{l_shtool} install -c -m 755 %{l_value -s -a} \
-e "s;@l_scm@;${scm};g" \
%{SOURCE cvstrac.cgi} $RPM_BUILD_ROOT%{l_prefix}/cgi/${scm}trac
done
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%dir %attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/cvstrac'
%files -f files
%clean
%post
if [ ".$1" = .1 ]; then
( echo "Hint: To use CVSTrac you have to create databases for your projects."
echo "Run the following command as user %{l_nusr} for each project <name>:"
echo " \$ $RPM_INSTALL_PREFIX/bin/cvstrac init $RPM_INSTALL_PREFIX/var/cvstrac <name>"
echo "After this login to http://localhost/openpkg-cgi/cvstrac/<name>/"
echo "with user \"setup\" and password \"setup\" and configure your"
echo "CVS repository path, add users and change the \"setup\" password."
) | %{l_rpmtool} msg -b -t notice
elif [ ".$1" = .2 ]; then
( echo "If you are upgrading from CVSTrac 1.x to 2.0 you have to upgrade"
echo "the existing database from SQLite 2 to SQLite 3, too. For this run"
echo "the following commands before using CVSTrac 2.0:"
echo " \$ cd $RPM_INSTALL_PREFIX/var/cvstrac"
echo " \$ mv <project>.db <project>.db.old"
echo " \$ $RPM_INSTALL_PREFIX/bin/sqlite <project>.db.old .dump |\\ "
echo " $RPM_INSTALL_PREFIX/bin/sqlite3 <project>.db"
) | %{l_rpmtool} msg -b -t notice
fi