about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-02-10 18:00:40 -0800
committerAlex Crichton <alex@alexcrichton.com>2014-02-10 18:00:40 -0800
commitc2ae62faee508041db495e5fd7a685eb545f7d67 (patch)
tree8e2916c7bf954bf9a3b11eed2c98a38bb11f61e3 /src
parent38ed4674e8054ee854871303401bffed7c05b01b (diff)
downloadrust-c2ae62faee508041db495e5fd7a685eb545f7d67.tar.gz
rust-c2ae62faee508041db495e5fd7a685eb545f7d67.zip
Revert non-license changes as part of 0ebe112b
The commit accidentally modified the snapshot script which changed its behavior
and is currently blocking a snapshot.
Diffstat (limited to 'src')
-rw-r--r--src/etc/snapshot.py228
1 files changed, 115 insertions, 113 deletions
diff --git a/src/etc/snapshot.py b/src/etc/snapshot.py
index ba193db1eda..b44adc040b7 100644
--- a/src/etc/snapshot.py
+++ b/src/etc/snapshot.py
@@ -11,21 +11,21 @@
 import re, os, sys, glob, tarfile, shutil, subprocess, tempfile, distutils.spawn
 
 try:
-    import hashlib
-    sha_func = hashlib.sha1
+  import hashlib
+  sha_func = hashlib.sha1
 except ImportError:
-    import sha
-    sha_func = sha.new
+  import sha
+  sha_func = sha.new
 
 def scrub(b):
-    if sys.version_info >= (3,) and type(b) == bytes:
-        return b.decode('ascii')
-    else:
-        return b
+  if sys.version_info >= (3,) and type(b) == bytes:
+    return b.decode('ascii')
+  else:
+    return b
 
 src_dir = scrub(os.getenv("CFG_SRC_DIR"))
 if not src_dir:
-    raise Exception("missing env var CFG_SRC_DIR")
+  raise Exception("missing env var CFG_SRC_DIR")
 
 snapshotfile = os.path.join(src_dir, "src", "snapshots.txt")
 download_url_base = "http://static.rust-lang.org/stage0-snapshots"
@@ -39,36 +39,37 @@ snapshot_files = {
     "freebsd": ["bin/rustc"],
     }
 
-winnt_runtime_deps = ["libgcc_s_dw2-1.dll", "libstdc++-6.dll"]
+winnt_runtime_deps = ["libgcc_s_dw2-1.dll",
+                      "libstdc++-6.dll"]
 
 def parse_line(n, line):
-    global snapshotfile
+  global snapshotfile
 
-    if re.match(r"\s*$", line): return None
+  if re.match(r"\s*$", line): return None
 
-    if re.match(r"^T\s*$", line): return None
+  if re.match(r"^T\s*$", line): return None
 
-    match = re.match(r"\s+([\w_-]+) ([a-fA-F\d]{40})\s*$", line)
-    if match:
-        return { "type": "file",
-                 "platform": match.group(1),
-                 "hash": match.group(2).lower() }
+  match = re.match(r"\s+([\w_-]+) ([a-fA-F\d]{40})\s*$", line)
+  if match:
+    return { "type": "file",
+             "platform": match.group(1),
+             "hash": match.group(2).lower() }
 
-    match = re.match(r"([ST]) (\d{4}-\d{2}-\d{2}) ([a-fA-F\d]+)\s*$", line);
-    if not match:
-        raise Exception("%s:%d:E syntax error: " % (snapshotfile, n))
-    return { "type": "snapshot",
-             "date": match.group(2),
-             "rev": match.group(3) }
+  match = re.match(r"([ST]) (\d{4}-\d{2}-\d{2}) ([a-fA-F\d]+)\s*$", line);
+  if (not match):
+    raise Exception("%s:%d:E syntax error: " % (snapshotfile, n))
+  return {"type": "snapshot",
+          "date": match.group(2),
+          "rev": match.group(3)}
 
 
 def partial_snapshot_name(date, rev, platform):
