1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
%{!?pear_metadir: %global pear_metadir %{pear_phpdir}}
%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
%global pear_name nag
%global pear_channel pear.horde.org
# TODO
# Tests are not ready
# config: provides one ?
# "horde-nag" sub package with apache stuff
Name: php-horde-nag
Version: 4.0.1
Release: 1%{?dist}
Summary: A web based task list manager
Group: Development/Libraries
License: GPLv2+
URL: http://www.horde.org/apps/nag
Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: gettext
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) >= 1.7.0
Requires: php(language) >= 5.3.0
Requires: php-date
Requires: php-gettext
Requires: php-json
Requires: php-pcre
Requires: php-session
Requires: php-spl
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_Core) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Core) >= 3.0.0
Requires: php-pear(%{pear_channel}/Horde_Data) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Data) >= 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_Date_Parser) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Date_Parser) >= 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_History) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_History) >= 3.0.0
Requires: php-pear(%{pear_channel}/Horde_Icalendar) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Icalendar) >= 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_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_Share) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Share) >= 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_Text_Filter) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Text_Filter) >= 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
# optional
# TODO Horde_ActiveSync
Requires: php-pear(%{pear_channel}/Horde_Db) >= 2.0.0
Conflicts: php-pear(%{pear_channel}/Horde_Db) >= 3.0.0
# not documented, required for Content_Tagger
# http://bugs.horde.org/ticket/11726
Requires: php-pear(%{pear_channel}/content) >= 2.0.0
# not documented, required for Horde_Routes_Mapper
# http://bugs.horde.org/ticket/11727
Requires: php-pear(%{pear_channel}/Horde_Routes) >= 2.0.0
Provides: php-pear(%{pear_channel}/%{pear_name}) = %{version}
%description
Nag is a web-based application built upon the Horde Application Framework
which provides a simple, clean interface for managing online task lists
(i.e., todo lists). It also includes strong integration with the other
Horde applications and allows users to share task lists or enable
light-weight project management.
%prep
%setup -q -c -T
tar xif %{SOURCE0}
cat <<EOF >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.
%install
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}
# 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
%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}.lang
%defattr(-,root,root,-)
%doc %{pear_docdir}/%{pear_name}
%{pear_xmldir}/%{name}.xml
%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
%{pear_testdir}/%{pear_name}
%{_bindir}/nag-convert-datatree-shares-to-sql
%{_bindir}/nag-convert-sql-shares-to-sqlng
%{_bindir}/nag-create-missing-add-histories-sql
%{_bindir}/nag-import-vtodos
%dir %{pear_hordedir}/%{pear_name}
%dir %{pear_hordedir}/%{pear_name}/locale
%{pear_hordedir}/%{pear_name}/*.php
%{pear_hordedir}/%{pear_name}/app
%{pear_hordedir}/%{pear_name}/config
%{pear_hordedir}/%{pear_name}/js
%{pear_hordedir}/%{pear_name}/lib
%{pear_hordedir}/%{pear_name}/migration
%{pear_hordedir}/%{pear_name}/tasklists
%{pear_hordedir}/%{pear_name}/tasks
%{pear_hordedir}/%{pear_name}/templates
%{pear_hordedir}/%{pear_name}/themes
%changelog
* Tue Nov 27 2012 Remi Collet <RPMS@FamilleCollet.com> - 4.0.1-1
- Update to 4.0.1 for remi repo
* Mon Nov 19 2012 Remi Collet <RPMS@FamilleCollet.com> - 4.0.0-2
- requires Horde_Routes
* Sun Nov 18 2012 Remi Collet <RPMS@FamilleCollet.com> - 4.0.0-1
- Initial package
|