I've been working on this for sometime. With the release of the new portage-2.0.49-r2, I thought I would fill out a bug report to see what comments there are about what I'm doing. Basically, I added a new variable to /etc/make.conf called DISTDIRS (ie DISTDIRS="/mnt/cdrw:/mnt/cdr") It still needs work... http://www.cherrynebula.net/projects/gentoo/gentoo.html
Created attachment 16870 [details, diff] Patch to allow multiple DISTDIRs My portage.py-2.0.48-r5-05.diff didn't apply cleanly, but this patch appears to work with the new portage version 2.0.49-r2.
Created attachment 16875 [details, diff] A complete patch for 2.0.49-r2 Whoa, I need to sharpen my CVS skills...this patch actually works.
If this is obsolete, how do you handle mulitple distdirs with portage-2.0.49-r3?
Who said it is obsolete ? Could you redo your patch for -r9 and make it non-reverse (IMO reverse patches are hard to read) ?
Argh, I got an email from bugs.gentoo.org saying "this is obsolete" I thought it was for this bug... Sorry about the reverse patch, the correct on is on my website : www.cherrynebula.net I just downloaded -r9. I'll give it a shot.
Created attachment 18929 [details, diff] A correct diff for 2.0.49-r3
On another note, I've noticed some odd behavior at times when emerging things. I think the logic for resuming/check md5 in my patches need some looking at.
Created attachment 18931 [details, diff] Diff for portage-2.0.49-r9 This should apply cleanly. It is basically the -r3 patch. I did a few emerges (vim, mplayer) to quickly check to verify it works.
Created attachment 19594 [details, diff] Diff for 2.0.49-r13
Local file mirrors added... GENTOO_MIRRORS can be a path.
Great. And how do you use GENTOO_MIRRORS? Even a google didnt' find anything. Putting a 'file://' returns a 'Unsupported scheme.' what would you use for a CD in /mnt/cdrw?
After some looking, it appears that GENTOO_MIRRORS can use http:// or ftp://. This is fine if you want to setup a FTP or HTTP server. I personally don't want to setup a server just to read a CD-ROM. Anyway, go ahead and close this bug; I'm not going to hack on it anymore. More info: http://forums.gentoo.org/viewtopic.php?t=59134
GENTOO_MIRRORS doesnt 'support' anything ... whatever your FETCHCOMMAND supports, GENTOO_MIRRORS 'supports'
to use /mnt/cdrom as a "mirror": GENTOO_MIRRORS="/mnt/cdrom" it's a special case handled by portage
What version of portage do you need for this to work? In /etc/make.conf: GENTOO_MIRRORS="/mnt/cdrom" % ls -l /mnt/cdrom/tcl8.3.4.tar.gz -r--r--r-- 1 root root 2654756 May 11 2003 /mnt/cdrom/tcl8.3.4.tar.gz % sudo emerge tk -f Calculating dependencies ...done! >>> emerge (1 of 2) dev-lang/tcl-8.3.4 to / >>> Downloading /mnt/cdrom/distfiles/tcl8.3.4.tar.gz /mnt/cdrom/distfiles/tcl8.3.4.tar.gz: Unsupported scheme. >>> Downloading ftp://ftp.scriptics.com/pub/tcl/tcl8_3/tcl8.3.4.tar.gz --12:07:57-- ftp://ftp.scriptics.com/pub/tcl/tcl8_3/tcl8.3.4.tar.gz => `/usr/portage/distfiles/tcl8.3.4.tar.gz' Resolving ftp.scriptics.com... 209.17.179.230 % emerge --info Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.6.1) If this is documented somewhere point me in the direction.
According to the Changelog it was included in 2.0.49-r17 and it works here with 2.0.50_pre16: # GENTOO_MIRRORS=/usr/portage/distfiles DISTDIR=/tmp emerge -f gcc Calculating dependencies ...done! >>> emerge (1 of 1) sys-devel/gcc-3.2.3-r3 to / Local mirror has file: gcc-3.2.3.tar.bz2 Local mirror has file: protector-3.2.2-10.tar.gz Local mirror has file: gcc-3.2.3-manpages.tar.bz2 Local mirror has file: gcc-3.2.3-tls-update.patch.bz2
It doesn't work with 2.0.49-r17 and 2.0.50_pre16 hosted my system with errors. Recalculating the counter... FAILED to update counter. !!! This is a problem. >>> Clearing invalid entries in dependency cache...Traceback (most recent call last): File "<string>", line 1, in ? File "/usr/lib/portage/pym/portage.py", line 6264, in ? for y in db["/"]["porttree"].dbapi.xmatch("match-all", x): File "/usr/lib/portage/pym/portage.py", line 4592, in xmatch myval=match_from_list(mydep,self.cp_list(mykey)) File "/usr/lib/portage/pym/portage.py", line 3258, in match_from_list raise KeyError, "Specific key requires an operator (%s)" % (mydep) KeyError: Specific key requires an operator (kde-base/kdelibs-3.2.0_alpha1) cat: /tmp/auxdbkl: No such file or directory Even etc-update doesn't work now... time to downgrade if I can.