Author: eelco
Date: Tue Apr 10 16:00:32 2012
New Revision: 33728
URL: https://nixos.org/websvn/nix/?rev=33728&sc=1

Log:
* Generate a NixOS channel 
(http://nixos.org/releases/nixos/channels/nixos-unstable/).

Added:
   release/trunk/channels/mirror-nixos.sh
      - copied, changed from r33716, release/trunk/channels/mirror-nixos-isos.sh
Deleted:
   release/trunk/channels/mirror-nixos-isos.sh

Copied and modified: release/trunk/channels/mirror-nixos.sh (from r33716, 
release/trunk/channels/mirror-nixos-isos.sh)
==============================================================================
--- release/trunk/channels/mirror-nixos-isos.sh Tue Apr 10 11:11:05 2012        
(r33716, copy source)
+++ release/trunk/channels/mirror-nixos.sh      Tue Apr 10 16:00:32 2012        
(r33728)
@@ -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|<h1>View.*(<tt>\(.*\)</tt>.*|\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
 
-    mv $tmpDir $releaseDir
+    $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)
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to