If you're using a similar downloads/index.php script as we
do, there is also an option (3):
While reading the directory tree, the script counts the
number of ZIPs and compares it against a file named "package.count". So, what we've been doing when we wanted to keep a new
release "hidden" for a while is simply rename package.count into
package.count.orig -- as a consequence, the downloads would silently
sit there for getting mirrored, but not be announced on the index.php
Personally, I also find Denis' option (1) superior and will
likely implement it (any shellscript / crontab entry of anybody who's already
done it would be appreciated).
Martin Oberhuber, Senior Member of Technical
Staff, Wind River
Target Management Project
Lead, DSDP PMC Member
We're planning a substantial disk capacity
increase this quarter by adding a new disk array for the
download.eclipse.org/archive.eclipse.org files, and to store the
build.eclipse.org/CommonBuild working directories.
With this upgrade,
our ability to freeze the download.eclipse.org content will no longer
be. We currently use rsync to mirror the download files from one server to
another, but with our large downloads tree, this technique is not only
inefficient, but it has a performance impact on everything else.
major releases such as Galileo, we will need to substitute our usual content
freeze by simply not publishing links to newly uploaded files for some
time. For most projects, this is simply a matter of delaying a page
commit for 24 hours, letting the new files sit silently while no links are
published. However, some projects use PHP to dynamically read the
directory structure and show links for files the minute they appear.
This is problematic, and this is the reason we started doing freezes in the
If your project's download page reads the directory
structure, you will need to discontinue this approach. Here are
two proposed alternatives, in the order of my preference:
1. Keep your
current 'dynamic' PHP page, but use it to generate a static HTML version of
the download page every X hours via a cronjob. The static HTML version
of your page becomes your main download page. The added bonus is each
hit to your (static) downloads page no longer generates multiple disk accesses
for reading directory structures.
2. You alter your current PHP page to
examine the date/time of the files, and only display files older than X
hours. The problem here is that your page is still wastefully inspecting
directory contents for each hit. Furthermore, if the date/time of a file
is mangled somehow (for instance, you upload with rsync -t to preserve times),
the files on download.eclipse.org may appear to be older than they
Option 1 is not only superior, but it's also likely the one that
will require less work. It could be as easy as a) rename index.php to
something.php b) add 'wget' cronjob to dump the HTML output of
something.php to index.php c) carry on normal activities.
don't yet have a definitive date for the upgrade, but we're expecting it to
happen on a weekend before the end of March. As always, if your download
pages need to be fixed, we're here to help you find a solution to make this
work. Feel free to open a bug and CC webmaster@xxxxxxxxxxx.