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
Fix .deb install on ubuntu 20.04 #20406
Conversation
With Ubuntu 20.04 release schedule in a month, wouldn't it be appropriate to merge this for a next release, so that all Ubuntu users have a sane upgrade path? |
Exactly one month until Focal Fossa final release. See the release schedule for details: https://wiki.ubuntu.com/FocalFossa/ReleaseSchedule As it stands, atom cannot be installed on Ubuntu 20.04 (Focal Fossa). This PR would be an appropriate and easy solution, IMO. |
Could you push a dummy commit? Apparently, CI build hasn't been triggered. |
Windows x64 is failed because of the timeout, so there is no issue in terms of the tests.
CC-ing some active maintainers of this repo: @darangi @lkashef @Aerijo. There is a packaging issue for Atom against the upcoming Ubuntu 20.04 LTS release. That will come out in just over three weeks. (The issue prevents installing Atom in Ubuntu 20.04.) Please consider this small (just a few bytes of diff) Pull Request to fix the situation. Thank you. |
Update April 17th: This comment turned out not to be true!
|
So, eventually, it may make sense to switch the dependency from For now, removing the generic (Jessie has versionless (I suppose that if node-gyp can be un-bundled from this deb package, then perhaps the issue can be handled by dropping this package's dependency on any sort of Edit to add: Jessie will be EOL/not supported after the end of June 2020: https://www.debian.org/releases/jessie/ |
No, it is just symlink. There is no "Provides" section in that package, only "Breaks" and "Replaces".
But anyway removing python2 from deps is good. |
@zorn-v [EDIT: Hmm... On closer reading, Mathias only confirmed that In my opinion, the There is a way to do this with no |
I think upgrading from Python 2 to Python 3 for Atom's dependencies should be decoupled from fixing the current Python 2 dpkg dependency administration. So I'd propose to merge in as soon as possible the change to the And make a new PR that does all necessary testing whether Atom works with Python 3. If that all works fine, you could have until June 2020: |
@mfonville Yes, 100%. I just thought mentioning it here would ensure people who already dealt with this PR (who have the background and context to understand the work left to be done) are aware of the things on the TODO list for, say, a couple months from now. IMO this can/probably should be just merged as-is and any follow-up work is icing on the cake. (I defer judgment on the actual decision to maintainers of this repo, as always.) I volunteer to open said follow-up PR if it helps the maintainers here feel comfortable and ready to merge this. Thanks again. |
This comment has been minimized.
This comment has been minimized.
Thanks @DeeDeeG and @mfonville for the extra context, it was very insightful for sure. I will go ahead and merge this PR as it seems the most simple solution to support Ubuntu 20.04 while maintaining backward compatibility. About migrating to python3, @DeeDeeG if you would like to take a shot at that and mention me to help push it through, that would definitely be helpful. One last thing, keep in mind that the PR will take time to go from Nightly to Beta then to Stable, so until this PR takes it's cycle, I would recommend using Atom Nightly with Ubuntu 20.04. |
@lkashef Thanks for merging! Re: Migrating to Also: In hindsight, the Longer explanation: As far as I understand it, we only need Python for So it doesn't matter if I'm interested in doing the research to confirm all the ducks are in a row going forward, but I admit I'm learning some of this info as I go. I would plan to post any updates in the follow-up issue I opened: #20585 |
@lkashef |
This comment has been minimized.
This comment has been minimized.
No harm in backporting this to atom 1.45.x IMO, if possible. That said, there's a chance it will be a somewhat moot point. I find this difficult to test for now, waiting on Ubuntu package maintainers update So maybe there is no action needed, maybe not. I will try to update here as early as said update to (Backporting this PR is still a safe/no-downsides and reasonable step though, IMO.) |
This comment has been minimized.
This comment has been minimized.
Thanks @DeeDeeG, highly appreciate you digging deep into this. |
@mfonville Thanks for the heads up, although as per @DeeDeeG's comment, we are not sure if the release will break Atom on Ubuntu 20.04, did they release any updates on the matter? This kinda of information would be helpful to make a decision. On a different note, |
@lkashef Yesterday Ubuntu published the |
Thanks for the update @mfonville! That's great news and would definitely buy us some time to make sure we resolve this across different versions. Feel free to mention me, in case the situation escalated or new information came up. |
Tested this, you can just do The "Provides: python" bit means this PR wasn't strictly necessary, with hindsight. My apologies. On the other hand, it just works™ now, so that's good news. Ongoing effort to switch to Python 3 entirely should still be looked at, because the next stable Debian (whenever they decide to release Debian Bullseye) and Ubuntu 20.10 plan on not shipping Python 2. I posted an issue to track that whole thing here: #20585 As I found out, the first order of business would be this PR over at the That PR sorts out the main Python usage in atom. There is a little more to do to get CI passing over there, and probably some follow-up work at this repo, but that PR would be the core thing IMO. I am not familiar with the tests over there, so if anyone knows what to do for that PR to pass CI I think that would be very helpful!) |
@mfonville the version of As mentioned in the comment just above, newer |
@lkashef I just realized this PR should probably be reverted. If one does Then So, basically the user needs to have Once again, apologies for getting this wrong. (How things are in Ubuntu development branch isn't necessarily how it will be in stable release. I got confused about what the eventual situation would be in final release. And I only recently found the way to test python support, by running |
One problem (then become others) that atom can not make "patch release" |
And, yeah. Problem was known sins february |
@zorn-v thank you for being involved in making a fix. But the criticisms of atom here are not helpful or called for. The decision whether to release an update of a piece of software is the maintainers' decision alone. It turns out in this case, this did need some time to make sure it was the right thing to do. With adequate research and testing, I found out this PR actually wasn't needed all along. (I regret repeatedly saying it was needed, when In hindsight I didn't understand the situation enough.) If this PR gets reverted before the next stable release, there will be no need for a patch update anyhow. Please stop criticising the atom maintainers and their actions, or insisting they should make a patch release. Edit to clarify: I'm not affiliated with the atom project. I'm not speaking for the atom maintainers. Those are just my personal thoughts as an open-source contributor in general. |
The sources of my confusion here was down to a few things:
With all those things being clearer to me now, I can see this PR was unnecessary, and opens up a possibility of |
Update: Not many packages require Testing details (click to expand):To test this, I have tried installing many packages in atom. (Via "settings -> install"). I tested this with an "unsupported" version of Python on my system (Python 3). Only a few packages failed to install due to wrong Python version:
(There are almost definitely some more packages than this that need (Other than the ones listed above, I only found If someone knows another package that requires to be built with (My setup for testing this is Ubuntu 20.04, using Atom stable 1.45.0 patched to include this PR. I also tried with Atom nightly 1.47.0, which had the same results. [End of testing details] So maybe Atom doesn't strictly need a Python dependency at all. Not having such a requirement would bring the Debian/Ubuntu ( Regarding whether to revert or keep this PR, it seems like pretty low-stakes either way, IMO. But reverting it would ensure the packages I listed above (in "Testing details") can always be built and installed with Atom/apm... On Debian/Ubuntu anyhow. (See also the snap package of Atom... which has no apparent Python requirement to install. It's equivalent to the Windows, Summary and recommendation from me: This PR effectively gives the option of running Atom with broken Python support, which has surprisingly low impact on using Atom. I'd suggest making Python an optional dependency, or dropping the dependency altogether... Or just reverting to before this PR, which returns to requiring working Python support to install Atom on Ubuntu. (Requiring Python support that then can't be used ( Making Python an optional dependency (or dropping the dependency altogether) is more future-proof than going back to the way it was before this PR. |
@DeeDeeG |
If I was deb packager of atom I assign @DeeDeeG surely for it |
@DeeDeeG your research has been awesome! thanks again! I am currently working on other stuff but I will definitely, take a deep dive into the comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
وااااو
Fix #20356