OK,
So I thought that implementing ipkg as a shell script was a cute
little idea back when it was 3kB and was already providing quite a bit
of functionality. However, it's now grown to 17kB+, it's getting slow,
and some of the most important features are getting hard to
implement. :(
So, I've decided to rewrite things in C, (looking toward 0.5?).
The great news is that I have taken a look at udpkg and it will
provide the *ideal* base for this. udpkg is a stripped-down dpkg that
is part of Debian boot-floppies. I really wish I had heard of udpkg
before I started -- could have saved me some work. udpkg weighs in at
about 10kB compiled right now and provides the functionality of "dpkg
-i", "dpkg -r", "dpkg --unpack" and "dpkg --configure". It also has
some limitations, (almost the same set of limitations as the current
ipkg):
* Full dependency checking is not supported. In
particular, udpkg does not support:
- Pre-depends
- Versioned depends
- Alternate depends (udpkg forces the first one to
be used)
- Versioned provides (not currently in policy)
- Conflicts and replaces
The big bonus with udpkg is that it already supports virtual packages!
There is some functionality in ipkg that is not in udpkg, primarily
the downloading of packages from a repository.
I'll probably maintain command-line compatibility with the current
ipkg. I'll either shift ipkg entirely over to a C program based on
udpkg, or perhaps use dpkg mostly unchanged, and call it from the ipkg
shell script. I'm not sure which yet.
Just thought I'd let everyone know my thoughts on where I want to go
with this. I'd be interested in any comments/suggestions. I'll also
ping the udpkg maintainers before I dig into this code.
-Carl
PS. I should note that there will probably not be a space saving from
going to udpkg. udpkg will have to grow before it does everything ipkg
does, and it will also not compress as well as ipkg, (which currently
gzips down to about 5kB). Still, I guess I'll still be well under 3
digits... :-)
Received on Thu May 24 08:08:53 2001
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:38:25 EDT