1 |
On Wed, 2004-10-27 at 15:20, Peter S. Mazinger wrote: |
2 |
> On Wed, 27 Oct 2004, Ned Ludd wrote: |
3 |
> |
4 |
> > I've been thinking about initrd and I'd like to move down that path at some point for my own use. |
5 |
> > Perhaps kernel+busybox for the initd then another partition for packages. |
6 |
> > I'd like to go right from building packages on my own system to dishing (http:// || ftp:// ) them up from my $PKGDIR and installing right to the device when it's mounted +rw. |
7 |
> > Problem I see however with the idea now is that the native portage format is a tad bloated (noman|nodoc|noinfo) all run at the installing phase vs the before packages phase which would force me to put a strip on the runtime device to keep packages small enough. |
8 |
> > So my first goal is to get the dev-portage guys talking with me about redefining/extending the portage binary format a little. |
9 |
> > |
10 |
> > hrmm I guess I'll subscribe to gentoo-portage-dev-subscribe@g.o |
11 |
> > and spark up a conversation. |
12 |
> |
13 |
> Are you thinking of adding subpackaging and/or foreign format support, |
14 |
> like ipkg? |
15 |
|
16 |
I have very simple ways todo ipkg format now that I can share with you if you want to deploy it now. |
17 |
But the topic of binary format handling is a hot topic (but nobody is really talking about it) |
18 |
Guess I'll CC: this to gentoo-portage-dev as my first post. |
19 |
|
20 |
Right now portage only handles the .tbz2 format. This current format poses a few problems for it to really be useful for us on embedded devices. |
21 |
The tarballs contain man files/docs/info pages (lots of bloat to us). None of the ELF's are stripped in the package. |
22 |
Normally on our development systems we don't see these files as they don't get installed to the runtime system because FEATURES="noman noinfo nodoc" are set and this is handled in the dyn_install phase. So in order to get the desired behaviors inside we want it's almost like we need to do. |
23 |
emerge pkg ; quickpkg pkg vs emerge -B package |
24 |
|
25 |
Another problem that exists for us is that embedded systems usually never have python/perl/(your fav scripting lang here) installed. Without python installed I see no easy way to get at the additional package metadata thats joined into the .tbz2 |
26 |
This metadata is what holds the basic info like (what arch is this package for. USE/IUSE etc..) but even half of that is sealed up in a file called environment.bz2 so we have to decompress & extract the entire .tbz2 then parse (not source) the decompressed 'environment' file just to find out if a package is for our ARCH or not. |
27 |
This is by no means very efficient. |
28 |
Also the INSTALL_MASK feature needs work ( http://bugs.gentoo.org/show_bug.cgi?id=67190 ) |
29 |
|
30 |
Now to answer your orig question. |
31 |
ipkg format. This is sorta of a yes & no thing. In order for portage to better support more formats it should have abstraction layers between diff formats. |
32 |
So first we must decide what formats we want to support. |
33 |
I'd think out of the gate we should support the most primitive of these pkg formats which is the classic .tar.gz (.tgz) format for the actual file system data. |
34 |
|
35 |
Note to self: |
36 |
Look at source code for /usr/bin/tbz2tool |
37 |
(busybox emerge binary applet?) |
38 |
|
39 |
> |
40 |
> Peter |
41 |
-- |
42 |
Ned Ludd <solar@g.o> |
43 |
Gentoo (hardened,security,infrastructure,embedded) Developer |