On 6/22/07, didier deshommes <[EMAIL PROTECTED]> wrote:
> > 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.

Could you say something about the fact that currently there is no way
to uninstall
a SAGE package, since we don't track what files are actually
installed.  That said,
we definitely *could* implement something simple that stores a list of
all files installed
in the install certificate in the spkg/installed directory.  I'm
thinking of something like
computing a list of all files before then after the install, hence
getting a list of what
was installed (plus a list of files overwritten).   Anyway, I'm just
randomly throwing this
out for comment.  Maybe people who do gentoo/rpm/deb's can make a more
intelligent comment.     For SAGE uninstall isn't a big deal, since essentially
nobody ever wants to uninstall a package.

> 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.

Excellent and clear.  You're really doing an awesome job on this
"coding sprint" project!!

> 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

Cool.

William

--~--~---------~--~----~------------~-------~--~----~
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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to