Sitelet https://web.archive.org/web/20200918011133/https://github.com/fedora-python/python3/pull/3
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Platform Python Diff #3

Open
wants to merge 51 commits into
base: master
from
Open

Platform Python Diff #3

wants to merge 51 commits into from

Conversation

@torsava
Copy link
Member

torsava commented Aug 11, 2017 •

DO NOT MERGE.

+ 'platlib': '{platbase}/lib64/platform-python{py_version_short}/site-packages',
'include': '{installed_base}/include/platform-python{py_version_short}{abiflags}',
'scripts': '{base}/bin',
'data': '{base}',

This comment has been minimized.

@torsava

torsava Aug 11, 2017 Author Member

@encukou Could I ask for a short summary why {userbase} was changed to several different locations?

This comment has been minimized.

@encukou

encukou Aug 11, 2017 Member

posix_user is config for installing Python modules into a user's home (~/.local). That's not supported for platform-python, so posix_user was changed to match posix_prefix.


Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Provides: bundled(python3-setuptools) = 28.8.0

This comment has been minimized.

@hroncok

hroncok Aug 11, 2017 Member

Remove bundled setuptools?


ln -s \
%{_libexecdir}/platform-python3 \
%{buildroot}%{_libexecdir}/platform-python%{pybasever}

This comment has been minimized.

@hroncok

hroncok Aug 11, 2017 Member

I think the symblinks should go in the other direction.

%{_bindir}/pyvenv
%{_bindir}/pyvenv-%{pybasever}
%{_mandir}/*/*
%exclude %{_bindir}/pydoc*

This comment has been minimized.

@hroncok

hroncok Aug 11, 2017 Member

Can we exclude the entire bindir with one line?

@encukou
Copy link
Member

encukou commented Aug 14, 2017

In my mock build:

  • Nothing requires /usr/bin/python3.6
  • Nothing provides python(abi)
stratakis and others added 25 commits Jul 31, 2017
and files under the python3-libs were moved to platform-python-libs-devel
subpackage

Provide platform-python abi
Add the version number after the platform python directory names

Disable the test_suite
extension modules now build successfully
Change the timestamp check to use the platfrom-python binary

Change shebangs from the stdlib to point to usr/libexec/platform-python
stratakis and others added 18 commits Aug 7, 2017
instead keep the bundled ones during build and exclude
them later from the resulting rpm.
and posix_user installation schemes are the same now so the
test doesn't make sense.

Remove patch number 252
minimal buildroot by mock which uses systemd-nspawn
instead of chroot.
Enable link time optimizations.

Enable the test suite.
The notes don't apply for platform-python. Let's add new ones later if needed.
@encukou encukou force-pushed the platform_python branch from fab62a2 to 9ba66c8 Aug 14, 2017
Group: Development/Libraries
Requires: system-python-libs%{?_isa} = %{version}-%{release}
Provides: system-python(abi) = %{pybasever}
%define __requires_exclude ^(/usr/bin/python3.*|python\\(abi\\) = 3\\..*)$

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Is this really needed?

If anything has /usr/bin/python3.6 shebang, we should sed it out. Also, nothing should provide python(abi) = 3.6 by any mean and if it does, something is wrong with the scripts responsible (in that case, we should probably keep that half for now, but add a TODO comment).

This comment has been minimized.

@torsava

torsava Aug 14, 2017 Author Member

While I agree about both points, I think it's safer to just leave it as is as a safety measure.

This comment has been minimized.

@encukou

encukou Aug 14, 2017 Member

Removed together with a forgotten bad shebang

%post -n system-python-libs -p /sbin/ldconfig

%postun -n system-python-libs -p /sbin/ldconfig
%post libs-devel -p /sbin/ldconfig

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Not needed.


%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%postun libs-devel -p /sbin/ldconfig

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Not needed.

%{_libdir}/libplatform-python3.so

%files libs-devel
%defattr(-,root,root,-)

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Is this needed? I think it's EL6 or even EL5 thing, and is default for now, but maybe I'm wrong.

This comment has been minimized.

@torsava

torsava Aug 14, 2017 Author Member

It's in all the %files sections in python3. I agree we should remove it, but I'd say first in python3.

This comment has been minimized.

@encukou

encukou Aug 14, 2017 Member

Removed; added removal in python3 to my TODO

%{_bindir}/idle*
%exclude %{_bindir}/python3-2to3
%exclude %{_bindir}/2to3-%{pybasever}
%exclude %{_bindir}/idle*

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Proposal: Use a oneliner here or nothing at all (already excluded somewhere else).

# python-sphinx, pytest, python-requests, cloud-init, dnf, anaconda, abrt

%global with_rewheel 1

This comment has been minimized.

@torsava

torsava Aug 14, 2017 • Author Member

It would be great to link to the Platform Python Stack change here on top, for quick reference.

This comment has been minimized.

@encukou

encukou Aug 14, 2017 Member

I don't think the Change will be relevant enough in the future -- it's full of rationale on bringing this package to Fedora.

Do you think the %description doesn't say enough?

Python interpreter for low-level system tools, designed to work with
the Platform module.
# ======================================================

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

This comment has been minimized.

@torsava

torsava Aug 14, 2017 • Author Member

@encukou Why did you remove this as well? I believe it's useless only for libs-devel, for libs it serves a function.

This comment has been minimized.

@encukou

encukou Aug 14, 2017 Member

Oops! Good catch

@encukou encukou force-pushed the platform_python branch from 2d85b53 to 7be8319 Aug 14, 2017
@torsava
Copy link
Member Author

torsava commented Aug 14, 2017 •

It took a while to get through it all, but I believe it's good to go!

@@ -405,8 +405,6 @@ Summary: Platform Python runtime libraries
# yet upgraded expat:
Requires: expat >= 2.1.0

%define __requires_exclude ^(/usr/bin/python3.*|python\\(abi\\) = 3\\..*)$

This comment has been minimized.

@hroncok

hroncok Aug 14, 2017 Member

Have you checked final requires?

This comment has been minimized.

@encukou

encukou Aug 14, 2017 Member

yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.