]> git.pld-linux.org Git - packages/python-django.git/blob - python-django.spec
71de762f9a894a3a645d3e8c4c041cffd69933da
[packages/python-django.git] / python-django.spec
1 #
2 # Conditional build:
3 %bcond_without  python2 # CPython 2.x module
4 %bcond_without  python3 # CPython 3.x module
5
6 %define         module          django
7 %define         egg_name        Django
8 Summary:        The web framework for perfectionists with deadlines
9 Summary(pl.UTF-8):      Szkielet WWW dla perfekcjonistów z ograniczeniami czasowymi
10 Name:           python-%{module}
11 # stay on LTS line
12 # https://www.djangoproject.com/download/#supported-versions
13 Version:        1.11
14 Release:        1
15 License:        BSD
16 Group:          Libraries/Python
17 Source0:        https://www.djangoproject.com/m/releases/1.11/Django-%{version}.tar.gz
18 # Source0-md5:  5008d266f198c2fe761916139162a0c2
19 URL:            https://www.djangoproject.com/
20 %if %{with python2}
21 BuildRequires:  python-devel >= 1:2.7
22 BuildRequires:  python-setuptools
23 %endif
24 %if %{with python3}
25 BuildRequires:  python3-devel >= 1:3.4
26 BuildRequires:  python3-setuptools
27 %endif
28 BuildRequires:  rpm-pythonprov
29 BuildRequires:  rpmbuild(macros) >= 1.710
30 BuildRequires:  sphinx-pdg
31 Suggests:       python-MySQLdb
32 Suggests:       python-PyGreSQL
33 Suggests:       python-devel-tools
34 BuildArch:      noarch
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %description
38 Django is a high-level Python Web framework that encourages rapid
39 development and clean, pragmatic design.
40
41 %description -l pl.UTF-8
42 Django to wysokopoziomowy szkielet dla serwisów WWW w Pythonie
43 wspierający szybkie tworzenie i czysty, pragmatyczny projekt.
44
45 %package -n python3-%{module}
46 Summary:        The web framework for perfectionists with deadlines
47 Summary(pl.UTF-8):      Szkielet WWW dla perfekcjonistów z ograniczeniami czasowymi
48 Group:          Libraries/Python
49 Suggests:       python3-MySQLdb
50 Suggests:       python3-devel-tools
51 Suggests:       python3-psycopg2
52
53 %description -n python3-%{module}
54 Django is a high-level Python Web framework that encourages rapid
55 development and clean, pragmatic design.
56
57 %description -n python3-%{module} -l pl.UTF-8
58 Django to wysokopoziomowy szkielet dla serwisów WWW w Pythonie
59 wspierający szybkie tworzenie i czysty, pragmatyczny projekt.
60
61 %package doc
62 Summary:        Documentation on Django
63 Summary(de.UTF-8):      Dokumentation zu Django
64 Summary(es.UTF-8):      Documentación para Django
65 Summary(fr.UTF-8):      Documentation sur Django
66 Summary(pl.UTF-8):      Dokumentacja do Django
67 Group:          Documentation
68
69 %description doc
70 Documentation on Django.
71
72 %description doc -l pl.UTF-8
73 Dokumentacja do Django.
74
75 %prep
76 %setup -q -n Django-%{version}
77
78 %build
79 %if %{with python2}
80 %py_build
81 %endif
82
83 %{__make} -C docs html
84 rm -r docs/_build/html/_sources
85
86 %if %{with python3}
87 %py3_build
88 %endif
89
90 %install
91 rm -rf $RPM_BUILD_ROOT
92 %if %{with python2}
93 %py_install
94 %py_postclean
95
96 mv $RPM_BUILD_ROOT%{_bindir}/{django-admin.py,django-admin-2}
97 ln -s django-admin-2 $RPM_BUILD_ROOT%{_bindir}/py2-django-admin
98 %endif
99
100 %if %{with python3}
101 %py3_install
102
103 mv $RPM_BUILD_ROOT%{_bindir}/{django-admin.py,django-admin-3}
104 ln -s django-admin-3 $RPM_BUILD_ROOT%{_bindir}/py3-django-admin
105 %endif
106
107 # setup "django-admin" global alias
108 # this needs to be done after both Python versions are installed
109 # otherwise file contents would be overwritten via symlink
110 %if %{with python2}
111 # default to python2 if built
112 ln -sf py2-django-admin $RPM_BUILD_ROOT%{_bindir}/django-admin
113 # default to python2 if built
114 %else
115 %if %{with python3}
116 ln -sf py3-django-admin $RPM_BUILD_ROOT%{_bindir}/django-admin
117 %endif
118 %endif
119
120 install -d $RPM_BUILD_ROOT%{_docdir}
121 ln -sf python-django-doc-%{version} $RPM_BUILD_ROOT%{_docdir}/python-django-doc
122
123 # don't package .po sources
124 find \
125         %{?with_python2:$RPM_BUILD_ROOT%{py_sitescriptdir}/%{module}} \
126         %{?with_python3:$RPM_BUILD_ROOT%{py3_sitescriptdir}/%{module}} \
127         -name django.po -o \
128         -name djangojs.po | xargs rm -v
129
130 %find_lang django --all-name
131
132 # create %dir directives
133 # FIXME: move this to find-lang.sh?
134 sed -rne 's,.* (/.*)/LC_MESSAGES/.*,\1,p' django.lang | sort -u > dirs
135 >localedirs
136 while read dir; do
137         lang=${dir##*/}
138         echo "%lang($lang) %dir $dir/LC_MESSAGES"
139 done < dirs >> django.lang
140
141 find \
142         %{?with_python2:$RPM_BUILD_ROOT%{py_sitescriptdir}/%{module}} \
143         %{?with_python3:$RPM_BUILD_ROOT%{py3_sitescriptdir}/%{module}} \
144         -type d -name locale > localedirs
145 while read ldir; do
146         ldir=${ldir#$RPM_BUILD_ROOT}
147         echo "%dir $ldir"
148         if [ "$(ls $RPM_BUILD_ROOT$ldir/*.py* 2>/dev/null)" ]; then
149                 echo "$ldir/*.py*"
150         fi
151         for dir in $RPM_BUILD_ROOT$ldir/*; do
152                 test -d "$dir" || continue
153                 dir=${dir#$RPM_BUILD_ROOT}
154                 lang=${dir##*/}
155                 echo "%lang($lang) %dir $dir"
156                 if [ "$(ls $RPM_BUILD_ROOT$dir/*.py* 2>/dev/null)" ]; then
157                         echo "%lang($lang) $dir/*.py*"
158                 fi
159                 if [ "$(ls $RPM_BUILD_ROOT$dir/__pycache__ 2>/dev/null)" ]; then
160                         echo "%lang($lang) $dir/__pycache__"
161                 fi
162         done
163 done < localedirs >> django.lang
164
165 # separate lang to Python 2 and Python 3 files
166 %if %{with python2}
167 grep python2 django.lang > python2-django.lang
168 %endif
169 %if %{with python3}
170 grep python3 django.lang > python3-django.lang
171 %endif
172
173 %clean
174 rm -rf $RPM_BUILD_ROOT
175
176 %if %{with python2}
177 %files -f python2-django.lang
178 %defattr(644,root,root,755)
179 %doc README.rst
180 %attr(755,root,root) %{_bindir}/django-admin
181 %attr(755,root,root) %{_bindir}/py2-django-admin
182 %attr(755,root,root) %{_bindir}/django-admin-2
183 %{py_sitescriptdir}/%{module}/*.py[co]
184 %{py_sitescriptdir}/%{module}/apps
185 %{py_sitescriptdir}/%{module}/bin
186 %{py_sitescriptdir}/%{module}/core
187 %{py_sitescriptdir}/%{module}/db
188 %{py_sitescriptdir}/%{module}/dispatch
189 %{py_sitescriptdir}/%{module}/forms
190 %{py_sitescriptdir}/%{module}/http
191 %{py_sitescriptdir}/%{module}/middleware
192 %{py_sitescriptdir}/%{module}/template
193 %{py_sitescriptdir}/%{module}/templatetags
194 %{py_sitescriptdir}/%{module}/test
195 %{py_sitescriptdir}/%{module}/urls
196 %{py_sitescriptdir}/%{module}/utils
197 %{py_sitescriptdir}/%{module}/views
198
199 %dir %{py_sitescriptdir}/%{module}/conf
200 %{py_sitescriptdir}/%{module}/conf/*.py[co]
201 %{py_sitescriptdir}/%{module}/conf/app_template
202 %{py_sitescriptdir}/%{module}/conf/project_template
203 %{py_sitescriptdir}/%{module}/conf/urls
204
205 %dir %{py_sitescriptdir}/%{module}/contrib
206 %dir %{py_sitescriptdir}/%{module}/contrib/admin
207 %dir %{py_sitescriptdir}/%{module}/contrib/admindocs
208 %dir %{py_sitescriptdir}/%{module}/contrib/auth
209 %dir %{py_sitescriptdir}/%{module}/contrib/contenttypes
210 %dir %{py_sitescriptdir}/%{module}/contrib/flatpages
211 %dir %{py_sitescriptdir}/%{module}/contrib/gis
212 %dir %{py_sitescriptdir}/%{module}/contrib/humanize
213 %dir %{py_sitescriptdir}/%{module}/contrib/messages
214 %dir %{py_sitescriptdir}/%{module}/contrib/postgres
215 %dir %{py_sitescriptdir}/%{module}/contrib/redirects
216 %dir %{py_sitescriptdir}/%{module}/contrib/sessions
217 %dir %{py_sitescriptdir}/%{module}/contrib/sites
218 %{py_sitescriptdir}/%{module}/contrib/*.py[co]
219 %{py_sitescriptdir}/%{module}/contrib/admin/*.py[co]
220 %{py_sitescriptdir}/%{module}/contrib/admin/migrations
221 %{py_sitescriptdir}/%{module}/contrib/admin/static
222 %{py_sitescriptdir}/%{module}/contrib/admin/templates
223 %{py_sitescriptdir}/%{module}/contrib/admin/templatetags
224 %{py_sitescriptdir}/%{module}/contrib/admin/views
225 %{py_sitescriptdir}/%{module}/contrib/admindocs/*.py[co]
226 %{py_sitescriptdir}/%{module}/contrib/admindocs/templates
227 %{py_sitescriptdir}/%{module}/contrib/auth/*.py[co]
228 %{py_sitescriptdir}/%{module}/contrib/auth/common-passwords.txt.gz
229 %{py_sitescriptdir}/%{module}/contrib/auth/handlers
230 %{py_sitescriptdir}/%{module}/contrib/auth/management
231 %{py_sitescriptdir}/%{module}/contrib/auth/migrations
232 %{py_sitescriptdir}/%{module}/contrib/auth/templates
233 %{py_sitescriptdir}/%{module}/contrib/auth/tests
234 %{py_sitescriptdir}/%{module}/contrib/contenttypes/*.py[co]
235 %{py_sitescriptdir}/%{module}/contrib/contenttypes/management
236 %{py_sitescriptdir}/%{module}/contrib/contenttypes/migrations
237 %{py_sitescriptdir}/%{module}/contrib/flatpages/*.py[co]
238 %{py_sitescriptdir}/%{module}/contrib/flatpages/migrations
239 %{py_sitescriptdir}/%{module}/contrib/flatpages/templatetags
240 %{py_sitescriptdir}/%{module}/contrib/gis/*.py[co]
241 %{py_sitescriptdir}/%{module}/contrib/gis/admin
242 %{py_sitescriptdir}/%{module}/contrib/gis/db
243 %{py_sitescriptdir}/%{module}/contrib/gis/forms
244 %{py_sitescriptdir}/%{module}/contrib/gis/gdal
245 %{py_sitescriptdir}/%{module}/contrib/gis/geoip
246 %{py_sitescriptdir}/%{module}/contrib/gis/geoip2
247 %{py_sitescriptdir}/%{module}/contrib/gis/geometry
248 %{py_sitescriptdir}/%{module}/contrib/gis/geos
249 %{py_sitescriptdir}/%{module}/contrib/gis/management
250 %{py_sitescriptdir}/%{module}/contrib/gis/serializers
251 %{py_sitescriptdir}/%{module}/contrib/gis/sitemaps
252 %{py_sitescriptdir}/%{module}/contrib/gis/static
253 %{py_sitescriptdir}/%{module}/contrib/gis/templates
254 %{py_sitescriptdir}/%{module}/contrib/gis/utils
255 %{py_sitescriptdir}/%{module}/contrib/humanize/*.py[co]
256 %{py_sitescriptdir}/%{module}/contrib/humanize/templatetags
257 %{py_sitescriptdir}/%{module}/contrib/messages/*.py[co]
258 %{py_sitescriptdir}/%{module}/contrib/messages/storage
259 %{py_sitescriptdir}/%{module}/contrib/postgres/*.py[co]
260 %{py_sitescriptdir}/%{module}/contrib/postgres/aggregates
261 %{py_sitescriptdir}/%{module}/contrib/postgres/fields
262 %{py_sitescriptdir}/%{module}/contrib/postgres/forms
263 %{py_sitescriptdir}/%{module}/contrib/redirects/*.py[co]
264 %{py_sitescriptdir}/%{module}/contrib/redirects/migrations
265 %{py_sitescriptdir}/%{module}/contrib/sessions/*.py[co]
266 %{py_sitescriptdir}/%{module}/contrib/sessions/backends
267 %{py_sitescriptdir}/%{module}/contrib/sessions/management
268 %{py_sitescriptdir}/%{module}/contrib/sessions/migrations
269 %{py_sitescriptdir}/%{module}/contrib/sitemaps
270 %{py_sitescriptdir}/%{module}/contrib/sites/*.py[co]
271 %{py_sitescriptdir}/%{module}/contrib/sites/migrations
272 %{py_sitescriptdir}/%{module}/contrib/staticfiles
273 %{py_sitescriptdir}/%{module}/contrib/syndication
274 %{py_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
275 %endif
276
277 %if %{with python3}
278 %files -n python3-%{module} -f python3-django.lang
279 %defattr(644,root,root,755)
280 %doc README.rst
281 %if %{without python2}
282 %attr(755,root,root) %{_bindir}/django-admin
283 %endif
284 %attr(755,root,root) %{_bindir}/py3-django-admin
285 %attr(755,root,root) %{_bindir}/django-admin-3
286 %{py3_sitescriptdir}/%{module}/*.py
287 %{py3_sitescriptdir}/%{module}/__pycache__
288 %{py3_sitescriptdir}/%{module}/apps
289 %{py3_sitescriptdir}/%{module}/bin
290 %{py3_sitescriptdir}/%{module}/core
291 %{py3_sitescriptdir}/%{module}/db
292 %{py3_sitescriptdir}/%{module}/dispatch
293 %{py3_sitescriptdir}/%{module}/forms
294 %{py3_sitescriptdir}/%{module}/http
295 %{py3_sitescriptdir}/%{module}/middleware
296 %{py3_sitescriptdir}/%{module}/template
297 %{py3_sitescriptdir}/%{module}/templatetags
298 %{py3_sitescriptdir}/%{module}/test
299 %{py3_sitescriptdir}/%{module}/urls
300 %{py3_sitescriptdir}/%{module}/utils
301 %{py3_sitescriptdir}/%{module}/views
302
303 %dir %{py3_sitescriptdir}/%{module}/conf
304 %{py3_sitescriptdir}/%{module}/conf/*.py
305 %{py3_sitescriptdir}/%{module}/conf/__pycache__
306 %{py3_sitescriptdir}/%{module}/conf/app_template
307 %{py3_sitescriptdir}/%{module}/conf/project_template
308 %{py3_sitescriptdir}/%{module}/conf/urls
309
310 %dir %{py3_sitescriptdir}/%{module}/contrib
311 %dir %{py3_sitescriptdir}/%{module}/contrib/admin
312 %dir %{py3_sitescriptdir}/%{module}/contrib/admindocs
313 %dir %{py3_sitescriptdir}/%{module}/contrib/auth
314 %dir %{py3_sitescriptdir}/%{module}/contrib/contenttypes
315 %dir %{py3_sitescriptdir}/%{module}/contrib/flatpages
316 %dir %{py3_sitescriptdir}/%{module}/contrib/gis
317 %dir %{py3_sitescriptdir}/%{module}/contrib/humanize
318 %dir %{py3_sitescriptdir}/%{module}/contrib/messages
319 %dir %{py3_sitescriptdir}/%{module}/contrib/postgres
320 %dir %{py3_sitescriptdir}/%{module}/contrib/redirects
321 %dir %{py3_sitescriptdir}/%{module}/contrib/sessions
322 %dir %{py3_sitescriptdir}/%{module}/contrib/sites
323 %{py3_sitescriptdir}/%{module}/contrib/*.py
324 %{py3_sitescriptdir}/%{module}/contrib/__pycache__
325 %{py3_sitescriptdir}/%{module}/contrib/admin/*.py
326 %{py3_sitescriptdir}/%{module}/contrib/admin/__pycache__
327 %{py3_sitescriptdir}/%{module}/contrib/admin/migrations
328 %{py3_sitescriptdir}/%{module}/contrib/admin/static
329 %{py3_sitescriptdir}/%{module}/contrib/admin/templates
330 %{py3_sitescriptdir}/%{module}/contrib/admin/templatetags
331 %{py3_sitescriptdir}/%{module}/contrib/admin/views
332 %{py3_sitescriptdir}/%{module}/contrib/admindocs/*.py
333 %{py3_sitescriptdir}/%{module}/contrib/admindocs/__pycache__
334 %{py3_sitescriptdir}/%{module}/contrib/admindocs/templates
335 %{py3_sitescriptdir}/%{module}/contrib/auth/*.py
336 %{py3_sitescriptdir}/%{module}/contrib/auth/__pycache__
337 %{py3_sitescriptdir}/%{module}/contrib/auth/common-passwords.txt.gz
338 %{py3_sitescriptdir}/%{module}/contrib/auth/handlers
339 %{py3_sitescriptdir}/%{module}/contrib/auth/management
340 %{py3_sitescriptdir}/%{module}/contrib/auth/migrations
341 %{py3_sitescriptdir}/%{module}/contrib/auth/templates
342 %{py3_sitescriptdir}/%{module}/contrib/auth/tests
343 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/*.py
344 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/__pycache__
345 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/management
346 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/migrations
347 %{py3_sitescriptdir}/%{module}/contrib/flatpages/*.py
348 %{py3_sitescriptdir}/%{module}/contrib/flatpages/__pycache__
349 %{py3_sitescriptdir}/%{module}/contrib/flatpages/migrations
350 %{py3_sitescriptdir}/%{module}/contrib/flatpages/templatetags
351 %{py3_sitescriptdir}/%{module}/contrib/gis/*.py
352 %{py3_sitescriptdir}/%{module}/contrib/gis/__pycache__
353 %{py3_sitescriptdir}/%{module}/contrib/gis/admin
354 %{py3_sitescriptdir}/%{module}/contrib/gis/db
355 %{py3_sitescriptdir}/%{module}/contrib/gis/forms
356 %{py3_sitescriptdir}/%{module}/contrib/gis/gdal
357 %{py3_sitescriptdir}/%{module}/contrib/gis/geoip
358 %{py3_sitescriptdir}/%{module}/contrib/gis/geoip2
359 %{py3_sitescriptdir}/%{module}/contrib/gis/geometry
360 %{py3_sitescriptdir}/%{module}/contrib/gis/geos
361 %{py3_sitescriptdir}/%{module}/contrib/gis/management
362 %{py3_sitescriptdir}/%{module}/contrib/gis/serializers
363 %{py3_sitescriptdir}/%{module}/contrib/gis/sitemaps
364 %{py3_sitescriptdir}/%{module}/contrib/gis/static
365 %{py3_sitescriptdir}/%{module}/contrib/gis/templates
366 %{py3_sitescriptdir}/%{module}/contrib/gis/utils
367 %{py3_sitescriptdir}/%{module}/contrib/humanize/*.py
368 %{py3_sitescriptdir}/%{module}/contrib/humanize/__pycache__
369 %{py3_sitescriptdir}/%{module}/contrib/humanize/templatetags
370 %{py3_sitescriptdir}/%{module}/contrib/messages/*.py
371 %{py3_sitescriptdir}/%{module}/contrib/messages/__pycache__
372 %{py3_sitescriptdir}/%{module}/contrib/messages/storage
373 %{py3_sitescriptdir}/%{module}/contrib/postgres/*.py
374 %{py3_sitescriptdir}/%{module}/contrib/postgres/__pycache__
375 %{py3_sitescriptdir}/%{module}/contrib/postgres/aggregates
376 %{py3_sitescriptdir}/%{module}/contrib/postgres/fields
377 %{py3_sitescriptdir}/%{module}/contrib/postgres/forms
378 %{py3_sitescriptdir}/%{module}/contrib/redirects/*.py
379 %{py3_sitescriptdir}/%{module}/contrib/redirects/__pycache__
380 %{py3_sitescriptdir}/%{module}/contrib/redirects/migrations
381 %{py3_sitescriptdir}/%{module}/contrib/sessions/*.py
382 %{py3_sitescriptdir}/%{module}/contrib/sessions/__pycache__
383 %{py3_sitescriptdir}/%{module}/contrib/sessions/backends
384 %{py3_sitescriptdir}/%{module}/contrib/sessions/management
385 %{py3_sitescriptdir}/%{module}/contrib/sessions/migrations
386 %{py3_sitescriptdir}/%{module}/contrib/sitemaps
387 %{py3_sitescriptdir}/%{module}/contrib/sites/*.py
388 %{py3_sitescriptdir}/%{module}/contrib/sites/__pycache__
389 %{py3_sitescriptdir}/%{module}/contrib/sites/migrations
390 %{py3_sitescriptdir}/%{module}/contrib/staticfiles
391 %{py3_sitescriptdir}/%{module}/contrib/syndication
392
393 %{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
394 %endif
395
396 %files doc
397 %defattr(644,root,root,755)
398 %doc docs/_build/html/*
399 %{_docdir}/python-django-doc
This page took 0.066737 seconds and 2 git commands to generate.