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

python2.7, python3.6 and python3.8 still in ELN #162

Closed
hroncok opened this issue Aug 7, 2020 · 12 comments
Closed

python2.7, python3.6 and python3.8 still in ELN #162

hroncok opened this issue Aug 7, 2020 · 12 comments

Comments

@hroncok
Copy link
Contributor

hroncok commented Aug 7, 2020

Hey ELN people.

Despite my efforts to block python2.7, python3.6 and python3.8 from ELN, I still see that the packages are built there.

Could you please help me understand what needs to be done to prevent that from happening?

I've tried to communicate this in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/U4TY26R3S65E474FUKGKB6H4JOCIEITY/ but there was no useful info except one private reply by @sgallagher who suggested that the proper communication channel for this are PRs in this repo.

The relevant PRs were:

Later moved around by #68.

@tdawson
Copy link
Collaborator

tdawson commented Aug 10, 2020

Two answers.

First - marking something as unwanted does not automatically remove it. It marks it as unwanted.
You can then go to the content resolver and see the list of packages marked as unwanted that are still in the release. There are also ways to track down what is pulling in those unwanted dependencies.
In a few weeks, (when the vast majority of the wanted packages are set) we will start working our way through those unwanted packages. Opening pull requests and/or bugs.

Second - You have shown me I have a bug in my buildroot-generator script.
I re-wrote it specifically so that it wouldn't show duplicate packages (python3.5, 3.6, 3.7 and 3.8) for the same build dependencies. But, I wasn't using python3.* as my test case, I was using fedora-release* ... and a couple others, as my test case. And for those, this worked.
But, since all the different python's can be installed at the same time, they all get listed as build dependencies.
I'm going back to work on my script and get it fixed.

@hroncok
Copy link
Contributor Author

hroncok commented Aug 10, 2020

First - marking something as unwanted does not automatically remove it. It marks it as unwanted...

Yes, I am aware of that. That's why I've said (in the email thread):

While I understand that python2.7 might still be pulled in as dependency by
other ELN packages (presumably gimp), I don't understand why is python3.8 and
python3.6 built."


I re-wrote it specifically so that it wouldn't show duplicate packages (python3.5, 3.6, 3.7 and 3.8)...

I am not sure I follow what "duplicate packages" means here.

But, since all the different python's can be installed at the same time, they all get listed as build dependencies.

As build dependencies of what packages? https://tiny.distro.builders/view-unwanted--view-eln--x86_64.html doesn't show python3.6 and python3.8 as depended on.

@sgallagher
Copy link
Collaborator

First - marking something as unwanted does not automatically remove it. It marks it as unwanted...

Yes, I am aware of that. That's why I've said (in the email thread):

While I understand that python2.7 might still be pulled in as dependency by
other ELN packages (presumably gimp), I don't understand why is python3.8 and
python3.6 built."

I re-wrote it specifically so that it wouldn't show duplicate packages (python3.5, 3.6, 3.7 and 3.8)...

I am not sure I follow what "duplicate packages" means here.

But, since all the different python's can be installed at the same time, they all get listed as build dependencies.

As build dependencies of what packages? https://tiny.distro.builders/view-unwanted--view-eln--x86_64.html doesn't show python3.6 and python3.8 as depended on.

That page shows:

Not present, but listed here as it's in:
Unwanted Python 3 packages exclusion list (maintainer: sst_cs_apps)

So that seems like it's reporting that we're no longer including it in the list. That said, clearly it's still getting picked up by the rebuild automation, so that's a bug.

@tdawson
Copy link
Collaborator

tdawson commented Aug 10, 2020

Sorry, I guess I should have linked to the content with the buildroot.
https://tiny.distro.builders/view--view-eln-and-buildroot.html

It's the buildroot dependencies that are pulling them in.
What a package needs when it's built.
But none of the packages are saying that they need all those python's, just that they need python3-devel or python3-setuptools.
Two examples are python-ldap and pyproject-rpm-macros

@hroncok
Copy link
Contributor Author

hroncok commented Aug 10, 2020

I don't see how python3-devel or python3-setuptools is related. They are not provided by python3.6 / python3.8. What buildroot dependencies that are pulling them in?

@hroncok
Copy link
Contributor Author

hroncok commented Aug 10, 2020

For completeness:

$ repoquery --repo=rawhide{,-source} --whatrequires python3.6
marshalparser-0:0.2.0-1.fc33.src

$ repoquery --repo=rawhide{,-source} --whatrequires python3.8
blender-1:2.82a-5.fc33.x86_64
kdevelop-python-0:5.5.1-1.fc33.i686
kdevelop-python-0:5.5.1-1.fc33.x86_64
marshalparser-0:0.2.0-1.fc33.src
micropython-0:1.12-2.fc33.src
python3-csound-0:6.13.0-7.fc33.i686
python3-csound-0:6.13.0-7.fc33.x86_64
python3-gpaw-mpich-0:19.8.1-6.fc32.x86_64
python3-gpaw-openmpi-0:19.8.1-6.fc32.x86_64
python3-graph-tool-0:2.29-3.fc33.x86_64
python3.8-0:3.8.5-2.fc33.src

$ repoquery --repo=eln{,-source} --whatrequires python3.6
(nothing)

$ repoquery --repo=eln{,-source} --whatrequires python3.8
python3.8-0:3.8.5-2.eln103.src

@tdawson
Copy link
Collaborator

tdawson commented Aug 10, 2020

If repoquery worked without problems, I'd be using it. It doesn't.
That's why my first scripts were using.
I'm not saying it's wrong in this case, it's probrubly right.

But I've had to re-write "dnf builddep" so that it will run without having to install.
And if you run

dnf builddep python-ldap

You'll see that it tries to install all the python3.*
So, it looks like it's a weak dependencies things, which is fixable, but since I thought I'd already done that ... need to get that part fixed.

@hroncok
Copy link
Contributor Author

hroncok commented Aug 10, 2020

And if you run

dnf builddep python-ldap

You'll see that it tries to install all the python3.*

Oh. It has to do with recommends. Tox recommends all the pythons.

@tdawson
Copy link
Collaborator

tdawson commented Aug 10, 2020

So, it looks like somewhere in all my edits, I dropped my "...install_weak_deps = False" line.
I have put it back into the right place, and all of the extra python3.* packages go away.

I am putting the script into the pipeline, but it takes a while for everything to funnel through. So, hopefully tomorrow Content Resolver will have them dropped, and they will come out of ELN shortly after that.

@hroncok
Copy link
Contributor Author

hroncok commented Aug 10, 2020

So, apparently also python3.7, python3.5, pypy and pypy3 is built for ELN. I'll make sure to mark them as unwanted.

hroncok added a commit to hroncok/content-resolver-input that referenced this issue Aug 10, 2020
@tdawson
Copy link
Collaborator

tdawson commented Aug 12, 2020

My code fix worked, and the resulting buildroot has gone through the Content Resolver..
We still need to untag all the packages that were previously tagged in, and then a new compose of the repo's and everything else needs to be done. I plan on getting the packages untagged today, and by tomorrow (or earlier) we should have all those extra python's out of the compose.

codonell pushed a commit to codonell/content-resolver-input that referenced this issue Nov 2, 2020
@hroncok
Copy link
Contributor Author

hroncok commented May 17, 2021

python2.7 is still in ELN, but it is pulled into it by some dependents. The other packages are not.

@hroncok hroncok closed this as completed May 17, 2021
keszybz pushed a commit to keszybz/content-resolver-input that referenced this issue Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants