[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

patch to avertise ftpsync on mirror pages



Hi,

Following the replacement of the old anonftpsync by the new ftpsync
script set by Joerg Jaspert [0], the mirror section on the Debian
website [1] has to updated to reflect this change.

Please find attached a patch against the webml tree fixing that (but not
the push_server.wml file, not yet done because reading the README should
be sufficient for that IMHO).

You can find a build version of the patched pages at [2]

Thanks for your feedback.

[0] http://lists.debian.org/debian-mirrors-announce/2008/11/msg00001.html
[1] http://debian.org/mirrors/
    http://debian.org/mirrors/ftpmirror
    http://debian.org/mirrors/push_mirroring
[2] http://teubr.eu.org/~spaillar/debian/webwml/english/mirror/ftpmirror.en.html
    http://teubr.eu.org/~spaillar/debian/webwml/english/mirror/push_mirroring.en.html
    http://teubr.eu.org/~spaillar/debian/webwml/english/mirror/official.en.html#criteria

-- 
Simon Paillard
Index: push_mirroring.wml
===================================================================
RCS file: /cvs/webwml/webwml/english/mirror/push_mirroring.wml,v
retrieving revision 1.16
diff -u -r1.16 push_mirroring.wml
--- push_mirroring.wml	22 May 2008 21:43:55 -0000	1.16
+++ push_mirroring.wml	19 Jan 2009 23:12:32 -0000
@@ -55,7 +55,7 @@
 </p>
 
 <p>To become a push client for the FTP archive, you will need to set up
-mirroring using our standard <a href="anonftpsync">anonftpsync</a> script,
+mirroring using our standard <a href="ftpmirror#how">ftpsync</a> script set,
 with some modifications. Edit the section of the script marked for
 password-protected configurations to uncomment the inclusion of the
 file <a href="ftpsync.conf">ftpsync.conf</a>.
Index: official.wml
===================================================================
RCS file: /cvs/webwml/webwml/english/mirror/official.wml,v
retrieving revision 1.19
diff -u -r1.19 official.wml
--- official.wml	10 Oct 2007 16:53:38 -0000	1.19
+++ official.wml	19 Jan 2009 23:12:33 -0000
@@ -88,24 +88,9 @@
                 proliferation of secondary mirrors.
             </li>
         </ul></li>
-    <li>The mirror should be updated with <a href="anonftpsync">anonftpsync</a>,
-        a script which provides these important functions:
-        <ul>
-          <li>It uses rsync and preserves time stamps of mirrored files, so
-              that the times on files (UTC) match those on the rest of the
-              mirror network.</li>
-          <li>An additional timestamp file with the name of the mirror in the
-              <kbd>project/trace/</kbd> subdirectory of the mirror needs to exist.
-              <br />
-              This means running
-              <kbd>date -u &gt; .../debian/project/trace/<var>your.server</var></kbd>
-              after your daily rsync is finished.
-              <br />
-              It's trivial to set up, doesn't waste much resources, but is useful
-              in order to maintain a trace of mirroring.</li>
-          <li>The <kbd>/doc</kbd> tree and the <kbd>/project</kbd> tree
-              need to be mirrored.</li>
-        </ul></li>
+    <li>The mirror should be updated with <a href="http://ftp-master.debian.org/ftpsync.tar.gz";>ftpsync</a>,
+        a script which provides <a href="$(HOME)/mirrors/ftpmirror">many required functions</a>.
+    </li>
     <li><a href="push_mirroring">Push mirroring</a> needs to be set up; feel free
 	to contact us to get in touch with the maintainer of another mirror.</li>
 </ul>
Index: ftpmirror.wml
===================================================================
RCS file: /cvs/webwml/webwml/english/mirror/ftpmirror.wml,v
retrieving revision 1.64
diff -u -r1.64 ftpmirror.wml
--- ftpmirror.wml	7 Mar 2008 17:58:56 -0000	1.64
+++ ftpmirror.wml	19 Jan 2009 23:12:33 -0000
@@ -98,8 +98,13 @@
 
 <toc-add-entry name="how">How to mirror</toc-add-entry>
 
-<p>The recommended method of mirroring is with
-the so called <a href="anonftpsync">anonftpsync</a> script.</p>
+<p>The recommended method of mirroring is with the so called ftpsync scriptset,
+available in two forms:</p>
+<ul>
+    <li>as a tarball from <url "http://ftp-master.debian.org/ftpsync.tar.gz";></li>
+    <li>as a git repository: <kbd>git clone https://ftp-master.debian.org/git/archvsync.git</kbd></li>
+</ul>
+
 
 <p>The mirroring protocol which we recommend is
 <a href="http://packages.debian.org/stable/net/rsync";>rsync</a>.</p>
@@ -111,34 +116,43 @@
 
 <h3>rsync setup</h3>
 
-<p>We recommend to use <a href="anonftpsync">this script</a> to mirror the archive.
-Follow the directions in the script to set up mirroring.</p>
+<p>We recommend to use <a href="http://ftp-master.debian.org/ftpsync.tar.gz";>the ftpsync scriptset</a> to mirror the archive.
+Follow the README file included to set up mirroring.</p>
 
-<p>Here is some advice for those who prefer different methods:</p>
+<p>If you do use your own scripts, the minimal functionality that must be 
+supported is as follows:</p>
 
 <ul>
+   <li><p>MUST perform a 2-stage sync</p>
+   <p>The archive mirroring must be done in 2 stages. The first rsync run
+   must ignore the index files.  The correct exclude options for the 
+   first rsync run are:</p>
+   <kbd>--exclude Packages* --exclude Sources* --exclude Release* --exclude ls-lR*</kbd>
+   <p>The first stage must not delete any files.</p>
+   <p>The second stage should then transfer the above excluded files and
+   delete files that no longer belong on the mirror.</p>
+
+   <p>Rationale: if archive mirroring is done in a single stage, there will be
+   periods of time during which the index files will reference files not
+   yet mirrored.</p>
+   </li>
+
+   <li><p>MUST not ignore pushes while running (for <a href="push_mirroring">push mirroring</a>).</p>
+   <p>If a push is received during a run of the mirror sync, it MUST NOT
+   be ignored.  The whole synchronization process must be rerun.</p>
+
+   <p>Rationale: most implementations of Debian mirror scripts will leave the
+   mirror in an inconsistent state in the event of a second push being
+   received while the first sync is still running.  It is likely that in
+   the near future, the frequency of pushes will increase.</p>
+   </li>
+
   <li>Run rsync with at least these options: <kbd>--recursive --times
       --links --hard-links --delete</kbd>.</li>
 
-  <li>Avoid mirroring index files (Packages, Sources, etc) before
-      all the new data files (.deb, .orig.tar.gz, etc) are in place.
-      Use two stages of rsync &mdash; first transfer the data files while
-      excluding the index files, and then transfer everything else.
-      <br/>
-      This can be done by using <kbd>--exclude</kbd> to skip Packages*,
-      Sources* and Release* files, or by using only the pool/ subdirectory
-      in the first stage.
-      See <a href="anonftpsync">our script</a> for an example.</li>
-
   <li>If you have extra disk space, also use the <kbd>--delete-after</kbd>
       option to avoid some of the temporary update problems.</li>
 
-  <li>If you don't have enough disk space to mirror everything, use the
-      <kbd>--exclude</kbd> option to exclude portions of the archive from
-      mirroring. Commonly this includes various architectures you might not
-      want, because they take up a lot of space.
-      Please see the <a href="#partial">section on partial mirroring</a>.</li>
-
   <li>After rsync is done mirroring, add a time stamp file to the
       <code>project/trace/</code> subdirectory of the Debian mirror
       named after your server. This means running
@@ -150,10 +164,6 @@
       users.
       Especially <tt>project/trace</tt> helps very much if there are any mirror issues.</li>
 
-  <li>Usually the upstream rsync servers will allow anonymous access.
-      In case they require authentication, set up usernames and passwords
-      in your script, either via the RSYNC_PASSWORD environment variable,
-      or using the <kbd>--password-file</kbd> option.</li>
 </ul>
 
 <toc-add-entry name="partial">Partial mirroring</toc-add-entry>
@@ -162,7 +172,7 @@
 some people prefer to mirror only parts of it they need. If you want to
 exclude something, you should exclude architectures.</p>
 
-<p>With <a href="anonftpsync">anonftpsync</a>, this can be done by
+<p>With the recommended <a href="http://ftp-master.debian.org/ftpsync.tar.gz";>ftpsync</a>, this can be done by
 editing the ARCH_EXCLUDE variable.</p>
 
 <p>We strongly advise against excluding the <tt>project/</tt>, <tt>doc/</tt>
@@ -183,8 +193,8 @@
 
 <toc-add-entry name="when">When to mirror</toc-add-entry>
 
-<p>The main archive gets updated twice a day.
-The mirrors commonly start updating around 9:00 and 21:00 (both times UTC),
+<p>The main archive gets updated four times a day.
+The mirrors commonly start updating around 3:00, 9:00, 15:00 and 21:00 (all times UTC),
 but these are never fixed times and you should not fixate your mirror on them.</p>
 
 <p>We recommend mirroring once every day. Mirroring more often than twice a

Reply to: