summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2013-01-12 18:26:27 +0100
committerRemi Collet <fedora@famillecollet.com>2013-01-12 18:26:27 +0100
commit1e1e421697f43bfe8762959a4df37d2ab959be1a (patch)
treecce80968ad4dafe6b24af6a3d7f790a28ab0dca4
parent22e71d8a67c5e99edfcd54f190e0f52502bd4381 (diff)
php-horde-ingo: new package
-rw-r--r--Makefile4
-rw-r--r--php-horde-ingo.spec166
2 files changed, 119 insertions, 51 deletions
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 <<EOF | tee httpd.conf
+<DirectoryMatch %{pear_hordedir}/%{pear_name}/(config|lib|locale)>
+ Deny from all
+</DirectoryMatch>
+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 <RPMS@FamilleCollet.com> - 3.0.2-1
+- Initial package