+#! /bin/bash
+
+. `dirname $0`/../config.sh
+
+test -d ${archivedir} || mkdir -p ${archivedir}
+cd ${archivedir}
+
+# Main archive
+#
+if [ -z "${localdir}" ]
+then
+ echo using remote mirror
+ for dist in $dists
+ do
+ foo=\$arch_${dist//-/_}
+ for arch in `eval echo $foo`
+ do
+ test ! "$arch" = "amd64" || continue
+ test ! "$arch" = "kfreebsd-i386" || continue
+ for part in ${parts}
+ do
+ echo retrieve Packages $dist/$part/$arch
+ test -d us/${dist}/${part}/binary-${arch} || mkdir -p us/${dist}/${part}/binary-${arch}
+ (cd us/${dist}/${part}/binary-${arch} &&
+ wget -q -N ${ftpsite}/dists/${dist}/${part}/binary-${arch}/Packages.gz)
+ done
+ #FIXME: no Contents files for p-u
+ test ! "$dist" = "experimental" || continue
+ echo retrieve Contents $dist/$arch
+ (cd us/${dist} &&
+ wget -q -N ${ftpsite}/dists/${dist}/Contents-${arch}.gz)
+ done
+ for part in ${parts}
+ do
+ echo retrieve Sources $dist/$part
+ test -d us/${dist}/${part}/source || mkdir -p us/${dist}/${part}/source
+ (cd us/${dist}/${part}/source &&
+ wget -q -N ${ftpsite}/dists/${dist}/${part}/source/Sources.gz)
+ done
+ done
+else
+ echo using local mirror
+ for dist in $dists
+ do
+ foo=\$arch_${dist//-/_}
+ for arch in `eval echo $foo`
+ do
+ test ! "$arch" = "amd64" || continue
+ test ! "$arch" = "kfreebsd-i386" || continue
+ for part in ${parts}
+ do
+ echo retrieve Packages $dist/$part/$arch
+ test -d us/${dist}/${part}/binary-${arch} || mkdir -p us/${dist}/${part}/binary-${arch}
+ rsync -t ${localdir}/dists/${dist}/${part}/binary-${arch}/Packages.gz \
+ us/${dist}/${part}/binary-${arch}/Packages.gz
+ done
+ #FIXME: no Contents files for p-u
+ test ! "$dist" = "experimental" || continue
+ echo retrieve Contents $dist/$arch
+ rsync -t ${localdir}/dists/${dist}/Contents-${arch}.gz \
+ us/${dist}/Contents-${arch}.gz
+ done
+ for part in ${parts}
+ do
+ echo retrieve Sources $dist/$part
+ test -d us/${dist}/${part}/source || mkdir -p us/${dist}/${part}/source
+ rsync -t ${localdir}/dists/${dist}/${part}/source/Sources.gz \
+ us/${dist}/${part}/source/Sources.gz
+ done
+ done
+fi
+
+# Non-US archive
+#
+for dist in oldstable
+do
+ foo=\$arch_${dist//-/_}
+ for arch in `eval echo $foo`
+ do
+ for part in ${parts}
+ do
+ echo retrieve Packages $dist/$part/non-US/$arch
+ test -d non-US/${dist}/${part}/binary-${arch} || mkdir -p non-US/${dist}/${part}/binary-${arch}
+ (cd non-US/${dist}/${part}/binary-${arch} &&
+ wget -q -N ${nonus_ftpsite}/dists/${dist}/non-US/${part}/binary-${arch}/Packages.gz)
+ done
+ #FIXME: no Contents files for p-u
+ echo retrieve Contents $dist/non-US/$arch
+ (cd non-US/${dist} &&
+ wget -q -N ${nonus_ftpsite}/dists/${dist}/non-US/Contents-${arch}.gz)
+ done
+ for part in ${parts}
+ do
+ echo retrieve Sources $dist/$part/non-US
+ test -d non-US/${dist}/${part}/source || mkdir -p non-US/${dist}/${part}/source
+ (cd non-US/${dist}/${part}/source &&
+ wget -q -N ${nonus_ftpsite}/dists/${dist}/non-US/${part}/source/Sources.gz)
+ done
+done
+
+# security archive
+#
+for dist in oldstable stable testing
+do
+ foo=\$arch_${dist//-/_}
+ for arch in `eval echo $foo`
+ do
+ for part in ${parts}
+ do
+ echo retrieve Packages $dist/$part/security/$arch
+ test -d security/${dist}/${part}/binary-${arch} || mkdir -p security/${dist}/${part}/binary-${arch}
+ (cd security/${dist}/${part}/binary-${arch} &&
+ wget -q -N ${security_ftpsite}/dists/${dist}/updates/${part}/binary-${arch}/Packages.gz)
+ done
+ done
+ for part in ${parts}
+ do
+ echo retrieve Sources $dist/$part/security
+ test -d security/${dist}/${part}/source || mkdir -p security/${dist}/${part}/source
+ (cd security/${dist}/${part}/source &&
+ wget -q -N ${security_ftpsite}/dists/${dist}/updates/${part}/source/Sources.gz)
+ done
+done