File: create-snapshots.sh

package info (click to toggle)
clamav 0.98.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 54,844 kB
  • sloc: cpp: 267,090; ansic: 151,215; sh: 36,044; python: 2,630; makefile: 2,224; perl: 1,690; pascal: 1,218; lisp: 184; csh: 117; xml: 38; asm: 32; exp: 4
file content (41 lines) | stat: -rwxr-xr-x 1,154 bytes parent folder | download | duplicates (50)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
#
# Creates LLVM SVN snapshots: llvm-$REV.tar.bz2 and llvm-gcc-4.2-$REV.tar.bz2,
# where $REV is an SVN revision of LLVM.  This is used for creating stable
# tarballs which can be used to build known-to-work crosstools.
#
# Syntax:
#   $0 [REV] -- grabs the revision $REV from SVN; if not specified, grabs the
#   latest SVN revision.

set -o nounset
set -o errexit

readonly LLVM_PROJECT_SVN="http://llvm.org/svn/llvm-project"

getLatestRevisionFromSVN() {
  svn info ${LLVM_PROJECT_SVN} | egrep ^Revision | sed 's/^Revision: //'
}

readonly REV="${1:-$(getLatestRevisionFromSVN)}"

createTarballFromSVN() {
  local module=$1
  local log="${module}.log"
  echo "Running: svn export -r ${REV} ${module}; log in ${log}"
  svn -q export -r ${REV} ${LLVM_PROJECT_SVN}/${module}/trunk \
      ${module} > ${log} 2>&1

  # Create "module-revision.tar.bz2" packages from the SVN checkout dirs.
  local tarball="${module}-${REV}.tar.bz2"
  echo "Creating tarball: ${tarball}"
  tar cjf ${tarball} ${module}

  echo "Cleaning up '${module}'"
  rm -rf ${module} ${log}
}

for module in "llvm" "llvm-gcc-4.2"; do
  createTarballFromSVN ${module}
done