[python3/nightly] Python nightly build bootstraping
Miro Hrončok
churchyard at fedoraproject.org
Sat Jun 7 14:19:26 UTC 2014
commit c7fb95b81b382cc9b9ad9adc3078127119180c26
Author: Miro Hrončok <miro at hroncok.cz>
Date: Sat Jun 7 16:19:28 2014 +0200
Python nightly build bootstraping
macros.python35 | 6 ++++
python3.spec | 70 +++++++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 61 insertions(+), 15 deletions(-)
---
diff --git a/macros.python35 b/macros.python35
new file mode 100644
index 0000000..b4d6184
--- /dev/null
+++ b/macros.python35
@@ -0,0 +1,6 @@
+%__python35 /usr/bin/python3.5
+%python35_sitelib %(%{__python35} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+%python35_sitearch %(%{__python35} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")
+%python35_version %(%{__python35} -c "import sys; sys.stdout.write(sys.version[:3])")
+%python35_version_nodots %(%{__python35} -c "import sys; sys.stdout.write(sys.version[:3].replace('.',''))")
+%py3dir %{_builddir}/python3-%{name}-%{version}-%{release}
diff --git a/python3.spec b/python3.spec
index 7233a95..b682458 100644
--- a/python3.spec
+++ b/python3.spec
@@ -73,6 +73,9 @@
# Turn this to 0 to turn off the "check" phase:
%global run_selftest_suite 1
+# Turn this to 1 to generate the general python3 files such as /usr/bin/python3
+%global global_files 0
+
# We want to byte-compile the .py files within the packages using the new
# python3 binary.
#
@@ -126,9 +129,13 @@
# Top-level metadata
# ==================
Summary: Version 3 of the Python programming language aka Python 3000
+%if 0%{?global_files}
Name: python3
+%else
+Name: python%{pyshortver}
+%endif
Version: %{pybasever}.0
-Release: 0.2.20140607hg585ad5d806bd%{?dist}
+Release: 0.3.20140607hg585ad5d806bd%{?dist}
License: Python
Group: Development/Languages
@@ -187,8 +194,8 @@ BuildRequires: xz-devel
BuildRequires: zlib-devel
%if 0%{?with_rewheel}
-BuildRequires: python3-setuptools
-BuildRequires: python3-pip
+BuildRequires: %{name}-setuptools
+BuildRequires: %{name}-pip
%endif
@@ -206,7 +213,7 @@ Source1: find-provides-without-python-sonames.sh
# Supply various useful macros for building python 3 modules:
# __python3, python3_sitelib, python3_sitearch
-Source2: macros.python3
+Source2: macros.%{name}
# Supply an RPM macro "py_byte_compile" for the python3-devel subpackage
# to enable specfiles to selectively byte-compile individual files and paths
@@ -717,8 +724,8 @@ Provides: python(abi) = %{pybasever}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if 0%{with_rewheel}
-Requires: python3-setuptools
-Requires: python3-pip
+Requires: %{name}-setuptools
+Requires: %{name}-pip
%endif
%description
@@ -1154,7 +1161,7 @@ InstallPython optimized \
install -d -m 0755 ${RPM_BUILD_ROOT}%{pylibdir}/site-packages/__pycache__
-mv ${RPM_BUILD_ROOT}%{_bindir}/2to3 ${RPM_BUILD_ROOT}%{_bindir}/python3-2to3
+mv ${RPM_BUILD_ROOT}%{_bindir}/2to3 ${RPM_BUILD_ROOT}%{_bindir}/%{name}-2to3
# Development tools
install -m755 -d ${RPM_BUILD_ROOT}%{pylibdir}/Tools
@@ -1328,11 +1335,13 @@ done
# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to
# avoid the user having to know the precise version and ABI flags. (see
# e.g. rhbz#676748):
+%if 0%{?global_files}
%if 0%{?with_debug_build}
ln -s \
%{_bindir}/python%{LDVERSION_debug} \
%{buildroot}%{_bindir}/python3-debug
%endif
+%endif
#
# Systemtap hooks:
@@ -1375,6 +1384,19 @@ echo '[ $? -eq 127 ] && echo "Could not find python%{LDVERSION_optimized}-`uname
%{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
+
+# Remove things we don't need in nightly builds
+%if ! 0%{?global_files}
+rm -f %{buildroot}%{_bindir}/python3
+rm -f %{buildroot}%{_bindir}/python3-config
+rm -f %{buildroot}%{_bindir}/pydoc3
+rm -f %{buildroot}%{_bindir}/pyvenv
+rm -f %{buildroot}%{_bindir}/idle3
+rm -f %{buildroot}%{_libdir}/pkgconfig/python3.pc
+rm -f %{buildroot}%{_libdir}/libpython3.so
+rm -f %{buildroot}%{_mandir}/man1/python3.1*
+%endif
+
# ======================================================
# Running the upstream test suite
# ======================================================
@@ -1447,11 +1469,14 @@ rm -fr %{buildroot}
%files
%defattr(-, root, root)
%doc LICENSE README
-%{_bindir}/pydoc*
+%if 0%{?global_files}
+%{_bindir}/pydoc3
%{_bindir}/python3
+%{_bindir}/pyvenv
+%endif
+%{_bindir}/pydoc%{pybasever}
%{_bindir}/python%{pybasever}
%{_bindir}/python%{pybasever}m
-%{_bindir}/pyvenv
%{_bindir}/pyvenv-%{pybasever}
%{_mandir}/*/*
@@ -1657,7 +1682,10 @@ rm -fr %{buildroot}
%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
%{_libdir}/%{py_INSTSONAME_optimized}
+
+%if 0%{?global_files}
%{_libdir}/libpython3.so
+%endif
%if 0%{?with_systemtap}
%{tapsetdir}/%{libpython_stp_optimized}
%doc systemtap-example.stp pyfuntop.stp
@@ -1670,22 +1698,29 @@ rm -fr %{buildroot}
%{_includedir}/python%{LDVERSION_optimized}/*.h
%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
+%if 0%{?global_files}
%{_bindir}/python3-config
+%endif
%{_bindir}/python%{pybasever}-config
%{_bindir}/python%{LDVERSION_optimized}-config
%{_bindir}/python%{LDVERSION_optimized}-*-config
%{_libdir}/libpython%{LDVERSION_optimized}.so
%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
%{_libdir}/pkgconfig/python-%{pybasever}.pc
+%if 0%{?global_files}
%{_libdir}/pkgconfig/python3.pc
-%{_rpmconfigdir}/macros.d/macros.python3
+%endif
+%{_rpmconfigdir}/macros.d/macros.%{name}
%{_rpmconfigdir}/macros.d/macros.pybytecompile
%files tools
%defattr(-,root,root,755)
-%{_bindir}/python3-2to3
+%if 0%{?global_files}
+%{_bindir}/idle3
+%endif
+%{_bindir}/%{name}-2to3
%{_bindir}/2to3-%{pybasever}
-%{_bindir}/idle*
+%{_bindir}/idle%{pybasever}
%{pylibdir}/Tools
%doc %{pylibdir}/Doc
@@ -1698,7 +1733,7 @@ rm -fr %{buildroot}
%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
%dir %{pylibdir}/turtledemo
%{pylibdir}/turtledemo/*.py
-%{pylibdir}/turtledemo/*.txt
+#%%{pylibdir}/turtledemo/*.txt
%{pylibdir}/turtledemo/*.cfg
%dir %{pylibdir}/turtledemo/__pycache__/
%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
@@ -1730,7 +1765,9 @@ rm -fr %{buildroot}
# Analog of the core subpackage's files:
%{_bindir}/python%{LDVERSION_debug}
+%if 0%{?global_files}
%{_bindir}/python3-debug
+%endif
# Analog of the -libs subpackage's files:
# ...with debug builds of the built-in "extension" modules:
@@ -1841,10 +1878,13 @@ rm -fr %{buildroot}
# ======================================================
%changelog
-* Sat Jun 07 2014 Miro Hrončok <mhroncok at redhat.com> - %{pybasever}.0-0.2.20140607hg585ad5d806bd
+* Sat Jun 07 2014 Miro Hrončok <mhroncok at redhat.com> - 3.5.0-0.3.20140607hg585ad5d806bd
+- Bootstraping
+
+* Sat Jun 07 2014 Miro Hrončok <mhroncok at redhat.com> - 3.5.0-0.2.20140607hg585ad5d806bd
- Update to hg: 585ad5d806bd
-* Fri May 30 2014 Miro Hrončok <mhroncok at redhat.com> - %{pybasever}.1-0.1.20140530hg04d3d67ef5ac
+* Fri May 30 2014 Miro Hrončok <mhroncok at redhat.com> - 3.5.0-0.1.20140530hg04d3d67ef5ac
- Update to hg: 04d3d67ef5ac
* Fri May 30 2014 Miro Hrončok <mhroncok at redhat.com> - 3.4.1-8
More information about the scm-commits
mailing list