-    return ("rust-stage0-%s-%s-%s.tar.bz2"
-                    % (date, rev, platform))
+  return ("rust-stage0-%s-%s-%s.tar.bz2"
+          % (date, rev, platform))
 
 def full_snapshot_name(date, rev, platform, hsh):
-    return ("rust-stage0-%s-%s-%s-%s.tar.bz2"
-                    % (date, rev, platform, hsh))
+  return ("rust-stage0-%s-%s-%s-%s.tar.bz2"
+          % (date, rev, platform, hsh))
 
 
 def get_kernel(triple):
@@ -85,22 +86,23 @@ def get_kernel(triple):
 def get_cpu(triple):
     arch = triple.split('-')[0]
     if arch == "i686":
-        return "i386"
+      return "i386"
     return arch
 
 def get_platform(triple):
-    return "%s-%s" % (get_kernel(triple), get_cpu(triple))
+  return "%s-%s" % (get_kernel(triple), get_cpu(triple))
 
 
 def cmd_out(cmdline):
-    p = subprocess.Popen(cmdline, stdout=subprocess.PIPE)
+    p = subprocess.Popen(cmdline,
+                         stdout=subprocess.PIPE)
     return scrub(p.communicate()[0].strip())
 
 
 def local_rev_info(field):
     return cmd_out(["git", "--git-dir=" + os.path.join(src_dir, ".git"),
-                            "log", "-n", "1",
-                            "--format=%%%s" % field, "HEAD"])
+                    "log", "-n", "1",
+                    "--format=%%%s" % field, "HEAD"])
 
 
 def local_rev_full_sha():
@@ -133,10 +135,10 @@ def get_url_to_file(u,f):
     os.rename(tmpf, f)
 
 def snap_filename_hash_part(snap):
-    match = re.match(r".*([a-fA-F\d]{40}).tar.bz2$", snap)
-    if not match:
-        raise Exception("unable to find hash in filename: " + snap)
-    return match.group(1)
+  match = re.match(r".*([a-fA-F\d]{40}).tar.bz2$", snap)
+  if not match:
+    raise Exception("unable to find hash in filename: " + snap)
+  return match.group(1)
 
 def hash_file(x):
     h = sha_func()
@@ -148,13 +150,13 @@ def get_winnt_runtime_deps():
     runtime_deps = []
     path_dirs = os.environ["PATH"].split(';')
     for name in winnt_runtime_deps:
-        for dir in path_dirs:
-            matches = glob.glob(os.path.join(dir, name))
-            if matches:
-                runtime_deps.append(matches[0])
-                break
-            else:
-                raise Exception("Could not find runtime dependency: %s" % name)
+      for dir in path_dirs:
+        matches = glob.glob(os.path.join(dir, name))
+        if matches:
+          runtime_deps.append(matches[0])
+          break
+      else:
+        raise Exception("Could not find runtime dependency: %s" % name)
     return runtime_deps
 
 def make_snapshot(stage, triple):
@@ -166,31 +168,31 @@ def make_snapshot(stage, triple):
     file0 = partial_snapshot_name(date, rev, platform)
 
     def in_tar_name(fn):
-        cs = re.split(r"[\\/]", fn)
-        if len(cs) >= 2:
-            return os.sep.join(cs[-2:])
+      cs = re.split(r"[\\/]", fn)
+      if len(cs) >= 2:
+        return os.sep.join(cs[-2:])
 
     tar = tarfile.open(file0, "w:bz2")
 
     for name in snapshot_files[kernel]:
-        dir = stage
-        if stage == "stage1" and re.match(r"^lib/(lib)?std.*", name):
-            dir = "stage0"
-        fn_glob = os.path.join(triple, dir, name)
-        matches = glob.glob(fn_glob)
-        if not matches:
-            raise Exception("Not found file with name like " + fn_glob)
-        if len(matches) == 1:
-            tar.add(matches[0], "rust-stage0/" + in_tar_name(matches[0]))
-        else:
-            raise Exception("Found stale files: \n  %s\n"
-                    "Please make a clean build." % "\n  ".join(matches))
+      dir = stage
+      if stage == "stage1" and re.match(r"^lib/(lib)?std.*", name):
+        dir = "stage0"
+      fn_glob = os.path.join(triple, dir, name)
+      matches = glob.glob(fn_glob)
+      if not matches:
+        raise Exception("Not found file with name like " + fn_glob)
+      if len(matches) == 1:
+        tar.add(matches[0], "rust-stage0/" + in_tar_name(matches[0]))
+      else:
+        raise Exception("Found stale files: \n  %s\n"
+                        "Please make a clean build." % "\n  ".join(matches))
 
     if kernel=="winnt":
