diff --git a/mirror-nixos-isos.sh b/mirror-nixos.sh
similarity index 55%
rename from mirror-nixos-isos.sh
rename to mirror-nixos.sh
index b81a22f..e30d74a 100755
--- a/mirror-nixos-isos.sh
+++ b/mirror-nixos.sh
@@ -1,48 +1,51 @@
#! /bin/sh -e
-# This script downloads the latest NixOS ISO images from the "tested"
-# view in Hydra to $mirrorDir (http://nixos.org/releases/nixos).
-
+viewUrl=http://hydra.nixos.org/view/nixos/tested/latest-finished
+releasesDir=/data/releases/nixos
+channelLink=/data/releases/nixos/channels/nixos-unstable
curl="curl --silent --show-error --fail"
wget="wget --no-verbose --content-disposition"
-mirrorDir=/data/releases/nixos
-
-url=$($curl --head http://hydra.nixos.org/view/nixos/tested/latest | sed 's/Location: \(.*\)\r/\1/; t; d')
-
+url=$($curl --head $viewUrl | sed 's/Location: \(.*\)\r/\1/; t; d')
if [ -z "$url" ]; then exit 1; fi
echo "View page is $url"
release=$($curl $url | sed 's|
View.*(\(.*\).*|\1|; t; d')
-
if [ -z "$release" ]; then echo "Failed to get release"; exit 1; fi
echo "Release is $release"
-releaseDir=$mirrorDir/$release
+releaseDir=$releasesDir/$release
+echo $releaseDir
if [ -d $releaseDir ]; then
echo "Release already exists"
else
-
- tmpDir=$mirrorDir/.tmp-$release-$$
+ tmpDir=$releasesDir/.tmp-$release-$$
mkdir -p $tmpDir
- $wget --directory=$tmpDir $url/tarball/download
- $wget --directory=$tmpDir $url/iso_minimal-i686-linux/download
- $wget --directory=$tmpDir $url/iso_minimal-x86_64-linux/download
- $wget --directory=$tmpDir $url/iso_graphical-i686-linux/download
- $wget --directory=$tmpDir $url/iso_graphical-x86_64-linux/download
+ echo $url > $tmpDir/src-url
+
+ $wget --directory=$tmpDir $url/nixos.iso_minimal-i686-linux/download
+ $wget --directory=$tmpDir $url/nixos.iso_minimal-x86_64-linux/download
+ $wget --directory=$tmpDir $url/nixos.iso_graphical-i686-linux/download
+ $wget --directory=$tmpDir $url/nixos.iso_graphical-x86_64-linux/download
+
+ perl -w ./mirror-channel.pl "$url/eval/channel" "$tmpDir" \
+ /data/releases/nars http://nixos.org/releases/nars \
+ /data/releases/patches/all-patches "$url/nixos.channel/download/1"
mv $tmpDir $releaseDir
-
fi
-#ln -sfn $release $mirrorDir/latest
+htaccess=$(dirname $channelLink)/.htaccess
+echo "Redirect /releases/nixos/channels/nixos-unstable http://nixos.org/releases/nixos/$release" > $htaccess.tmp
+ln -sfn $releaseDir $channelLink # dummy symlink
+mv $htaccess.tmp $htaccess
-# Generate a .htaccess with some symbolic redirects to the latest version.
-htaccess=$mirrorDir/.htaccess
+# Generate a .htaccess with some symbolic redirects to the latest ISOs.
+htaccess=$releasesDir/.htaccess
echo "Redirect /releases/nixos/latest http://nixos.org/releases/nixos/$release" > $htaccess.tmp
fn=$(cd $releaseDir && echo nixos-minimal-*-i686-linux.iso)