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