public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Change layout of distfiles
@ 2006-03-06  8:55 Michael Renner
  2006-03-06 12:59 ` Alec Warner
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Michael Renner @ 2006-03-06  8:55 UTC (permalink / raw
  To: gentoo-dev

Hi,

as suggested by Mike in http://bugs.gentoo.org/show_bug.cgi?id=123335, 
here's my proposal for changing the layout of the distfiles tree:


This is the current state:

mirror:/storage/gentoo/data/source/distfiles# ls | wc -l
22543
mirror:/storage/gentoo/data/source/distfiles# ls -l ../ | grep distfiles
drwxr-xr-x   3 gentoo gentoo 950272 Mar  6 06:08 distfiles
mirror:/storage/gentoo/data/source/distfiles#


People who want to browse the files "by hand" are usually stumped by the 
large output (the directory listing lighttpd creates is currently 4.2MB 
in size) and generation of those listings causes an excessive strain on 
the server.

Plus the creation/deletion of files doesn't scale too well on 
filesystems, which store directory entries in linked lists (ext2/3, 
probably the common bsd filesystems), since the list has to be traversed 
for each file deleted/created.

Introducing an additional directory hierarchy should fix this, and is 
the common solution for this problem for various projects, be it debian 
[1], cpan [2], slackware [3], etc.


One migration scenario for a better future:

Create subdirectories named after the first letter of each file and move 
the files in their respective directories.

Either sym- or hardlink the files from the current distfiles 
root-directory to the specific directory where they reside in. (Check 
with the mirror admins first (depending on the chosen linktype) if rsync 
hardlink support is enabled or their web/ftp servers allow/follow symlinks)

Adapt the build scripts so that they look for the files in their new 
location.

Change the scripts which fetch the files for distfiles so that they save 
them under the new location.

Wait a few weeks... (months? years? decades?) until the last user has 
updated and/or a clean upgrade-path exists, which doesn't rely on the 
old file locations.

Drop the sym/hardlinks.


After the change we'd have (with the current set of files) 63 
subdirectories, the largest one containing 1775 files (letter 'g'), 
which is a definitive improvement over the current situation.

Full list can be seen at http://mirror.inode.at/gentoo-listing.txt .


best regards,
Michael Renner - admin of gentoo.inode.at/rsync1.at.gentoo.org

[1] http://debian.inode.at/debian/pool/main/
[2] http://www.slackware.at/data/slackware/slackware/
[3] http://cpan.inode.at/modules/by-authors/id/
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2006-03-07 17:39 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-06  8:55 [gentoo-dev] Change layout of distfiles Michael Renner
2006-03-06 12:59 ` Alec Warner
2006-03-06 16:02   ` Kurt Lieber
2006-03-06 17:26     ` Michael Renner
2006-03-06 17:36       ` Alec Warner
2006-03-06 17:44         ` Simon Stelling
2006-03-06 18:36           ` Alin Nastac
2006-03-06 18:05         ` Daniel Ostrow
2006-03-06 18:18           ` Simon Stelling
2006-03-06 18:45             ` Daniel Ostrow
2006-03-07 12:04               ` Thomas de Grenier de Latour
2006-03-06 18:58             ` Alec Warner
2006-03-07  9:20         ` John Mylchreest
2006-03-07 17:34     ` Marius Mauch
2006-03-06 17:07   ` Michael Renner
2006-03-06 19:18 ` Stuart Herbert
2006-03-06 19:44   ` Alin Nastac
2006-03-06 19:50     ` Jan Kundrát
2006-03-07  5:53       ` Alin Nastac
2006-03-06 19:54     ` Stuart Herbert
2006-03-07  1:56       ` Ciaran McCreesh
2006-03-06 20:51 ` Francesco Riosa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox