/[packages]/cauldron/python3/current/SPECS/python3.spec
ViewVC logotype

Contents of /cauldron/python3/current/SPECS/python3.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1345299 - (show annotations) (download)
Thu Dec 27 12:11:54 2018 UTC (5 years, 3 months ago) by wally
File size: 26496 byte(s)
- build using -fwrapv (and update other flags also)
1 # NOTES ON BOOTSTRAPING PYTHON 3.6:
2 #
3 # Due to a dependency cycle between Python, rpm, pip, setuptools, wheel,
4 # and other packages, in order to rebase Python 3 one has to build in the
5 # following order:
6 #
7 # 1. python-rpm-generators with bootstrapping_python set to 1
8 # (this can be done also during step 2., but should be done before 3.)
9 # 2. python3 with with_rewheel set to 0
10 # 3. python-rpm-generators with bootstrapping_python set to 0
11 # (this can be done at any later step without negative effects)
12 # 4. rpm
13 # 5. python-setuptools with build_wheel set to 0
14 # 6. python-pip with build_wheel set to 0
15 # 7. python-wheel with %%bcond_without bootstrap
16 # 8. python-setuptools with build_wheel set to 1 and also with_check set to 0
17 # 9. python-pip with build_wheel set to 1
18 # 10. pyparsing
19 # 11. python3 with with_rewheel set to 1
20 # 12. gdb
21 # 13. rpm-mageia-setup
22
23 # Then the most important packages have to be built, starting from their
24 # various leaf dependencies recursively. After these have been built, a
25 # targeted rebuild should be requested for the rest.
26 #
27 # Currently these packages are recommended to have been built before a targeted
28 # rebuild after a python abi change:
29 # python-sphinx, pytest, python-requests
30
31 %define docver 3.6.7
32 %define dirver 3.6
33 %define familyver 3
34 %define pyshortver 36
35
36 %define lib_major %{dirver}
37 %define lib_name_orig libpython%{familyver}
38 %define lib_name %mklibname python %{lib_major}
39 %define develname %mklibname python3 -d
40
41 %ifarch %{ix86} x86_64 ppc
42 %bcond_without valgrind
43 %else
44 %bcond_with valgrind
45 %endif
46
47 %define with_rewheel 1
48 %if 0%{with_rewheel}
49 %define setuptools_version 36.2.4
50 %endif
51
52 # Some defines to ease files list
53 %define pylibdir %{_libdir}/python%{dirver}
54 %define dynload_dir %{pylibdir}/lib-dynload
55 %define site_packages %{pylibdir}/site-packages
56 %define ABIFLAGS_optimized m
57 %define LDVERSION_optimized %{dirver}%{ABIFLAGS_optimized}
58 %define SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu}
59 %define bytecode_suffixes .cpython-%{pyshortver}*.py?
60
61 Summary: An interpreted, interactive object-oriented programming language
62 Name: python3
63 Version: 3.6.7
64 Release: %mkrel 3
65 License: Modified CNRI Open Source License
66 Group: Development/Python
67
68 Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
69 Source1: https://docs.python.org/%{dirver}/archives/python-%{docver}-docs-html.tar.bz2
70
71 Patch0: python3-3.6.2-module-linkage.patch
72 Patch7: python3-3.5.2-skip-distutils-tests-that-fail-in-rpmbuild.patch
73 Patch10: python3-3.6.2-uid-gid-overflows.patch
74 Patch15: python3-3.5.2-dont-raise-from-py_compile.patch
75 Patch19: python3-3.5.2-remove-hf-from-arm-triplet.patch
76 Patch20: python3-3.6.2-libffi.patch
77 Patch21: python3-3.6.2-python3-config-LIBPLUSED-cmp0004-error.patch
78 # from FC:
79 # Change the various install paths to use /usr/lib64/ instead or /usr/lib
80 # Only used when "%%{_lib}" == "lib64"
81 # Not yet sent upstream.
82 Patch102: 00102-lib64.patch
83 # Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
84 # a libpythonMAJOR.MINOR.a
85 # See https://bugzilla.redhat.com/show_bug.cgi?id=556092
86 # Downstream only: not appropriate for upstream
87 Patch111: 00111-no-static-lib.patch
88 # Add non-standard hooks to unittest for use in the "check" phase below, when
89 # running selftests within the build:
90 # @unittest._skipInRpmBuild(reason)
91 # for tests that hang or fail intermittently within the build environment, and:
92 # @unittest._expectedFailureInRpmBuild
93 # for tests that always fail within the build environment
94 #
95 # The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
96 # environment, which we set manually in the appropriate portion of the "check"
97 # phase below (and which potentially other python-* rpms could set, to reuse
98 # these unittest hooks in their own "check" phases)
99 Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
100 # Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the
101 # header files in the build chroot, but may not be supported in the running
102 # kernel, hence we disable this test in an rpm build.
103 # Adding these was upstream issue http://bugs.python.org/issue10142
104 # Not yet sent upstream
105 Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch
106 # Some tests within test_socket fail intermittently when run inside Koji;
107 # disable them using unittest._skipInRpmBuild
108 # Not yet sent upstream
109 Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch
110 # Don't duplicate various FLAGS in sysconfig values
111 # http://bugs.python.org/issue17679
112 # Does not affect python2 AFAICS (different sysconfig values initialization)
113 Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch
114 %if 0%{with_rewheel}
115 # Add the rewheel module, allowing to recreate wheels from already installed
116 # ones
117 # https://github.com/bkabrda/rewheel
118 Patch189: 00189-add-rewheel-module.patch
119 %endif
120 # LIBPL variable in makefile takes LIBPL from configure.ac
121 # but the LIBPL variable defined there doesn't respect libdir macro
122 Patch205: 00205-make-libpl-respect-lib64.patch
123 # Set values of prefix and exec_prefix in distutils install command
124 # to /usr/local if executable is /usr/bin/python* and RPM build
125 # is not detected to make pip and distutils install into separate location
126 # Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
127 Patch251: 00251-change-user-install-location.patch
128
129 # from upstream
130
131 # Disable automatic bytecompilation. The python3 binary is not yet be
132 # available in /usr/bin when Python is built. Also, the bytecompilation fails
133 # on files that test invalid syntax.
134 %undefine py_auto_byte_compile
135
136 URL: http://www.python.org/
137 Conflicts: tkinter3 < %{version}
138 Conflicts: %{lib_name}-devel < 3.5
139 Conflicts: %{develname} < 3.5
140 Requires: %{lib_name} = %{version}-%{release}
141 BuildRequires: automake
142 BuildRequires: gcc-c++
143 BuildRequires: blt
144 BuildRequires: db-devel
145 BuildRequires: pkgconfig(expat)
146 BuildRequires: gdbm-devel
147 BuildRequires: gmp-devel
148 BuildRequires: pkgconfig(libffi)
149 BuildRequires: pkgconfig(ncursesw)
150 BuildRequires: pkgconfig(openssl)
151 BuildRequires: readline-devel
152 BuildRequires: termcap-devel
153 BuildRequires: tcl
154 BuildRequires: pkgconfig(tcl)
155 BuildRequires: tk
156 BuildRequires: pkgconfig(tk)
157 BuildRequires: autoconf
158 BuildRequires: bzip2-devel
159 BuildRequires: pkgconfig(sqlite3)
160 BuildRequires: pkgconfig(liblzma)
161 # uncomment once the emacs part no longer conflict with python 2.X
162 #BuildRequires: emacs
163 #BuildRequires: emacs-bin
164 %if %{with valgrind}
165 BuildRequires: pkgconfig(valgrind)
166 %endif
167 %if 0%{?with_rewheel}
168 BuildRequires: pythonegg(3)(setuptools) >= %{setuptools_version}
169 BuildRequires: pythonegg(3)(pip) >= 9.0.3
170 %endif
171 Provides: python(abi) = %{dirver}
172 Provides: /usr/bin/python%{LDVERSION_optimized}
173 Provides: /usr/bin/python%{dirver}
174 Requires: python-rpm-macros
175 Requires: python3-rpm-macros
176
177
178 %description
179 Python is an interpreted, interactive, object-oriented programming
180 language often compared to Tcl, Perl, Scheme or Java. Python includes
181 modules, classes, exceptions, very high level dynamic data types and
182 dynamic typing. Python supports interfaces to many system calls and
183 libraries, as well as to various windowing systems (X11, Motif, Tk,
184 Mac and MFC).
185
186 Programmers can write new built-in modules for Python in C or C++.
187 Python can be used as an extension language for applications that
188 need a programmable interface. This package contains most of the
189 standard Python modules, as well as modules for interfacing to the
190 Tix widget set for Tk and RPM.
191
192 Note that documentation for Python is provided in the python-docs
193 package.
194
195
196 %package -n %{lib_name}
197 Summary: Shared libraries for Python %{version}
198 Group: System/Libraries
199 Requires: %{lib_name}-stdlib = %{version}-%{release}
200
201 %description -n %{lib_name}
202 This packages contains Python shared object library. Python is an
203 interpreted, interactive, object-oriented programming language often
204 compared to Tcl, Perl, Scheme or Java.
205
206
207 %package -n %{lib_name}-stdlib
208 Summary: Python %{version} standard library
209 Group: Development/Python
210 Conflicts: python3 < 3.5.1-14
211 %if 0%{with_rewheel}
212 # Previously, this was required for our rewheel patch to work.
213 # This is technically no longer needed, but we keep it recommended
214 # for the developer experience.
215 Recommends: python3-setuptools
216 Recommends: python3-pip
217 %endif
218
219 %description -n %{lib_name}-stdlib
220 This package contains Python 2.7's standard library.
221 It is normally not used on its own, but as a dependency of Python %{version}.
222
223
224 %package -n %{lib_name}-testsuite
225 Summary: Testsuite for the Python %{version} standard library
226 Group: Development/Python
227 Conflicts: python3 < 3.5.1-14
228 Conflicts: %{develname} < 3.5.1-14
229 Requires: %{lib_name}-stdlib = %{version}-%{release}
230 Requires: %{lib_name} = %{version}-%{release}
231 Recommends: tkinter3
232
233 %description -n %{lib_name}-testsuite
234 The complete testsuite for the Python standard library.
235 It is normally not used on its own, but as a dependency of Python %{version}.
236
237
238 %package -n %{develname}
239 Summary: The libraries and header files needed for Python development
240 Group: Development/Python
241 Requires: %{name} = %version
242 Requires: %{lib_name} = %{version}-%{release}
243 Provides: %{name}-devel = %{version}-%{release}
244 Provides: %{lib_name_orig}-devel = %{version}-%{release}
245 Obsoletes: %{_lib}python3.1-devel < %{version}
246 Obsoletes: %{_lib}python3.2-devel < %{version}
247 Obsoletes: %{_lib}python3.3-devel < %{version}
248 Recommends: %{lib_name}-testsuite
249 Recommends: %{name}-docs
250
251 %description -n %{develname}
252 The Python programming language's interpreter can be extended with
253 dynamically loaded extensions and can be embedded in other programs.
254 This package contains the header files and libraries needed to do
255 these types of tasks.
256
257 Install %{develname} if you want to develop Python extensions. The
258 python package will also need to be installed. You'll probably also
259 want to install the python-docs package, which contains Python
260 documentation.
261
262
263 %package docs
264 Summary: Documentation for the Python programming language
265 Requires: %{name} = %{version}
266 Requires: xdg-utils
267 Group: Development/Python
268 BuildArch: noarch
269
270 %description docs
271 The python-docs package contains documentation on the Python
272 programming language and interpreter. The documentation is provided
273 in ASCII text files and in LaTeX source files.
274
275 Install the python-docs package if you'd like to use the documentation
276 for the Python language.
277
278
279 %package -n tkinter3
280 Summary: A graphical user interface for the Python scripting language
281 Group: Development/Python
282 Requires: %{name} = %{version}-%{release}
283 Requires: tcl tk
284 Provides: python3-tkinter
285 Conflicts: python3 < 3.5.1-14
286
287 %description -n tkinter3
288 The Tkinter (Tk interface) program is an graphical user interface for
289 the Python scripting language.
290
291 You should install the tkinter package if you'd like to use a graphical
292 user interface for Python programming.
293
294
295 %package -n tkinter3-apps
296 Summary: Various applications written using tkinter
297 Group: Development/Python
298 Requires: tkinter3
299
300 %description -n tkinter3-apps
301 Various applications written using tkinter
302
303
304 %prep
305 %setup -qn Python-%{version}
306 %if 0%{with_rewheel}
307 %global pip_version %(pip3 --version | cut -d' ' -f2)
308 sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/ensurepip/__init__.py
309 %endif
310
311 %patch0 -p1
312
313 %if "%{_lib}" == "lib64"
314 %patch102 -p1
315 %endif
316
317 %patch111 -p1
318 %patch132 -p1
319 %patch160 -p1
320 %patch163 -p1
321 %patch178 -p1
322 %patch7 -p1
323 %patch10 -p1
324 %patch15 -p1
325
326 %if 0%{with_rewheel}
327 %patch189 -p1
328 %endif
329
330 %patch205 -p1
331 %patch251 -p1
332 %patch19 -p1
333 %patch20 -p1
334 %patch21 -p1
335 # drop Autoconf version requirement
336 sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
337
338 # docs
339 mkdir html
340 bzcat %{SOURCE1} | tar x -C html
341
342 find . -type f -print0 | xargs -0 perl -p -i -e 's@/usr/local/bin/python@/usr/bin/python3@'
343
344 %build
345 rm -f Modules/Setup.local
346
347 # We need -fwrapv
348 # https://bugs.python.org/issue34096
349 export OPT="%{optflags} -D_GNU_SOURCE -fPIC -fwrapv"
350 export CFLAGS="%{optflags} -D_GNU_SOURCE -fPIC -fwrapv"
351 export CXXFLAGS="%{optflags} -D_GNU_SOURCE -fPIC -fwrapv"
352
353 # to fix curses module build
354 # https://bugs.mageia.org/show_bug.cgi?id=5524
355 export CPPFLAGS="-I/usr/include/ncursesw"
356
357 autoreconf -vfi
358 # Remove -Wl,--no-undefined in accordance with MGA #9395 :
359 # https://bugs.mageia.org/show_bug.cgi?id=9395
360 %define _disable_ld_no_undefined 1
361 %configure2_5x --with-threads \
362 --enable-ipv6 \
363 --with-dbmliborder=gdbm \
364 --enable-shared \
365 --with-system-expat \
366 --with-system-ffi \
367 --without-ensurepip \
368 --enable-loadable-sqlite-extensions \
369 %if %{with valgrind}
370 --with-valgrind
371 %endif
372
373 # fix build
374 #perl -pi -e 's/^(LDFLAGS=.*)/$1 -lstdc++/' Makefile
375 # (misc) if the home is nfs mounted, rmdir fails due to delay
376 export TMP="/tmp" TMPDIR="/tmp"
377 #%make LN="ln -sf"
378 make EXTRA_CFLAGS="$CFLAGS" LN="ln -sf"
379
380 %install
381 mkdir -p %{buildroot}%{site_packages}/__pycache__
382 mkdir -p %{buildroot}%{pylibdir}/__pycache__
383
384 %if "%{_lib}" == "lib64"
385 mkdir -p %{buildroot}%{_prefix}/lib/python%{dirver}/site-packages
386 mkdir -p %{buildroot}%{_prefix}/lib/python%{dirver}/site-packages/__pycache__
387 %endif
388
389 # fix Makefile to get rid of reference to distcc
390 perl -pi -e "/^CC=/ and s/distcc/gcc/" Makefile
391
392 # set the install path
393 echo '[install_scripts]' >setup.cfg
394 echo 'install_dir='"${RPM_BUILD_ROOT}/usr/bin" >>setup.cfg
395
396 # python is not GNU and does not know fsstd
397 mkdir -p %{buildroot}%{_mandir}
398 %makeinstall_std LN="ln -sf"
399
400 # overwrite the copied binary with a link
401 pushd %{buildroot}%{_bindir}
402 ln -sf python%{LDVERSION_optimized} python%{dirver}
403 ln -sf python%{dirver} python%{familyver}
404 popd
405
406 (cd %{buildroot}%{_libdir}; ln -sf `ls libpython%{lib_major}*.so.*` libpython%{lib_major}.so)
407
408 # fix files conflicting with python2.6
409 mv %{buildroot}/%{_bindir}/2to3 %{buildroot}/%{_bindir}/python3-2to3
410
411
412 # install pynche as pynche3
413 cat << EOF > %{buildroot}%{_bindir}/pynche3
414 #!/bin/bash
415 exec %{_libdir}/python%{dirver}/site-packages/pynche/pynche
416 EOF
417 rm -f Tools/pynche/*.pyw
418 cp -r Tools/pynche %{buildroot}%{_libdir}/python%{dirver}/site-packages/
419
420 chmod 755 %{buildroot}%{_bindir}/{idle3,pynche3}
421
422 ln -f Tools/pynche/README Tools/pynche/README.pynche
423
424 %if %{with valgrind}
425 install Misc/valgrind-python.supp -D %{buildroot}%{_libdir}/valgrind/valgrind-python3.supp
426 %endif
427
428 mkdir -p %{buildroot}%{_datadir}/applications
429 cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-tkinter3.desktop << EOF
430 [Desktop Entry]
431 Name=IDLE
432 Comment=IDE for Python3
433 Exec=%{_bindir}/idle3
434 Icon=development_environment_section
435 Terminal=false
436 Type=Application
437 Categories=Development;IDE;
438 EOF
439
440
441 cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-%{name}-docs.desktop << EOF
442 [Desktop Entry]
443 Name=Python documentation
444 Comment=Python complete reference
445 Exec=%{_bindir}/xdg-open %_defaultdocdir/%{name}-docs/index.html
446 Icon=documentation_section
447 Terminal=false
448 Type=Application
449 Categories=Documentation;
450 EOF
451
452
453 # fix non real scripts
454 #chmod 644 %{buildroot}%{_libdir}/python*/test/test_{binascii,grp,htmlparser}.py*
455 find %{buildroot} -type f \( -name "test_binascii.py*" -o -name "test_grp.py*" -o -name "test_htmlparser.py*" \) -exec chmod 644 {} \;
456 # fix python library not stripped
457 chmod u+w %{buildroot}%{_libdir}/libpython%{lib_major}*.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython3.so
458
459
460 %multiarch_includes %{buildroot}/usr/include/python*/pyconfig.h
461
462 # Install pathfix.py to bindir
463 # See https://github.com/fedora-python/python-rpm-porting/issues/24
464 cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/
465
466 # Switch all shebangs to refer to the specific Python version.
467 # This currently only covers files matching ^[a-zA-Z0-9_]+\.py$,
468 # so handle files named using other naming scheme separately.
469 LD_LIBRARY_PATH=./ ./python \
470 Tools/scripts/pathfix.py \
471 -i "%{_bindir}/python%{dirver}" -p \
472 %{buildroot} \
473 %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py}
474
475 # Remove shebang lines from .py files that aren't executable, and
476 # remove executability from .py files that don't have a shebang line:
477 find %{buildroot} -name \*.py \
478 \( \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \
479 -print -exec sed -i '1d' {} \; \) -o \( \
480 -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
481 -exec chmod a-x {} \; \) \)
482
483 # .xpm and .xbm files should not be executable:
484 find %{buildroot} \
485 \( -name \*.xbm -o -name \*.xpm -o -name \*.xpm.1 \) \
486 -exec chmod a-x {} \;
487
488 # Get rid of DOS batch files:
489 find %{buildroot} -name \*.bat -exec rm {} \;
490
491 # Get rid of backup files:
492 find %{buildroot}/ -name "*~" -exec rm -f {} \;
493 find . -name "*~" -exec rm -f {} \;
494 rm -f %{buildroot}%{pylibdir}/LICENSE.txt
495
496
497 %check
498 # (misc) if the home is nfs mounted, rmdir fails
499 export TMP="/tmp" TMPDIR="/tmp"
500
501 # Exclude some tests that hangs on the BS
502 EXCLUDE="test_ssl test_socket test_epoll"
503 %ifarch x86_64
504 EXCLUDE="$EXCLUDE test_faulthandler"
505 %endif
506 %ifarch %arm
507 EXCLUDE="$EXCLUDE test_float test_asyncio test_cmath"
508 %endif
509 # json test pass on local build but fail on BS
510 EXCLUDE="$EXCLUDE test_json"
511 # to investigate why it fails on local build
512 EXCLUDE="$EXCLUDE test_site"
513 # all tests must pass
514 # but we disable network on BS
515 WITHIN_PYTHON_RPM_BUILD= make test TESTOPTS="-j1 -u none -x $EXCLUDE"
516 # consider use network on local build
517 #EXCLUDE=""
518 #WITHIN_PYTHON_RPM_BUILD= make test TESTOPTS="-u network -x $EXCLUDE"
519
520
521 %files
522 %{_bindir}/pydoc%{familyver}
523 %{_bindir}/pydoc%{dirver}
524 %{_bindir}/python%{familyver}
525 %{_bindir}/python%{dirver}
526 %{_bindir}/python%{LDVERSION_optimized}
527 %{_bindir}/pyvenv
528 %{_bindir}/pyvenv-%{dirver}
529 %{_bindir}/2to3-%{dirver}
530 %{_bindir}/python3-2to3
531 %{_mandir}/man*/*
532
533
534 %files -n %{lib_name}-stdlib
535 %license LICENSE
536 %doc README.rst
537 %{_includedir}/python%{LDVERSION_optimized}/pyconfig.h
538 %multiarch %{multiarch_includedir}/python%{LDVERSION_optimized}/pyconfig.h
539 %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
540 %if "%{_lib}" == "lib64"
541 %dir %{_prefix}/lib/python%{dirver}
542 %dir %{_prefix}/lib/python%{dirver}/site-packages
543 %dir %{_prefix}/lib/python%{dirver}/site-packages/__pycache__/
544 %endif
545 %dir %{pylibdir}
546 %dir %{dynload_dir}
547 %dir %{site_packages}
548 %dir %{site_packages}/__pycache__/
549 %{site_packages}/README.txt
550 %{pylibdir}/*.py
551 %dir %{pylibdir}/__pycache__/
552 %{pylibdir}/__pycache__/*%{bytecode_suffixes}
553
554 %dir %{pylibdir}/unittest/
555 %dir %{pylibdir}/unittest/__pycache__/
556 %{pylibdir}/unittest/*.py
557 %{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes}
558
559 %dir %{pylibdir}/asyncio/
560 %dir %{pylibdir}/asyncio/__pycache__/
561 %{pylibdir}/asyncio/*.py
562 %{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes}
563
564 %dir %{pylibdir}/venv/
565 %dir %{pylibdir}/venv/__pycache__/
566 %{pylibdir}/venv/*.py
567 %{pylibdir}/venv/__pycache__/*%{bytecode_suffixes}
568 %{pylibdir}/venv/scripts
569
570 %{pylibdir}/wsgiref
571 %{pylibdir}/xml
572 %{pylibdir}/xmlrpc
573
574 %dir %{pylibdir}/ensurepip/
575 %dir %{pylibdir}/ensurepip/__pycache__/
576 %{pylibdir}/ensurepip/*.py
577 %{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes}
578 %exclude %{pylibdir}/ensurepip/_bundled
579
580 %if 0%{?with_rewheel}
581 %dir %{pylibdir}/ensurepip/rewheel/
582 %dir %{pylibdir}/ensurepip/rewheel/__pycache__/
583 %{pylibdir}/ensurepip/rewheel/*.py
584 %{pylibdir}/ensurepip/rewheel/__pycache__/*%{bytecode_suffixes}
585 %endif
586
587 %dir %{pylibdir}/concurrent/
588 %dir %{pylibdir}/concurrent/__pycache__/
589 %{pylibdir}/concurrent/*.py
590 %{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes}
591
592 %dir %{pylibdir}/concurrent/futures/
593 %dir %{pylibdir}/concurrent/futures/__pycache__/
594 %{pylibdir}/concurrent/futures/*.py
595 %{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes}
596
597 %{pylibdir}/pydoc_data
598
599 %dir %{pylibdir}/collections/
600 %dir %{pylibdir}/collections/__pycache__/
601 %{pylibdir}/collections/*.py
602 %{pylibdir}/collections/__pycache__/*%{bytecode_suffixes}
603
604 %dir %{pylibdir}/ctypes/
605 %dir %{pylibdir}/ctypes/__pycache__/
606 %{pylibdir}/ctypes/*.py
607 %{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes}
608 %{pylibdir}/ctypes/macholib
609
610 %{pylibdir}/curses
611
612 %dir %{pylibdir}/dbm/
613 %dir %{pylibdir}/dbm/__pycache__/
614 %{pylibdir}/dbm/*.py
615 %{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
616
617 %dir %{pylibdir}/distutils/
618 %dir %{pylibdir}/distutils/__pycache__/
619 %{pylibdir}/distutils/*.py
620 %{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
621 %{pylibdir}/distutils/README
622 %{pylibdir}/distutils/command
623
624 %dir %{pylibdir}/email/
625 %dir %{pylibdir}/email/__pycache__/
626 %{pylibdir}/email/*.py
627 %{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
628 %{pylibdir}/email/mime
629 %doc %{pylibdir}/email/architecture.rst
630
631 %{pylibdir}/encodings
632
633 %{pylibdir}/html
634 %{pylibdir}/http
635
636 %dir %{pylibdir}/importlib/
637 %dir %{pylibdir}/importlib/__pycache__/
638 %{pylibdir}/importlib/*.py
639 %{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
640
641 %dir %{pylibdir}/json/
642 %dir %{pylibdir}/json/__pycache__/
643 %{pylibdir}/json/*.py
644 %{pylibdir}/json/__pycache__/*%{bytecode_suffixes}
645
646 %{pylibdir}/lib2to3
647 %exclude %{pylibdir}/lib2to3/tests
648
649 %{pylibdir}/logging
650 %{pylibdir}/multiprocessing
651
652 %dir %{pylibdir}/sqlite3/
653 %dir %{pylibdir}/sqlite3/__pycache__/
654 %{pylibdir}/sqlite3/*.py
655 %{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes}
656
657 %exclude %{pylibdir}/turtle.py
658 %exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
659
660 %{pylibdir}/urllib
661
662
663 %{dynload_dir}/_bisect.%{SOABI_optimized}.so
664 %{dynload_dir}/_bz2.%{SOABI_optimized}.so
665 %{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
666 %{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
667 %{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so
668 %{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so
669 %{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so
670 %{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so
671 %{dynload_dir}/_crypt.%{SOABI_optimized}.so
672 %{dynload_dir}/_csv.%{SOABI_optimized}.so
673 %{dynload_dir}/_ctypes.%{SOABI_optimized}.so
674 %{dynload_dir}/_curses.%{SOABI_optimized}.so
675 %{dynload_dir}/_curses_panel.%{SOABI_optimized}.so
676 %{dynload_dir}/_dbm.%{SOABI_optimized}.so
677 %{dynload_dir}/_decimal.%{SOABI_optimized}.so
678 %{dynload_dir}/_elementtree.%{SOABI_optimized}.so
679 %{dynload_dir}/_gdbm.%{SOABI_optimized}.so
680 %{dynload_dir}/_hashlib.%{SOABI_optimized}.so
681 %{dynload_dir}/_heapq.%{SOABI_optimized}.so
682 %{dynload_dir}/_json.%{SOABI_optimized}.so
683 %{dynload_dir}/_lsprof.%{SOABI_optimized}.so
684 %{dynload_dir}/_lzma.%{SOABI_optimized}.so
685 %{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so
686 %{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so
687 %{dynload_dir}/_opcode.%{SOABI_optimized}.so
688 %{dynload_dir}/_pickle.%{SOABI_optimized}.so
689 %{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so
690 %{dynload_dir}/_random.%{SOABI_optimized}.so
691 %{dynload_dir}/_socket.%{SOABI_optimized}.so
692 %{dynload_dir}/_sqlite3.%{SOABI_optimized}.so
693 %{dynload_dir}/_ssl.%{SOABI_optimized}.so
694 %{dynload_dir}/_struct.%{SOABI_optimized}.so
695 %{dynload_dir}/_md5.%{SOABI_optimized}.so
696 %{dynload_dir}/_sha1.%{SOABI_optimized}.so
697 %{dynload_dir}/_sha256.%{SOABI_optimized}.so
698 %{dynload_dir}/_sha512.%{SOABI_optimized}.so
699 %{dynload_dir}/array.%{SOABI_optimized}.so
700 %{dynload_dir}/audioop.%{SOABI_optimized}.so
701 %{dynload_dir}/binascii.%{SOABI_optimized}.so
702 %{dynload_dir}/cmath.%{SOABI_optimized}.so
703 %{dynload_dir}/_datetime.%{SOABI_optimized}.so
704 %{dynload_dir}/fcntl.%{SOABI_optimized}.so
705 %{dynload_dir}/grp.%{SOABI_optimized}.so
706 %{dynload_dir}/math.%{SOABI_optimized}.so
707 %{dynload_dir}/mmap.%{SOABI_optimized}.so
708 %{dynload_dir}/nis.%{SOABI_optimized}.so
709 %{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so
710 %{dynload_dir}/parser.%{SOABI_optimized}.so
711 %{dynload_dir}/pyexpat.%{SOABI_optimized}.so
712 %{dynload_dir}/readline.%{SOABI_optimized}.so
713 %{dynload_dir}/resource.%{SOABI_optimized}.so
714 %{dynload_dir}/select.%{SOABI_optimized}.so
715 %{dynload_dir}/spwd.%{SOABI_optimized}.so
716 %{dynload_dir}/syslog.%{SOABI_optimized}.so
717 %{dynload_dir}/termios.%{SOABI_optimized}.so
718 %{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
719 %{dynload_dir}/unicodedata.%{SOABI_optimized}.so
720 %{dynload_dir}/xxlimited.%{SOABI_optimized}.so
721 %{dynload_dir}/zlib.%{SOABI_optimized}.so
722 %{dynload_dir}/_asyncio.%{SOABI_optimized}.so
723 %{dynload_dir}/_blake2.%{SOABI_optimized}.so
724 %{dynload_dir}/_sha3.%{SOABI_optimized}.so
725
726
727 %files -n %{lib_name}-testsuite
728 %{pylibdir}/ctypes/test
729 %{pylibdir}/distutils/tests
730 %{pylibdir}/lib2to3/tests
731 %{pylibdir}/sqlite3/test
732 %{pylibdir}/test/*
733 %{pylibdir}/unittest/test
734 # These two are shipped in the main subpackage:
735 %exclude %{pylibdir}/test/test_support.py*
736 %exclude %{pylibdir}/test/__init__.py*
737 %{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
738 %{dynload_dir}/_testcapi.%{SOABI_optimized}.so
739 %{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
740 %{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
741
742
743 %files -n %{lib_name}
744 %{_libdir}/libpython%{LDVERSION_optimized}.so.1*
745
746
747 %files -n %{develname}
748 %{_bindir}/pathfix.py
749 %{_libdir}/libpython%{LDVERSION_optimized}.so
750 %{_libdir}/libpython%{dirver}.so
751 %{_libdir}/libpython%{familyver}.so
752 %{_includedir}/python%{LDVERSION_optimized}
753 %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}
754 %{_bindir}/python%{dirver}-config
755 %{_bindir}/python%{LDVERSION_optimized}-config
756 %{_bindir}/python%{familyver}-config
757 %{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
758 %{_libdir}/pkgconfig/python-%{dirver}.pc
759 %{_libdir}/pkgconfig/python%{familyver}.pc
760
761 %exclude %{_includedir}/python%{LDVERSION_optimized}/pyconfig.h
762 %exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
763 %if %{with valgrind}
764 %{_libdir}/valgrind/valgrind-python3.supp
765 %endif
766
767
768 %files docs
769 %doc html/*/*
770 %{_datadir}/applications/%{_real_vendor}-%{name}-docs.desktop
771
772
773 %files -n tkinter3
774 %{pylibdir}/tkinter/
775 %{dynload_dir}/_tkinter.%{SOABI_optimized}.so
776 %{pylibdir}/idlelib
777 %{site_packages}/pynche
778 %{pylibdir}/turtle.py
779 %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
780 %dir %{pylibdir}/turtledemo
781 %{pylibdir}/turtledemo/*.py
782 %{pylibdir}/turtledemo/*.cfg
783 %dir %{pylibdir}/turtledemo/__pycache__/
784 %{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
785
786
787 %files -n tkinter3-apps
788 %{_bindir}/idle%{familyver}
789 %{_bindir}/idle%{dirver}
790 %{_bindir}/pynche%{familyver}
791 %{_datadir}/applications/%{_real_vendor}-tkinter3.desktop

  ViewVC Help
Powered by ViewVC 1.1.30