Hi,

How is the busybox emerge work going?

I *might* be able to give a hand with the busybox emerge this week.

I have been thinking last days at least and have some thoughts.

On Tue, 2005-02-15 at 18:05 +0100, Benjamin Collar wrote: 
> On Tue, 2005-02-15 at 17:54 +0100, Natanael Copa wrote:
> 
> > This would require a comple list of all available packages. I guess a
> > complete portage tree is out of the question for embedded.
> > 
> hmm. i was under the assumption (doh!) that the portage tree was there.

my /usr/portage partition reports approx 200MiB (without the distfiles)

> For this emerge.c, I need to have a better idea of what information is
> actually available. 
> 
> These are the "actions" I've so far defined for the emerge. What would
> be nice to know is, which data do each of these actions need, and where
> is this data found?
> 
> FETCH { needs binhost, exact name & location of package ==> package
> index }

Do we really need the fetch functionality to be built in into emerge? 

This is how I think and pleas correct me when/if I go wrong:

does busybox rpm support fetching?

does busybox dpkg support fetching?

would it be an idea to build a separate program/script that runs on top
of busybox emerge? Something like apt-get running on top of dpkg /rpm.

In many embedded environments will probably a fetch feature be overkill
anyway. Those who really need it could write a script like:

# the package name
PKG=$1

PKG_PATH="http://myserver/myproj/tbz2";
CACHE="/var/cache/gentoo"

# lets say Packages just contains a filelist of available packages
# in the repository
LATEST=$(wget -q -P $CACHE $PKG_PATH/Packages.gz | gunzip -c | \
grep "^$PKG-[0-9].*" )

# do error check here
wget -P $CACHE $PKG_PATH/$LATEST
emerge $CACHE/$LATEST

> UNMERGE { /var/db/pkg/$PN/CONTENTS }
> QUERY I'm not sure yet what this does
> SYNC { sync host. does bb have rsync?? }
> LIST I'm not sure yet what this does
> UPDATE { FETCH }
> CLEAN What files does clean clean up, anyway?
> 
> Ben

In any case, you could probably begin with the "install" part so it is
possible to install packages. When that is working more functionality
can be added.

Anything I could do to help?

--
Natanael Copa



--
[email protected] mailing list

Reply via email to