From 1e1e421697f43bfe8762959a4df37d2ab959be1a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 12 Jan 2013 18:26:27 +0100 Subject: php-horde-ingo: new package --- Makefile | 4 ++ php-horde-ingo.spec | 166 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 119 insertions(+), 51 deletions(-) create mode 100644 Makefile 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/php-horde-ingo.spec b/php-horde-ingo.spec index 0b471be..122b619 100644 --- a/php-horde-ingo.spec +++ b/php-horde-ingo.spec @@ -1,6 +1,7 @@ %{!?pear_metadir: %global pear_metadir %{pear_phpdir}} %{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} -%global pear_name ingo +%global pear_name ingo +%global pear_channel pear.horde.org Name: php-horde-ingo Version: 3.0.2 @@ -8,45 +9,65 @@ Release: 1%{?dist} Summary: An email filter rules manager Group: Development/Libraries -License: BSD-2-Clause -URL: http://pear.horde.org/package/ingo -Source0: http://pear.horde.org/get/%{pear_name}-%{version}.tgz +License: BSD +URL: http://www.horde.org/apps/ingo +Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -BuildRequires: php-pear(PEAR) +BuildRequires: gettext +BuildRequires: php-common >= 5.3.0 +BuildRequires: php-pear(PEAR) >= 1.7.0 +BuildRequires: php-channel(%{pear_channel}) +BuildRequires: php-pear(%{pear_channel}/Horde_Role) >= 1.0.0 Requires(post): %{__pear} Requires(postun): %{__pear} -Requires: php-pear(PEAR) -Requires: php-pear(pear.horde.org/horde) >= 5.0.0 -Requires: php-pear(pear.horde.org/horde) < 6.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Auth) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Auth) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Autoloader) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Autoloader) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Core) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Core) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Exception) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Exception) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Group) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Group) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Form) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Form) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Imap_Client) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Imap_Client) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Mime) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Mime) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Perms) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Perms) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Share) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Share) < 3.0.0alpha1 -Requires: php-pear(pear.horde.org/Horde_Util) >= 2.0.0 -Requires: php-pear(pear.horde.org/Horde_Util) < 3.0.0alpha1 +Requires: php-common >= 5.3.0 +# extensions required from package.xml +Requires: php-gettext +# extensions required from phpci analysis +Requires: php-date +Requires: php-ldap +Requires: php-pcre +Requires: php-spl Requires: php-pear(PEAR) >= 1.7.0 -Provides: php-pear(pear.horde.org/ingo) = %{version} -BuildRequires: php-channel(pear.horde.org) -Requires: php-channel(pear.horde.org) +Requires: php-channel(%{pear_channel}) +Requires: php-pear(%{pear_channel}/Horde_Role) >= 1.0.0 +Requires: php-pear(%{pear_channel}/horde) >= 5.0.0 +Conflicts: php-pear(%{pear_channel}/horde) >= 6.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_Core) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Core) >= 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_Group) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Group) >= 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_Imap_Client) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Imap_Client) >= 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_Perms) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Perms) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Share) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Share) >= 3.0.0 +Requires: php-pear(%{pear_channel}/Horde_Util) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Util) >= 3.0.0 +# Optional +Requires: php-pear(Net_Sieve) >= 1.3.1 +Requires: php-pear(Net_Socket) +Requires: php-pear(%{pear_channel}/Horde_Vfs) >= 2.0.0 +Conflicts: php-pear(%{pear_channel}/Horde_Vfs) >= 3.0.0 + +Provides: php-pear(%{pear_channel}/%{pear_name}) = %{version} +Obsoletes: ingo < 3 +Provides: ingo = %{version} + %description Ingo is an email-filter management application. It is fully @@ -54,34 +75,66 @@ internationalized, integrated with Horde and the IMP Webmail client, and supports both server-side (Sieve, Procmail, Maildrop) and client-side (IMAP) message filtering. + %prep %setup -q -c -[ -f package2.xml ] || mv package.xml package2.xml -mv package2.xml %{pear_name}-%{version}/%{name}.xml + +cat < + Deny from all + +EOF 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=/' \ + ../package.xml >%{name}.xml %build cd %{pear_name}-%{version} -# Empty build section, most likely nothing required. + +# 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} -rm -rf $RPM_BUILD_ROOT -%{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml +%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml # Clean up unnecessary files -rm -rf $RPM_BUILD_ROOT%{pear_metadir}/.??* +rm -rf %{buildroot}%{pear_metadir}/.??* # Install XML package description -mkdir -p $RPM_BUILD_ROOT%{pear_xmldir} -install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir} +mkdir -p %{buildroot}%{pear_xmldir} +install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} + +# Install Apache configuration +install -Dpm 0644 ../httpd.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf + +# Move configuration to /etc +mkdir -p %{buildroot}%{_sysconfdir}/horde +mv %{buildroot}%{pear_hordedir}/%{pear_name}/config \ + %{buildroot}%{_sysconfdir}/horde/%{pear_name} +ln -s %{_sysconfdir}/horde/%{pear_name} %{buildroot}%{pear_hordedir}/%{pear_name}/config + +# Locales +for loc in locale/?? locale/??_?? +do + lang=$(basename $loc) + echo "%%lang(${lang%_*}) %{pear_hordedir}/%{pear_name}/$loc" +done | tee ../%{pear_name}.lang %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %post @@ -91,23 +144,34 @@ rm -rf $RPM_BUILD_ROOT %postun if [ $1 -eq 0 ] ; then %{__pear} uninstall --nodeps --ignore-errors --register-only \ - pear.horde.org/%{pear_name} >/dev/null || : + %{pear_channel}/%{pear_name} >/dev/null || : fi -%files +%files -f %{pear_name}.lang %defattr(-,root,root,-) %doc %{pear_docdir}/%{pear_name} - - %{pear_xmldir}/%{name}.xml -# Expand this as needed to avoid owning dirs owned by our dependencies -# and to avoid unowned dirs - -%{pear_datadir}/ingo - +%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf +%attr(0770,apache,apache) %dir %{_sysconfdir}/horde/%{pear_name} +%attr(0640,apache,apache) %config %{_sysconfdir}/horde/%{pear_name}/*.dist +%attr(0660,apache,apache) %config(noreplace) %{_sysconfdir}/horde/%{pear_name}/*.php +%attr(0660,apache,apache) %config %{_sysconfdir}/horde/%{pear_name}/*.xml %{_bindir}/ingo-convert-prefs-to-sql %{_bindir}/ingo-convert-sql-shares-to-sqlng %{_bindir}/ingo-postfix-policyd +%dir %{pear_hordedir}/%{pear_name} +%dir %{pear_hordedir}/%{pear_name}/locale +%{pear_hordedir}/%{pear_name}/*.php +%{pear_hordedir}/%{pear_name}/config +%{pear_hordedir}/%{pear_name}/js +%{pear_hordedir}/%{pear_name}/lib +%{pear_hordedir}/%{pear_name}/migration +%{pear_hordedir}/%{pear_name}/templates +%{pear_hordedir}/%{pear_name}/themes +%{pear_datadir}/%{pear_name} + %changelog +* Sat Jan 12 2013 Remi Collet - 3.0.2-1 +- Initial package -- cgit