Gentoo Archives: gentoo-dev

From: Caleb Shay <caleb@××××××××.com>
To: Gentoo-Dev <gentoo-dev@g.o>
Subject: [gentoo-dev] torrent support in portage
Date: Mon, 14 Apr 2003 20:14:26
Message-Id: 1050351263.19545.20.camel@chinstrap.penguins.homeunix.net
I've been giving a lot of thought about how to deal with things like the
mirror rush we had when kde-3.1 was released, and we got downgraded to
second-class citizens on ibiblio :), or releases of new ISOs.  I think
I've come up with a workable solution, easy to implement in portage, but
it would require an infrastructure addition.  We could add bittorrent
(http://bitconjurer.org/BitTorrent/) support for larger packages.  I say
larger packages, because bittorrent doesn't work well for small files. 
Here is what I envision it entailing.

A bittorrent server (this is the infrastructure part), that maintains
torrents of the larger packages (I define larger as 20MB+), such as
XFree.

Additional FEATURE:
bittorrent

Additional var in ebuilds:
TORRENT_URI=http://torrent.gentoo.org/${A}.torrent

(though, seeing as how we already have the file name, and therefore, the
torrent file name, it could just as easily be HAS_TORRENT=1, or maybe we
just maintain a database of which packages have torrents available that
portage checks)

What happens now is, if the user has the bittorrent FEATURE enabled, AND
has bittorrent installed (much like what is required to use the ccache
feature), and the package has a torrent available, we can then use
btdownloadheadless.py or btdownloadcurses.py to download the file (ie,
btdownloadheadl.py --url http://torrent.gentoo.org/${A}.torrent --saveas
/usr/portage/distfiles/${A}).  This takes load off of the download
mirrors, and helps everybody achieve maximum bandwidth while
downloading.

Any thoughts?

Cheers,

Caleb Shay
caleb@××××××××.com




--
gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] torrent support in portage "James H. Cloos Jr." <cloos@×××××××.com>
Re: [gentoo-dev] torrent support in portage "Robin H.Johnson" <robbat2@g.o>