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

Remove package pycrypto #25844

Closed
slel opened this issue Jul 12, 2018 · 18 comments
Closed

Remove package pycrypto #25844

slel opened this issue Jul 12, 2018 · 18 comments

Comments

@slel
Copy link
Member

slel commented Jul 12, 2018

In short: pycrypto is no longer maintained, but also no longer used in Sage.

We should stop shipping it.

If needed, pycryptodome could serve as a replacement.

More detail below.


In this sage-packaging discussion, François Bissey, who maintains
Sage-on-Gentoo, reports that

pycrypto is dead upstream and contains unfixed security bugs.

and considers removing it for Gentoo.

Antonio Rojas, who packages Sage for Arch Linux, says it was already
removed from Arch Linux:

AFAIK pycrypto wasn't used by sagenb itself, but only via twisted,
and they switched to cryptography in 16.0 [1]. Anyhow, secure
sagenb works fine here without pycrypto.

The latest pycrypto on PyPI
is release 2.6.1 from 17 Oct 2013.

This
message from Fri 21 Jul 2017 19:21:01 UTC
on the
pycrypto mailing list
reads:

As this project hasn't seen commits on master (or perhaps any branch)
in over three years, it appears to be dead.

However, pycryptodome is alive and well! It's a fork off the latest
pycrypto and contains many bugfixes, enhancements. Most importantly,
it's an ongoing project.

https://github.com/Legrandin/pycryptodome

https://www.pycryptodome.org/

There are two ways to install it: for a seamless experience I recommend
uninstalling pycrypto (if present) and installing pycryptodome.

(pycryptodomex has its uses for some, but would mean editing your
imports, whereas pycryptodome is a drop-in replacement for pycrypto.)

If you have issues with installing or using pycryptodome, there are
resources there to guide you and an active issue tracker as well.

CC: @antonio-rojas @fchapoton @cschwan @embray @kiwifb @timokau @infinity0 @novoselt @pcpa @saraedum @haraldschilly @slel @strogdon @tobihan @sagetrac-tmonteil @vbraun @williamstein

Component: packages: standard

Keywords: remove, package, pycrypto

Author: Erik Bray

Branch/Commit: b6aa427

Reviewer: Thierry Monteil

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

@slel slel added this to the sage-8.3 milestone Jul 12, 2018
@embray
Copy link
Contributor

embray commented Jul 12, 2018

comment:1

+1 I don't think we should even provide a replacement. There shouldn't be packages in Sage-the-distribution that aren't even used by Sage, directly or indirectly.

@embray
Copy link
Contributor

embray commented Jul 12, 2018

comment:2

It would be nice if we could do this for 8.3 since it will help packagers.

@timokau
Copy link
Contributor

timokau commented Jul 12, 2018

comment:3

Grepping through my source tree: I have pycrypto listed as a dependency of python-openid, which is a dependency of sagenb. Is that the dependency that is not actually used?

@embray
Copy link
Contributor

embray commented Jul 12, 2018

Author: Erik Bray

@embray
Copy link
Contributor

embray commented Jul 12, 2018

Commit: 5ca84d8

@embray
Copy link
Contributor

embray commented Jul 12, 2018

Branch: u/embray/ticket-25844

@embray
Copy link
Contributor

embray commented Jul 12, 2018

New commits:

5ca84d8remove pycrypto; it is no longer maintained upstream, nor is it used by sage or any of its dependencies

@embray
Copy link
Contributor

embray commented Jul 12, 2018

comment:5

Replying to @timokau:

Grepping through my source tree: I have pycrypto listed as a dependency of python-openid, which is a dependency of sagenb. Is that the dependency that is not actually used?

It's an optional dependency, and I think we're actually removing openid from sagenb as well, since it no longer works on Python 3.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Jul 12, 2018

Changed branch from u/embray/ticket-25844 to u/tmonteil/ticket-25844

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Jul 12, 2018

comment:7

It is OK for me, you just forgot to remove the licensing informations about pycrypto. If you agree with this trivial change, you can set the ticket to positive_review.


New commits:

b6aa427#25844 : remove pycrypto information from COPYING.txt

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Jul 12, 2018

Changed commit from 5ca84d8 to b6aa427

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Jul 12, 2018

Reviewer: Thierry Monteil

@timokau
Copy link
Contributor

timokau commented Jul 12, 2018

comment:8

If it wasn't used in sage in the first place and just stuff in build is modified, it shouldn't make a difference to packagers either way. We (at least I and pretty sure the others too) don't use anything from build/pkgs.

That doesn't mean I have anything against including this in 8.3, just clarifying.

@kiwifb
Copy link
Member

kiwifb commented Jul 12, 2018

comment:9

Replying to @timokau:

Grepping through my source tree: I have pycrypto listed as a dependency of python-openid, which is a dependency of sagenb. Is that the dependency that is not actually used?

Well in Gentoo python-openid doesn't depend on it. May be it is an optional runtime dependency?
In any case I am all for removing it now. Shaves a few bytes from the release tarball, smaller build/pkg folder what's not to love :)

@timokau
Copy link
Contributor

timokau commented Jul 12, 2018

comment:10

Yeah I agree. In nix the python-openid package wasn't accepted into the main tree anyways. It is only used as a dependency for sage(nb), since it has the same problem pycrypto has (unmaintained, known problems).

@embray
Copy link
Contributor

embray commented Jul 12, 2018

comment:11

I even meant to check COPYING.txt but got distracted and forgot at the last second.

@videlec
Copy link
Contributor

videlec commented Aug 3, 2018

comment:12

update milestone 8.3 -> 8.4

@videlec videlec modified the milestones: sage-8.3, sage-8.4 Aug 3, 2018
@vbraun
Copy link
Member

vbraun commented Aug 5, 2018

Changed branch from u/tmonteil/ticket-25844 to b6aa427

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

6 participants