1 |
Hi -- |
2 |
|
3 |
I use Gentoo over a dialup, so I'm biased. |
4 |
|
5 |
Is there any work in progress to allow portage to download a patch to an |
6 |
existing source tarball rather than download a new big tarball? This would |
7 |
be mainly useful for big packages -- kernel, XFree, tetex, apache, etc. |
8 |
|
9 |
What I have in mind is some kind of simple dependency (although it doesn't |
10 |
need to be as complicated as make). e.g. for the kernel: |
11 |
|
12 |
linux-2.4.20.tar.bz2 = |
13 |
linux-2.4.19.tar.bz2 + http://www.kernel.org/pub/linux/kernel/v2.4/patch-2.4.20.bz2 |
14 |
|| http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2 \ |
15 |
|
16 |
This would be interpreted as linux-2.4.20.tar.bz2 can be built from |
17 |
linux-2.4.19.tar.bz2 (if it exists) and the specified patch OR you can |
18 |
download linux-2.4.20.tar.bz2 directly. |
19 |
|
20 |
This functionality should be relatively easy to implement and retrofit, say |
21 |
by specifying a SRC_URI_RULES variable in the ebuild and overriding fetch to |
22 |
interpret it. |
23 |
|
24 |
Possible problems: |
25 |
1. md5sums of new vs. old+patch tarballs might be different. |
26 |
2. might make testing ebuilds more complicated if you need to test both new |
27 |
and old+patch tarballs. |
28 |
3. might need some logic to determine when to download patches and when to |
29 |
just download new tarball (i.e. compute minimum download size). However, the |
30 |
heuristic 'always use patches if old tarball exists' is probably good |
31 |
enough, and could easily be overridden by a command line switch to emerge. |
32 |
4. patches might need to be applied in a package specific manner, which |
33 |
would mean (at best) some extra code in the ebuild or (at worst) that this |
34 |
could only be done on a per-package basis. |
35 |
|
36 |
Major advantages: |
37 |
1. Smaller downloads for everyone -- faster and cheaper! |
38 |
2. Gentoo ISOs could include source tarballs rather than binary packages so |
39 |
network-challenged users can feasibly install Gentoo from stage 1 -- only |
40 |
patches would need to be downloaded. |
41 |
|
42 |
Thoughts? I'd really like this implemented, and I think it would make Gentoo |
43 |
an even better distribution. I'm happy to have a stab at implementing it, |
44 |
but it would probably be quicker for an emerge guru to do it (I'm a Ruby |
45 |
person, not a Python person). |
46 |
|
47 |
Regards, |
48 |
|
49 |
Tom |
50 |
|
51 |
-- |
52 |
gentoo-dev@g.o mailing list |