-        for path in get_winnt_runtime_deps():
-            tar.add(path, "rust-stage0/bin/" + os.path.basename(path))
-        tar.add(os.path.join(os.path.dirname(__file__), "third-party"),
-                        "rust-stage0/bin/third-party")
+      for path in get_winnt_runtime_deps():
+        tar.add(path, "rust-stage0/bin/" + os.path.basename(path))
+      tar.add(os.path.join(os.path.dirname(__file__), "third-party"),
+              "rust-stage0/bin/third-party")
 
     tar.close()
 
@@ -202,59 +204,59 @@ def make_snapshot(stage, triple):
     return file1
 
 def curr_snapshot_rev():
-    i = 0
-    found_snap = False
-    date = None
-    rev = None
+  i = 0
+  found_snap = False
+  date = None
+  rev = None
 
-    f = open(snapshotfile)
-    for line in f.readlines():
-        i += 1
-        parsed = parse_line(i, line)
-        if (not parsed): continue
+  f = open(snapshotfile)
+  for line in f.readlines():
+    i += 1
+    parsed = parse_line(i, line)
+    if (not parsed): continue
 
-        if parsed["type"] == "snapshot":
-            date = parsed["date"]
-            rev = parsed["rev"]
-            found_snap = True
-            break
+    if parsed["type"] == "snapshot":
+      date = parsed["date"]
+      rev = parsed["rev"]
+      found_snap = True
+      break
 
-    if not found_snap:
-        raise Exception("no snapshot entries in file")
+  if not found_snap:
+    raise Exception("no snapshot entries in file")
 
-    return (date, rev)
+  return (date, rev)
 
 def determine_curr_snapshot(triple):
-    i = 0
-    platform = get_platform(triple)
-
-    found_file = False
-    found_snap = False
-    hsh = None
-    date = None
-    rev = None
-
-    f = open(snapshotfile)
-    for line in f.readlines():
-        i += 1
-        parsed = parse_line(i, line)
-        if (not parsed): continue
-
-        if found_snap and parsed["type"] == "file":
-            if parsed["platform"] == platform:
-                hsh = parsed["hash"]
-                found_file = True
-                break;
-        elif parsed["type"] == "snapshot":
-            date = parsed["date"]
-            rev = parsed["rev"]
-            found_snap = True
-
-    if not found_snap:
-        raise Exception("no snapshot entries in file")
-
-    if not found_file:
-        raise Exception("no snapshot file found for platform %s, rev %s" %
-                                        (platform, rev))
-
-    return full_snapshot_name(date, rev, platform, hsh)
+  i = 0
+  platform = get_platform(triple)
+
+  found_file = False
+  found_snap = False
+  hsh = None
+  date = None
+  rev = None
+
+  f = open(snapshotfile)
+  for line in f.readlines():
+    i += 1
+    parsed = parse_line(i, line)
+    if (not parsed): continue
+
+    if found_snap and parsed["type"] == "file":
+      if parsed["platform"] == platform:
+        hsh = parsed["hash"]
+        found_file = True
+        break;
+    elif parsed["type"] == "snapshot":
+      date = parsed["date"]
+      rev = parsed["rev"]
+      found_snap = True
+
+  if not found_snap:
+    raise Exception("no snapshot entries in file")
+
+  if not found_file:
+    raise Exception("no snapshot file found for platform %s, rev %s" %
+                    (platform, rev))
+
+  return full_snapshot_name(date, rev, platform, hsh)