-
Notifications
You must be signed in to change notification settings - Fork 0
/
mirrormanager.spec.in
275 lines (228 loc) · 11.1 KB
/
mirrormanager.spec.in
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
Name: mirrormanager
Version: ##VERSION##
Release: 1%{?dist}
Summary: Fedora mirror management system
BuildArch: noarch
Group: Applications/Internet
License: MIT and GPLv2
URL: http://fedorahosted.org/mirrormanager
Source0: https://fedorahosted.org/releases/m/i/%{name}/%{name}-%{version}.tar.xz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
# for tempfile.SpooledTemporaryFile at least. RHEL6 has python 2.6 anyhow.
BuildRequires: python >= 2.6
Requires: TurboGears, python-IPy, python-GeoIP, wget, yum, psmisc, python-dns, python-fedora >= 0.3.14, python-fedora-turbogears, py-radix, mod_wsgi, python-TurboMail
Requires: supervisor
Requires(pre): shadow-utils
%description
MirrorManager tracks all the content provided on a master mirror
server, and that of all public and private mirrors of that content.
This package contains the application server, database schema and
hosted tools.
%package client
Requires: python
Summary: Fedora mirror management system downstream mirror tools
Group: Applications/Internet
%description client
Client-side, run on each downstream mirror, to report back to the
MirrorManager database a description of the content carried by that
mirror.
%package maps
# separate subpackage because python-basemap-data is 143MB
Requires: %{name} = %{version}-%{release}
Requires: python-basemap >= 0.99.4, python-basemap-data >= 0.99.4
Summary: MirrorManager map generator
Group: Applications/Internet
%description maps
The MirrorManager map generator creates a world map PNG noting public mirrors.
%prep
%setup -q
%build
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT CONFFILE="%{_sysconfdir}/%{name}/prod.cfg" PROGRAMDIR="%{_datadir}/%{name}/server" SBINDIR="%{_sbindir}"
%clean
rm -rf $RPM_BUILD_ROOT
%pre
getent group mirrormanager >/dev/null || groupadd -r mirrormanager
getent passwd mirrormanager >/dev/null || \
useradd -r -g mirrormanager -d /var/lib/mirrormanager -s /sbin/nologin \
-c "MirrorManager" mirrormanager
exit 0
%files
%defattr(-,root,root,-)
%{_datadir}/%{name}
%exclude %{_datadir}/%{name}/server/generate-worldmap
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/lib/%{name}/
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/lib/%{name}/catwalk-session/
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/run/%{name}/
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/log/%{name}/
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/log/%{name}/crawler/
%attr(-,mirrormanager,mirrormanager) %dir %{_localstatedir}/lock/%{name}/
%attr(-,mirrormanager,mirrormanager) %dir %{_sysconfdir}/%{name}/
%attr(-,mirrormanager,mirrormanager) %{_sysconfdir}/tmpfiles.d/%{name}.conf
%attr(-,mirrormanager,mirrormanager) %config(noreplace) /etc/mirrormanager/prod.cfg
%attr(-,mirrormanager,mirrormanager) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(-,mirrormanager,mirrormanager) %config(noreplace) %{_sysconfdir}/httpd/conf.d/mirrormanager.conf
%attr(-,mirrormanager,mirrormanager) %config(noreplace) %{_sysconfdir}/httpd/conf.d/mirrorlist-server.conf
%attr(-,mirrormanager,mirrormanager) %config(noreplace) %{_sysconfdir}/supervisord.d/mirrorlist-server.ini
%dir /etc/rpmlint/
%config(noreplace) /etc/rpmlint/%{name}.config
%doc LICENSES LICENSE-MIT-X11 LICENSE-GPLv2
%doc server/*.cfg server/prod.cfg.example README.rpm_setup cron/mirrormanager.cron
%files client
%defattr(-,root,root,-)
%{_bindir}/report_mirror
%dir %{_sysconfdir}/%{name}-client
%config(noreplace) %{_sysconfdir}/%{name}-client/report_mirror.conf
%doc LICENSE-MIT-X11 client/README
%files maps
%defattr(-,root,root,-)
%{_datadir}/%{name}/server/generate-worldmap
%doc LICENSES LICENSE-GPLv2
%changelog
* Tue Jan 21 2014 Matt Domsch <[email protected]> - 1.4.4-1
- upstream bugfix release
* Wed Dec 18 2013 Matt Domsch <[email protected]> - 1.4.3-1
- upstream bugfix release
- Reduce Fedora-isms to make it more usable for other distributions
* Tue Jul 23 2013 Matt Domsch <[email protected]> - 1.4.2-1
- upstream bugfix release
* Mon Jun 17 2013 Matt Domsch <[email protected]> - 1.4.1-1
- upstream 1.4.1 pure bugfix release
* Fri Jun 14 2013 Matt Domsch <[email protected]> - 1.4.0-1
- upstream 1.4.0 release
* Fri Jan 25 2013 Matt Domsch <[email protected]> - 1.4.0-0.1
- initial 1.4 branch for testing
* Sat Jun 9 2012 Matt Domsch <[email protected]>
- move -maps to separate subpackage
* Thu Nov 25 2010 Matt Domsch <[email protected]>
- add tmpfiles.d file (BZ636623)
* Sat Sep 11 2010 Matt Domsch <[email protected]> - 1.3.7-1
Matt Domsch:
mirrorlist_server: always output a metalink header
crawler: fix indentation, causing crawler to fail
* Sat Jul 31 2010 Matt Domsch <[email protected]> - 1.3.6-1
Matt Domsch (8):
mirrorlist_server: add mm0:private attribute to <url> in metalinks
add repomaps for RHEL
category named "RHEL", not "Red Hat Enterprise Linux". Fix references.
repomap: remove extra -beta on prefixes
umdl: set Repository.name = directory.name to be guaranteed unique
remove robots.txt and favicon.ico. These should come from the hosting organization, not MM.
crawler: don't close sys.stdout as logfile, leave that for sys.exit()
* Wed May 26 2010 Matt Domsch <[email protected]> - 1.3.5-1
- Adrian Reber (1):
mirrorlist_server: handle bad client IP address input
- Matt Domsch (18):
spec: require python-basemap-data too
makefile: add git-sign-push target to remind me
crawler: implement canary mode
crawler: crawl private i2 hosts that also say i2_clients are ok
crawler: send email when marking a whole host not up2date
mirrorlist_server: ignore SIGHUP in child - it'll exit soon enough
mirrorlist_server: increase socket request queue length to 300 (still limited by kernel options to 128)
mirrorlist_server: set request_queue_size earlier
mirrorlist_server: don't ignore SIGCHLD
mirrorlist tester: more printing, run forever
mirrorlist_client: sanitize input into UTF-8
mirrorlist_client: add 60sec timeout to reading from the server
mirrorlist_client: use select() waiting on the response from mirrorlist_server
mirrorlist_client: a better way to handle socket timeouts
mirrorlist_client: leave query params as utf8
mirrorlist_server: handle more failures gracefully
mirrorlist_client: add mirrorlist_client.noreverseproxy config parameter
umdl: don't use move_repository_from_development()
* Mon Apr 26 2010 Matt Domsch <[email protected]> - 1.3.4-1
- Adrian Reber (2):
umdl: fix failure when updating from rsync listings.
umdl: time.mktime() might return floats
- BJ Dierkes (1):
Fix confirm delete method in webui.
- Matt Domsch (34):
mrr: add --updates-only option
controllers: add mirroradmins query
umdl: fix crash in _get_version_from_path()
umdl: avoid disappering files
report_mirror: handle server HTTP 503 errors
generate-worldmap: update for newer python-basemap
autodetect development/13/ style directories and create appropriate Repositories
umdl: recognize moving Repository objects from development/13 to releases/13/
mrr: genericize --from and --to version values
get_internet2_netblocks: fix URL due to upstream directory change
Put titles on publiclist pages
expose crawler logs via apache directory listing
add crawler log link on host page
apache: ensure aliases to special areas come before the WSGI alias
remove python-fedora deprecation warning
add config option report_problems_to_email, display on publiclist footer.
ageFileDetails(): account for propogation delays
add max_propogation_days config option
spec: require python-basemap > 0.99.4 so generate-worldmap works
mirrorlist-server: use WSGIDaemonProcess for mirrorlist_client.wsgi
mirrormanager.wsgi run 4 instances per app server (up from 2)
* Mon Oct 26 2009 Matt Domsch <[email protected]> - 1.3.3-2
- add patch to fix confirm delete from webui
* Mon Sep 28 2009 Matt Domsch <[email protected]> - 1.3.3-1
- initial setup patches from BJ Dierkes
- simpler mirrormanager.initial, README.rpm_setup, prod.cfg
- add user mirrormanager and group mirrormanager, content permissions
* Mon Sep 28 2009 Matt Domsch <[email protected]> - 1.3.2-1
- add BGP ASN lookups
* Fri Sep 18 2009 Matt Domsch <[email protected]> - 1.3.1-1
- fix publiclist html
- fix Host netblock creation via web UI
* Mon Sep 7 2009 Matt Domsch <[email protected]> - 1.3.0-1
- add CSRF protection, add Requires: python-fedora
- add IPv6 capability
- switch DNS lookups to use python-dns
- other misc bugfixes
* Thu Jul 9 2009 Matt Domsch <[email protected]> - 1.2.12-1
- bug fixes post F11 release
* Mon Apr 20 2009 Mike McGrath <[email protected]> 1.2.11-2
- Added psmisc Requires
* Tue Apr 7 2009 Matt Domsch <[email protected]> - 1.2.11-1
- fix quite a few bugs from previous version
* Mon Apr 6 2009 Matt Domsch <[email protected]> - 1.2.10-1
- improved crawler repomd.xml verification
- improved publiclist generation
- fix categorymap logic
- WSGI-ify web application
- vastly speed up report_mirror (no more stat()s on every file)
- vastly speed up umdl
- add rsyncFilter
* Mon Feb 23 2009 Matt Domsch <[email protected]> - 1.2.9-1
- Adrian Reber:
mirrorlist-server: check values returned by geoip before printing
mirrorlist-server: ignore SIGCHLD to not have zombie processes
server: also use project name and URL from config file for publiclist
server: removed debug messages to decrease MM's verbosity
server: make it work with Fedora's 10 python version
- Jeroen van Meeuwen:
Strip duplicate // from the path requested
- Matt Domsch:
revert publiclist_host() changes from 6a056929007b9b6bdf35367818e1212895c5bdec
which weren't any faster and yet generated incorrect results.
add item to TODO
add push-mirroring doc
mirrorlist: add trailing / to returned URLs to directories.
Better handle Host creation form validation failure error case.
* Tue Dec 2 2008 Matt Domsch <[email protected]> - 1.2.8-1
- don't place metalink-downloaded files deep in a directory tree
* Mon Dec 1 2008 Matt Domsch <[email protected]> - 1.2.7-1
- Adrian Reber
add mirrorlist_statistics.py
- Matt Domsch
fix metalinks, cleanup publiclist a bit, add s390x
cleanup license files
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <[email protected]> - 1.2.6-2
- Rebuild for Python 2.6
* Mon Oct 13 2008 Matt Domsch <[email protected]> - 1.2.6-1
- even more bugfixes
* Sat Oct 4 2008 Matt Domsch <[email protected]> - 1.2.5-1
- more bugfixes
* Fri Oct 3 2008 Matt Domsch <[email protected]> - 1.2.4-1
- more bugfixes
* Sun Sep 28 2008 Matt Domsch <[email protected]> - 1.2.3-1
- lots of bugfixes
* Fri Sep 26 2008 Matt Domsch <[email protected]> - 1.2.2-1
- initial package attempt