> > Should we maybe start a sub-project to work on a new packaging format?
I've
> > got a lot of various ideas on possible formats and features, but no time
to
> > play with them :<
>
> I have a strong faith in the current format - even if we package up
> "newfangledsoftware 2.2.2" as a *.lrp with glibc 2.0, it'll still work
> in that LRP 2.9.4 somebody's running.

Most of the feature issues can be cobbled around by adding more
<package>.whatever files to the package format, but I'd REALLY like to have
a way of cryptographically signing packages, in preperation for making
trusted downloading of packages an available feature at runtime.  It may
*just* be possible to do this with a single tar.gz file, but it will be
tricky at best...somehow, the cryptographic signature needs to be calculated
on the existing package file (probably the tar file before gzipping), then
tacked on the end somehow, without changing the existing file contents.  It
may be possible to create a tar file, sign that file, then add the signature
to the end of the tar file before gzipping.  I don't know enough about the
tar format to know if appending a file to the end will change any of the
previous bytes, but if not, some sort of cumbersome but workable solution
could probably be reached...

I still think it'd be easier to just define a package header/footer that
would include the crypto sig (if present), and manipulate this with dd.  A
default generic header (no crypto sig...minimal information) could be used
if you weren't signing the package, and would only take as many bytes as we
decide a minimal "leaf" package header needs to be (probably some sort of ID
tag, and a minimal vesion/size field...probably 4-16 bytes).

I'm also considering supporting alternate compression schemes, for package
data (I'm specifically thinking of the UPX algorithms).  I like UPX because
of it's asymetry...it compresses better than gzip -9, but it's much slower
at compressing than expanding.  Just the thing for an older system that's
typically uncompressing packages much more often than creating them.  For
grins, throw a bootable Oxygen floppy into a 486 system and see how long it
takes to de-compress all the packages...

> If we add a new file (*.desc) to the /var/lib/lrpkg directory, the
> package STILL works in that LRP 2.9.4 ...

I'm not real concerned about this form of backwards compatability.  Any new
package system should be able to LOAD existing packages (not hard, as long
as gzip and tar are still around), but I don't think it's a requirement that
old systems be able to use new packages.  When I make the switch to 2.4
kernels, glibc will get updated to the latest version as well, rendering
most of the code useless for the bulk of existing 2.0 glibc installs.  At
the same time, I'd like to see some sort of versioning or dependancies built
into the packaging system, so it's at least possible to identify the
libraries a particular package requires to run properly.

Charles Steinkuehler
http://lrp.steinkuehler.net
http://c0wz.steinkuehler.net (lrp.c0wz.com mirror)



_______________________________________________
Leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to