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.
175 lines
6.4 KiB
175 lines
6.4 KiB
## |
|
## petidomo.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: petidomo |
|
Summary: Mailing List Server |
|
URL: http://www.ossp.org/pkg/tool/petidomo/ |
|
Vendor: Peter Simons |
|
Packager: OpenPKG Project |
|
Distribution: OpenPKG Community |
|
Class: PLUS |
|
Group: Mail |
|
License: GPL |
|
Version: 4.0b6 |
|
Release: 20181229 |
|
|
|
# package options |
|
%option with_fsl yes |
|
|
|
# list of sources |
|
Source0: http://www.ossp.org/pkg/tool/petidomo/petidomo-%{version}.tar.gz |
|
Source1: petidomo.txt |
|
Source2: fsl.petidomo |
|
Source3: rc.petidomo |
|
Patch0: petidomo.patch |
|
|
|
# build information |
|
BuildPreReq: OpenPKG, openpkg >= 20160101, bison, flex, perl |
|
PreReq: OpenPKG, openpkg >= 20160101, MTA |
|
%if "%{with_fsl}" == "yes" |
|
BuildPreReq: fsl |
|
PreReq: fsl |
|
%endif |
|
|
|
%description |
|
Petidomo is a mailing list manager very similar to the popular |
|
package Majordomo. It handles both list un-/subscription and the |
|
address expansion of list postings. The actual delivery of postings |
|
is performed by an MTA like Sendmail. |
|
|
|
%track |
|
prog petidomo = { |
|
version = %{version} |
|
url = http://www.ossp.org/pkg/tool/petidomo/ |
|
regex = petidomo-(__VER__)\.tar\.gz |
|
} |
|
|
|
%prep |
|
%setup -q |
|
%patch -p0 |
|
for i in . ./etc/shtool; do cp %{l_shtool} $i; done |
|
|
|
%build |
|
# build program |
|
%{l_shtool} subst \ |
|
-e 's;\./petidomo --masterconf=.*/petidomo\.conf;%{l_prefix}/bin/petidomo --masterconf=%{l_prefix}/etc/petidomo/petidomo.conf;g' \ |
|
petidomo-kickout |
|
CC="%{l_cc}" \ |
|
CFLAGS="%{l_cflags}" \ |
|
CPPFLAGS="%{l_cppflags}" \ |
|
LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \ |
|
LIBS="%{l_fsl_libs}" \ |
|
LEX="flex" \ |
|
YACC="bison -y" \ |
|
./configure \ |
|
--prefix=%{l_prefix} \ |
|
--sysconfdir=%{l_prefix}/etc/petidomo |
|
%{l_make} %{l_mflags} |
|
|
|
%install |
|
# install program |
|
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
|
|
|
# strip down installation |
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/petidomo |
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/etc/petidomo |
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/petidomo |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/var/petidomo \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/petidomo |
|
|
|
# install additional files |
|
%{l_shtool} install -c -m 644 \ |
|
/dev/null $RPM_BUILD_ROOT%{l_prefix}/var/petidomo/petidomo.log |
|
l_hostname=`%{l_shtool} echo -e '%h%d'` |
|
for name in `grep "^<file" %{SOURCE petidomo.txt} | sed -e 's;^.*name=";;' -e 's;".*$;;'`; do |
|
(echo ""; cat %{SOURCE petidomo.txt}; echo "") |\ |
|
sed -e "1,/^<file name=\"$name\">/d" -e "/<\/file>/,\$d" >$name |
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
-e "s;@l_hostname@;${l_hostname};g" \ |
|
$name $RPM_BUILD_ROOT%{l_prefix}/etc/petidomo/ |
|
done |
|
|
|
# install run-command script |
|
%{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.petidomo} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
|
|
|
# install OSSP fsl configuration |
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl |
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
%{SOURCE fsl.petidomo} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ |
|
|
|
# determine installation files |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
|
%{l_files_std} \ |
|
'%config %{l_prefix}/etc/fsl/fsl.petidomo' \ |
|
'%config %{l_prefix}/etc/petidomo/*' \ |
|
'%attr(775,%{l_musr},%{l_rgrp}) %{l_prefix}/var/petidomo/*' \ |
|
'%attr(6755,%{l_musr},%{l_mgrp}) %{l_prefix}/bin/petidomo' |
|
|
|
%files -f files |
|
|
|
%clean |
|
|
|
%post |
|
# add hook into MTA configuration |
|
if [ ".$1" = .1 ]; then |
|
aliases_file=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_file` |
|
update_command=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_update` |
|
if [ ".$aliases_file" != . ]; then |
|
( echo "petidomo: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv\"" |
|
echo "petidomo-approve: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=approve\"" |
|
echo "petidomo-manager: postmaster" |
|
echo "owner-owner: petidomo-manager" |
|
echo "users: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=deliver --listname=users\"" |
|
echo "users-request: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv --listname=users\"" |
|
echo "users-owner: postmaster" |
|
echo "owner-users: users-owner" |
|
) |\ |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-a -i "$RPM_INSTALL_PREFIX:petidomo" $aliases_file |
|
fi |
|
if [ ".$update_command" != . ]; then |
|
eval $update_command |
|
fi |
|
fi |
|
|
|
%postun |
|
# remove hook from MTA configuration |
|
if [ ".$1" = .0 ]; then |
|
aliases_file=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_file` |
|
update_command=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_update` |
|
if [ ".$aliases_file" != . ]; then |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-r -i "$RPM_INSTALL_PREFIX:petidomo" $aliases_file |
|
fi |
|
if [ ".$update_command" != . ]; then |
|
eval $update_command |
|
fi |
|
fi |
|
|
|
|