]> git.pld-linux.org Git - packages/python-django.git/blob - python-django.spec
package missing top level dir
[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 %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 %dir %{py_sitescriptdir}/%{module}
184 %{py_sitescriptdir}/%{module}/*.py[co]
185 %{py_sitescriptdir}/%{module}/apps
186 %{py_sitescriptdir}/%{module}/bin
187 %{py_sitescriptdir}/%{module}/core
188 %{py_sitescriptdir}/%{module}/db
189 %{py_sitescriptdir}/%{module}/dispatch
190 %{py_sitescriptdir}/%{module}/forms
191 %{py_sitescriptdir}/%{module}/http
192 %{py_sitescriptdir}/%{module}/middleware
193 %{py_sitescriptdir}/%{module}/template
194 %{py_sitescriptdir}/%{module}/templatetags
195 %{py_sitescriptdir}/%{module}/test
196 %{py_sitescriptdir}/%{module}/urls
197 %{py_sitescriptdir}/%{module}/utils
198 %{py_sitescriptdir}/%{module}/views
199
200 %dir %{py_sitescriptdir}/%{module}/conf
201 %{py_sitescriptdir}/%{module}/conf/*.py[co]
202 %{py_sitescriptdir}/%{module}/conf/app_template
203 %{py_sitescriptdir}/%{module}/conf/project_template
204 %{py_sitescriptdir}/%{module}/conf/urls
205
206 %dir %{py_sitescriptdir}/%{module}/contrib
207 %dir %{py_sitescriptdir}/%{module}/contrib/admin
208 %dir %{py_sitescriptdir}/%{module}/contrib/admindocs
209 %dir %{py_sitescriptdir}/%{module}/contrib/auth
210 %dir %{py_sitescriptdir}/%{module}/contrib/contenttypes
211 %dir %{py_sitescriptdir}/%{module}/contrib/flatpages
212 %dir %{py_sitescriptdir}/%{module}/contrib/gis
213 %dir %{py_sitescriptdir}/%{module}/contrib/humanize
214 %dir %{py_sitescriptdir}/%{module}/contrib/messages
215 %dir %{py_sitescriptdir}/%{module}/contrib/postgres
216 %dir %{py_sitescriptdir}/%{module}/contrib/redirects
217 %dir %{py_sitescriptdir}/%{module}/contrib/sessions
218 %dir %{py_sitescriptdir}/%{module}/contrib/sites
219 %{py_sitescriptdir}/%{module}/contrib/*.py[co]
220 %{py_sitescriptdir}/%{module}/contrib/admin/*.py[co]
221 %{py_sitescriptdir}/%{module}/contrib/admin/migrations
222 %{py_sitescriptdir}/%{module}/contrib/admin/static
223 %{py_sitescriptdir}/%{module}/contrib/admin/templates
224 %{py_sitescriptdir}/%{module}/contrib/admin/templatetags
225 %{py_sitescriptdir}/%{module}/contrib/admin/views
226 %{py_sitescriptdir}/%{module}/contrib/admindocs/*.py[co]
227 %{py_sitescriptdir}/%{module}/contrib/admindocs/templates
228 %{py_sitescriptdir}/%{module}/contrib/auth/*.py[co]
229 %{py_sitescriptdir}/%{module}/contrib/auth/common-passwords.txt.gz
230 %{py_sitescriptdir}/%{module}/contrib/auth/handlers
231 %{py_sitescriptdir}/%{module}/contrib/auth/management
232 %{py_sitescriptdir}/%{module}/contrib/auth/migrations
233 %{py_sitescriptdir}/%{module}/contrib/auth/templates
234 %{py_sitescriptdir}/%{module}/contrib/auth/tests
235 %{py_sitescriptdir}/%{module}/contrib/contenttypes/*.py[co]
236 %{py_sitescriptdir}/%{module}/contrib/contenttypes/management
237 %{py_sitescriptdir}/%{module}/contrib/contenttypes/migrations
238 %{py_sitescriptdir}/%{module}/contrib/flatpages/*.py[co]
239 %{py_sitescriptdir}/%{module}/contrib/flatpages/migrations
240 %{py_sitescriptdir}/%{module}/contrib/flatpages/templatetags
241 %{py_sitescriptdir}/%{module}/contrib/gis/*.py[co]
242 %{py_sitescriptdir}/%{module}/contrib/gis/admin
243 %{py_sitescriptdir}/%{module}/contrib/gis/db
244 %{py_sitescriptdir}/%{module}/contrib/gis/forms
245 %{py_sitescriptdir}/%{module}/contrib/gis/gdal
246 %{py_sitescriptdir}/%{module}/contrib/gis/geoip
247 %{py_sitescriptdir}/%{module}/contrib/gis/geoip2
248 %{py_sitescriptdir}/%{module}/contrib/gis/geometry
249 %{py_sitescriptdir}/%{module}/contrib/gis/geos
250 %{py_sitescriptdir}/%{module}/contrib/gis/management
251 %{py_sitescriptdir}/%{module}/contrib/gis/serializers
252 %{py_sitescriptdir}/%{module}/contrib/gis/sitemaps
253 %{py_sitescriptdir}/%{module}/contrib/gis/static
254 %{py_sitescriptdir}/%{module}/contrib/gis/templates
255 %{py_sitescriptdir}/%{module}/contrib/gis/utils
256 %{py_sitescriptdir}/%{module}/contrib/humanize/*.py[co]
257 %{py_sitescriptdir}/%{module}/contrib/humanize/templatetags
258 %{py_sitescriptdir}/%{module}/contrib/messages/*.py[co]
259 %{py_sitescriptdir}/%{module}/contrib/messages/storage
260 %{py_sitescriptdir}/%{module}/contrib/postgres/*.py[co]
261 %{py_sitescriptdir}/%{module}/contrib/postgres/aggregates
262 %{py_sitescriptdir}/%{module}/contrib/postgres/fields
263 %{py_sitescriptdir}/%{module}/contrib/postgres/forms
264 %{py_sitescriptdir}/%{module}/contrib/redirects/*.py[co]
265 %{py_sitescriptdir}/%{module}/contrib/redirects/migrations
266 %{py_sitescriptdir}/%{module}/contrib/sessions/*.py[co]
267 %{py_sitescriptdir}/%{module}/contrib/sessions/backends
268 %{py_sitescriptdir}/%{module}/contrib/sessions/management
269 %{py_sitescriptdir}/%{module}/contrib/sessions/migrations
270 %{py_sitescriptdir}/%{module}/contrib/sitemaps
271 %{py_sitescriptdir}/%{module}/contrib/sites/*.py[co]
272 %{py_sitescriptdir}/%{module}/contrib/sites/migrations
273 %{py_sitescriptdir}/%{module}/contrib/staticfiles
274 %{py_sitescriptdir}/%{module}/contrib/syndication
275 %{py_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
276 %endif
277
278 %if %{with python3}
279 %files -n python3-%{module} -f python3-django.lang
280 %defattr(644,root,root,755)
281 %doc README.rst
282 %if %{without python2}
283 %attr(755,root,root) %{_bindir}/django-admin
284 %endif
285 %attr(755,root,root) %{_bindir}/py3-django-admin
286 %attr(755,root,root) %{_bindir}/django-admin-3
287 %dir %{py3_sitescriptdir}/%{module}
288 %{py3_sitescriptdir}/%{module}/*.py
289 %{py3_sitescriptdir}/%{module}/__pycache__
290 %{py3_sitescriptdir}/%{module}/apps
291 %{py3_sitescriptdir}/%{module}/bin
292 %{py3_sitescriptdir}/%{module}/core
293 %{py3_sitescriptdir}/%{module}/db
294 %{py3_sitescriptdir}/%{module}/dispatch
295 %{py3_sitescriptdir}/%{module}/forms
296 %{py3_sitescriptdir}/%{module}/http
297 %{py3_sitescriptdir}/%{module}/middleware
298 %{py3_sitescriptdir}/%{module}/template
299 %{py3_sitescriptdir}/%{module}/templatetags
300 %{py3_sitescriptdir}/%{module}/test
301 %{py3_sitescriptdir}/%{module}/urls
302 %{py3_sitescriptdir}/%{module}/utils
303 %{py3_sitescriptdir}/%{module}/views
304
305 %dir %{py3_sitescriptdir}/%{module}/conf
306 %{py3_sitescriptdir}/%{module}/conf/*.py
307 %{py3_sitescriptdir}/%{module}/conf/__pycache__
308 %{py3_sitescriptdir}/%{module}/conf/app_template
309 %{py3_sitescriptdir}/%{module}/conf/project_template
310 %{py3_sitescriptdir}/%{module}/conf/urls
311
312 %dir %{py3_sitescriptdir}/%{module}/contrib
313 %dir %{py3_sitescriptdir}/%{module}/contrib/admin
314 %dir %{py3_sitescriptdir}/%{module}/contrib/admindocs
315 %dir %{py3_sitescriptdir}/%{module}/contrib/auth
316 %dir %{py3_sitescriptdir}/%{module}/contrib/contenttypes
317 %dir %{py3_sitescriptdir}/%{module}/contrib/flatpages
318 %dir %{py3_sitescriptdir}/%{module}/contrib/gis
319 %dir %{py3_sitescriptdir}/%{module}/contrib/humanize
320 %dir %{py3_sitescriptdir}/%{module}/contrib/messages
321 %dir %{py3_sitescriptdir}/%{module}/contrib/postgres
322 %dir %{py3_sitescriptdir}/%{module}/contrib/redirects
323 %dir %{py3_sitescriptdir}/%{module}/contrib/sessions
324 %dir %{py3_sitescriptdir}/%{module}/contrib/sites
325 %{py3_sitescriptdir}/%{module}/contrib/*.py
326 %{py3_sitescriptdir}/%{module}/contrib/__pycache__
327 %{py3_sitescriptdir}/%{module}/contrib/admin/*.py
328 %{py3_sitescriptdir}/%{module}/contrib/admin/__pycache__
329 %{py3_sitescriptdir}/%{module}/contrib/admin/migrations
330 %{py3_sitescriptdir}/%{module}/contrib/admin/static
331 %{py3_sitescriptdir}/%{module}/contrib/admin/templates
332 %{py3_sitescriptdir}/%{module}/contrib/admin/templatetags
333 %{py3_sitescriptdir}/%{module}/contrib/admin/views
334 %{py3_sitescriptdir}/%{module}/contrib/admindocs/*.py
335 %{py3_sitescriptdir}/%{module}/contrib/admindocs/__pycache__
336 %{py3_sitescriptdir}/%{module}/contrib/admindocs/templates
337 %{py3_sitescriptdir}/%{module}/contrib/auth/*.py
338 %{py3_sitescriptdir}/%{module}/contrib/auth/__pycache__
339 %{py3_sitescriptdir}/%{module}/contrib/auth/common-passwords.txt.gz
340 %{py3_sitescriptdir}/%{module}/contrib/auth/handlers
341 %{py3_sitescriptdir}/%{module}/contrib/auth/management
342 %{py3_sitescriptdir}/%{module}/contrib/auth/migrations
343 %{py3_sitescriptdir}/%{module}/contrib/auth/templates
344 %{py3_sitescriptdir}/%{module}/contrib/auth/tests
345 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/*.py
346 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/__pycache__
347 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/management
348 %{py3_sitescriptdir}/%{module}/contrib/contenttypes/migrations
349 %{py3_sitescriptdir}/%{module}/contrib/flatpages/*.py
350 %{py3_sitescriptdir}/%{module}/contrib/flatpages/__pycache__
351 %{py3_sitescriptdir}/%{module}/contrib/flatpages/migrations
352 %{py3_sitescriptdir}/%{module}/contrib/flatpages/templatetags
353 %{py3_sitescriptdir}/%{module}/contrib/gis/*.py
354 %{py3_sitescriptdir}/%{module}/contrib/gis/__pycache__
355 %{py3_sitescriptdir}/%{module}/contrib/gis/admin
356 %{py3_sitescriptdir}/%{module}/contrib/gis/db
357 %{py3_sitescriptdir}/%{module}/contrib/gis/forms
358 %{py3_sitescriptdir}/%{module}/contrib/gis/gdal
359 %{py3_sitescriptdir}/%{module}/contrib/gis/geoip
360 %{py3_sitescriptdir}/%{module}/contrib/gis/geoip2
361 %{py3_sitescriptdir}/%{module}/contrib/gis/geometry
362 %{py3_sitescriptdir}/%{module}/contrib/gis/geos
363 %{py3_sitescriptdir}/%{module}/contrib/gis/management
364 %{py3_sitescriptdir}/%{module}/contrib/gis/serializers
365 %{py3_sitescriptdir}/%{module}/contrib/gis/sitemaps
366 %{py3_sitescriptdir}/%{module}/contrib/gis/static
367 %{py3_sitescriptdir}/%{module}/contrib/gis/templates
368 %{py3_sitescriptdir}/%{module}/contrib/gis/utils
369 %{py3_sitescriptdir}/%{module}/contrib/humanize/*.py
370 %{py3_sitescriptdir}/%{module}/contrib/humanize/__pycache__
371 %{py3_sitescriptdir}/%{module}/contrib/humanize/templatetags
372 %{py3_sitescriptdir}/%{module}/contrib/messages/*.py
373 %{py3_sitescriptdir}/%{module}/contrib/messages/__pycache__
374 %{py3_sitescriptdir}/%{module}/contrib/messages/storage
375 %{py3_sitescriptdir}/%{module}/contrib/postgres/*.py
376 %{py3_sitescriptdir}/%{module}/contrib/postgres/__pycache__
377 %{py3_sitescriptdir}/%{module}/contrib/postgres/aggregates
378 %{py3_sitescriptdir}/%{module}/contrib/postgres/fields
379 %{py3_sitescriptdir}/%{module}/contrib/postgres/forms
380 %{py3_sitescriptdir}/%{module}/contrib/redirects/*.py
381 %{py3_sitescriptdir}/%{module}/contrib/redirects/__pycache__
382 %{py3_sitescriptdir}/%{module}/contrib/redirects/migrations
383 %{py3_sitescriptdir}/%{module}/contrib/sessions/*.py
384 %{py3_sitescriptdir}/%{module}/contrib/sessions/__pycache__
385 %{py3_sitescriptdir}/%{module}/contrib/sessions/backends
386 %{py3_sitescriptdir}/%{module}/contrib/sessions/management
387 %{py3_sitescriptdir}/%{module}/contrib/sessions/migrations
388 %{py3_sitescriptdir}/%{module}/contrib/sitemaps
389 %{py3_sitescriptdir}/%{module}/contrib/sites/*.py
390 %{py3_sitescriptdir}/%{module}/contrib/sites/__pycache__
391 %{py3_sitescriptdir}/%{module}/contrib/sites/migrations
392 %{py3_sitescriptdir}/%{module}/contrib/staticfiles
393 %{py3_sitescriptdir}/%{module}/contrib/syndication
394
395 %{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
396 %endif
397
398 %files doc
399 %defattr(644,root,root,755)
400 %doc docs/_build/html/*
401 %{_docdir}/python-django-doc
This page took 0.148441 seconds and 3 git commands to generate.