As things stand right now there seems to exist no method to know what files can be fetched from a portage repository remotely. What I propose is a one line change would allow us that wish to share out our $PKGDIR/All dir via http:// ftp:// or other could do so. This would remote client interfaces not written in python to fetch this file and have an index of what pkgs could be downloaded and installed. This one line change in dyn_package() allows this to happen. echo ">>> Done." + cd ${PKGDIR}/All && /bin/ls -1 *.tbz2 > INDEX cd "${BUILDDIR}" This is mainly useful to embedded@ and would allow us to get past a roadblock with the handling of binary packages.
Dont include this yet please.
Would it be an idea to include sha1 or md5 sums? People using embedde/hardened will probably care to check if the package is changed during the download. Also since many modem users will be interested in binary packages, would it be an idea to pipe it through gzip? echo ">>> Done." - cd ${PKGDIR}/All && /bin/ls -1 *.tbz2 > INDEX + cd ${PKGDIR}/All && sha1sum *.tbz2 | gzip -9 > INDEX.sha1.gz cd "${BUILDDIR}" I know that sha1 is "broken" but do we have any other standard alternatives?
Created attachment 54299 [details] genpkgindex python script which generates a list of packages in a PKGDIR or a dir given on the command line. Requires a recent version of portage that supports nicks updates to portages xpak python module for the getboth() sub function. I will attach at a later time the simple hook/patch to ebuild.sh to allow this script to be automaticly run if FEATURES=genpkgindex is set in the dyn_package() function
I've got an update to this script and would like to bundle it with gentoolkit. Then make FEATURES=genpkgindex which is called post merge
Also note. This format is what I opted for in the end to use with my qmerge rescue/embedded util.
New version parked in gentoolkit/trunk/src/genpkgindex/genpkgindex. Guess I'll wait till gentoolkit is released before coding the feature= part.
Script was released in gentoolkit-0.2.2_pre3 this morning.
This is in stable now. Closing bug.