1 |
We were talking about this on IRC due to the growing concern over |
2 |
patches and other files in ${FILESDIR} in the portage tree. This is |
3 |
basically the idea that we came up with to resolve the problem. |
4 |
|
5 |
The proposal is to get infrastructure to provide a temporary location |
6 |
for developers to upload patches which are necessary to be immediately |
7 |
available to users. This space would be writable by all CVS developers |
8 |
and would be accessible to the world via http. Developers would use |
9 |
this space for temporary storage only for patches which are |
10 |
created/rolled in-house. |
11 |
|
12 |
For the sake of simplicity, I am going to call this server (though it |
13 |
could be any number of servers) patches.gentoo.org for the remainder of |
14 |
this document. |
15 |
|
16 |
Ramereth suggesting using the existing rsync.gentoo.org infrastructure |
17 |
servers for this task. This would simplify replication, since the |
18 |
replication could be done via rsync and use the same schedule as the |
19 |
master portage tree replication. This would ensure that the patches are |
20 |
available at the same time as the ebuild. |
21 |
|
22 |
The developer would use this temporary location as follows: |
23 |
|
24 |
1. developer creates an ebuild which needs a patch |
25 |
2. developer puts SRC_URI="patches.gentoo.org/${P}-$patchname" in the |
26 |
ebuild, at the end of the SRC_URI definition |
27 |
3. developer uploads patch to dev.gentoo.org:/space/patches-local and |
28 |
dev.gentoo.org:/space/distfiles-local |
29 |
4. developer commits ebuild(s) to cvs |
30 |
|
31 |
The patch would replicate to the rsync boxes and would be available via |
32 |
http immediately. |
33 |
|
34 |
Remember that portage tries the Gentoo mirrors in ${GENTOO_MIRRORS} |
35 |
before checking SRC_URI, so once the files hit the community mirrors, |
36 |
the temporary location in SRC_URI would no longer be used. |
37 |
|
38 |
A cron job would be added to the machine to clean out files older than 7 |
39 |
days. This gives the mirrors plenty of time to locally mirror the |
40 |
patches. This also reduces the amount of space required on the machine |
41 |
(s) hosting the files. |
42 |
|
43 |
-- |
44 |
Chris Gianelloni |
45 |
Release Engineering - Operations/QA Manager |
46 |
Games - Developer |
47 |
Gentoo Linux |