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

Upgrade: OpenSSL 3.0, make it a standard package #29555

Closed
slel opened this issue Apr 23, 2020 · 36 comments
Closed

Upgrade: OpenSSL 3.0, make it a standard package #29555

slel opened this issue Apr 23, 2020 · 36 comments

Comments

@slel
Copy link
Member

slel commented Apr 23, 2020

Upgrade to OpenSSL 3.0 and make openssl a standard package.

License is now Apache 2.0, which is GPL-compatible.
https://github.com/openssl/openssl/blob/master/LICENSE

Once Sage macOS binaries ship OpenSSL,
they will allow easily pip-installing extra packages.

Download tarball from:

CC: @slel @NathanDunfield @sagetrac-tmonteil @orlitzky @dimpase @posita @vbraun

Component: packages: optional

Keywords: openssl

Author: Matthias Koeppe

Branch/Commit: 383a100

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/29555

@slel slel added this to the sage-9.2 milestone Apr 23, 2020
@slel
Copy link
Member Author

slel commented Apr 23, 2020

comment:1

OpenSSL 3.0.0-alpha1 is out. Blog post:
https://www.openssl.org/blog/blog/2020/04/23/OpenSSL3.0Alpha1/

OpenSSL 3.0.0-alpha1 tarball:

@slel
Copy link
Member Author

slel commented Apr 23, 2020

comment:2

Time to make openssl a standard package too. Related tickets:

@slel

This comment has been minimized.

@slel

This comment has been minimized.

@slel
Copy link
Member Author

slel commented Apr 23, 2020

Changed keywords from none to openssl

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

Branch: u/mkoeppe/upgrade__openssl_3_0

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

comment:8

Of course it's too early to merge, but I wanted to check whether our python3 compiles with it. It does, at least on macOS.


New commits:

54387b8build/pkgs/openssl: Update to 3.0.0-alpha3
e37e813build/pkgs/openssl/spkg-install.in: Remove old build workarounds, hoping for the best

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

Commit: e37e813

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2020

Changed commit from e37e813 to 125a683

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

d6eaab7build/pkgs/python3/dependencies: Add openssl
125a683build/pkgs/openssl/type: Make standard

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

Work Issues: Add spkg-configure.m4

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2020

comment:10

Next (other than waiting for the release), we need an spkg-configure.m4 for openssl

@mkoeppe mkoeppe changed the title Upgrade: OpenSSL 3.0 Upgrade: OpenSSL 3.0, make it a standard package Jun 9, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 6, 2020

comment:12

Now there's openssl-3.0.0-alpha4

@slel
Copy link
Member Author

slel commented Aug 7, 2020

comment:13

OpenSSL 3.0.0.alpha6 is out.

@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Aug 13, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Dec 15, 2020

comment:16

alpha9 is out...

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 19, 2021

comment:17

alpha10 is out

@slel
Copy link
Member Author

slel commented Jan 28, 2021

comment:18

alpha11

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 31, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

48c801bMerge tag '9.3.beta6' into t/29555/upgrade__openssl_3_0
29af657build/pkgs/openssl: Update to 3.0.0-alpha11

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 31, 2021

Changed commit from 125a683 to 29af657

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 31, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

909f796build/pkgs/openssl/SPKG.rst: Update license
383a100build/pkgs/openssl/spkg-configure.m4: Add warning about alpha release

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 31, 2021

Changed commit from 29af657 to 383a100

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 31, 2021

Changed work issues from Add spkg-configure.m4 to none

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 31, 2021

Author: Matthias Koeppe

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 31, 2021

comment:21

Wondering how people would feel about this one. Solves our openssl license compatibility problem. Includes big fat warning that it's an alpha release. To my understanding, the way that current jupyter depends on the ssl module (via tornado - see 30674), it is merely a dependency and no SSL is actually spoken to anyone but possibly localhost.

SSL would still kick in when pip packages are installed - but these are all optional and users have been warned.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Jan 31, 2021

comment:22

I would prefer that we stick to 1.1.1* until openssl 3.0 is released, the current 3.0 is not even beta !

@NathanDunfield
Copy link
Contributor

comment:23

Replying to @sagetrac-tmonteil:

I would prefer that we stick to 1.1.1* until openssl 3.0 is released, the current 3.0 is not even beta !

Currently, the macOS binaries don't have any version of openssl at all. So there, the choice is 3.0 alpha or nothing, meaning the user is unable to run Jupyter notebooks, which is a pretty core feature of Sage for many users.

I say go for it, the current situation is causing a lot of people problems, see all the posts to sage-support and sage-devel.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Feb 1, 2021

comment:24

Could this be only shipped with macOS binaries ?

@NathanDunfield
Copy link
Contributor

comment:25

Replying to @sagetrac-tmonteil:

Could this be only shipped with macOS binaries ?

On Linux, Sage doesn't need to provide its own copy of openssl, it just uses the system library. The problem is macOS deprecated openssl in favor of their own APIs and only provides openssl 0.9.8, which is too old to be useful.

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 2, 2021

comment:26

Another idea could be to make openssl 3.0 standard (as on this ticket) but keep the stable (but license-incompatible) openssl 1.1.x as an optional package. So people who need to deploy a secure system but cannot do so using a system installation of openssl would be enable this optional package. But it is not clear whether this is a convincing use case that would warrant adding this kind of build system complexity for it.

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 2, 2021

comment:27

Replying to @sagetrac-tmonteil:

Could this be only shipped with macOS binaries ?

These issues with ssl also affect people who build from source.

@dimpase
Copy link
Member

dimpase commented Feb 3, 2021

Reviewer: Dima Pasechnik

@dimpase
Copy link
Member

dimpase commented Feb 3, 2021

comment:28

I suppose this is tested on macOS. On Linux it's fine.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Feb 3, 2021

comment:29

Replying to @mkoeppe:

Replying to @sagetrac-tmonteil:

Could this be only shipped with macOS binaries ?

These issues with ssl also affect people who build from source.

I imagine the people that build from source use a decent distribution of packages that includes openssl like homebrew, as recommended in the Sage installation documenation.

I do not like the current way as it will install an immature implementation of SSL within Sage for most people, since even on some OS that ship openssl-dev, this latter is rarely installed by default, see e.g. https://ask.sagemath.org/question/47513/rise-in-jupyter/

The warning are probably not enough (and probably lost among tons of configure lines) since people will just go ahead and "prefer" using the standard openssl spkg over installing the lib from their distro.

@slel
Copy link
Member Author

slel commented Feb 3, 2021

comment:30

I'm also uneasy with an alpha stage OpenSSL 3 becoming standard.

Maybe we can create an "openssl3" optional package for now?

We should advertise the fix_mac_sage scripts by the 3-manifolds group

that can "fix" a Sage install on macOS by adding SSL and tkinter to its Python.

We should advertise it

  • in the README file that is shipped with macOS binaries
  • on the macOS download page of the SageMath website

@vbraun
Copy link
Member

vbraun commented Feb 20, 2021

Changed branch from u/mkoeppe/upgrade__openssl_3_0 to 383a100

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

No branches or pull requests

5 participants