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

Reply via email to