1#!/bin/bash 2 3# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7# This script takes a checksum file and merges it into the packages 8# checksum file in ../packages/packages.checksum. 9 10# This script is thread-safe. 11 12set -e 13 14function main () { 15 local merge_file="$1" 16 local packages_dir="$(dirname $0)/../packages" 17 local checksum_file="${packages_dir}/packages.checksum" 18 19 # Preparatory work. 20 mkdir -p "${packages_dir}" 21 touch ${checksum_file} 22 23 if [ ! -f "${merge_file}" ]; then 24 return 25 fi 26 27 # This operation is performed using an flock on the packages dir 28 # to allow it to run concurrently. 29 flock "${packages_dir}" \ 30 -c "sort -k2,2 -u ${merge_file} ${checksum_file} -o ${checksum_file}" 31} 32 33if [ $# != 1 ]; then 34 echo "Not enough arguments." 35 exit 1 36fi 37 38main $1 39