86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| #===-- tag.sh - Tag the LLVM release candidates ----------------------------===#
 | |
| #
 | |
| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 | |
| # See https://llvm.org/LICENSE.txt for license information.
 | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| #
 | |
| #===------------------------------------------------------------------------===#
 | |
| #
 | |
| # Create branches and release candidates for the LLVM release.
 | |
| #
 | |
| #===------------------------------------------------------------------------===#
 | |
| 
 | |
| set -e
 | |
| 
 | |
| projects="llvm cfe test-suite compiler-rt libcxx libcxxabi clang-tools-extra polly lldb lld openmp libunwind"
 | |
| base_url="https://llvm.org/svn/llvm-project"
 | |
| 
 | |
| release=""
 | |
| rc=""
 | |
| 
 | |
| usage() {
 | |
|     echo "Export the SVN sources and build tarballs from them"
 | |
|     echo "usage: `basename $0`"
 | |
|     echo " "
 | |
|     echo "  -release <num> The version number of the release"
 | |
|     echo "  -rc <num>      The release candidate number"
 | |
|     echo "  -final         The final tag"
 | |
| }
 | |
| 
 | |
| export_sources() {
 | |
|     release_no_dot=`echo $release | sed -e 's,\.,,g'`
 | |
|     tag_dir="tags/RELEASE_$release_no_dot/$rc"
 | |
| 
 | |
|     if [ "$rc" = "final" ]; then
 | |
|         rc=""
 | |
|     fi
 | |
| 
 | |
|     for proj in $projects; do
 | |
|         echo "Exporting $proj ..."
 | |
|         svn export \
 | |
|             $base_url/$proj/$tag_dir \
 | |
|             $proj-$release$rc.src
 | |
| 
 | |
|         echo "Creating tarball ..."
 | |
|         tar cfJ $proj-$release$rc.src.tar.xz $proj-$release$rc.src
 | |
|     done
 | |
| }
 | |
| 
 | |
| while [ $# -gt 0 ]; do
 | |
|     case $1 in
 | |
|         -release | --release )
 | |
|             shift
 | |
|             release=$1
 | |
|             ;;
 | |
|         -rc | --rc )
 | |
|             shift
 | |
|             rc="rc$1"
 | |
|             ;;
 | |
|         -final | --final )
 | |
|             rc="final"
 | |
|             ;;
 | |
|         -h | -help | --help )
 | |
|             usage
 | |
|             exit 0
 | |
|             ;;
 | |
|         * )
 | |
|             echo "unknown option: $1"
 | |
|             usage
 | |
|             exit 1
 | |
|             ;;
 | |
|     esac
 | |
|     shift
 | |
| done
 | |
| 
 | |
| if [ "x$release" = "x" ]; then
 | |
|     echo "error: need to specify a release version"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Make sure umask is not overly restrictive.
 | |
| umask 0022
 | |
| 
 | |
| export_sources
 | |
| exit 0
 |