sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.33k stars 453 forks source link

A sage-sanity-check-package using the 'spkg-src' scripts #18826

Closed 6bdad4c1-1e26-4f2f-a442-a01a2292c181 closed 2 years ago

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago

Hello everybody,

This branch adds a "sage-sanity-check-package" script that uses the 'spkg-src' scripts. The goal is to have an easy way to check, when a new-style package gets udpated, that the new package is precisely "spkg-src" builds.

Right now our 'spkg-spkg' scripts all do different things. In order to use 'spkg-src' scripts in an automatic way, I made the following assumption:

Currently, almost none of our packages satisfy those assumptions (*).

What would you think of having a script like that? That would 'normalize' the situations of our spkg-src scripts, and we will solve the many inconsistencies in our packaging. That will also make sure that everything we do on a package is listed by the spkg-src script.

Have fun,

Nathann

() Some seem to, but then they are named file.tar.gz while the file is not gzipped. Or else the file in upstream/ is not exactly what is in checksum.ini. Or spkg-src downloads the latest version* instead of the one whose version is hardcoded in checsksums.ini. You get the picture.

Component: build

Branch/Commit: public/18826 @ 5372942

Reviewer: Kwankyu Lee

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

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago
comment:47

What do we do with this? Do we continue, or do we close this as wontfix?

jdemeyer commented 9 years ago
comment:48

Continue I would say, but at the moment I don't have much time for this...

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago
comment:49

Continue I would say, but at the moment I don't have much time for this...

What would you say that we have to do?

I can write the doc, perhaps? And explain the different assumptions?

Also, you said that there was a trick for this problem with running autotools on different machines?

Nathann

jdemeyer commented 9 years ago
comment:50

Replying to @nathanncohen:

Also, you said that there was a trick for this problem with running autotools on different machines?

If the Sage autotools package is installed, it should produce the same output on all systems. So, ideally, spkg-src should call $SAGE_LOCAL/bin/auto(re)conf instead of "plain" auto(re)conf (which a suitable error message of the form "please install the autotools package").

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago
comment:51

If the Sage autotools package is installed, it should produce the same output on all systems. So, ideally, spkg-src should call $SAGE_LOCAL/bin/auto(re)conf instead of "plain" auto(re)conf (which a suitable error message of the form "please install the autotools package").

Okay, that's a good news. Should I start writing the doc, or do you see a reason why we should not do it at the moment?

frederichan-IMJPRG commented 9 years ago
comment:52

Replying to @nathanncohen:

Nathann, more seriously: can we please not change so many spkg-src scripts on this ticket? I would really prefer to change just one or two as an example and leave the rest for a follow-up ticket.

I don't mind. It is just very very hot in england right now, and that's the only thing I am able to do. So I stop trying to fix giac.

Hello, I am working on an updtate for giac spkg here #18841. Do you prefer that I try to follow your instructions for spkg-src in #18841 or in this ticket?

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago
comment:53

I am working on an updtate for giac spkg here #18841. Do you prefer that I try to follow your instructions for spkg-src in #18841 or in this ticket?

Don't bother with that for the moment. Write a clean spkg-src if you can (trusting your own idea of what it should do), but what is going on here is far from being merged, so don't let it add more work on your heap.

Nathann

frederichan-IMJPRG commented 9 years ago
comment:54

Thank you, so now I'd rather keep my checksum.ini unchanged to not bother someone who had already built the package. So I have just put a comment to remind to switch from gz to bz2 and made other modifications such that spkg-src passes you current sage-sanity-check-package test.

jdemeyer commented 9 years ago
comment:55

Let me weaken

  1. The script should not change any file (not even temporary) outside $SAGE_DISTFILES.

to

  1. Apart from temporary files, the script should not change any file outside $SAGE_DISTFILES. Using build/pkgs/pkgname or $SAGE_ROOT/tmp as temporary directory is fine, but all temporary files should be deleted when the script is finished.
6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 9 years ago
comment:56

Hello,

Is everybody waiting for this ticket to get forgotten, or do we make something happen?

Nathann

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

5372942trac #18826: Merged with 6.8.rc0
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from ef3d7c4 to 5372942

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 8 years ago
comment:58

Close to anniversary.

mkoeppe commented 2 years ago

Changed author from Nathann Cohen to none

mkoeppe commented 2 years ago
comment:59

I think this can be closed as obsolete

kwankyu commented 2 years ago
comment:60

It seems so.

kwankyu commented 2 years ago

Reviewer: Kwankyu Lee