83d4446d74
Build tools need to be made ready for the code restructuring: 1) new repos 2) relocation of release-info.inc and bsp files 3) Removal of the stx- prefix from sub-repos. Changes: 1) Create new functions to find the release-info.inc and bsp file under both pre and post restructure paths. 2) Update .gitignore to ignore all the new repos that are to be created. 3) Remove an argument sanity check from build-helm-charts.sh. It is making invalid assumptions about where applications can be found in the directory structure. 4) build-iso will need to look to additional repos to find packages from lower layers. Change-Id: If62444390d0a5a363974c6ff8cdaceca35978bda Story: 2006166 Task: 35687 Signed-off-by: Scott Little <scott.little@windriver.com>
106 lines
2.5 KiB
Bash
Executable File
106 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# Copyright (c) 2018 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
#
|
|
# Build first src.rpms, then rpms, from source, or from a downloaded tarball
|
|
# or src.rpm plus our additional patches.
|
|
#
|
|
# This program is a wrapper around build-pkgs-parallel and build-pkgs-serial
|
|
#
|
|
|
|
BUILD_PKGS_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
|
|
|
usage () {
|
|
echo ""
|
|
echo "Usage: "
|
|
echo " Create source and binary rpms:"
|
|
echo " build-pkgs [--serial] [args]"
|
|
}
|
|
|
|
SERIAL_FLAG=0
|
|
RC=0
|
|
|
|
for arg in "$@"; do
|
|
case "$1" in
|
|
--serial) SERIAL_FLAG=1 ;;
|
|
esac
|
|
done
|
|
|
|
which mock_tmpfs_umount >> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
SERIAL_FLAG=1
|
|
fi
|
|
|
|
# Make sure we have a dependency cache
|
|
DEP_CACHE="$MY_REPO/cgcs-tis-repo/dependancy-cache"
|
|
|
|
BUILD_TYPES=(" std rt installer containers")
|
|
DEP_RPM_TYPE=(" RPMS SRPMS ")
|
|
DEP_DELTAS="$DEP_CACHE/deltas-rpms-srpms"
|
|
|
|
make_cache_current_rpms () {
|
|
|
|
FILE=${1}
|
|
|
|
if [ -z "${FILE}" ]; then
|
|
echo "File not specified"
|
|
return;
|
|
fi
|
|
|
|
if [ -f ${FILE} ]; then
|
|
rm ${FILE}
|
|
fi
|
|
|
|
for build_type in $BUILD_TYPES; do
|
|
for rpm_type in $DEP_RPM_TYPE; do
|
|
|
|
if [ -d $MY_WORKSPACE/$build_type/rpmbuild/$rpm_type/repodata ]; then
|
|
current=$MY_WORKSPACE/$build_type/rpmbuild/$rpm_type/
|
|
|
|
repoquery \
|
|
--repofrompath=$build_type-$rpm_type,$current \
|
|
--repoid=$build_type-$rpm_type --arch=noarch,src,x86_64 -a \
|
|
--qf "%-10{repoid} %-40{name} %-10{version} %-10{release}" \
|
|
>> ${FILE}
|
|
fi
|
|
done;
|
|
done;
|
|
}
|
|
|
|
if [ ! -d $DEP_CACHE ]; then
|
|
echo "Dependency cache is missing. Creating it now."
|
|
$BUILD_PKGS_DIR/create_dependancy_cache.py > $MY_WORKSPACE/create_dependancy_cache.log
|
|
make_cache_current_rpms $DEP_DELTAS
|
|
echo "Dependency cache created."
|
|
else
|
|
DEP_TMP=$(mktemp)
|
|
make_cache_current_rpms $DEP_TMP
|
|
if diff $DEP_DELTAS $DEP_TMP > /dev/null; then
|
|
echo "No changes for stx projects"
|
|
rm $DEP_TMP
|
|
else
|
|
echo "Changes detected for stx projects"
|
|
echo "Recreating dependecy cache now."
|
|
mv $DEP_TMP $DEP_DELTAS
|
|
$BUILD_PKGS_DIR/create_dependancy_cache.py > $MY_WORKSPACE/create_dependancy_cache.log
|
|
echo "Dependency cache recreated."
|
|
fi
|
|
fi
|
|
|
|
if [ $SERIAL_FLAG -eq 1 ]; then
|
|
echo "build-pkgs-serial $@"
|
|
build-pkgs-serial "$@"
|
|
RC=$?
|
|
else
|
|
echo "build-pkgs-parallel $@"
|
|
build-pkgs-parallel "$@"
|
|
RC=$?
|
|
fi
|
|
|
|
exit $RC
|