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