#4 Make PyPy 3.9 the main PyPy 3 on Fedora 36+, Include the Python version in Release
Merged 2 years ago by churchyard. Opened 2 years ago by churchyard.
rpms/ churchyard/pypy3.9 main_pypy3  into  rawhide

file modified
+21 -4
@@ -5,7 +5,12 @@ 

  Name:           pypy%{pyversion}

  Version:        %{basever}.%{micro}%{?pre:~%{pre}}

  %global version_ %{basever}.%{micro}%{?pre}

- Release:        1%{?dist}

+ # The Python version is included in Release to workaround debuginfo conflicts

+ # and make pypy versions with otherwise the same version-release always sorted

+ # by Python version as well.

+ # This potentially allows tags like Obsoletes: pypy3 < %%{version}-%%{release}.

+ # https://bugzilla.redhat.com/2053880

+ Release:        1.%{pyversion}%{?dist}

  Summary:        Python %{pyversion} implementation with a Just-In-Time compiler

  

  # PyPy is MIT
@@ -59,7 +64,11 @@ 

  # We refer to this subdir of the source tree in a few places during the build:

  %global goal_dir pypy/goal

  

+ %if 0%{?fedora} >= 36

+ %bcond_without main_pypy3

+ %else

  %bcond_with main_pypy3

+ %endif

  

  %ifarch %{ix86} x86_64 %{arm}

  %global _package_note_linker gold
@@ -176,8 +185,8 @@ 

  Provides: pypy3%{?_isa} = %{version}-%{release}

  # This is when pypy3 package was replaced:

  Obsoletes: pypy3 < 7.3.4-4

- # This is when pypy3 was provided by pypy3.7:

- Conflicts: pypy3 < 7.3.7-1

+ # This is when pypy3 was provided by pypy3.8:

+ Conflicts: pypy3 < %{version}-%{release}

  %endif

  

  # This prevents ALL subpackages built from this spec to require
@@ -544,7 +553,7 @@ 

  

  # Capture the RPython source code files from the build within the debuginfo

  # package (rhbz#666975)

- %global pypy_debuginfo_dir /usr/src/debug/pypy-%{version_}-src

+ %global pypy_debuginfo_dir /usr/src/debug/pypy%{pyversion}-%{version_}-src

  mkdir -p %{buildroot}%{pypy_debuginfo_dir}

  

  # copy over everything:
@@ -805,6 +814,14 @@ 

  

  

  %changelog

+ * Tue Mar 01 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8-1.3.9

+ - Include the Python version in Release to workaround debuginfo conflicts

+   and make same builds of different PyPy sort in a predictable way (e.g. wrt Obsoletes)

+ - Namespace the debugsources to fix installation conflict with other PyPys

+ - Fixes: rhbz#2053880

+ - This is now the main PyPy 3 on Fedora 36+

+ - Fixes: rhbz#2059670

+ 

  * Tue Feb 22 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8-1

  - Update to 7.3.8 final

  

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

This has failed CI tests because tox pulls in all pypys and /usr/bin/pypy3 (added here) conflicts with pypy3.8 (removed there). I've added Depends-On for the pypy3.8 PR to hopefully solve this conflict. In reality, we'll ship it via a side tag.

2 new commits added

  • Make PyPy 3.9 the main PyPy 3 on Fedora 36+
  • Include the Python version in Release to workaround debuginfo conflicts
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

1 new commit added

  • Namespace the debugsources to fix installation conflict with other PyPys
2 years ago

This change depends on a change that failed to merge.

Beware, this is Python 3.9

This is when pypy3 was provided by pypy3.8:
Conflicts: pypy3 < 7.3.8-1

Shouldn't this be: 7.3.8-1.3.8?

And consider updating the comment about the Release tag.

Besides what was mentioned above - LGTM.

3 new commits added

  • Conflict with a dynamic version-release of pypy3
  • fixup! Include the Python version in Release to workaround debuginfo conflicts and make same builds of different PyPy sort in a predictable way (e.g. wrt Obsoletes)
  • fixup! Include the Python version in Release to workaround debuginfo conflicts and make same builds of different PyPy sort in a predictable way (e.g. wrt Obsoletes)
2 years ago
       Conflicts: pypy3 < %{version}-%{releases}

How many releases would you like to conflict with? :)

Good idea, and can you also add a comment why this works?

This is when pypy3 was provided by pypy3.8:
Conflicts: pypy3 < 7.3.8-1

Shouldn't this be: 7.3.8-1.3.8?

Technically yes. However, it is more complex :) See my commit.

       Conflicts: pypy3 < %{version}-%{releases}

How many releases would you like to conflict with? :)

Good idea, and can you also add a comment why this works?

Hm, though beware, this means that we'll always have to update pypy3.9 first over all lower pypy versions.

rebased onto e46ca72

2 years ago

This change depends on a change that failed to merge.

       Conflicts: pypy3 < %{version}-%{releases}

How many releases would you like to conflict with? :)

Good idea, and can you also add a comment why this works?

Hm, though beware, this means that we'll always have to update pypy3.9 first over all lower pypy versions.

Never mind, non main_pypy versions don't provide the pypy3 tag, so this is moot.

All looks good, if Zuul speaks well of it, ship it!

Pull-Request has been merged by churchyard

2 years ago
Metadata