| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420 |
- ##
- ## squirrelmail.spec -- OpenPKG RPM Package Specification
- ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
- ## Copyright (c) 2000-2007 Ralf S. Engelschall <http://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 version
- %define V_sqmail 1.4.10a
- %define V_locale 1.4.9-20070106
- %define V_plugin_compat 2.0.7-1.0
- %define V_plugin_logger 1.4.0-1.0.6
- %define V_plugin_addgraphics 2.3-1.0.3
- %define V_plugin_avelsieve 1.9.7
- %define V_plugin_saslpwd 1.4.1-1.4
- %define V_plugin_checkquota 1.4-1.2.7
- %define V_plugin_foldersize 1.5-1.4.0
- %define V_plugin_gnupg 2.0.1-1.4.2
- %define V_plugin_ldif 1.4-1.2.x
- %define V_plugin_update 0.7-1.4.2
- %define V_plugin_userip 3.3-1.2.2
- %define V_plugin_smallcal 0.8-1.2.3
- %define V_plugin_vkeyboard 0.9
- %define V_plugin_username 2.3-1.0.0
- # package information
- Name: squirrelmail
- Summary: SquirrelMail Webmail Client
- URL: http://www.squirrelmail.org/
- Vendor: Squirrelmail Developers
- Packager: OpenPKG Foundation e.V.
- Distribution: OpenPKG Community
- Class: EVAL
- Group: Mail
- License: GPL
- Version: %{V_sqmail}
- Release: 20070622
- # package options
- %option with_plugins no
- # list of sources
- Source0: http://switch.dl.sourceforge.net/squirrelmail/squirrelmail-%{version}.tar.bz2
- Source1: http://switch.dl.sourceforge.net/squirrelmail/all_locales-%{V_locale}.tar.bz2
- Source2: http://www.squirrelmail.org/plugins/compatibility-%{V_plugin_compat}.tar.gz
- Source3: http://www.squeaksoft.com/products/SquirrelLogger/squirrel_logger.%{V_plugin_logger}.tar.gz
- Source4: http://www.squirrelmail.org/plugins/addgraphics-%{V_plugin_addgraphics}.tar.gz
- Source5: http://www.squirrelmail.org/plugins/avelsieve-%{V_plugin_avelsieve}.tar.gz
- Source6: http://www.squirrelmail.org/plugins/chg_sasl_passwd-%{V_plugin_saslpwd}.tar.gz
- Source7: http://www.squirrelmail.org/plugins/check_quota-%{V_plugin_checkquota}.tar.gz
- Source8: http://www.squirrelmail.org/plugins/folder_sizes-%{V_plugin_foldersize}.tar.gz
- Source9: http://www.squirrelmail.org/plugins/gpg.%{V_plugin_gnupg}.tar.gz
- Source10: http://www.squirrelmail.org/plugins/ldifimport-%{V_plugin_ldif}.tar.gz
- Source11: http://www.squirrelmail.org/plugins/pupdate.%{V_plugin_update}.tar.gz
- Source12: http://www.squirrelmail.org/plugins/show_user_and_ip-%{V_plugin_userip}.tar.gz
- Source13: http://www.squirrelmail.org/plugins/smallcal-%{V_plugin_smallcal}.tar.gz
- Source14: http://www.squirrelmail.org/plugins/vkeyboard-%{V_plugin_vkeyboard}.tar.gz
- Source15: http://www.squirrelmail.org/plugins/username-%{V_plugin_username}.tar.gz
- Source16: config.php
- Source17: defprefs.txt
- Source18: opkg_large.png
- Source19: opkg_small.png
- Source20: rc.squirrelmail
- Patch0: squirrelmail.patch
- Patch1: squirrelmail.patch.plugins
- # build information
- Prefix: %{l_prefix}
- BuildRoot: %{l_buildroot}
- BuildPreReq: OpenPKG, openpkg >= 20060823
- PreReq: OpenPKG, openpkg >= 20060823, imapd, MTA, apache
- PreReq: apache-php, apache-php::with_xml = yes
- AutoReq: no
- AutoReqProv: no
- %description
- SquirrelMail is a standards-based webmail package written in
- PHP4. It includes built-in pure PHP support for the IMAP and
- SMTP protocols, and all pages render in pure HTML 4.0 (with no
- Javascript) for maximum compatibility across browsers. It has
- very few requirements and is very easy to configure and install.
- SquirrelMail has all the functionality you would want from an email
- client, including strong MIME support, address books, and folder
- manipulation.
- %track
- prog squirrelmail = {
- version = %{V_sqmail}
- url = http://prdownloads.sourceforge.net/squirrelmail/
- regex = squirrelmail-(\d+\.[02468]\.\d+[a-z]?)\.tar\.bz2
- }
- prog squirrelmail:locales = {
- version = %{V_locale}
- url = http://prdownloads.sourceforge.net/squirrelmail/
- regex = all_locales-(\d+\.[02468]\.\d+-\d+)\.tar\.bz2
- }
- prog squirrelmail:compat = {
- version = %{V_plugin_compat}
- url = http://www.squirrelmail.org/plugins/
- regex = compatibility-(__VER__)\.tar\.gz
- }
- prog squirrelmail:logger = {
- version = %{V_plugin_logger}
- url = http://www.squeaksoft.com/products/SquirrelLogger/
- regex = squirrel_logger.(__VER__)\.tar\.gz
- }
- prog squirrelmail:addgraphics = {
- version = %{V_plugin_addgraphics}
- url = http://www.squirrelmail.org/plugins/
- regex = addgraphics-(__VER__)\.tar\.gz
- }
- prog squirrelmail:avelsieve = {
- version = %{V_plugin_avelsieve}
- url = http://www.squirrelmail.org/plugins/
- regex = avelsieve-(\d+\.\d+\.\d+)\.tar\.gz
- }
- prog squirrelmail:saslpwd = {
- version = %{V_plugin_saslpwd}
- url = http://www.squirrelmail.org/plugins/
- regex = chg_sasl_passwd-(\d+\.\d+\.\d+-\d+\.\d+)\.tar\.gz
- }
- prog squirrelmail:checkquota = {
- version = %{V_plugin_checkquota}
- url = http://www.squirrelmail.org/plugins/
- regex = check_quota-(__VER__)\.tar\.gz
- }
- prog squirrelmail:foldersize = {
- version = %{V_plugin_foldersize}
- url = http://www.squirrelmail.org/plugins/
- regex = folder_sizes.(__VER__)\.tar\.gz
- }
- prog squirrelmail:gnupg = {
- version = %{V_plugin_gnupg}
- url = http://www.squirrelmail.org/plugins/
- regex = gpg.(\d+\.\d+\.\d+-\d+\.\d+\.\d+)\.tar\.gz
- }
- prog squirrelmail:ldif = {
- version = %{V_plugin_ldif}
- url = http://www.squirrelmail.org/plugins/
- regex = ldifimport-(__VER__)\.tar\.gz
- }
- prog squirrelmail:update = {
- version = %{V_plugin_update}
- url = http://www.squirrelmail.org/plugins/
- regex = pupdate.(__VER__)\.tar\.gz
- }
- prog squirrelmail:userip = {
- version = %{V_plugin_userip}
- url = http://www.squirrelmail.org/plugins/
- regex = show_user_and_ip-(__VER__)\.tar\.gz
- }
- prog squirrelmail:smallcal = {
- version = %{V_plugin_smallcal}
- url = http://www.squirrelmail.org/plugins/
- regex = smallcal-(__VER__)\.tar\.gz
- }
- prog squirrelmail:vkeyboard = {
- version = %{V_plugin_vkeyboard}
- url = http://www.squirrelmail.org/plugins/
- regex = vkeyboard-(__VER__)\.tar\.gz
- }
- prog squirrelmail:username = {
- version = %{V_plugin_username}
- url = http://www.squirrelmail.org/plugins/
- regex = username-(__VER__)\.tar\.gz
- }
- %prep
- %setup -q -c -n squirrelmail
- %setup -q -D -T -a 1 -c -n squirrelmail/all_locales-%{V_locale}
- %setup -q -D -T -a 2 -n squirrelmail
- %setup -q -D -T -a 3 -n squirrelmail
- mv compatibility squirrelmail-%{V_sqmail}/plugins
- mv squirrel_logger squirrelmail-%{V_sqmail}/plugins
- %if "%{with_plugins}" == "yes"
- %setup -q -D -T -a 4 -n squirrelmail
- %setup -q -D -T -a 5 -n squirrelmail
- %setup -q -D -T -a 6 -n squirrelmail
- %setup -q -D -T -a 7 -n squirrelmail
- %setup -q -D -T -a 8 -n squirrelmail
- %setup -q -D -T -a 9 -n squirrelmail
- %setup -q -D -T -a 10 -n squirrelmail
- %setup -q -D -T -a 11 -n squirrelmail
- %setup -q -D -T -a 12 -n squirrelmail
- %setup -q -D -T -a 13 -n squirrelmail
- %setup -q -D -T -a 14 -n squirrelmail
- %setup -q -D -T -a 15 -n squirrelmail
- # move additional plugins where other are already placed
- for plug in addgraphics avelsieve check_quota chg_sasl_passwd \
- folder_sizes gpg ldifimport pupdate show_user_and_ip \
- smallcal vkeyboard username; do
- mv $plug squirrelmail-%{V_sqmail}/plugins
- done
- %endif
- # clean up login screen of distractions
- ( cd squirrelmail-%{V_sqmail}
- %patch -p0
- ) || exit $?
- # rearrange documentation and remove archive script
- ( cd squirrelmail-%{V_sqmail}
- mv AUTHORS ChangeLog COPYING INSTALL README UPGRADE doc/
- mv ReleaseNotes doc/ReleaseNotes.txt
- mv themes/README.themes doc/
- for fil in `find plugins/ -name "README*" -o -name "Readme*" \
- -o -name "INSTALL*" -o -name CHANGES -o -name HISTORY`; do
- %{l_shtool} mkdir -f -p -m 755 doc/`dirname $fil`
- mv -f $fil $_
- done
- mv doc/plugins/squirrelspell/doc/README doc/plugins/squirrelspell
- rm -rf doc/plugins/squirrelspell/doc doc/plugins/squirrelspell/index.php
- mv plugins/squirrelspell/doc/* doc/plugins/squirrelspell
- rm -rf plugins/squirrelspell/doc
- rm -f plugins/make_archive.pl
- %if "%{with_plugins}" == "yes"
- mv plugins/pupdate/docs/* doc/plugins/pupdate
- rm -rf plugins/pupdate/docs
- %endif
- # postadjustment cosmetics
- %{l_shtool} subst \
- -e 's;\(#ffffff., .border="0" width=\)"350";\1"250";1' \
- src/login.php
- # set default prefs
- cat %{SOURCE defprefs.txt} >>data/default_pref
- ) || exit $?
- %build
- %install
- rm -rf $RPM_BUILD_ROOT
- # create directory structure
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/bin \
- $RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/prefs \
- $RPM_BUILD_ROOT%{l_prefix}/var/squirrelmail/spool/attach \
- $RPM_BUILD_ROOT%{l_prefix}/var/squirrelmail/log
- # install locales
- ( cd all_locales-%{V_locale}
- cp -rpf help images locale $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/
- ) || exit $?
- # install program
- ( cd squirrelmail-%{V_sqmail}
- # install default_pref
- %{l_shtool} install -c -m 644 \
- data/default_pref \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/prefs/
- # create initial administrator list
- echo %{l_musr} >>$RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail/admins
- # install main index file to view in client browser
- %{l_shtool} install -c -m 644 \
- index.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/
- # copy over most functional directories, a lot of stuff
- for dir in class doc functions include plugins src themes; do
- cp -rpf $dir $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/
- done
- cp -rpf images/* $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/images/
- cp -pf locale/timezones.cfg $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/locale/
- # install main config files
- l_fqdm=`%{l_shtool} echo -e %h%d`
- %{l_shtool} install -c -m 644 %{l_value -s -a} \
- -e 's;config/\(config_local.php\);\1;g' \
- -e "s;@l_fqdm@;${l_fqdm};g" \
- %{SOURCE config.php} \
- config/config_default.php \
- $RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail/
- %if "%{with_plugins}" == "yes"
- ( cd $RPM_BUILD_ROOT%{l_prefix}
- %{l_patch} -p0 <%{PATCH squirrelmail.patch.plugins}
- rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail/*.orig
- rm -f $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/gpg/*.orig
- rm -f $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/chg_sasl_passwd/*.orig
- ) || exit $?
- %endif
- %{l_shtool} install -c -m 644 \
- config/config_local.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/
- # install plugin config files
- ( cd $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins
- %{l_shtool} subst \
- -e 's;../data/access_log;../../../var/squirrelmail/log/access.log;' \
- -e 's;\(\$sl_dateformat = \)"m/d/Y G:i:s";\1"d/m/Y G:i:s";' \
- squirrel_logger/setup.php
- %if "%{with_plugins}" == "yes"
- cp -pf check_quota/config.php.sample check_quota/config.php
- cp -pf chg_sasl_passwd/config.php.sample chg_sasl_passwd/config.php
- cp -pf show_user_and_ip/config.php.sample show_user_and_ip/config.php
- %{l_shtool} install -c -m 644 \
- -e "s;sm_logo\.png;opkg_small.png;" \
- -e "s;SquirrelMail Logo;OpenPKG Logo;" \
- -e "s;www\.squirrelmail\.org;www.openpkg.org;" \
- -e "s;\/\/\(\$image_width.*\) = 308;\1 = 201;" \
- -e "s;\/\/\(\$image_height.*\) = 111;\1 = 62;" \
- addgraphics/config.php.typical.one.domain \
- addgraphics/config.php
- %{l_shtool} install -c -m 644 \
- -e 's/^\(\$sieve_preferred_sasl_mech =\).*/\1 "PLAIN LOGIN CRAM-MD5 DIGEST-MD5";/' \
- -e 's/^\(\$avelsieve_oldcyrus =\).*/\1 false;/' \
- -e 's/^\(\$startitems =\).*/\1 4;/' \
- avelsieve/config/config_sample.php \
- avelsieve/config/config.php
- %{l_shtool} subst \
- -e 's;\(path_to_gpg=\)/usr/bin/gpg.*;\1%{l_prefix}/bin/gpg;' \
- gpg/gpg_local_prefs.txt
- %{l_shtool} install -c -m 644 \
- -e 's;\(adminusername = "\)[^"]*;\1%{l_musr};' \
- -e 's;corehide = 1;corehide = 0;' \
- pupdate/config.php.sample \
- pupdate/config.php
- %{l_shtool} install -c -m 644 \
- -e "s;\(\$vkeyboard_msgsize.*\)'medium';\1'x-small';" \
- -e "s;\(\$vkeyboard_layout.*\)'us_english';\1'portuguese_abnt2';" \
- -e "s;\(\$vkeyboard_height.*\)'250';\1'270';" \
- vkeyboard/config.php.sample \
- vkeyboard/config.php
- cp -pf username/config.php.sample username/config.php
- %{l_shtool} install -c -m 644 \
- %{SOURCE opkg_small.png} \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/images/
- %endif
- ) || exit $?
- # install squirrelmail configuration perl script
- %{l_shtool} install -c -m 755 \
- -e 's;chdir($dir);chdir("%{l_prefix}/etc/squirrelmail");g' \
- -e 's;\.\./plugins;%{l_prefix}/share/squirrelmail/plugins;g' \
- -e 's;\.\./themes;%{l_prefix}/share/squirrelmail/themes;g' \
- -e 's;config/config_local.php;config_local.php;g' \
- config/conf.pl \
- $RPM_BUILD_ROOT%{l_prefix}/bin/squirrelconf
- # use our own logo, a squirrel next to a OpenPKG package
- %{l_shtool} install -c -m 644 \
- %{SOURCE opkg_large.png} \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/images/
- ) || exit $?
- # install runcommand 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.squirrelmail} \
- $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
- # replace false /etc config paths throughout
- %{l_shtool} subst \
- -e 's;SM_PATH \. \(.\)config/;\1%{l_prefix}/etc/squirrelmail/;g' \
- -e 's;require_once(SM_PATH \. \(.*\)%{l_prefix};require_once(\1%{l_prefix};g' \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/functions/*.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/include/*.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/abook_take/*.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/administrator/*.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/calendar/*.php \
- $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/src/*.php
- # determine package ingredients and tag config files
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
- %{l_files_std} \
- '%config %{l_prefix}/etc/squirrelmail/*' \
- '%config %{l_prefix}/share/squirrelmail/prefs/*' \
- '%config %{l_prefix}/share/squirrelmail/plugins/squirrelspell/sqspell_config.php' \
- %if "%{with_plugins}" == "yes"
- '%config %{l_prefix}/share/squirrelmail/plugins/addgraphics/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/avelsieve/config/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/check_quota/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/chg_sasl_passwd/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/folder_sizes/folder_sizes_config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/gpg/gpg_local_prefs.txt' \
- '%config %{l_prefix}/share/squirrelmail/plugins/ldifimport/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/pupdate/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/show_user_and_ip/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/vkeyboard/config.php' \
- '%config %{l_prefix}/share/squirrelmail/plugins/username/config.php' \
- %endif
- '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/share/squirrelmail/prefs' \
- '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/squirrelmail/spool/attach' \
- '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/squirrelmail/log'
- %files -f files
- %clean
- rm -rf $RPM_BUILD_ROOT
- %preun
- # before erase, remove log files
- [ $1 -eq 0 ] || exit 0
- rm -f $RPM_INSTALL_PREFIX/var/squirrelmail/log/*.log >/dev/null 2>&1 || true
|