[sage-devel] GSoC project: make the Sage build system more distribution friendly
Hi fellow free software science guys! I would like to propose a Google Summer of Code project to make the Sage build system more distribution friendly. I am a Debian developer looking for a co-mentor from Sage and possibly Fedora. We have to figure this out until March 28th, when the mentoring organizations have to submit their applications to Google. Both Fedora [1] and Debian [2] are currently in the process of packaging Sage. It would be beneficial if the changes necessary to make Sage use system libraries would be done in Sage itself to avoid duplicate work. For details, see the project description at the end of this mail. I would mentor this GSoC project, if it is clear that Sage welcomes these changes and someone from Sage becomes a co-mentor. This would ensure that changes are made in a way acceptable by Sage and can be accepted into Sage in the end. It would also be nice to have an additional co-mentor from Fedora who tests the changes on Fedora and gives feedback. So, what do you say? Thoughts about enhancing the build system? Co-maintainer volunteers? Cheers, Tobias Hansen = Project Description = == Description of the project: == The mathematics software system Sage is shipped together with all its dependencies in the form of spkg packages. Linux distributions package the dependencies separately and want to obtain from the Sage website only Sage itself (and possibly patches for dependencies). The Sage build system currently expects all dependencies to be in the form of spkg packages. The idea is to enhance the Sage build system to accept a list of spkg names, for which the spkg is not used, but the libraries provided by the OS are used instead. Given that Sage robustly supports this scenario, it will not be difficult to create a Debian package of Sage. == Deliverables of the project: == - support in Sage for choosing a set of dependencies that are satisfied by the OS instead of spkg's - a Sage Debian package == Desirable skills: == familiarity with shell scripts, makefiles and C libraries == What the student will learn: == - managing a compilation of a large, heterogeneous set of software components to create a user-friendly product - The student will gain equal amounts of insight into the inner workings of both a Linux distribution and an upstream software project. [1] http://fedoraproject.org/wiki/SIGs/SciTech/SAGE [2] http://wiki.debian.org/DebianScience/Sage signature.asc Description: OpenPGP digital signature
[sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Le 16/03/2013 16:57, Tobias Hansen a écrit : == Desirable skills: == familiarity with shell scripts, makefiles and C libraries You forgot python. Snark on #debian-science and #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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Julien Puydt wrote: Le 16/03/2013 16:57, Tobias Hansen a écrit : == Desirable skills: == familiarity with shell scripts, makefiles and C libraries You forgot python. Autotools, C++, Common Lisp / ECL, Cython, Perl, ... ? ;-) Do they know about Sage-on-Gentoo, Jan's Ubuntu PPA, ... ? -leif -- () The ASCII Ribbon Campaign /\ Help Cure HTML E-Mail -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Le 16/03/2013 18:36, leif a écrit : Julien Puydt wrote: Le 16/03/2013 16:57, Tobias Hansen a écrit : == Desirable skills: == familiarity with shell scripts, makefiles and C libraries You forgot python. Autotools, C++, Common Lisp / ECL, Cython, Perl, ... ? ;-) Do they know about Sage-on-Gentoo, Jan's Ubuntu PPA, ... ? Ubuntu's sagemath ppa is a monolithic package, hence has nothing at all to do with Tobias' proposition. The proposition isn't to fork sage to get it into a single distribution, but to modify it with upstream so any distribution can easily package it correctly. Snark on #debian-science and #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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Julien Puydt wrote: Le 16/03/2013 18:36, leif a écrit : Julien Puydt wrote: Le 16/03/2013 16:57, Tobias Hansen a écrit : == Desirable skills: == familiarity with shell scripts, makefiles and C libraries You forgot python. Autotools, C++, Common Lisp / ECL, Cython, Perl, ... ? ;-) Do they know about Sage-on-Gentoo, Jan's Ubuntu PPA, ... ? Ubuntu's sagemath ppa is a monolithic package, I thought that was just meant a first step; don't know its current status, nor the exact future plans. The proposition isn't to fork sage to get it into a single distribution, but to modify it with upstream so any distribution can easily package it correctly. Yep, but that's not an easy task. (We once had modifications for Debian by Tim Dumol IIRC, these have meanwhile been removed.) But if we switch to git, improve Sage's package management (as a first step, split vanilla upstream sources off the spkgs :P ), ... I'd be happy if Sage in whole was more modular / less monolithic; I'm not very optimistic regarding the Sage /library/ though. -leif -- () The ASCII Ribbon Campaign /\ Help Cure HTML E-Mail -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Paulo Andrade has done a ton of work packaging Sage for Fedora (1), which is currently available as an experimental yum repository (2) (1): https://bugzilla.redhat.com/show_bug.cgi?id=877651 (2): http://pcpa.fedorapeople.org/sagemath/sagemath-f18.repo I'm definitely in favor of this, pushing Sage as a standard package into distros would solve quite a few of our distribution problems. Though we are currently preparing to change the spkg system and switch to git at the same time, and I'm not sure if we are going to be finished by the time GSoC starts. Maybe we'll know more after the SageDays-Git next week... -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] GSoC project: make the Sage build system more distribution friendly
On 2013-03-16 17:08, Tobias Hansen wrote: Thoughts about enhancing the build system? I'm not sure whether this project is really feasible. Many people have tried similar things in the past, but somehow never really managed. I think it is *really* hard to do. I think familiarity with build systems (e.g. autoconf/libtool/SCons/distutils/Makefiles) is very important. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Intel MKL
Just a FYI, Intel gave me a license f -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Intel MKL
Just FYI, I received an Linux/OSX Intel MKL license (its closed-source BLAS) for the Sage project . As I've written earlier, I'm planning to make Sage more vendor-agnostic so we don't have ATLAS hardcoded everywhere. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Documentation Building
Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. I am now confused about how to build the file with changes I have made to it. This is on sage-5.8.beta3 on Ubuntu 12.04. Any help would be appreciated. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: GSoC project: make the Sage build system more distribution friendly
Am Samstag, 16. März 2013 20:57:13 UTC+1 schrieb leif: Julien Puydt wrote: The proposition isn't to fork sage to get it into a single distribution, but to modify it with upstream so any distribution can easily package it correctly. But if we switch to git, improve Sage's package management (as a first step, split vanilla upstream sources off the spkgs :P ), ... Is splitting the vanilla upstream sources off planned? That would be very helpful for distributions. Another helpful thing would be a clear distinction between fixes/adjustment to the library and Sage glue, because we need all the Sage glue, but want to decide ourselves which other patches to apply. Another thing are patch headers. Sometimes I can't find out what a patch in a spkg does, for example I found patches that just move a few lines of code somewhere else. I can't apply a patch when I don't know what it does. In Debian we have this specification for patch headers to document what they do: http://dep.debian.net/deps/dep3/ I'd be happy if Sage in whole was more modular / less monolithic; I'm not very optimistic regarding the Sage /library/ though. What do you mean with the Sage /library/? -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: Documentation Building
On Saturday, March 16, 2013 3:19:46 PM UTC-7, KnS wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. Did you run sage -b? -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] Re: Documentation Building
Oh, yes! I did! On Sun, Mar 17, 2013 at 5:28 AM, John H Palmieri jhpalmier...@gmail.comwrote: On Saturday, March 16, 2013 3:19:46 PM UTC-7, KnS wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. Did you run sage -b? -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: Documentation Building
Can you tell us the precise commands you used? Did you run sage -docbuild all html On Saturday, March 16, 2013 6:19:46 PM UTC-4, KnS wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. I am now confused about how to build the file with changes I have made to it. This is on sage-5.8.beta3 on Ubuntu 12.04. Any help would be appreciated. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sage-devel] Re: Documentation Building
Kannappan Sampath wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date.. I am now confused about how to build the file with changes I have made to it. Did you probably clone the Sage library and edited the wrong branch? (devel/sage is always a symlink to the current branch; 'sage -branch' shows the [name of the] current branch; 'sage -b name' switches [back] to branch name.) -leif This is on sage-5.8.beta3 on Ubuntu 12.04. Any help would be appreciated. -- () The ASCII Ribbon Campaign /\ Help Cure HTML E-Mail -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] Re: Documentation Building
Oops... May be I should be a little more precise: 1. I added to the index.rst in reference/logic -- the logicparser file by adding the line sage/logic/logicparser at the appropriate place. 2. I edited the file sage.logic/logicparser.py 3. On the terminal, sage -docbuild reference/logic html 4. HTML documentation created but none of the edits I made are there. 5. I commit and rebuild sage by using ./sage -b 6. On the terminal, sage -docbuild reference/logic html. Now, I see that no targets are out of date... I am absolutely lost still... On Sun, Mar 17, 2013 at 6:11 AM, Volker Braun vbraun.n...@gmail.com wrote: Can you tell us the precise commands you used? Did you run sage -docbuild all html On Saturday, March 16, 2013 6:19:46 PM UTC-4, KnS wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. I am now confused about how to build the file with changes I have made to it. This is on sage-5.8.beta3 on Ubuntu 12.04. Any help would be appreciated. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] Re: Documentation Building
Try sage -docbuild all html and see if it gets picked up. The two-step docbuild process might need that once if a new file is added. On Saturday, March 16, 2013 9:04:46 PM UTC-4, KnS wrote: Oops... May be I should be a little more precise: 1. I added to the index.rst in reference/logic -- the logicparser file by adding the line sage/logic/logicparser at the appropriate place. 2. I edited the file sage.logic/logicparser.py 3. On the terminal, sage -docbuild reference/logic html 4. HTML documentation created but none of the edits I made are there. 5. I commit and rebuild sage by using ./sage -b 6. On the terminal, sage -docbuild reference/logic html. Now, I see that no targets are out of date... I am absolutely lost still... On Sun, Mar 17, 2013 at 6:11 AM, Volker Braun vbrau...@gmail.comjavascript: wrote: Can you tell us the precise commands you used? Did you run sage -docbuild all html On Saturday, March 16, 2013 6:19:46 PM UTC-4, KnS wrote: Hello! While working on a ticket, I did the following: I made two changes: added a new file to an index.rst and edited the file I added. Then, without committing, I built the documentation. The documentation was built but no changes I made was incorporated. I then committed the changes. But, now, when I try to build, it says no targets are out of date. I am now confused about how to build the file with changes I have made to it. This is on sage-5.8.beta3 on Ubuntu 12.04. Any help would be appreciated. -- 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+...@googlegroups.com javascript:. To post to this group, send email to sage-...@googlegroups.comjavascript: . Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sage-devel] Re: Documentation Building
On Saturday, March 16, 2013 8:00:30 PM UTC-7, Volker Braun wrote: Try sage -docbuild all html and see if it gets picked up. The two-step docbuild process might need that once if a new file is added. You could also do (from SAGE_ROOT): 'rm -rf devel/sage/doc/output' first, then 'sage --docbuild all html'. -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.