On 6/18/07, Nick Alexander <[EMAIL PROTECTED]> wrote: > > "didier deshommes" <[EMAIL PROTECTED]> writes: > > > On Jun 1, 10:59 am, "William Stein" <[EMAIL PROTECTED]> wrote: > >> package_dir > >> spkg-install -- (required) shell script run to install the package > >> spkg-rebuild -- (optional) download latest version of package from > >> web page and recreate the src directory > >> spkg-check -- (optional) runs the packages test suite after > >> spkg-install succeeds > >> README.txt -- (optional) what used to be SAGE.txt > >> /patches -- (optional) any files needed by spkg-install for > >> patching > >> /src -- (warning if not there) exact copy of what > >> is available > >> at some website. > >> /.hg -- (optional) mercurial repository that has > >> spkg-install, spkg-rebuild, > >> spkg-check, README.txt and all contents > >> of patches. > >
> This is unbelievably cool. I just had to hard reinstall IPython > because I hacked it too hard and couldn't hg revert to the previous > revision. A little tutorial on how one hacks a SAGE package would > really help developers such as Dave Saunders, who is working on > linbox_wrap, too. I'm not sure how to write this since it seems to be so "easy" to me. I'll start from the begining, ie I won't worry about dumbing it down too much and stating obvious things. Q: what is a SAGE package? A: A SAGE package (spkg) is a script that builds an install a piece of software for your SAGE installation. Thus an spkg usually has 2 things in it: - The source code of the software - The script that will build and install the software into SAGE. Q: What does one look like? A: Look in SAGE_ROOT/spkg/standard and you'll find a bunch of files with .spkg extensions. For example box-1.0.spkg might be a package living there. An spkg is just a tar ball. If you decompress box-1.0.spkg, you'll see something that looks like this: box-1.0/ spkg-install -- (required) shell script run to install the package spkg-check -- (optional) runs the packages test suite after spkg-install succeeds SAGE.txt -- Any modification done to the src/ directory are recorded here /patches -- (optional) any files needed by spkg-install for patching /src -- the software that has to be installed. /.hg -- A mercurial repository that has spkg-install, spkg-rebuild, spkg-check, SAGE.txt and all contents patches. Q: What's new about this format? What's all the fuss about? A: It was decided that: -- Having the installation scripts under version control would be a good idea for people that have to make and modify spkg's frequently. -- Separating source code and installation scripts would would keep us from the temptation of forking other projects. I also think this will force us --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---