You do mean "all the distfiles for the installed packages", don't you?jamesm wrote:Hi,
I have a Gentoo install from a month or so ago and I've deployed it to half a dozen or so machines.
I'd like to take a snapshot of the distfiles needed for those machines and store them away.
Is this possible?
you mean emerge -ef worldi92guboj wrote:You do mean "all the distfiles for the installed packages", don't you?jamesm wrote:Hi,
I have a Gentoo install from a month or so ago and I've deployed it to half a dozen or so machines.
I'd like to take a snapshot of the distfiles needed for those machines and store them away.
Is this possible?
In that case, just "emerge -eD world". All the distfiles will be downloaded (except of course, those that need manual fetching because of licensing issues).
No, all the distfiles for the ebuilds in that machine's idea of portage. So if we decide six months from now to install foobarX we'll already have the distfiles for the packages and its dependencies.i92guboj wrote: You do mean "all the distfiles for the installed packages", don't you?
you mean freeze the tree at a certain data AND d/l every src possible in the tree even tho you may/may not use any/all of them?jamesm wrote:No, all the distfiles for the ebuilds in that machine's idea of portage. So if we decide six months from now to install foobarX we'll already have the distfiles for the packages and its dependencies.i92guboj wrote: You do mean "all the distfiles for the installed packages", don't you?
You can certainly do this... But it's an insane amount of distfiles probably.jamesm wrote:No, all the distfiles for the ebuilds in that machine's idea of portage. So if we decide six months from now to install foobarX we'll already have the distfiles for the packages and its dependencies.i92guboj wrote: You do mean "all the distfiles for the installed packages", don't you?
Code: Select all
cd /usr/portage/; find -name '*.ebuild' | while read ebuild; do ebuild=${ebuild/.ebuild/}; echo emerge --nodeps --fetchonly =${ebuild/.\//}; doneGreat! its a good start at least.i92guboj wrote: EDIT
Correction./EDITCode: Select all
cd /usr/portage/; find -name '*.ebuild' | while read ebuild; do ebuild=${ebuild/.ebuild/}; echo emerge --nodeps --fetchonly =${ebuild/.\//}; done
Not tested. But it should work, sit down and wait.
Yep; i92guboj looks like he's given me enough to start the process - but thanks for your help too!Naib wrote: you mean freeze the tree at a certain data AND d/l every src possible in the tree even tho you may/may not use any/all of them?
Well, if it looks like what you want, then just remove the "echo" and the commands will be run, downloading all the stuff.jamesm wrote:Great! its a good start at least.i92guboj wrote: EDIT
Correction./EDITCode: Select all
cd /usr/portage/; find -name '*.ebuild' | while read ebuild; do ebuild=${ebuild/.ebuild/}; echo emerge --nodeps --fetchonly =${ebuild/.\//}; done
Not tested. But it should work, sit down and wait.
Thanks i92guboj!
Code: Select all
cd /usr/portage/; find -type d | while read ebuild; do emerge --nodeps --fetchonly ${ebuild/.\//}; done