Re: [sage-devel] Re: Build system changes in 6.8.beta7
In gentoo, for instance, there is a file that you edit to add the licenses that you accept. That way the package manager knows which packages can be installed and which can't. I don't know if that kind of system would work for sage, but it does work pretty well for gentoo. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
Thank you! Le mercredi 8 juillet 2015 12:41:03 UTC+2, Jeroen Demeyer a écrit : On 2015-07-08 12:37, Han Frederic wrote: with the make method, is there something analogous to ./sage -i -c pkgname ? env SAGE_CHECK=yes make pkgname (in bash, you can drop the env) -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
Le vendredi 3 juillet 2015 09:41:02 UTC+2, Jeroen Demeyer a écrit : Hello all, There were some important changes to the Sage build system in 6.8.beta7: * All logs of running make will appear in install.log, including the logs of the documentation and the Sage library build. Nothing changed for the individual log files. * The documentation can now be built in parallel with packages: if you run make, then all packages will be built and the documentation will be built. Packages which are not required for the documentation might be built at the same time as the documentation. Note that the documentation has a lot of dependencies, so in practice, the documentation will usually be the last thing to finish building anyway. * New-style packages can now be installed with dependency checking by running make pkgname. This applies to all types (standard, optional, experimental). I remind that new-style packages should define dependencies in a build/pkgs/pkgname/dependencies file, this information will be used by make pkgname. I think this should become the recommended way to install packages, while ./sage -i (which does NOT use dependencies) is a more low-level interface, analogous to ./sage -b Hello, with the make method, is there something analogous to ./sage -i -c pkgname ? -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 2015-07-08 12:37, Han Frederic wrote: with the make method, is there something analogous to ./sage -i -c pkgname ? env SAGE_CHECK=yes make pkgname (in bash, you can drop the env) -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 4 July 2015 at 15:19, Julien Puydt julien.pu...@laposte.net wrote: Hi, Le vendredi 03 juil. 2015 à 16:51:19 (+0100), Nathann Cohen a écrit : but this is not interactive and no confirmation is requested. Should it? My understanding is that you do not need to in this situation: the user explicitly asked to install a non-GPL-compatible software, so he is assumed to know what he is doing. Sure, the user specifically asked to install a piece of software ; but did (s)he know it was non-GPL-compatible? Unless there's non-free or some such in the package name, that isn't clear. That was my position -- a package I had installed many times without even bothering to look at its license or even the messages output during the installation, since it was one of several extra packages I often install and do so with a little script. John Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
In any case, I think that the above amendmend of SageMath's install script would make life for package maintainers easier. I am thinking that if we were to add this 'interactive license agreement' to the spkg-install of a non-GPL-compatible package, it could be a problem when that package gets upgraded: now that 'make' also automatically updates optional packages, this would mean that whoever has non-GPL-compatible optional packages installed could not be sure that running 'make' is non-interactive (a possible problem for the patchbots). Actually, it means less than I thought: it is easy in a bash script to check whether a given package is already installed. So we could make this interactive license agreement a requirement only for the first install. Nathnn -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
Hi, Le vendredi 03 juil. 2015 à 16:51:19 (+0100), Nathann Cohen a écrit : but this is not interactive and no confirmation is requested. Should it? My understanding is that you do not need to in this situation: the user explicitly asked to install a non-GPL-compatible software, so he is assumed to know what he is doing. Sure, the user specifically asked to install a piece of software ; but did (s)he know it was non-GPL-compatible? Unless there's non-free or some such in the package name, that isn't clear. Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
Hi All, On 2015-07-04, Julien Puydt julien.pu...@laposte.net wrote: Le vendredi 03 juil. 2015 à 16:51:19 (+0100), Nathann Cohen a écrit : but this is not interactive and no confirmation is requested. Should it? My understanding is that you do not need to in this situation: the user explicitly asked to install a non-GPL-compatible software, so he is assumed to know what he is doing. Sure, the user specifically asked to install a piece of software ; but did (s)he know it was non-GPL-compatible? Unless there's non-free or some such in the package name, that isn't clear. I believe asking the user is not a big deal, and if I understand correctly is a way around that issue. I am just thinking: Isn't it the job of SageMath to know which of its optional/experimental spkgs are GPL compatible and which aren't? If we keep a list of non-compatible spkgs, then an optional spkg would simply list all of its dependencies (regardless whether they are GPL compatible or not), and SageMath's install script would then automatically ask the user for confirmation when first installing a GPL incompatible package. Would it be needed to ask again for an upgrade of a GPL incompatible package? In any case, I think that the above amendmend of SageMath's install script would make life for package maintainers easier. Best regards, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On Friday, 3 July 2015 14:14:24 UTC+1, Jeroen Demeyer wrote: On 2015-07-03 15:10, Volker Braun wrote: If you convey linked gpl and non-gpl code then you must make the source available under terms of the gpl. Writing a script that does it silently is still a form of conveyance on the script author's part. Could be, but then your statement remains true if we remove the word silently, right? this can be construed as as performing a separate action to install non-gpl code the way the non-gpl people want. IMHO, IANAL... -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
The GPL doesn't restrict what you do on your own computer. If __you__ willingly initiate linking of gpl and non-gpl code on your computer, then thats fine (you can't distribute it but that doesn't concern your own computer). But you can only willingly initiate something if you are actually aware of whats about to happen. So at the very least it needs to warn You are irreversibly restricting your freedom and ask for user input. On Friday, July 3, 2015 at 3:14:24 PM UTC+2, Jeroen Demeyer wrote: On 2015-07-03 15:10, Volker Braun wrote: If you convey linked gpl and non-gpl code then you must make the source available under terms of the gpl. Writing a script that does it silently is still a form of conveyance on the script author's part. Could be, but then your statement remains true if we remove the word silently, right? -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 2015-07-03 15:10, Volker Braun wrote: If you convey linked gpl and non-gpl code then you must make the source available under terms of the gpl. Writing a script that does it silently is still a form of conveyance on the script author's part. Could be, but then your statement remains true if we remove the word silently, right? -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 2015-07-03 11:44, Nathann Cohen wrote: one could silently install a non-GPL package without knowing, and that the GPL does not allow that. Why do you think so? I don't see how it could matter at all whether it is done silently or interactively. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
If you convey linked gpl and non-gpl code then you must make the source available under terms of the gpl. Writing a script that does it silently is still a form of conveyance on the script author's part. On Friday, July 3, 2015 at 2:52:24 PM UTC+2, Jeroen Demeyer wrote: On 2015-07-03 11:44, Nathann Cohen wrote: one could silently install a non-GPL package without knowing, and that the GPL does not allow that. Why do you think so? I don't see how it could matter at all whether it is done silently or interactively. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 3 July 2015 at 11:24, Simon King simon.k...@uni-jena.de wrote: Hi, On 2015-07-03, Nathann Cohen nathann.co...@gmail.com wrote: * New-style packages can now be installed with dependency checking by running make pkgname. This applies to all types (standard, optional, experimental). About this, Volker raised an important point: Technically, an optional GPL-compatible package can have a GPL-incompatible package as a dependency, but this *must never happen*. If it did, one could silently install a non-GPL package without knowing, and that the GPL does not allow that. Exactly. And so I wonder what I should do in the case of my group cohomology package. The package itself is GPL. It is not linked against anything non-GPL, but the package can only work if the non-GPL SmallGroups library is installed in GAP. If I understand correctly, this is fine, as long as it is the user who decides to install, say, the database_gap spkg and then installs my package. However, it must not be the case that my package installs database_gap without asking the user. I have installed database_gap many times on many machines, since it is a dependency for the lmfdb project (see https://github.com/LMFDB/lmfdb/blob/master/GettingStarted.md). I have always done this using sage -i database_gap which certainly does not issue any warnings about licenses *before*, it just does it. Near the end of the process ones sees the following: Installing optional GAP databases, which may not be open source. Installing GAP packages to /home/john/sagegit/local/lib/gap-4.7.7/... Please see SPKG.txt for license details. but this is not interactive and no confirmation is requested. Should it? John Or did I misunderstand? Best regards, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
On 2015-07-03 15:55, Volker Braun wrote: The GPL doesn't restrict what you do on your own computer. If __you__ willingly initiate linking of gpl and non-gpl code on your computer, then thats fine (you can't distribute it but that doesn't concern your own computer). But you can only willingly initiate something if you are actually aware of whats about to happen. So at the very least it needs to warn You are irreversibly restricting your freedom and ask for user input. OK, I see your point now. This is something we should do as a courtesy to our users, it's not really required. Jeroen. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
but this is not interactive and no confirmation is requested. Should it? My understanding is that you do not need to in this situation: the user explicitly asked to install a non-GPL-compatible software, so he is assumed to know what he is doing. Apparently we only need a warning if the user installs a GPL-compatible software which (in sage) would trigger the installation of a non-GPL software that the user may not even notice. In this second case, we should make sure that he notices, for instance with an explicit confirmation. Nathann -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
On Friday, July 3, 2015 at 12:41:02 AM UTC-7, Jeroen Demeyer wrote: Hello all, There were some important changes to the Sage build system in 6.8.beta7: * All logs of running make will appear in install.log, including the logs of the documentation and the Sage library build. Nothing changed for the individual log files. * The documentation can now be built in parallel with packages: if you run make, then all packages will be built and the documentation will be built. Packages which are not required for the documentation might be built at the same time as the documentation. Note that the documentation has a lot of dependencies, so in practice, the documentation will usually be the last thing to finish building anyway. * New-style packages can now be installed with dependency checking by running make pkgname. This applies to all types (standard, optional, experimental). I remind that new-style packages should define dependencies in a build/pkgs/pkgname/dependencies file, this information will be used by make pkgname. I think this should become the recommended way to install packages, while ./sage -i (which does NOT use dependencies) is a more low-level interface, analogous to ./sage -b I don't like this: $ make distclean make -j6 configure logs make[1]: `configure' is up to date. mkdir -p logs cd build ./pipestatus \ ./install 'build-clean' 21 \ tee -a ../logs/install.log /Users/palmieri/Desktop/sage-6.8.beta7/src/bin/sage-env: line 434: /Users/palmieri/Desktop/sage-6.8.beta7/local/lib/R/share/Makevars.site: No such file or directory Installing GCC because you have g++ version 4.2.1, which is quite old. Installing GCC because a Fortran compiler is missing. ... Even worse, if 'configure' is not up to date, then running make distclean will try to download a file from the internet. -- John -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
* New-style packages can now be installed with dependency checking by running make pkgname. This applies to all types (standard, optional, experimental). About this, Volker raised an important point: Technically, an optional GPL-compatible package can have a GPL-incompatible package as a dependency, but this *must never happen*. If it did, one could silently install a non-GPL package without knowing, and that the GPL does not allow that. Nathann -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
Hi, On 2015-07-03, Nathann Cohen nathann.co...@gmail.com wrote: * New-style packages can now be installed with dependency checking by running make pkgname. This applies to all types (standard, optional, experimental). About this, Volker raised an important point: Technically, an optional GPL-compatible package can have a GPL-incompatible package as a dependency, but this *must never happen*. If it did, one could silently install a non-GPL package without knowing, and that the GPL does not allow that. Exactly. And so I wonder what I should do in the case of my group cohomology package. The package itself is GPL. It is not linked against anything non-GPL, but the package can only work if the non-GPL SmallGroups library is installed in GAP. If I understand correctly, this is fine, as long as it is the user who decides to install, say, the database_gap spkg and then installs my package. However, it must not be the case that my package installs database_gap without asking the user. Or did I misunderstand? Best regards, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
On Friday, 3 July 2015 12:08:30 UTC+1, Simon King wrote: Hi Nathann, On 2015-07-03, Nathann Cohen nathan...@gmail.com javascript: wrote: Alternatively, and because your package can never become standard (because of this dependency), you can simplify the user's workflow a bit and add an interactive license agreement to you spkg-install file: it would tell the user what is about to happen, have him accept the license, and then install the dependency. Such interactive license agreement would already be there, if I'd know how to write such thing in bash... open a ticket... :-) perhaps this can and should be in Python, as it should work via `$ sage -i ... as well as sage: install_package(... Best regards, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
Such interactive license agreement would already be there, if I'd know how to write such thing in bash... You will find an example at src/bin/sage-spkg. Look for the string You are about to download and install an experimental package. :-) Nathann -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
Hi! On 2015-07-03, Dima Pasechnik dimp...@gmail.com wrote: open a ticket... :-) There is a ticket open for upgrading my spkg already. There have been too many backwards incompatible changes in Sage recently... Cheers, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Build system changes in 6.8.beta7
However, it must not be the case that my package installs database_gap without asking the user. That's also what I understood. You can return an error if the other thing is not installed, but not add the dependency yourself. Alternatively, and because your package can never become standard (because of this dependency), you can simplify the user's workflow a bit and add an interactive license agreement to you spkg-install file: it would tell the user what is about to happen, have him accept the license, and then install the dependency. I think that it can legally work, but I would wait for a confirmation of somebody who knows such matters better than I. Similarly for a non-legal advice about interactive spkg-install. Have fuun, Nathann -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Build system changes in 6.8.beta7
Hi Nathann, On 2015-07-03, Nathann Cohen nathann.co...@gmail.com wrote: Alternatively, and because your package can never become standard (because of this dependency), you can simplify the user's workflow a bit and add an interactive license agreement to you spkg-install file: it would tell the user what is about to happen, have him accept the license, and then install the dependency. Such interactive license agreement would already be there, if I'd know how to write such thing in bash... Best regards, Simon -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.