From 4f9e8bb26c0a6a2e6fe60414c6c820858062c554 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 4 Nov 2012 14:55:37 +0100 Subject: php-horde-horde: mew package --- Makefile | 4 + find-lang.sh | 192 ++++++++++++++++++++++++++++++++++++++++++++ horde.conf | 57 +++++++++++++ php-horde-horde.spec | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 474 insertions(+) create mode 100644 Makefile create mode 100755 find-lang.sh create mode 100644 horde.conf create mode 100644 php-horde-horde.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/find-lang.sh b/find-lang.sh new file mode 100755 index 0000000..cfd3be9 --- /dev/null +++ b/find-lang.sh @@ -0,0 +1,192 @@ +#!/bin/sh +#findlang - automagically generate list of language specific files +#for inclusion in an rpm spec file. +#This does assume that the *.mo files are under .../locale/... +#Run with no arguments gets a usage message. + +#findlang is copyright (c) 1998 by W. L. Estes + +#Redistribution and use of this software are hereby permitted for any +#purpose as long as this notice and the above copyright notice remain +#in tact and are included with any redistribution of this file or any +#work based on this file. + +# 2004-06-20 Arkadiusz Miƛkiewicz +# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD) +# 1999-10-19 Artur Frysiak +# * added support for GNOME help files +# * start support for KDE help files + +usage () { +cat <&2 +elif [ ! -d $1 ] ; then + echo $0: $1: no such directory + exit 1 +else TOP_DIR="`echo $1|sed -e 's:/$::'`" +fi +shift + +if [ -z "$1" ] ; then usage +else NAME=$1 +fi +shift + +GNOME=# +KDE=# +QT=# +MAN=# +MO= +MO_NAME=$NAME.lang +ALL_NAME=# +NO_ALL_NAME= + +while test $# -gt 0 ; do + case "${1}" in + --with-gnome ) + GNOME= + shift + ;; + --with-kde ) + KDE= + shift + ;; + --with-qt ) + QT= + shift + ;; + --with-man ) + MAN= + shift + ;; + --without-mo ) + MO=# + shift + ;; + --all-name ) + ALL_NAME= + NO_ALL_NAME=# + shift + ;; + * ) + MO_NAME=${1} + shift + ;; + esac +done + +find $TOP_DIR -type f -o -type l|sed ' +s:'"$TOP_DIR"':: +'"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3: +'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' > $MO_NAME + +find $TOP_DIR -type d|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1: +'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\):: +'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) \1\2: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\):: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) \1\2: +s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*:: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' >> $MO_NAME + +find $TOP_DIR -type d|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'$\):%dir \1: +'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1: +s:^\([^%].*\):: +/^$/d' >> $MO_NAME + +find $TOP_DIR -type f|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\)\.omf\):%lang(\2) \1: +'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1: +s:^[^%].*:: +s:%lang(C) :: +/^$/d' >> $MO_NAME + +KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null` +if [ x"$KDE3_HTML" != x -a -d "$TOP_DIR$KDE3_HTML" ]; then +find $TOP_DIR$KDE3_HTML -type d|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\):: +'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3: +'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\):: +'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' >> $MO_NAME +fi + +KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null` +if [ x"$KDE4_HTML" != x -a -d "$TOP_DIR$KDE4_HTML" ]; then +find $TOP_DIR$KDE4_HTML -type d|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\):: +'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3: +'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\):: +'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' >> $MO_NAME +fi + +find $TOP_DIR -type f -o -type l|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1: +'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1: +'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1: +'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1: +'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1: +s:^[^%].*:: +s:%lang(C) :: +/^$/d' >> $MO_NAME + +find $TOP_DIR -type d|sed ' +s:'"$TOP_DIR"':: +'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/\):: +'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1/*: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' >> $MO_NAME + +find $TOP_DIR -type f -o -type l|sed ' +s:'"$TOP_DIR"':: +'"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*: +s:^\([^%].*\):: +s:%lang(C) :: +/^$/d' >> $MO_NAME + +if ! grep -q / $MO_NAME; then + echo "No translations found for ${NAME} in ${TOP_DIR}" + exit 1 +fi +exit 0 diff --git a/horde.conf b/horde.conf new file mode 100644 index 0000000..c8096a0 --- /dev/null +++ b/horde.conf @@ -0,0 +1,57 @@ +Alias /horde /usr/share/horde + + + # **IMPORTANT** By default, everyone accessing Horde is automatically logged + # in as 'Administrator'. This is a security risk! It is very important that + # you change the authentication backend under the 'Authentication' tab. + # For this reason, Horde is currently only accessible from localhost. + + + # Apache 2.4 + Require local + + + # Apache 2.2 + Order Deny,Allow + Deny from All + Allow from 127.0.0.1 + Allow from ::1 + + + + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ rampage.php [QSA,L] + + + + + Deny from all + + + + Deny from all + + + + Deny from all + + + + Deny from all + + + + Deny from all + + + + + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ index.php/$1 [QSA,L] + + + diff --git a/php-horde-horde.spec b/php-horde-horde.spec new file mode 100644 index 0000000..026448b --- /dev/null +++ b/php-horde-horde.spec @@ -0,0 +1,221 @@ +%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} +%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} +%global pear_name horde +%global pear_channel pear.horde.org + +Name: php-horde-horde +Version: 5.0.0 +Release: 1%{?dist} +Summary: Horde Application Framework + +Group: Development/Libraries +License: LGPLv2+ +URL: http://www.horde.org/apps/horde +Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz +# /usr/lib/rpm/find-lang.sh from fedora 16 +Source1: find-lang.sh +Source2: horde.conf + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +BuildRequires: gettext +BuildRequires: php-pear +BuildRequires: php-channel(%{pear_channel}) +BuildRequires: php-pear(%{pear_channel}/Horde_Role) >= 1.0.0 + +Requires(post): %{__pear} +Requires(postun): %{__pear} +Requires: php-channel(%{pear_channel}) +Requires: php-pear(%{pear_channel}/Horde_Role) >= 1.0.0 +Requires: php-pear(%{pear_channel}/Horde_Alarm) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Alarm) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Argv) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Argv) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Auth) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Auth) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Autoloader) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Autoloader) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Browser) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Browser) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Core) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Core) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Date) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Date) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Exception) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Exception) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Form) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Form) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Group) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Group) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Http) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Http) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Image) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Image) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_LoginTasks) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_LoginTasks) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Mail) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Mail) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Mime) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Mime) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Nls) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Nls) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Perms) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Perms) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Prefs) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Prefs) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Rpc) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Rpc) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Serialize) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Serialize) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Support) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Support) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Template) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Template) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Text_Diff) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Text_Diff) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Token) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Token) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Text_Filter) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Text_Filter) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Tree) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Tree) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Url) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Url) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Util) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Util) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_View) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_View) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Vfs) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Vfs) >= 3.0.0 +# Optionnal: Net_DNS2, Services_Weather, Horde_ActiveSync, Horde_Db, Horde_Feed, Horde_Oauth, Horde_Service_Facebook, +# Horde_Service_Twitter, Horde_Service_Weather, Horde_SyncMl, Console_Getopt, Console_Table, File_Find + +Provides: php-pear(%{pear_channel}/%{pear_name}) = %{version} + + +%description +The Horde Application Framework is a flexible, modular, general-purpose web +application framework written in PHP. It provides an extensive array of +components that are targeted at the common problems and tasks involved in +developing modern web applications. It is the basis for a large number of +production-level web applications, notably the Horde Groupware suites. For +more information on Horde or the Horde Groupware suites, visit +http://www.horde.org. + +%prep +%setup -q -c -T +tar xif %{SOURCE0} + +cd %{pear_name}-%{version} + +# Don't install .po and .pot files +# Remove checksum for .mo, as we regenerate them +sed -e '/%{pear_name}.po/d' \ + -e '/htaccess/d' \ + -e '/%{pear_name}.mo/s/md5sum=.*name=/name=/' \ + -e '/%{pear_name}.mo/s/role="horde"/role="data"/' \ + ../package.xml >%{name}.xml + + +%build +cd %{pear_name}-%{version} + +# Regenerate the locales +for po in $(find locale -name \*.po) +do + msgfmt $po -o $(dirname $po)/$(basename $po .po).mo +done + + +%install +rm -rf %{buildroot} +cd %{pear_name}-%{version} +%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml + +# Clean up unnecessary files +rm -rf %{buildroot}%{pear_metadir}/.??* + +# Install XML package description +mkdir -p %{buildroot}%{pear_xmldir} +install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} + +# Move configuration to /etc +mkdir -p %{buildroot}%{_sysconfdir} +mv %{buildroot}%{pear_hordedir}/config \ + %{buildroot}%{_sysconfdir}/horde +ln -s %{_sysconfdir}/horde %{buildroot}%{pear_hordedir}/config +cp %{buildroot}%{_sysconfdir}/horde/conf.php.dist \ + %{buildroot}%{_sysconfdir}/horde/conf.php + +install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/httpd/conf.d/horde.conf + +%if 0%{?fedora} > 13 +%find_lang %{pear_name} +%else +sh %{SOURCE1} %{buildroot} %{pear_name} +%endif + + +%clean +rm -rf %{buildroot} + + +%post +%{__pear} install --nodeps --soft --force --register-only \ + %{pear_xmldir}/%{name}.xml >/dev/null || : + +%postun +if [ $1 -eq 0 ] ; then + %{__pear} uninstall --nodeps --ignore-errors --register-only \ + %{pear_channel}/%{pear_name} >/dev/null || : +fi + + +%files -f %{pear_name}-%{version}/%{pear_name}.lang +%defattr(-,root,root,-) +%doc %{pear_docdir}/%{pear_name} +%config(noreplace) %{_sysconfdir}/httpd/conf.d/horde.conf +%attr(0770,apache,apache) %dir %{_sysconfdir}/horde +%attr(0770,apache,apache) %dir %{_sysconfdir}/horde/registry.d +%attr(0640,apache,apache) %config %{_sysconfdir}/horde/*.dist +%attr(0660,apache,apache) %config(noreplace) %{_sysconfdir}/horde/*.php +%attr(0660,apache,apache) %config %{_sysconfdir}/horde/*.xml +%attr(0640,apache,apache) %config %{_sysconfdir}/horde/registry.d/README +%{pear_xmldir}/%{name}.xml +%{_bindir}/horde-active-sessions +%{_bindir}/horde-alarms +%{_bindir}/horde-check-logger +%{_bindir}/horde-clear-cache +%{_bindir}/horde-crond +%{_bindir}/horde-db-migrate +%{_bindir}/horde-import-squirrelmail-prefs +%{_bindir}/horde-memcache-stats +%{_bindir}/horde-run-task +%{_bindir}/horde-set-perms +%{_bindir}/horde-themes +%{_bindir}/horde-translation +%{pear_hordedir}/*php +%{pear_hordedir}/admin +%{pear_hordedir}/config +%{pear_hordedir}/install +%{pear_hordedir}/lib +%{pear_hordedir}/locale +%{pear_hordedir}/rpc +%{pear_hordedir}/services +%{pear_hordedir}/static +%{pear_hordedir}/templates +%{pear_hordedir}/themes +%{pear_hordedir}/util +%{pear_hordedir}/js/plupload +%{pear_hordedir}/js/*.js +# own locales (non standard) directories, .mo own by find_lang +%dir %{pear_datadir}/%{pear_name} +%dir %{pear_datadir}/%{pear_name}/locale +%dir %{pear_datadir}/%{pear_name}/locale/* +%dir %{pear_datadir}/%{pear_name}/locale/*/LC_MESSAGES +%{pear_datadir}/%{pear_name}/scripts + + +%changelog +* Sun Nov 4 2012 Remi Collet - 5.0.0-1 +- Initial package -- cgit