Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
319 строки
13 KiB
319 строки
13 KiB
## |
|
## rt.spec -- OpenPKG RPM Specification |
|
## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH |
|
## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/> |
|
## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.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 versions |
|
%define V_real 2-0-15 |
|
%define V_here 2.0.15 |
|
%define V_log_dispatch 2.04 |
|
%define V_html_mason 1.19 |
|
%define V_libapreq 1.1 |
|
|
|
# package information |
|
Name: rt |
|
Summary: Request Tracker |
|
URL: http://www.fsck.com/projects/rt/ |
|
Vendor: Fsck |
|
Packager: The OpenPKG Project |
|
Distribution: OpenPKG [EVAL] |
|
Group: Database |
|
License: GPL |
|
Version: %{V_here} |
|
Release: 20030324 |
|
|
|
# list of sources |
|
Source0: http://www.cpan.org/modules/by-module/Log/Log-Dispatch-%{V_log_dispatch}.tar.gz |
|
Source1: http://www.cpan.org/modules/by-authors/id/J/JI/JIMW/libapreq-%{V_libapreq}.tar.gz |
|
Source2: http://www.cpan.org/modules/by-module/HTML/HTML-Mason-%{V_html_mason}.tar.gz |
|
Source3: http://www.fsck.com/pub/rt/release/rt-%{V_real}.tar.gz |
|
Source4: rc.rt |
|
Source5: rtsetup |
|
Source6: rtcleanup |
|
Source7: rtupgrade |
|
Source8: rtapachectl |
|
Source9: rt-mailgate.c |
|
Source10: rtapache.conf |
|
|
|
# build information |
|
Prefix: %{l_prefix} |
|
BuildRoot: %{l_buildroot} |
|
BuildPreReq: OpenPKG, openpkg >= 20020206, perl, perl-openpkg |
|
BuildPreReq: perl-sys, perl-util, perl-ds, perl-text, perl-apache |
|
BuildPreReq: perl-dbi, perl-dbix, perl-mail, perl-www |
|
BuildPreReq: apache, apache::with_mod_perl = yes |
|
PreReq: OpenPKG, openpkg >= 20020206, perl, perl-openpkg |
|
PreReq: perl-sys, perl-util, perl-ds, perl-text, perl-apache |
|
PreReq: perl-dbi, perl-dbix, perl-mail, perl-www |
|
PreReq: apache, apache::with_mod_perl = yes |
|
PreReq: MYSQL, perl-dbi::with_dbd_mysql = yes |
|
PreReq: MTA |
|
AutoReq: no |
|
AutoReqProv: no |
|
|
|
%description |
|
RT is an industrial-grade ticketing system. It lets a group of |
|
people intelligently and efficiently manage requests submitted by a |
|
community of users. RT is used by systems administrators, customer |
|
support staffs, NOCs, developers and even marketing departments at |
|
over a thousand sites around the world. |
|
|
|
%prep |
|
%setup -q -c |
|
%setup -q -T -D -a 1 |
|
%setup -q -T -D -a 2 |
|
%setup -q -T -D -a 3 |
|
|
|
%build |
|
rm -rf $RPM_BUILD_ROOT |
|
|
|
# compile SUID wrapper |
|
mkdir suidwrap |
|
( cd suidwrap |
|
cp %{SOURCE rt-mailgate.c} . |
|
%{l_shtool} subst \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@l_rusr@;%{l_rusr};g' \ |
|
-e 's;@l_rgrp@;%{l_rgrp};g' \ |
|
rt-mailgate.c |
|
%{l_cc} -o rt-mailgate rt-mailgate.c |
|
) |
|
|
|
# perform common prolog operations |
|
rt=%{l_prefix}/libexec/rt |
|
%{l_prefix}/bin/perl-openpkg prolog |
|
%{l_shtool} mkdir -f -p -m 755 ${RPM_BUILD_ROOT}$rt |
|
perl="${RPM_BUILD_DIR}/perl" |
|
echo "exec ${l_prefix}/bin/perl \\" >>$perl |
|
echo " \"\$@\"" >>$perl |
|
chmod a+x $perl |
|
|
|
( cd Log-Dispatch-%{V_log_dispatch} |
|
perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt" |
|
make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'` |
|
make_args="PERL=${perl} FULLPERL=${perl}" |
|
chmod -R u+rw Makefile.PL |
|
cp Makefile.PL Makefile.PL.orig |
|
sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL |
|
$perl Makefile.PL ${1+"$@"} $perl_args </dev/null |
|
$make $make_args pure_all |
|
$make $make_args pure_install |
|
) || exit $? |
|
|
|
( cd libapreq-%{V_libapreq} |
|
perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt" |
|
make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'` |
|
make_args="PERL=${perl} FULLPERL=${perl}" |
|
chmod -R u+rw Makefile.PL |
|
cp Makefile.PL Makefile.PL.orig |
|
sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL |
|
$perl Makefile.PL ${1+"$@"} $perl_args </dev/null |
|
$make $make_args pure_all |
|
$make $make_args pure_install |
|
) || exit $? |
|
|
|
( cd HTML-Mason-%{V_html_mason} |
|
perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt" |
|
make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'` |
|
make_args="PERL=${perl} FULLPERL=${perl}" |
|
chmod -R u+rw Makefile.PL |
|
cp Makefile.PL Makefile.PL.orig |
|
sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL |
|
$perl Makefile.PL ${1+"$@"} $perl_args </dev/null |
|
$make $make_args pure_all |
|
$make $make_args pure_install |
|
) || exit $? |
|
|
|
# perform common epilog operations |
|
%{l_prefix}/bin/perl-openpkg epilog |
|
|
|
( cd rt-%{V_real} |
|
%{l_shtool} subst \ |
|
-e 's#^\(package\)#use lib "!!RT_LIB_PATH!!";\1#' \ |
|
bin/webmux.pl |
|
%{l_shtool} subst \ |
|
-e 's#/usr/sbin/sendmail#%{l_prefix}/sbin/sendmail#' \ |
|
etc/config.pm |
|
%{l_shtool} subst \ |
|
-e 's;^\(PERL[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/bin/perl;g' \ |
|
-e 's;^\(BIN_OWNER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_musr};g' \ |
|
-e 's;^\(RTGROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_mgrp};g' \ |
|
-e 's;^\(LIBS_OWNER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_musr};g' \ |
|
-e 's;^\(LIBS_GROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_mgrp};g' \ |
|
-e 's;^\(RT_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt;g' \ |
|
-e 's;^\(RT_LIB_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt;g' \ |
|
-e 's;^\(RT_ETC_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/etc/rt;g' \ |
|
-e 's;^\(RT_BIN_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/bin;g' \ |
|
-e 's;^\(RT_MAN_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/man;g' \ |
|
-e 's;^\(MASON_LOCAL_HTML_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt/mason;g' \ |
|
-e 's;^\(MASON_DATA_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/mason-data;g' \ |
|
-e 's;^\(MASON_SESSION_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/mason-session;g' \ |
|
-e 's;^\(RT_LOG_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/log;g' \ |
|
-e 's;^\(RT_MODPERL_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/webmux.pl;g' \ |
|
-e 's;^\(RT_FASTCGI_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/mason_handler.fcgi;g' \ |
|
-e 's;^\(RT_SPEEDYCGI_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/mason_handler.scgi;g' \ |
|
-e 's;^\(DB_TYPE[[:blank:]]*=[[:blank:]]*\).*;\1mysql;g' \ |
|
-e 's;^\(DB_HOST[[:blank:]]*=[[:blank:]]*\).*;\1localhost;g' \ |
|
-e 's;^\(DB_PORT[[:blank:]]*=[[:blank:]]*\).*;\1;g' \ |
|
-e 's;^\(DB_HOME[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix};g' \ |
|
-e 's;^\(DB_DBA[[:blank:]]*=[[:blank:]]*\).*;\1root;g' \ |
|
-e 's;^\(DB_RT_HOST[[:blank:]]*=[[:blank:]]*\).*;\1localhost;g' \ |
|
-e 's;^\(DB_DATABASE[[:blank:]]*=[[:blank:]]*\).*;\1RT;g' \ |
|
-e 's;^\(DB_RT_USER[[:blank:]]*=[[:blank:]]*\).*;\1RT;g' \ |
|
-e 's;^\(DB_RT_PASS[[:blank:]]*=[[:blank:]]*\).*;\1XXX;g' \ |
|
-e 's;^\(WEB_USER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_nusr};g' \ |
|
-e 's;^\(WEB_GROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_ngrp};g' \ |
|
-e 's;\([[:blank:]]INSTALLSITELIB=\);\1\$(DESTDIR);g' \ |
|
-e 's;\([[:blank:]]INSTALLSITEMAN1DIR=\);\1\$(DESTDIR);g' \ |
|
-e 's;\([[:blank:]]INSTALLSITEMAN3DIR=\);\1\$(DESTDIR);g' \ |
|
-e 's;chown;true;g' \ |
|
-e 's;chgrp;true;g' \ |
|
-e 's;mkdir -p;%{l_shtool} mkdir -p;g' \ |
|
Makefile |
|
%{l_make} %{l_mflags} |
|
) || exit $? |
|
|
|
%install |
|
mkdir -p $RPM_BUILD_ROOT%{l_prefix}/cgi/rt |
|
( cd rt-%{V_real} |
|
CC=%{l_cc} \ |
|
LDFLAGS=%{l_ldflags} \ |
|
LDDFLAGS=%{l_lddflags} \ |
|
PERL5LIB=${RPM_BUILD_ROOT}%{l_prefix}/libexec/rt \ |
|
%{l_make} %{l_mflags} dirs upgrade instruct \ |
|
DESTDIR=$RPM_BUILD_ROOT |
|
%{l_shtool} mkdir -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools |
|
for f in tools/initdb bin/initacls.*; do |
|
%{l_shtool} install -c -m 755 \ |
|
$f $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/ |
|
done |
|
%{l_shtool} mkdir -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc |
|
for f in etc/acl.* etc/schema.*; do |
|
%{l_shtool} install -c -m 755 \ |
|
$f $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/ |
|
done |
|
) || exit $? |
|
|
|
# setup/cleanup/upgrade script |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/sbin |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@rt_db_dba@;root;g' \ |
|
%{SOURCE rtsetup} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/sbin/ |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@rt_db_dba@;root;g' \ |
|
%{SOURCE rtcleanup} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/sbin/ |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@rt_db_dba@;root;g' \ |
|
%{SOURCE rtupgrade} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/sbin/ |
|
|
|
# startup script |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@l_rusr@;%{l_rusr};g' \ |
|
-e 's;@l_rgrp@;%{l_rgrp};g' \ |
|
%{SOURCE rc.rt} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
|
|
|
# apachectl wrapper |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
%{SOURCE rtapachectl} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/ |
|
|
|
# apache config |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;@l_prefix@;%{l_prefix};g' \ |
|
-e 's;@l_rusr@;%{l_rusr};g' \ |
|
-e 's;@l_rgrp@;%{l_rgrp};g' \ |
|
%{SOURCE rtapache.conf} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/ |
|
|
|
# apache data |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/var/rt/run |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/var/rt/log |
|
|
|
# better places |
|
mv $RPM_BUILD_ROOT%{l_prefix}/etc/rt/insertdata \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/ |
|
mv $RPM_BUILD_ROOT%{l_prefix}/bin/rt-mailgate \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/ |
|
%{l_shtool} install -c -s -m 755 \ |
|
suidwrap/rt-mailgate \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin/ |
|
|
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
|
%{l_files_std} \ |
|
'%{l_prefix}/libexec/rt' \ |
|
'%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/rt-mailgate' \ |
|
'%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/insertdata' \ |
|
'%attr(6755,%{l_rusr},%{l_rgrp}) %{l_prefix}/bin/rt-mailgate' \ |
|
'%config %attr(640,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/rt/config.pm' \ |
|
'%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/mason-data' \ |
|
'%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/mason-session' \ |
|
'%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/log' \ |
|
'%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/run' |
|
|
|
%files -f files |
|
|
|
%clean |
|
rm -rf $RPM_BUILD_ROOT |
|
|
|
%post |
|
( echo "To complete installation of the RT package please check the" |
|
echo "file '$RPM_INSTALL_PREFIX/etc/rt/config.pm'. In particular you" |
|
echo "have to assign a password to the RT database user." |
|
echo "If you have an old RT database you can erase it with:" |
|
echo "$RPM_INSTALL_PREFIX/sbin/rtcleanup" |
|
echo "If you start with a new installation of RT then run the command:" |
|
echo "$RPM_INSTALL_PREFIX/sbin/rtsetup" |
|
echo "Don't forget to set a administrator password with:" |
|
echo "$RPM_INSTALL_PREFIX/bin/rtadmin --user=root --password='...'" |
|
echo "If you upgrade from an earlier 2.x-RT-Version then run:" |
|
echo "$RPM_INSTALL_PREFIX/sbin/rtupgrade old-rt-version" |
|
echo "to update RTs system tables" |
|
) | %{l_rpmtool} msg -b -t notice |
|
|
|
%preun |
|
if [ $1 -eq 0 ]; then |
|
$RPM_INSTALL_PREFIX/etc/rc rt stop |
|
rm -f $RPM_INSTALL_PREFIX/var/rt/mason-session/* |
|
rm -f -r $RPM_INSTALL_PREFIX/var/rt/mason-data/* |
|
rm -f $RPM_INSTALL_PREFIX/var/rt/log/* |
|
rm -f $RPM_INSTALL_PREFIX/var/rt/run/apache.pid |
|
rm -f $RPM_INSTALL_PREFIX/var/rt/run/ssl_scache |
|
fi
|
|
|