So, I've made some small progress over the week-end and I now have a
first version of packages both for sunet and pgscsh. Sunterlib is next
on my list, but I'd like to synchronize with Anthony first.
Here is how I've organised things: I have written what I call "patch
kits" for sunet and pgscsh. These are archives which contain:
- all the installation files for the current proposal (i.e.
install-pkg, install-lib*.scm and pkg-def.scm),
- an "sh" script called "patch-package" which makes the package
conform to the proposal.
These should be unpacked in the directory where the packages
themselves were unpacked. Then the "patch-package" script sould be
executed, bringing the package directory in a shape where it conforms
to the current proposal (i.e. with all Scheme code in "scheme", etc.).
>From then on, the package can be installed as explained in the
proposal. Here is a session demonstrating the downloading, patching
and use of sunet:
----------------------------------------------------------------------
[lamppc3 pkg]% wget -O - --quiet --passive-ftp
ftp://ftp.scsh.net/pub/scsh/packages/sunet/sunet-2.0.tar.gz | tar xzf -
[lamppc3 pkg]% wget -O - --quiet
http://lamp.epfl.ch/~schinz/scsh_packages/patch-sunet-2.0.tar.gz | tar xzf -
[lamppc3 pkg]% cd sunet-2.0
[lamppc3 sunet-2.0]% ./patch-package
mkdir scheme
mv ftpd httpd lib packages.scm scheme
mkdir doc/pdf
mv doc/man.pdf doc/pdf/sunet.pdf
ln -s man.html doc/html/index.html
[lamppc3 sunet-2.0]% mkdir /tmp/root /tmp/root/active /tmp/root/installed
[lamppc3 sunet-2.0]% ./install-pkg --root /tmp/root
[lamppc3 sunet-2.0]% export SCSH_LIB_DIRS='"/tmp/root/active"
"/tmp/root/installed"'
[lamppc3 sunet-2.0]% scsh -lel sunet/load.scm
Welcome to scsh 0.6.5 (0.6.6)
Type ,? for help.
> ,open ftp
Load structure ftp (y/n)? y
[scheme-with-scsh]
[netrc /tmp/root/installed/sunet/2.0/scheme/lib/netrc.scm]
[format-net /tmp/root/installed/sunet/2.0/scheme/lib/format-net.scm]
[ips /tmp/root/installed/sunet/2.0/scheme/lib/ip.scm]
[dns /tmp/root/installed/sunet/2.0/scheme/lib/dns.scm]
[handle-fatal-error
/tmp/root/installed/sunet/2.0/scheme/lib/handle-fatal-error.scm]
[sunet-utilities /tmp/root/installed/sunet/2.0/scheme/lib/sunet-utilities.scm]
[crlf-io /tmp/root/installed/sunet/2.0/scheme/lib/crlf-io.scm]
[ftp-library /tmp/root/installed/sunet/2.0/scheme/lib/ftp-library.scm]
[ftp /tmp/root/installed/sunet/2.0/scheme/lib/ftp.scm]
> (define c (ftp-connect "ftp.scsh.net" "anonymous" "anonymous" #t))
> (ftp-ls c)
'("pub")
> (ftp-quit c)
>
Exit Scsh? (y/n)? y
[lamppc3 sunet-2.0]%
----------------------------------------------------------------------
I also wrote this week-end a Fink package for sunet. This package
downloads and applies the patch kit automatically, and then uses
"install-pkg" to perform installation. I'm happy to report that it
works fine, and for now it seems perfectly possible to use our
installation procedure in collaboration with package managers like
Fink. For those who are interested, the Fink package is also on my Web
page (http://lamp.epfl.ch/~schinz/scsh_packages/).
I still have some work to do on the installation library. For example,
it currently doesn't copy symbolic links as such, but duplicates
contents, and that's bad. I also think that I should put some support
to create the "load.scm" files in there. And many other things,
really.
Michel.
|