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.
197 lines
7.7 KiB
197 lines
7.7 KiB
## |
|
## twiki.spec -- OpenPKG RPM Package Specification |
|
## Copyright (c) 2000-2020 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: twiki |
|
Summary: Wiki Wiki based Collaboration Platform |
|
URL: http://twiki.org/ |
|
Vendor: Peter Thoeny |
|
Packager: OpenPKG Project |
|
Distribution: OpenPKG Community |
|
Class: EVAL |
|
Group: CMS |
|
License: GPL |
|
Version: 4.1.1 |
|
Release: 20080101 |
|
|
|
# list of sources |
|
Source0: http://twiki.org/p/pub/Codev/Release/TWiki-%{version}.tgz |
|
Source1: twiki-apache.conf |
|
Source2: rc.twiki |
|
|
|
# build information |
|
BuildPreReq: OpenPKG, openpkg >= 20160101, perl |
|
PreReq: OpenPKG, openpkg >= 20160101 |
|
PreReq: perl, perl-www, perl-net, perl-mail, perl-crypto, perl-vcs |
|
PreReq: rcs, patch, diffutils, grep |
|
PreReq: apache, MTA |
|
|
|
%description |
|
TWiki s a flexible, powerful, and easy to use Web-based |
|
collaboration platform based on the popular Wiki Wiki principle. |
|
|
|
%track |
|
prog twiki = { |
|
version = %{version} |
|
url = http://twiki.org/cgi-bin/view/Codev/DownloadTWiki |
|
regex = TWiki-(__VER__)\.tgz |
|
} |
|
|
|
%prep |
|
%setup -q -c |
|
|
|
%build |
|
|
|
%install |
|
# create installation area |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/twiki \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/twiki \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/twiki \ |
|
$RPM_BUILD_ROOT%{l_prefix}/var/twiki |
|
|
|
# install TWiki CGIs and configuration |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;/usr/bin/perl;%{l_prefix}/bin/perl;g' \ |
|
-e "s;'\.\./lib';'%{l_prefix}/lib/twiki';g" \ |
|
bin/* $RPM_BUILD_ROOT%{l_prefix}/libexec/twiki/ |
|
( cd bin && %{l_tar} cf - logos ) | \ |
|
( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/twiki && %{l_tar} xf - ) || exit $? |
|
%{l_shtool} install -c -m 644 \ |
|
-e 's;/absolute/path/to/your/lib;%{l_prefix}/lib/twiki;g' \ |
|
-e 's;^# \(@localPerlLibPath = ( .\)/path/to/dir;\1%{l_prefix}/lib/twiki;g' \ |
|
bin/LocalLib.cfg.txt \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/twiki/twiki-lib.cfg |
|
ln $RPM_BUILD_ROOT%{l_prefix}/etc/twiki/twiki-lib.cfg \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/twiki/LocalSite.cfg |
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/twiki/LocalLib.cfg.txt |
|
|
|
# install TWiki library and configuration |
|
%{l_shtool} subst \ |
|
-e 's;/usr/sbin/sendmail;%{l_prefix}/sbin/sendmail;g' \ |
|
-e "s;'/usr/bin';'%{l_prefix}/bin';g" \ |
|
-e "s;'/bin:/usr/bin';'%{l_prefix}/bin:/bin:/usr/bin';g" \ |
|
-e 's;/bin/egrep;%{l_prefix}/bin/egrep;g' \ |
|
-e 's;/bin/fgrep;%{l_prefix}/bin/fgrep;g' \ |
|
lib/TWiki.spec |
|
( cd lib && %{l_tar} cf - . ) | \ |
|
( cd $RPM_BUILD_ROOT%{l_prefix}/lib/twiki && %{l_tar} xf - ) || exit $? |
|
%{l_shtool} install -c -m 644 \ |
|
-e 's;http://your\.domain\.com;http://localhost;g' \ |
|
-e 's;/home/httpd/twiki/pub;%{l_prefix}/var/twiki/pub;g' \ |
|
-e 's;/home/httpd/twiki/templates;%{l_prefix}/etc/twiki/tmpl;g' \ |
|
-e 's;/home/httpd/twiki/data;%{l_prefix}/var/twiki/data;g' \ |
|
-e '/^1;$/d' \ |
|
lib/LocalSite.cfg.txt \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/twiki/twiki-site.cfg |
|
( echo "" |
|
echo "\$TWiki::cfg{LocalesDir} = '%{l_prefix}/libexec/twiki/configurelocale';" |
|
echo "\$TWiki::cfg{Password} = '0NQiQSaRf7IKo';" |
|
echo "\$TWiki::cfg{Site}{Lang} = 'en';" |
|
echo "\$TWiki::cfg{Site}{FullLang} = 'en-us';" |
|
echo "\$TWiki::cfg{Site}{CharSet} = 'iso-8859-15';" |
|
echo "" |
|
echo "1;" |
|
) >>$RPM_BUILD_ROOT%{l_prefix}/etc/twiki/twiki-site.cfg |
|
ln $RPM_BUILD_ROOT%{l_prefix}/etc/twiki/twiki-site.cfg \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/twiki/LocalSite.cfg |
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/twiki/LocalSite.cfg.txt |
|
find $RPM_BUILD_ROOT%{l_prefix}/lib/twiki -type f -print | xargs chmod 664 |
|
find $RPM_BUILD_ROOT%{l_prefix}/lib/twiki -type d -print | xargs chmod 775 |
|
|
|
# install TWiki initial data |
|
# (adjust RCS content for Apache run-time environment) |
|
find data -name "*,v" -type f -print | xargs \ |
|
%{l_prefix}/bin/perl \ |
|
-pi.orig -e 'NR <= 10 && s/nobody:/%{l_nusr}:/' |
|
find data -type f -name "*.orig" -print | xargs rm -f |
|
find data -type f -print | xargs chmod 664 |
|
find data -type d -print | xargs chmod 775 |
|
%{l_tar} cf - data | \ |
|
( cd $RPM_BUILD_ROOT%{l_prefix}/var/twiki && %{l_tar} xf - ) || exit $? |
|
|
|
# install TWiki public files |
|
find pub -type f -print | xargs chmod 664 |
|
find pub -type d -print | xargs chmod 775 |
|
%{l_tar} cf - pub | \ |
|
( cd $RPM_BUILD_ROOT%{l_prefix}/var/twiki && %{l_tar} xf - ) || exit $? |
|
|
|
# install TWiki template files |
|
mv templates tmpl |
|
find tmpl -type f -print | xargs chmod 664 |
|
find tmpl -type d -print | xargs chmod 775 |
|
%{l_tar} cf - tmpl | \ |
|
( cd $RPM_BUILD_ROOT%{l_prefix}/etc/twiki && %{l_tar} xf - ) || exit $? |
|
|
|
# install Apache configuration |
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
%{SOURCE twiki-apache.conf} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/twiki/ |
|
|
|
# install run-command script |
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
|
%{SOURCE rc.twiki} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
|
|
|
# determine installation files |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
|
%{l_files_std} \ |
|
'%config %{l_prefix}/etc/twiki/twiki-*' \ |
|
'%config %{l_prefix}/etc/twiki/templates/*' \ |
|
'%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/twiki' |
|
|
|
%files -f files |
|
|
|
%clean |
|
|
|
%post |
|
if [ ".$1" = .1 ]; then |
|
# add hook to Apache configuration |
|
apacheconf="$RPM_INSTALL_PREFIX/etc/apache/apache.conf" |
|
if [ -f $apacheconf ]; then |
|
( echo "Include $RPM_INSTALL_PREFIX/etc/twiki/twiki-apache.conf" |
|
) | $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-a -i "$RPM_INSTALL_PREFIX:twiki" $apacheconf |
|
fi |
|
|
|
# display information about steps the admin should perform next |
|
( echo "TWiki was successfully installed. You should now start Apache with" |
|
echo " \$ $RPM_INSTALL_PREFIX/bin/openpkg rc apache start" |
|
echo "and then edit the TWiki site-level preferences:" |
|
echo " http://localhost/twiki/bin/view/TWiki/TWikiPreferences" |
|
echo "The top-level TWiki page is:" |
|
echo " http://localhost/twiki/bin/view" |
|
) | %{l_rpmtool} msg -b -t notice |
|
fi |
|
|
|
%postun |
|
if [ ".$1" = .0 ]; then |
|
# remove hook from Apache configuration |
|
apacheconf="$RPM_INSTALL_PREFIX/etc/apache/apache.conf" |
|
if [ -f $apacheconf ]; then |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-r -i "$RPM_INSTALL_PREFIX:twiki" $apacheconf |
|
fi |
|
fi |
|
|
|
|