-
-
Notifications
You must be signed in to change notification settings - Fork 479
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
Correctly fix checksums #19984
Comments
Branch: u/vbraun/correctly_fix_checksums |
This comment has been minimized.
This comment has been minimized.
Author: Volker Braun |
Commit: |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:6
wow, |
comment:7
Making Sage 0.1% bigger vs. writing and maintaining your own parser is an easy choice... |
comment:8
it would be good to know whether it is just a pip call away. |
comment:9
It is, but not before we install pip which we download using |
comment:10
Is there a pressing need to have arg parsing before we have pip available? |
comment:11
I also don't get why we need to have in in sage, as it's standard Python:
(and the same with |
comment:12
|
comment:13
Hmm, I presume one doesn't need to fix checksums before Sage's python is up and running. Or rather rely on system's python having argparse. I cannot imagine people on Python 2.6 who must build Sage from source, but cannot update Python, or at least install argparse. |
comment:14
The fixing checksums is just an extra at this point, but of course its almost the same code as checking the checksum. Btw pip itself bundles about 10 required packages because it can't be used to install its own dependencies either. |
comment:15
PS: OSX had Python 2.6 up until the last version, and good luck installing argparse globally without root. |
comment:16
Assuming you deprecate that, I think you'll also have to change http://doc.sagemath.org/html/en/developer/packaging.html#checksums and any other related documentation. |
comment:17
Replying to @vbraun:
I am not worried about OSX users, who of them don't have root? |
comment:18
This should work (it used to work with
|
comment:29
I still think that [comment:18] would be an annoying regression. Adding a new package should be as simple as possible. Requiring to manually add |
comment:30
Its even more annoying to change existing checksums.ini to different tarballs because of some unwritten nameing rule with .bz2 vs .gz. Not to mention being totally broken for some packages, e.g. python2. It would be nice to have an easy way to create a new package, but it shouldn't be mashed into sage-fix-package-checksums. E.g.
could create the package and populate it with template |
comment:31
perhaps more pressing issue is that the current assumptions about package archives namings are too rigid. E.g. Normaliz 3.1.0 has archive named I do not know how to handled this without repackaging. Another example is nauty 2.6, with archives named nauty26... |
comment:32
Agreed, the totally unnecessary naming restrictions are a pain. But the name handling of old-style spkgs is mashed into the new-style name handling code. And there is no testsuite apart from building all packages. So its hard to improve. |
comment:33
What is preventing this to go forward? I don't know - I don't understand the Jeroen's problem (or don't understand it any more). |
comment:34
Jeroen's problem is that this ticket adds an extra step to add a new package. Currently, |
comment:35
On the plus side it actually works whereas the current script does not (e.g. try updating the python2 package #19735) |
comment:36
What exactly should go there in |
comment:37
It just needs to contain
to define (together with package-version.txt) the tarball to use. |
comment:38
So you can use tarballs named not according to Sage "standard" with this ticket? |
comment:39
I'm pretty sure there is more string matching scattered in various scripts to map between package names and tarball filenames, this should be replaced by the single point of truth
However this is future work and not what this package is about. |
comment:40
As soon as there is something in the developer docs that reflects this change, I'd be happy to give it a positive review. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:43
Also adds |
comment:44
the logic behind the latter error message looks as if it parses the current directory, for some reason... It is a feature or a bug? |
comment:45
Bash expands * to all files in the current directory. Usage is:
|
comment:46
My worry is not checking arguments for correctness might lead to screwups.
OK, this particular case is largely innocent, but still. I won't mind if this is addressed on another ticket. |
Reviewer: Jeroen Demeyer, Dima Pasechnik |
Changed branch from u/vbraun/correctly_fix_checksums to |
Add functionality
and deprecate
sage-fix-pkg-checksums
.Also switch to standard argparse instead of reinventing the argument parsing wheel. And improve test coverage.
Component: build
Author: Volker Braun
Branch/Commit:
b1c8a74
Reviewer: Jeroen Demeyer, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/19984
The text was updated successfully, but these errors were encountered: