#!/bin/bash
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This script takes a checksum file and merges it into the packages
# checksum file in ../packages/packages.checksum.
# This script is thread-safe.
set -e
function main () {
local merge_file="$1"
local packages_dir="$(dirname $0)/../packages"
local checksum_file="${packages_dir}/packages.checksum"
# Preparatory work.
mkdir -p "${packages_dir}"
touch ${checksum_file}
if [ ! -f "${merge_file}" ]; then
return
fi
# This operation is performed using an flock on the packages dir
# to allow it to run concurrently.
flock "${packages_dir}" \
-c "sort -k2,2 -u ${merge_file} ${checksum_file} -o ${checksum_file}"
}
if [ $# != 1 ]; then
echo "Not enough arguments."
exit 1
fi
main $1