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

Install flake8 from proposed #761

Closed
wants to merge 3 commits into from

Conversation

clalancette
Copy link
Contributor

This is still a draft because things aren't totally working here; will need another update.

@clalancette clalancette force-pushed the claraberendsen/install-from-proposed branch 2 times, most recently from 9748432 to 370adea Compare March 25, 2024 12:41
Copy link
Member

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There appear to be at least three distinct principal changes stacked into this PR and a lot of other smaller commits that are quite difficult to follow.

@clalancette / @claraberendsen would you consider splitting this into

  1. The namedtuple refactor of pip dependencies.
  2. The refactor of --break-system-packages to use the environment variable
  3. The actual changes to install python3-flake8 from noble-proposed

And anything that doesn't fit in those to separate cleanup PRs. Or at least reasonably explained cleanup commits within those PRs.

This is one repository where history spelunking is often necessary when making changes and I would have a very hard time revisiting this PR and re-constructing the rationale behind all changes from the commit log or PR description as they are right now.

For CI, I think it would be alright to continue using this branch as an omnibus for tests rather than requiring each PR go through CI alone.

RUN if test \( ${UBUNTU_DISTRO} = noble \); then\
echo "deb http://archive.ubuntu.com/ubuntu/ "$(lsb_release -cs)"-proposed restricted main multiverse universe" >> /etc/apt/sources.list.d/ubuntu-$(lsb_release -cs)-proposed.list \
;fi
# Install from proposed conflicting packages
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does conflicting mean in this context?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It meant to mean packages that are broken/outdated on the repository and it needs to install from proposed instead.
But I can see why conflicting can be confusing, does something like necessary or broken better?


pip_cmd = ['"%s"' % job.python, '-m', 'pip', 'install', '-c', 'constraints.txt', '-U']
if sys.platform == 'win32':
# Force reinstall so all dependencies are in virtual environment
# On Windows since we switch between the debug and non-debug
# interpreter all packages need to be reinstalled too
pip_cmd.append('--force-reinstall')
else:
# We need to use --user so that certain packages (like flake8-blind-except)
# can successfully build on RHEL-8 (Humble).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case does it make sense to restrict the addition of this flag to the platform that requires it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case does it make sense to restrict the addition of this flag to the platform that requires it?

Yeah, but unfortunately here in this script, we don't have that information. I'm currently using humble as a proxy for it, but that is probably a bad idea overall. I'll think about how to do this better, we may have to add a new --platform flag.

'Press \[Enter\] to continue:',
'Do you accept this license\? \[y/n\]: '])
r'Press \[Enter\] to continue:',
r'Do you accept this license\? \[y/n\]: '])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's unclear from any commit message why this change was made alongside the break system packages environment variable usage.

@claraberendsen
Copy link
Contributor

@nuclearsandwich I agree on splitting the flake 8 PR, and link it back to this for testing. I think that overall issues are sistematic and getting the solution for noble given the time constraint we have would be easier to achieve if we have a unified testing branch that imports the changes, so we know when we merge all related PRs then noble should work .

@clalancette clalancette force-pushed the claraberendsen/install-from-proposed branch from 6161f80 to 2429dca Compare March 25, 2024 23:46
@claraberendsen
Copy link
Contributor

The split PR for installing from proposed: #765

@clalancette
Copy link
Contributor Author

FYI, I'm still using this PR as a way to test out various changes that we need for Noble. At this point I think what is in here actually makes Noble build; I still need to split out the various fixes into PRs. But anyway, here is a Noble build to see where we are:

  • Noble Build Status

@clalancette clalancette force-pushed the claraberendsen/install-from-proposed branch from db6b37d to 2895116 Compare March 29, 2024 13:14
@clalancette
Copy link
Contributor Author

clalancette commented Mar 29, 2024

Rebased onto the latest, and more fixes for further changes in Noble, here's another try:

  • Noble Build Status

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
@clalancette clalancette force-pushed the claraberendsen/install-from-proposed branch from b422694 to 7eec874 Compare April 1, 2024 17:04
@clalancette
Copy link
Contributor Author

Over the weekend, it looks like the rest of the packages we needed were rebuilt. I still believe that there is at least one more fix we need here for Humble, but that will be done in separate PRs. I'm going to close this one out for now, thanks @claraberendsen !

@clalancette clalancette closed this Apr 8, 2024
@clalancette clalancette deleted the claraberendsen/install-from-proposed branch April 8, 2024 11:37
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

Successfully merging this pull request may close these issues.

3 participants