Merge "Add support CentOS-8/dnf/mock-2.6 based builds"
This commit is contained in:
commit
51e9de32ef
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2019 Wind River Systems, Inc.
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@ -18,6 +18,10 @@ BUILD_ISO_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
source "${BUILD_ISO_DIR}/image-utils.sh"
|
||||
source "${BUILD_ISO_DIR}/git-utils.sh"
|
||||
|
||||
# Set REPOQUERY, REPOQUERY_SUB_COMMAND, REPOQUERY_RESOLVE and
|
||||
# REPOQUERY_WHATPROVIDES_DELIM for our build environment.
|
||||
source "${BUILD_ISO_DIR}/pkg-manager-utils.sh"
|
||||
|
||||
usage () {
|
||||
echo ""
|
||||
echo "Usage: "
|
||||
@ -40,8 +44,8 @@ usage () {
|
||||
MY_YUM_CONF=""
|
||||
STD_REPO_ID="local-std"
|
||||
RT_REPO_ID="local-rt"
|
||||
LOWER_LAYER_STD_REPO_ID="StxCentos7Distro"
|
||||
LOWER_LAYER_RT_REPO_ID="StxCentos7Distro-rt"
|
||||
LOWER_LAYER_STD_REPO_ID=""
|
||||
LOWER_LAYER_RT_REPO_ID=""
|
||||
|
||||
NPROCS=$(nproc)
|
||||
|
||||
@ -158,6 +162,10 @@ function init_vars {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# LOWER_LAYER_STD_REPO_ID should be something like StxCentos7Distro or StxCentos8Distro
|
||||
LOWER_LAYER_STD_REPO_ID=$(grep '\[StxCentos.*Distro\]' ${MY_YUM_CONF} | sed -e 's/^\[//' -e 's/\].*//')
|
||||
LOWER_LAYER_RT_REPO_ID=$(grep '\[StxCentos.*Distro-rt\]' ${MY_YUM_CONF} | sed -e 's/^\[//' -e 's/\].*//')
|
||||
|
||||
DISTRO_REPO_DIR=$(for d in $(grep baseurl $MY_YUM_CONF | grep file: | awk -F : '{print $2}' | sed 's:///:/:g'); do if [ -d $d/images ]; then echo $d ;fi; done)
|
||||
|
||||
#####################################
|
||||
@ -495,7 +503,7 @@ function final_touches {
|
||||
|
||||
function extract_pkg_from_local_repo {
|
||||
local pkgname=$1
|
||||
local yum_conf=$2
|
||||
local pkg_mgr_conf=$2
|
||||
shift 2
|
||||
|
||||
local repoid=""
|
||||
@ -505,7 +513,14 @@ function extract_pkg_from_local_repo {
|
||||
repoid_arg+=" --repoid=${repoid}"
|
||||
done
|
||||
|
||||
local pkgfile=$(TMPDIR=$TMP_DIR repoquery --config=${yum_conf} ${repoid_arg} --location -q ${pkgname})
|
||||
echo "TMPDIR=$TMP_DIR"\
|
||||
"${REPOQUERY} --config=${pkg_mgr_conf} ${repoid_arg}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --location"\
|
||||
"--arch=noarch,x86_64 -q ${pkgname}"
|
||||
local pkgfile=$(TMPDIR=$TMP_DIR \
|
||||
${REPOQUERY} --config=${pkg_mgr_conf} ${repoid_arg} \
|
||||
${REPOQUERY_SUB_COMMAND} --location \
|
||||
--arch=noarch,x86_64 -q ${pkgname})
|
||||
if [ -z "${pkgfile}" ]; then
|
||||
echo "Could not find package $pkgname in $@"
|
||||
exit 1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018 Wind River Systems, Inc.
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@ -15,6 +15,10 @@
|
||||
|
||||
BUILD_PKGS_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
|
||||
# Set REPOQUERY and REPOQUERY_SUB_COMMAND for our build environment.
|
||||
source "${BUILD_PKGS_DIR}/pkg-manager-utils.sh"
|
||||
|
||||
|
||||
usage () {
|
||||
echo ""
|
||||
echo "Usage: "
|
||||
@ -75,11 +79,15 @@ make_cache_current_rpms () {
|
||||
if [ -d $MY_WORKSPACE/$build_type/rpmbuild/$rpm_type/repodata ]; then
|
||||
current=$MY_WORKSPACE/$build_type/rpmbuild/$rpm_type/
|
||||
|
||||
repoquery \
|
||||
${REPOQUERY} \
|
||||
--repofrompath=$build_type-$rpm_type,$current \
|
||||
--repoid=$build_type-$rpm_type --arch=noarch,src,x86_64 -a \
|
||||
--repoid=$build_type-$rpm_type --arch=noarch,src,x86_64 \
|
||||
${REPOQUERY_SUB_COMMAND} \
|
||||
--all \
|
||||
--qf "%-10{repoid} %-40{name} %-10{version} %-10{release}" \
|
||||
>> ${FILE}
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
fi
|
||||
done;
|
||||
done;
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018 Wind River Systems, Inc.
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@ -15,7 +15,7 @@
|
||||
# The location of packages to be built is
|
||||
# $MY_WORKSPACE/<build-type>/rpmbuild/SRPMS.
|
||||
#
|
||||
# The build order is a derived from the BuildRequires in the
|
||||
# The build order is a derived from the BuildRequires in the
|
||||
# spec files in the src.rpms. Note that the BuildRequires sometimes
|
||||
# create dependency loops, so no correct order can be computed. In these
|
||||
# cases we add a retry loop. As long as one new package builds, we
|
||||
@ -24,9 +24,12 @@
|
||||
# messages go by!
|
||||
#
|
||||
|
||||
|
||||
export ME=$(basename "$0")
|
||||
CMDLINE="$ME $@"
|
||||
BUILD_RPMS_PARALLEL_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
|
||||
# Set PKG_MANAGER for our build environment.
|
||||
source "${BUILD_RPMS_PARALLEL_DIR}/pkg-manager-utils.sh"
|
||||
|
||||
|
||||
# Build for distribution. Currently 'centos' is only supported value.
|
||||
@ -43,22 +46,22 @@ MAX_MEM_PER_WORKER=11
|
||||
# Note: tmpfs is typically 2.5 gb when compiling many small jobs
|
||||
MIN_MEM_PER_WORKER=3
|
||||
|
||||
# Maximum number of disk based parallel build environments
|
||||
# Maximum number of disk based parallel build environments
|
||||
MAX_DISK_BASED_WORKERS=2
|
||||
|
||||
# Minimum space in gb for each disk based parallel build environment
|
||||
MIN_DISK_PER_WORKER=20
|
||||
|
||||
# How many srpms to build before we add another parallel build environment
|
||||
# How many srpms to build before we add another parallel build environment
|
||||
MIN_TASKS_PER_CORE=3
|
||||
|
||||
# Max number of new concurrent builds to allow for
|
||||
MAX_SHARE_FACTOR=4
|
||||
|
||||
# Always leave at least MEMORY_RESERVE gb of available mem for the system
|
||||
# Always leave at least MEMORY_RESERVE gb of available mem for the system
|
||||
MEMORY_RESERVE=1
|
||||
|
||||
# These two values will be reassigned in the 'compute_resources' subroutine
|
||||
# These two values will be reassigned in the 'compute_resources' subroutine
|
||||
MOCKCHAIN_RESOURCE_ALLOCATION=""
|
||||
MAX_WORKERS=$ABSOLUTE_MAX_WORKERS
|
||||
|
||||
@ -68,6 +71,19 @@ if [ $? -ne 0 ]; then
|
||||
CREATEREPO="createrepo"
|
||||
fi
|
||||
|
||||
# Yum vs DNF compatibility
|
||||
YUM=$(which yum)
|
||||
DNF=$(which dnf)
|
||||
PKG_MANAGER=""
|
||||
if [ ! -z ${DNF} ]; then
|
||||
PKG_MANAGER="dnf"
|
||||
elif [ ! -z ${YUM} ]; then
|
||||
PKG_MANAGER="yum"
|
||||
else
|
||||
echo "ERROR: Couldn't find a supported package manager"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Old repo path or new?
|
||||
LOCAL_REPO=${MY_REPO}/local-repo
|
||||
if [ ! -d ${LOCAL_REPO} ]; then
|
||||
@ -164,7 +180,7 @@ create-no-clean-list () {
|
||||
local install_groups=""
|
||||
local install_packages=""
|
||||
local p
|
||||
|
||||
|
||||
for p in $(grep "config_opts\['chroot_setup_cmd'\]" $MY_BUILD_CFG | tail -n1 | cut -d '=' -f 2 | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e "s/^'//" -e "s/'$//" -e 's/^install //'); do
|
||||
if [[ $p == @* ]] ; then
|
||||
install_groups=$(join_by ' ' $install_groups $(echo $p | cut -c 2-))
|
||||
@ -172,37 +188,44 @@ create-no-clean-list () {
|
||||
install_packages=$(join_by ' ' $install_packages $p)
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
local noclean_last_list_len=0
|
||||
local noclean_list=""
|
||||
local tmp_list=""
|
||||
local g
|
||||
|
||||
|
||||
for g in $install_groups; do
|
||||
tmp_list=$(yum -c $MY_YUM_CONF groupinfo $g 2>> /dev/null | awk 'f;/Mandatory Packages:/{f=1}' | cut -c 5-)
|
||||
# Find manditory packages in the group.
|
||||
# Discard anything before (and including) 'Mandatory Packages:'
|
||||
# and anything after (and including) 'Optional Packages:'.
|
||||
# Also discard leading spaces or '+' characters.
|
||||
tmp_list=$(${PKG_MANAGER} -c $MY_YUM_CONF groupinfo $g 2>> /dev/null \
|
||||
| awk 'f;/Mandatory Packages:/{f=1}' \
|
||||
| sed -n '/Optional Packages:/q;p' \
|
||||
| sed 's#[ +]*##')
|
||||
noclean_list=$(join_by ' ' $noclean_list $tmp_list)
|
||||
done
|
||||
|
||||
|
||||
noclean_list=$(join_by ' ' $noclean_list $install_packages)
|
||||
noclean_list=$(echo $noclean_list | tr ' ' '\n' | sort --uniq)
|
||||
noclean_list_len=$(echo $noclean_list | wc -w)
|
||||
|
||||
|
||||
while [ $noclean_list_len -gt $noclean_last_list_len ]; do
|
||||
noclean_last_list_len=$noclean_list_len
|
||||
noclean_list=$( (yum -c $MY_YUM_CONF deplist $noclean_list 2>> /dev/null | grep provider: | awk '{ print $2 }' | awk -F . '{ print $1 }'; for p in $noclean_list; do echo $p; done) | sort --uniq)
|
||||
noclean_list=$( (${PKG_MANAGER} -c $MY_YUM_CONF deplist $noclean_list 2>> /dev/null | grep provider: | awk '{ print $2 }' | awk -F . '{ print $1 }'; for p in $noclean_list; do echo $p; done) | sort --uniq)
|
||||
noclean_list_len=$(echo $noclean_list | wc -w)
|
||||
done
|
||||
|
||||
|
||||
echo $noclean_list > $NO_CLEAN_LIST_FILE
|
||||
fi
|
||||
|
||||
cat $NO_CLEAN_LIST_FILE
|
||||
}
|
||||
|
||||
str_lst_contains() {
|
||||
str_lst_contains() {
|
||||
TARGET="$1"
|
||||
LST="$2"
|
||||
if [[ $LST =~ (^|[[:space:]])$TARGET($|[[:space:]]) ]] ; then
|
||||
if [[ $LST =~ (^|[[:space:]])$TARGET($|[[:space:]]) ]] ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
@ -214,7 +237,7 @@ compute_resources () {
|
||||
local b
|
||||
|
||||
echo ""
|
||||
for f in $@; do
|
||||
for f in $@; do
|
||||
b=$(basename $f)
|
||||
if [ -f $SOURCES_DIR/$b/BIG ] || [ ]; then
|
||||
weight=$((weight+MIN_TASKS_PER_CORE))
|
||||
@ -232,7 +255,7 @@ compute_resources () {
|
||||
local cpus=$(number_of_cpus)
|
||||
local num_users=$(sqrt $users)
|
||||
local num_build=$(number_of_builds_in_progress)
|
||||
num_build=$((num_build+1))
|
||||
num_build=$((num_build+1))
|
||||
echo "compute_resources: total: cpus=$cpus, mem=$mem, disk=$disk, weight=$weight, num_build=$num_build"
|
||||
|
||||
# What fraction of the machine will we use
|
||||
@ -311,7 +334,9 @@ create_lst () {
|
||||
recreate_repodata () {
|
||||
local DIR=${1}
|
||||
|
||||
(cd $DIR
|
||||
(
|
||||
mkdir -p $DIR
|
||||
cd $DIR
|
||||
if [ -f repodata/*comps*xml ]; then
|
||||
\mv repodata/*comps*xml comps.xml
|
||||
fi
|
||||
@ -402,11 +427,11 @@ union () {
|
||||
echo $b
|
||||
fi
|
||||
done
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# returns 0 if element is in the array
|
||||
#
|
||||
#
|
||||
# e.g. contains ARRAY $SEEKING && echo "$SEEKING is in 'ARRAY'"
|
||||
#
|
||||
contains () {
|
||||
@ -453,7 +478,7 @@ build_order_recursive () {
|
||||
needs=( $(grep "^$target;" "$SRPM_DIRECT_REQUIRES_FILE" | sed "s/$target;//" | sed 's/,/ /g') )
|
||||
needs_list=( $(intersection needs remainder_list) )
|
||||
for((idx=0;idx<${#needs_list[@]};idx++)); do
|
||||
build_order_recursive ${needs_list[idx]}
|
||||
build_order_recursive ${needs_list[idx]}
|
||||
done
|
||||
echo $target
|
||||
break
|
||||
@ -503,7 +528,7 @@ build_order () {
|
||||
UNORDERED_LIST=( ${original_list[@]} )
|
||||
while [ ${#UNORDERED_LIST[@]} -gt 0 ]; do
|
||||
element=${UNORDERED_LIST[0]}
|
||||
build_order_recursive $element
|
||||
build_order_recursive $element
|
||||
done
|
||||
fi
|
||||
}
|
||||
@ -621,7 +646,7 @@ umount_mock_root_as_tmpfs () {
|
||||
return 0
|
||||
fi
|
||||
mock_tmpfs_umount $mount_dir &> /dev/null
|
||||
|
||||
|
||||
rc=$?
|
||||
if [ $rc -ne 0 ]; then
|
||||
echo "FAILED: mock_tmpfs_umount $mount_dir"
|
||||
@ -652,7 +677,7 @@ kill_descendents ()
|
||||
recursive_promote_children=""
|
||||
recursive_children=$(pgrep -P $kill_pid)
|
||||
fi
|
||||
|
||||
|
||||
if [ $iteration -eq 0 ]; then
|
||||
other_children=$(for relevant_child in $relevant_other_children; do pgrep -P $kill_pid $relevant_child; done)
|
||||
if [ "$other_children" != "" ]; then
|
||||
@ -667,7 +692,7 @@ kill_descendents ()
|
||||
fi
|
||||
|
||||
for pid in $recursive_children; do
|
||||
kill_descendents "$pid" $kill_all $need_stop $((iteration + 1))
|
||||
kill_descendents "$pid" $kill_all $need_stop $((iteration + 1))
|
||||
done
|
||||
for pid in $recursive_promote_children; do
|
||||
kill_descendents "$pid" 1 1 $((iteration + 1))
|
||||
@ -946,11 +971,11 @@ mock_clean_cfg () {
|
||||
echo "=================================="
|
||||
mock_clean_cache_cfg $CFG
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --clean"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --clean
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --clean"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --clean
|
||||
### Note: this sometimes leaves behind a $MY_WORKSPACE/cache/mock/yum_cache/yumcache.lock
|
||||
echo "=================================="
|
||||
mock_clean_cache_all_cfg $CFG
|
||||
@ -1034,10 +1059,10 @@ mock_partial_clean_cfg () {
|
||||
local RPMS_CLEAN_LIST=""
|
||||
local NEED_FULL_MOCK_CLEAN=0
|
||||
for r in $RPMS_LIST; do
|
||||
if ! str_lst_contains $r "$NO_CLEAN_LIST" ; then
|
||||
if ! str_lst_contains $r "$NO_CLEAN_LIST" ; then
|
||||
RPMS_CLEAN_LIST=$(join_by ' ' $RPMS_CLEAN_LIST $r)
|
||||
else
|
||||
echo "Can't remove '$r' from mock environment without a wipe";
|
||||
else
|
||||
echo "Can't remove '$r' from mock environment without a wipe";
|
||||
NEED_FULL_MOCK_CLEAN=1
|
||||
fi
|
||||
done
|
||||
@ -1050,19 +1075,19 @@ mock_partial_clean_cfg () {
|
||||
# Intent of following is for $RPMS_LIST to be expand now while the remaining $ varaibles are for bash inside mock to expand
|
||||
echo "Try to uninstall from the mock environment these packages: $RPMS_CLEAN_LIST"
|
||||
CMD='LST="'$RPMS_CLEAN_LIST'";
|
||||
DELETE_LIST="";
|
||||
for r in $LST; do
|
||||
FOUND=$(rpm -q $r) ;
|
||||
if [ $? -eq 0 ]; then
|
||||
DELETE_LIST="$DELETE_LIST $FOUND";
|
||||
fi;
|
||||
done;
|
||||
echo "uninstalling these packages: $DELETE_LIST";
|
||||
DELETE_LIST="";
|
||||
for r in $LST; do
|
||||
FOUND=$(rpm -q $r) ;
|
||||
if [ $? -eq 0 ]; then
|
||||
DELETE_LIST="$DELETE_LIST $FOUND";
|
||||
fi;
|
||||
done;
|
||||
echo "uninstalling these packages: $DELETE_LIST";
|
||||
if [ "$DELETE_LIST" != "" ]; then
|
||||
rpm -e --nodeps $DELETE_LIST;
|
||||
fi'
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --chroot "bash -c '$CMD'" &>> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --chroot "bash -c '$CMD'" &>> $TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -1112,8 +1137,8 @@ mock_clean_cache_cfg () {
|
||||
|
||||
clean_yum_cache_cfg $CFG
|
||||
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache &>> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache &>> $TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -1141,8 +1166,8 @@ mock_clean_cache_all_cfg () {
|
||||
echo "=================================="
|
||||
clean_yum_cache_cfg $CFG
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -1169,9 +1194,16 @@ mock_clean_metadata_cfg () {
|
||||
return 1
|
||||
fi
|
||||
|
||||
CMD=$((cat $CFG; grep config_opts\\[\'yum.conf\'\\\] $CFG | sed 's#\\n#\n#g') | grep '^[[]' | grep -v main | sed 's/[][]//g' | sed 's#^#yum --enablerepo=#' | sed 's#$# clean metadata#' | sort -u | tr '\n' ';')
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --chroot "bash -c '($CMD)'" &>>$TMP
|
||||
CMD=$((cat $CFG; \
|
||||
grep config_opts\\[\'yum.conf\'\\\] $CFG | \
|
||||
sed 's#\\n#\n#g') | \
|
||||
grep '^[[]' | \
|
||||
grep -v main | \
|
||||
sed -e 's/[][]//g' -e "s#^#${PKG_MANAGER} --enablerepo=#" -e 's#$# clean metadata#' | \
|
||||
sort -u | \
|
||||
tr '\n' ';')
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --chroot "bash -c '($CMD)'" &>>$TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -1228,7 +1260,7 @@ update_cgcs_repo () {
|
||||
if [ "x$NEW_UNTRACKED" != "x" ]; then
|
||||
NEED_REBUILD=1
|
||||
fi
|
||||
|
||||
|
||||
if [ $NEED_REBUILD -eq 1 ]; then
|
||||
NEED_MOCK_CLEAN=1
|
||||
echo ""
|
||||
@ -1274,7 +1306,7 @@ mock_clean_mounts_dir () {
|
||||
fi
|
||||
fi
|
||||
if [ $RC -eq 1 ]; then
|
||||
echo "ERROR: Directory '$MOUNT' is already mounted and will cause a build failure within mock."
|
||||
echo "ERROR: Directory '$MOUNT' is already mounted and will cause a build failure within mock."
|
||||
echo "Ask your system administrator to umount '$MOUNT'."
|
||||
exit 1
|
||||
fi
|
||||
@ -1319,7 +1351,7 @@ clean_yum_cache_cfg () {
|
||||
local YUM_CACHE_MOUNT=$(readlink -f "$ROOT_DIR/root/var/cache/yum")
|
||||
local YUM_CACHE_LOCK="$CACHE_DIR/mock/yum_cache/yumcache.lock"
|
||||
# echo "clean_yum_cache YUM_CACHE_MOUNT='$YUM_CACHE_MOUNT' YUM_CACHE_LOCK='$YUM_CACHE_LOCK'"
|
||||
|
||||
|
||||
if [ "$YUM_CACHE_MOUNT" != "" ]; then
|
||||
mock_clean_mounts_dir "$YUM_CACHE_MOUNT"
|
||||
fi
|
||||
@ -1358,8 +1390,8 @@ mock_update_cfg () {
|
||||
echo "${FUNCNAME[0]}: $CFG"
|
||||
echo "=================================="
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --update
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --update
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -1368,8 +1400,8 @@ mock_init_cfg () {
|
||||
echo "${FUNCNAME[0]}: $CFG"
|
||||
echo "=================================="
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --init
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --init
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -1388,14 +1420,14 @@ mock_update_or_init_cfg () {
|
||||
if [ -d $ROOT_DIR/root ]; then
|
||||
echo "Updating the mock environment"
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --update &> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --update &> $TMP
|
||||
RC=$?
|
||||
else
|
||||
echo "Init the mock environment"
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --init &> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --init &> $TMP
|
||||
RC=$?
|
||||
fi
|
||||
if [ $RC -ne 0 ]; then
|
||||
@ -1411,7 +1443,7 @@ mock_update_or_init () {
|
||||
local PREFIX=$(echo $SUB_CFG | rev | cut -d . -f 2 | rev)
|
||||
( mock_update_or_init_cfg $SUB_CFG 2>&1 | sed "s#^#${PREFIX}: #" ; exit ${PIPESTATUS[0]} ) &
|
||||
done
|
||||
wait
|
||||
wait
|
||||
echo "${FUNCNAME[0]}: out"
|
||||
}
|
||||
|
||||
@ -1429,12 +1461,12 @@ NO_DESCENDANTS=0
|
||||
NO_REQUIRED=0
|
||||
NO_AUTOCLEAN=0
|
||||
NO_BUILD_INFO=0
|
||||
HELP=0
|
||||
HELP=0
|
||||
CLEAN_FLAG=0
|
||||
FORMAL_FLAG=0
|
||||
CAREFUL=0
|
||||
DEP_TEST_FLAG=0
|
||||
|
||||
|
||||
# read the options
|
||||
TEMP=$(getopt -o h --long parallel,std,rt,installer,containers,no-required,no-descendants,no-autoclean,no-build-info,dep-test,clean,tmpfs-clean,formal,careful,help,layer: -n "$ME" -- "$@")
|
||||
|
||||
@ -1470,7 +1502,7 @@ while true ; do
|
||||
--) shift ; break ;;
|
||||
*) echo "Internal error!" ; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
done
|
||||
|
||||
# Reset variables
|
||||
if [ -n "$MY_WORKSPACE" ]; then
|
||||
@ -1729,7 +1761,7 @@ clean_list () {
|
||||
echo "rm -rf $d"
|
||||
\rm -rf "$d" 2>> /dev/null
|
||||
done
|
||||
|
||||
|
||||
else
|
||||
rs=$(rpm_get_srpm $r)
|
||||
if [[ "$rs" != "$sn"-[0-9]* ]]; then
|
||||
@ -1742,7 +1774,7 @@ clean_list () {
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
TARGET=$(rpm -qp --qf '%{NAME}-%{VERSION}\n' "$s")
|
||||
|
||||
if [ $CLEAN_FLAG -eq 1 ]; then
|
||||
@ -1782,7 +1814,7 @@ clean_list () {
|
||||
|
||||
\rm -f -v $RESULT_DIR/mockchain.log 2>> /dev/null
|
||||
mock_clean
|
||||
else
|
||||
else
|
||||
# If dependency test
|
||||
if [ $DEP_TEST_FLAG -eq 1 ]; then
|
||||
mock_clean
|
||||
@ -2045,7 +2077,7 @@ if [ $CLEAN_FLAG -eq 0 ] && [ $NO_DESCENDANTS -eq 0 ] && [ -f $SRPM_DIRECT_DESCE
|
||||
done
|
||||
|
||||
# For non-std build, and if non specific build targets are named, then search all
|
||||
# packages that we might build and check if they require a package that DID build
|
||||
# packages that we might build and check if they require a package that DID build
|
||||
# in the std build. If so build the package as a secondary target, even though the
|
||||
# primary target was from a different build_type.
|
||||
if [ "$BUILD_TYPE" != "std" ] && [ $ALL -eq 1 ] && [ -f $SRPM_TO_RPM_MAP_FILE ] && [ -f $SRPM_RPM_DIRECT_REQUIRES_FILE ]; then
|
||||
@ -2105,7 +2137,7 @@ if [ $CLEAN_FLAG -eq 0 ] && [ $NO_DESCENDANTS -eq 0 ] && [ -f $SRPM_DIRECT_DESCE
|
||||
done
|
||||
fi
|
||||
|
||||
# If the kernel or kernel-rt packages where absent from the primary build targets, but
|
||||
# If the kernel or kernel-rt packages where absent from the primary build targets, but
|
||||
# added as a secondary target, then make sure all out-of-tree kernel modules are also
|
||||
# added.
|
||||
for n in kernel kernel-rt; do
|
||||
@ -2234,9 +2266,9 @@ echo "SRPMS_LIST = $SRPMS_LIST"
|
||||
echo "RPMS_LIST = $RPMS_LIST"
|
||||
|
||||
|
||||
echo
|
||||
echo
|
||||
if [ $CLEAN_FLAG -eq 0 ]; then
|
||||
# pre-create these directories as $USER,
|
||||
# pre-create these directories as $USER,
|
||||
# else mock will create them as root and fails to clean them.
|
||||
# Note: keep these in sync with mockchain-parallel!
|
||||
for i in $(seq 0 $((MAX_WORKERS-1))); do
|
||||
@ -2299,15 +2331,28 @@ mock_clean_metadata
|
||||
echo
|
||||
echo "Building"
|
||||
|
||||
recreate_repodata $BUILD_BASE/results/$BUILD_ENVIRONMENT_DIR
|
||||
|
||||
CMD_PREFIX=""
|
||||
if [ -x /bin/ionice ]; then
|
||||
CMD_PREFIX="nice -n 20 ionice -c Idle /bin/ionice "
|
||||
fi
|
||||
|
||||
CMD_OPTIONS="-m --no-clean -m --no-cleanup-after"
|
||||
if [ $CAREFUL -eq 1 ]; then
|
||||
CMD_OPTIONS="-m --no-cleanup-after"
|
||||
REAL_MOCKCHAIN=0
|
||||
MOCK_PASSTHROUGH="-m"
|
||||
MOCKCHAIN="mockchain-parallel"
|
||||
CHAIN_OPTION=""
|
||||
if file $(which mockchain) | grep -q 'Python script'; then
|
||||
REAL_MOCKCHAIN=1
|
||||
fi
|
||||
|
||||
CMD_OPTIONS="$MOCK_PASSTHROUGH --no-clean $MOCK_PASSTHROUGH --no-cleanup-after"
|
||||
if [ $CAREFUL -eq 1 ]; then
|
||||
CMD_OPTIONS="$MOCK_PASSTHROUGH --no-cleanup-after"
|
||||
fi
|
||||
|
||||
CMD_OPTIONS+=" --log=$MOCKCHAIN_LOG"
|
||||
|
||||
echo "CAREFUL=$CAREFUL"
|
||||
|
||||
# Sets WORKERS and MOCKCHAIN_RESOURCE_ALLOCATION
|
||||
@ -2315,13 +2360,13 @@ compute_resources $SRPMS_LIST
|
||||
|
||||
|
||||
if [ -f $SRPM_RPM_DIRECT_REQUIRES_FILE ]; then
|
||||
CMD_OPTIONS="$CMD_OPTIONS --srpm-dependency-file $SRPM_RPM_DIRECT_REQUIRES_FILE"
|
||||
CMD_OPTIONS+=" --srpm-dependency-file $SRPM_RPM_DIRECT_REQUIRES_FILE"
|
||||
fi
|
||||
if [ -f "$RPM_DIRECT_REQUIRES_FILE" ]; then
|
||||
CMD_OPTIONS="$CMD_OPTIONS --rpm-dependency-file $RPM_DIRECT_REQUIRES_FILE"
|
||||
CMD_OPTIONS+=" --rpm-dependency-file $RPM_DIRECT_REQUIRES_FILE"
|
||||
fi
|
||||
if [ -f "$RPM_TO_SRPM_MAP_FILE" ]; then
|
||||
CMD_OPTIONS="$CMD_OPTIONS --rpm-to-srpm-map-file $RPM_TO_SRPM_MAP_FILE"
|
||||
CMD_OPTIONS+=" --rpm-to-srpm-map-file $RPM_TO_SRPM_MAP_FILE"
|
||||
fi
|
||||
|
||||
|
||||
@ -2342,12 +2387,12 @@ echo "MAX_WORKERS=$MAX_WORKERS"
|
||||
echo "MOCKCHAIN_RESOURCE_ALLOCATION=$MOCKCHAIN_RESOURCE_ALLOCATION"
|
||||
|
||||
|
||||
CMD="$CMD_PREFIX mockchain-parallel -r $BUILD_CFG -l $BUILD_BASE --recurse --workers=$MAX_WORKERS --worker-resources=$MOCKCHAIN_RESOURCE_ALLOCATION --basedir=$MY_WORKSPACE --log=$MOCKCHAIN_LOG --tmp_prefix=$USER --addrepo=$LOCAL_URL --addrepo=$LOCAL_SRC_URL $CMD_OPTIONS -m --rebuild $SRPMS_LIST"
|
||||
CMD="$CMD_PREFIX $MOCKCHAIN --root $BUILD_CFG --localrepo $BUILD_BASE --recurse --workers=$MAX_WORKERS --worker-resources=$MOCKCHAIN_RESOURCE_ALLOCATION --basedir=$MY_WORKSPACE --tmp_prefix=$USER --addrepo=$LOCAL_URL --addrepo=$LOCAL_SRC_URL $CMD_OPTIONS $MOCK_PASSTHROUGH --rebuild"
|
||||
CMD_BUILD_LIST="$CHAIN_OPTION $SRPMS_LIST"
|
||||
echo ""
|
||||
echo "$CMD -m --define='_tis_dist .tis' -m --define='platform_release $PLATFORM_RELEASE'"
|
||||
echo "$CMD $MOCK_PASSTHROUGH --define='_tis_dist .tis' $MOCK_PASSTHROUGH --define='platform_release $PLATFORM_RELEASE' $CMD_BUILD_LIST"
|
||||
echo ""
|
||||
|
||||
trapwrap stdbuf -o0 $CMD -m --define="_tis_dist .tis" -m --define="platform_release $PLATFORM_RELEASE"
|
||||
trapwrap stdbuf -o0 $CMD $MOCK_PASSTHROUGH --define="_tis_dist .tis" $MOCK_PASSTHROUGH --define="platform_release $PLATFORM_RELEASE" $CMD_BUILD_LIST
|
||||
MOCKCHAIN_RC=$?
|
||||
|
||||
echo $PLATFORM_RELEASE > $LAST_PLATFORM_RELEASE_FILE
|
||||
@ -2357,7 +2402,7 @@ if [ $CLEAN_FLAG -eq 0 ]; then
|
||||
fi
|
||||
|
||||
for d in $(find $RESULT_DIR -name '*.rpm' | grep -v '[.]src[.]rpm' | xargs --max-args=1 dirname | sort -u); do
|
||||
rsync -u $d/*.rpm $RPM_DIR
|
||||
rsync -u $d/*.rpm $RPM_DIR
|
||||
done
|
||||
|
||||
if [ $ALL -eq 1 ]; then
|
||||
@ -2441,5 +2486,5 @@ if [ 0$FORMAL_BUILD -eq 1 ] && [ "$USER" == "jenkins" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
) 2>&1 | stdbuf -o0 awk '{ print strftime("%H:%M:%S"), $0; fflush(); }' | tee $(date "+$MY_WORKSPACE/build-rpms-parallel_%Y-%m-%d_%H-%M-%S.log") ; exit ${PIPESTATUS[0]}
|
||||
|
@ -1,20 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018 Wind River Systems, Inc.
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
#
|
||||
#
|
||||
# Builds rpm files from src.rpm files.
|
||||
#
|
||||
# This version compiles one package at a time.
|
||||
#
|
||||
# The location of packages to be built is
|
||||
#
|
||||
# The location of packages to be built is
|
||||
# $MY_WORKSPACE/<build-type>/rpmbuild/SRPMS.
|
||||
#
|
||||
# The build order is a derived from the BuildRequires in the
|
||||
# The build order is a derived from the BuildRequires in the
|
||||
# spec files in the src.rpms. Note that the BuildRequires sometimes
|
||||
# create dependency loops, so no correct order can be computed. In these
|
||||
# cases we add a retry loop. As long as one new package builds, we
|
||||
@ -103,7 +103,7 @@ create-no-clean-list () {
|
||||
local install_groups=""
|
||||
local install_packages=""
|
||||
local p
|
||||
|
||||
|
||||
for p in $(grep "config_opts\['chroot_setup_cmd'\]" $MY_BUILD_CFG | tail -n1 | cut -d '=' -f 2 | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e "s/^'//" -e "s/'$//" -e 's/^install //'); do
|
||||
if [[ $p == @* ]] ; then
|
||||
install_groups=$(join_by ' ' $install_groups $(echo $p | cut -c 2-))
|
||||
@ -111,37 +111,44 @@ create-no-clean-list () {
|
||||
install_packages=$(join_by ' ' $install_packages $p)
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
local noclean_last_list_len=0
|
||||
local noclean_list=""
|
||||
local tmp_list=""
|
||||
local g
|
||||
|
||||
|
||||
for g in $install_groups; do
|
||||
tmp_list=$(yum -c $MY_YUM_CONF groupinfo $g 2>> /dev/null | awk 'f;/Mandatory Packages:/{f=1}' | cut -c 5-)
|
||||
# Find manditory packages in the group.
|
||||
# Discard anything before (and including) 'Mandatory Packages:'
|
||||
# and anything after (and including) 'Optional Packages:'.
|
||||
# Also discard leading spaces or '+' characters.
|
||||
tmp_list=$(${PKG_MANAGER} -c $MY_YUM_CONF groupinfo $g 2>> /dev/null \
|
||||
| awk 'f;/Mandatory Packages:/{f=1}' \
|
||||
| sed -n '/Optional Packages:/q;p' \
|
||||
| sed 's#[ +]*##')
|
||||
noclean_list=$(join_by ' ' $noclean_list $tmp_list)
|
||||
done
|
||||
|
||||
|
||||
noclean_list=$(join_by ' ' $noclean_list $install_packages)
|
||||
noclean_list=$(echo $noclean_list | tr ' ' '\n' | sort --uniq)
|
||||
noclean_list_len=$(echo $noclean_list | wc -w)
|
||||
|
||||
|
||||
while [ $noclean_list_len -gt $noclean_last_list_len ]; do
|
||||
noclean_last_list_len=$noclean_list_len
|
||||
noclean_list=$( (yum -c $MY_YUM_CONF deplist $noclean_list 2>> /dev/null | grep provider: | awk '{ print $2 }' | awk -F . '{ print $1 }'; for p in $noclean_list; do echo $p; done) | sort --uniq)
|
||||
noclean_list_len=$(echo $noclean_list | wc -w)
|
||||
done
|
||||
|
||||
|
||||
echo $noclean_list > $NO_CLEAN_LIST_FILE
|
||||
fi
|
||||
|
||||
cat $NO_CLEAN_LIST_FILE
|
||||
}
|
||||
|
||||
str_lst_contains() {
|
||||
str_lst_contains() {
|
||||
TARGET="$1"
|
||||
LST="$2"
|
||||
if [[ $LST =~ (^|[[:space:]])$TARGET($|[[:space:]]) ]] ; then
|
||||
if [[ $LST =~ (^|[[:space:]])$TARGET($|[[:space:]]) ]] ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
@ -169,7 +176,9 @@ create_lst () {
|
||||
recreate_repodata () {
|
||||
local DIR=${1}
|
||||
|
||||
(cd $DIR
|
||||
(
|
||||
mkdir -p $DIR
|
||||
cd $DIR
|
||||
if [ -f repodata/*comps*xml ]; then
|
||||
\mv repodata/*comps*xml comps.xml
|
||||
fi
|
||||
@ -260,11 +269,11 @@ union () {
|
||||
echo $b
|
||||
fi
|
||||
done
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# returns 0 if element is in the array
|
||||
#
|
||||
#
|
||||
# e.g. contains ARRAY $SEEKING && echo "$SEEKING is in 'ARRAY'"
|
||||
#
|
||||
contains () {
|
||||
@ -311,7 +320,7 @@ build_order_recursive () {
|
||||
needs=( $(grep "^$target;" "$SRPM_DIRECT_REQUIRES_FILE" | sed "s/$target;//" | sed 's/,/ /g') )
|
||||
needs_list=( $(intersection needs remainder_list) )
|
||||
for((idx=0;idx<${#needs_list[@]};idx++)); do
|
||||
build_order_recursive ${needs_list[idx]}
|
||||
build_order_recursive ${needs_list[idx]}
|
||||
done
|
||||
echo $target
|
||||
break
|
||||
@ -361,7 +370,7 @@ build_order () {
|
||||
UNORDERED_LIST=( ${original_list[@]} )
|
||||
while [ ${#UNORDERED_LIST[@]} -gt 0 ]; do
|
||||
element=${UNORDERED_LIST[0]}
|
||||
build_order_recursive $element
|
||||
build_order_recursive $element
|
||||
done
|
||||
fi
|
||||
}
|
||||
@ -476,7 +485,7 @@ kill_descendents ()
|
||||
recursive_promote_children=""
|
||||
recursive_children=$(pgrep -P $kill_pid)
|
||||
fi
|
||||
|
||||
|
||||
if [ $iteration -eq 0 ]; then
|
||||
other_children=$(for relevant_child in $relevant_other_children; do pgrep -P $kill_pid $relevant_child; done)
|
||||
if [ "$other_children" != "" ]; then
|
||||
@ -491,7 +500,7 @@ kill_descendents ()
|
||||
fi
|
||||
|
||||
for pid in $recursive_children; do
|
||||
kill_descendents "$pid" $kill_all $need_stop $((iteration + 1))
|
||||
kill_descendents "$pid" $kill_all $need_stop $((iteration + 1))
|
||||
done
|
||||
for pid in $recursive_promote_children; do
|
||||
kill_descendents "$pid" 1 1 $((iteration + 1))
|
||||
@ -754,11 +763,11 @@ mock_clean_cfg () {
|
||||
echo "=================================="
|
||||
mock_clean_cache_cfg $CFG
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --clean"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --clean
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --clean"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --clean
|
||||
### Note: this sometimes leaves behind a $MY_WORKSPACE/cache/mock/yum_cache/yumcache.lock
|
||||
echo "=================================="
|
||||
mock_clean_cache_all_cfg $CFG
|
||||
@ -833,10 +842,10 @@ mock_partial_clean_cfg () {
|
||||
local RPMS_CLEAN_LIST=""
|
||||
local NEED_FULL_MOCK_CLEAN=0
|
||||
for r in $RPMS_LIST; do
|
||||
if ! str_lst_contains $r "$NO_CLEAN_LIST" ; then
|
||||
if ! str_lst_contains $r "$NO_CLEAN_LIST" ; then
|
||||
RPMS_CLEAN_LIST=$(join_by ' ' $RPMS_CLEAN_LIST $r)
|
||||
else
|
||||
echo "Can't remove '$r' from mock environment without a wipe";
|
||||
else
|
||||
echo "Can't remove '$r' from mock environment without a wipe";
|
||||
NEED_FULL_MOCK_CLEAN=1
|
||||
fi
|
||||
done
|
||||
@ -849,19 +858,19 @@ mock_partial_clean_cfg () {
|
||||
# Intent of following is for $RPMS_LIST to be expand now while the remaining $ varaibles are for bash inside mock to expand
|
||||
echo "Try to uninstall from the mock environment these packages: $RPMS_CLEAN_LIST"
|
||||
CMD='LST="'$RPMS_CLEAN_LIST'";
|
||||
DELETE_LIST="";
|
||||
for r in $LST; do
|
||||
FOUND=$(rpm -q $r) ;
|
||||
if [ $? -eq 0 ]; then
|
||||
DELETE_LIST="$DELETE_LIST $FOUND";
|
||||
fi;
|
||||
done;
|
||||
echo "uninstalling these packages: $DELETE_LIST";
|
||||
DELETE_LIST="";
|
||||
for r in $LST; do
|
||||
FOUND=$(rpm -q $r) ;
|
||||
if [ $? -eq 0 ]; then
|
||||
DELETE_LIST="$DELETE_LIST $FOUND";
|
||||
fi;
|
||||
done;
|
||||
echo "uninstalling these packages: $DELETE_LIST";
|
||||
if [ "$DELETE_LIST" != "" ]; then
|
||||
rpm -e --nodeps $DELETE_LIST;
|
||||
fi'
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --chroot "bash -c '$CMD'" &>> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --chroot "bash -c '$CMD'" &>> $TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -907,8 +916,8 @@ mock_clean_cache_cfg () {
|
||||
|
||||
clean_yum_cache_cfg $CFG
|
||||
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache &>> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=root-cache --scrub=yum-cache --scrub=cache &>> $TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -931,8 +940,8 @@ mock_clean_cache_all_cfg () {
|
||||
echo "=================================="
|
||||
clean_yum_cache_cfg $CFG
|
||||
echo "=================================="
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --scrub=all
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -956,8 +965,8 @@ mock_clean_metadata_cfg () {
|
||||
fi
|
||||
|
||||
CMD=$((cat $CFG; grep config_opts\\[\'yum.conf\'\\\] $CFG | sed 's#\\n#\n#g') | grep '^[[]' | grep -v main | sed 's/[][]//g' | sed 's#^#yum --enablerepo=#' | sed 's#$# clean metadata#' | sort -u | tr '\n' ';')
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --chroot "bash -c '($CMD)'" &>>$TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --chroot bash -c $CMD" &> $TMP
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --chroot "bash -c '($CMD)'" &>>$TMP
|
||||
RC=$?
|
||||
if [ $RC -ne 0 ]; then
|
||||
cat $TMP
|
||||
@ -1010,7 +1019,7 @@ update_cgcs_repo () {
|
||||
if [ "x$NEW_UNTRACKED" != "x" ]; then
|
||||
NEED_REBUILD=1
|
||||
fi
|
||||
|
||||
|
||||
if [ $NEED_REBUILD -eq 1 ]; then
|
||||
NEED_MOCK_CLEAN=1
|
||||
echo ""
|
||||
@ -1056,7 +1065,7 @@ mock_clean_mounts_dir () {
|
||||
fi
|
||||
fi
|
||||
if [ $RC -eq 1 ]; then
|
||||
echo "ERROR: Directory '$MOUNT' is already mounted and will cause a build failure within mock."
|
||||
echo "ERROR: Directory '$MOUNT' is already mounted and will cause a build failure within mock."
|
||||
echo "Ask your system administrator to umount '$MOUNT'."
|
||||
exit 1
|
||||
fi
|
||||
@ -1097,7 +1106,7 @@ clean_yum_cache_cfg () {
|
||||
local YUM_CACHE_MOUNT=$(readlink -f "$ROOT_DIR/root/var/cache/yum")
|
||||
local YUM_CACHE_LOCK="$CACHE_DIR/mock/yum_cache/yumcache.lock"
|
||||
# echo "clean_yum_cache YUM_CACHE_MOUNT='$YUM_CACHE_MOUNT' YUM_CACHE_LOCK='$YUM_CACHE_LOCK'"
|
||||
|
||||
|
||||
if [ "$YUM_CACHE_MOUNT" != "" ]; then
|
||||
mock_clean_mounts_dir "$YUM_CACHE_MOUNT"
|
||||
fi
|
||||
@ -1131,8 +1140,8 @@ mock_update_cfg () {
|
||||
echo "${FUNCNAME[0]}: $CFG"
|
||||
echo "=================================="
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --update
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --update
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -1141,8 +1150,8 @@ mock_init_cfg () {
|
||||
echo "${FUNCNAME[0]}: $CFG"
|
||||
echo "=================================="
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --init
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --init
|
||||
echo "=================================="
|
||||
}
|
||||
|
||||
@ -1161,14 +1170,14 @@ mock_update_or_init_cfg () {
|
||||
if [ -d $ROOT_DIR/root ]; then
|
||||
echo "Updating the mock environment"
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --update &> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --update"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --update &> $TMP
|
||||
RC=$?
|
||||
else
|
||||
echo "Init the mock environment"
|
||||
set_mock_symlinks $CFG
|
||||
echo "$MOCK -r $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK -r $CFG --configdir $(dirname $CFG) --init &> $TMP
|
||||
echo "$MOCK --root $CFG --configdir $(dirname $CFG) --init"
|
||||
trapwrap_n $CFG $MOCK --root $CFG --configdir $(dirname $CFG) --init &> $TMP
|
||||
RC=$?
|
||||
fi
|
||||
if [ $RC -ne 0 ]; then
|
||||
@ -1198,12 +1207,12 @@ NO_DESCENDANTS=0
|
||||
NO_REQUIRED=0
|
||||
NO_AUTOCLEAN=0
|
||||
NO_BUILD_INFO=0
|
||||
HELP=0
|
||||
HELP=0
|
||||
CLEAN_FLAG=0
|
||||
FORMAL_FLAG=0
|
||||
CAREFUL=0
|
||||
DEP_TEST_FLAG=0
|
||||
|
||||
|
||||
# read the options
|
||||
TEMP=$(getopt -o h --long serial,std,rt,installer,containers,no-required,no-descendants,no-autoclean,no-build-info,dep-test,clean,formal,careful,help,layer: -n "$ME" -- "$@")
|
||||
|
||||
@ -1238,7 +1247,7 @@ while true ; do
|
||||
--) shift ; break ;;
|
||||
*) echo "Internal error!" ; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
# Reset variables
|
||||
@ -1493,7 +1502,7 @@ clean_list () {
|
||||
echo "rm -rf $d"
|
||||
\rm -rf "$d" 2>> /dev/null
|
||||
done
|
||||
|
||||
|
||||
else
|
||||
rs=$(rpm_get_srpm $r)
|
||||
if [[ "$rs" != "$sn"-[0-9]* ]]; then
|
||||
@ -1506,7 +1515,7 @@ clean_list () {
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
TARGET=$(rpm -qp --qf '%{NAME}-%{VERSION}\n' "$s")
|
||||
|
||||
if [ $CLEAN_FLAG -eq 1 ]; then
|
||||
@ -1542,7 +1551,7 @@ clean_list () {
|
||||
|
||||
\rm -f -v $RESULT_DIR/mockchain.log 2>> /dev/null
|
||||
mock_clean
|
||||
else
|
||||
else
|
||||
# If dependency test
|
||||
if [ $DEP_TEST_FLAG -eq 1 ]; then
|
||||
mock_clean
|
||||
@ -1801,7 +1810,7 @@ if [ $CLEAN_FLAG -eq 0 ] && [ $NO_DESCENDANTS -eq 0 ] && [ -f $SRPM_DIRECT_DESCE
|
||||
done
|
||||
|
||||
# For non-std build, and if non specific build targets are named, then search all
|
||||
# packages that we might build and check if they require a package that DID build
|
||||
# packages that we might build and check if they require a package that DID build
|
||||
# in the std build. If so build the package as a secondary target, even though the
|
||||
# primary target was from a different build_type.
|
||||
if [ "$BUILD_TYPE" != "std" ] && [ $ALL -eq 1 ] && [ -f $SRPM_TO_RPM_MAP_FILE ] && [ -f $SRPM_RPM_DIRECT_REQUIRES_FILE ]; then
|
||||
@ -1861,7 +1870,7 @@ if [ $CLEAN_FLAG -eq 0 ] && [ $NO_DESCENDANTS -eq 0 ] && [ -f $SRPM_DIRECT_DESCE
|
||||
done
|
||||
fi
|
||||
|
||||
# If the kernel or kernel-rt packages where absent from the primary build targets, but
|
||||
# If the kernel or kernel-rt packages where absent from the primary build targets, but
|
||||
# added as a secondary target, then make sure all out-of-tree kernel modules are also
|
||||
# added.
|
||||
for n in kernel kernel-rt; do
|
||||
@ -1996,9 +2005,9 @@ echo "SRPMS_LIST = $SRPMS_LIST"
|
||||
echo "RPMS_LIST = $RPMS_LIST"
|
||||
|
||||
|
||||
echo
|
||||
echo
|
||||
if [ $CLEAN_FLAG -eq 0 ]; then
|
||||
# pre-create these directories as $USER,
|
||||
# pre-create these directories as $USER,
|
||||
# else mock will create them as root and fails to clean them.
|
||||
# Note: keep these in sync with mockchain-parallel!
|
||||
mkdir -p $MY_WORKSPACE/mock
|
||||
@ -2059,27 +2068,46 @@ mock_clean_metadata
|
||||
echo
|
||||
echo "Building"
|
||||
|
||||
recreate_repodata $BUILD_BASE/results/$BUILD_ENVIRONMENT_DIR
|
||||
|
||||
CMD_PREFIX=""
|
||||
if [ -x /bin/ionice ]; then
|
||||
CMD_PREFIX="nice -n 20 ionice -c Idle /bin/ionice "
|
||||
fi
|
||||
|
||||
CMD_OPTIONS="-m --no-clean -m --no-cleanup-after"
|
||||
REAL_MOCKCHAIN=0
|
||||
MOCK_PASSTHROUGH=""
|
||||
MOCKCHAIN="mock"
|
||||
CHAIN_OPTION="--chain"
|
||||
if file $(which mockchain) | grep -q 'Python script'; then
|
||||
REAL_MOCKCHAIN=1
|
||||
MOCK_PASSTHROUGH="-m"
|
||||
MOCKCHAIN="mockchain"
|
||||
CHAIN_OPTION=""
|
||||
fi
|
||||
|
||||
CMD_OPTIONS="$MOCK_PASSTHROUGH --no-clean $MOCK_PASSTHROUGH --no-cleanup-after"
|
||||
if [ $CAREFUL -eq 1 ]; then
|
||||
CMD_OPTIONS="-m --no-cleanup-after"
|
||||
CMD_OPTIONS="$MOCK_PASSTHROUGH --no-cleanup-after"
|
||||
fi
|
||||
if [ $REAL_MOCKCHAIN -eq 1 ]; then
|
||||
CMD_OPTIONS+=" --log=$MOCKCHAIN_LOG"
|
||||
fi
|
||||
echo "CAREFUL=$CAREFUL"
|
||||
echo "CMD_OPTIONS=$CMD_OPTIONS"
|
||||
|
||||
CMD="$CMD_PREFIX mockchain -r $BUILD_CFG -l $BUILD_BASE --recurse --log=$MOCKCHAIN_LOG --tmp_prefix=$USER --addrepo=$LOCAL_URL --addrepo=$LOCAL_SRC_URL -m --rootdir=$BUILD_BASE/mock/root $CMD_OPTIONS -m --rebuild $SRPMS_LIST"
|
||||
echo "$CMD -m --define='_tis_dist .tis' -m --define='platform_release $PLATFORM_RELEASE'"
|
||||
trapwrap stdbuf -o0 $CMD -m --define='_tis_dist .tis' -m --define="platform_release $PLATFORM_RELEASE"
|
||||
CMD="$CMD_PREFIX $MOCKCHAIN --root $BUILD_CFG --localrepo $BUILD_BASE --recurse --tmp_prefix=$USER --addrepo=$LOCAL_URL --addrepo=$LOCAL_SRC_URL $MOCK_PASSTHROUGH --rootdir=$BUILD_BASE/mock/root $CMD_OPTIONS $MOCK_PASSTHROUGH --rebuild"
|
||||
CMD_BUILD_LIST="$CHAIN_OPTION $SRPMS_LIST"
|
||||
echo ""
|
||||
echo "$CMD $MOCK_PASSTHROUGH --define='_tis_dist .tis' $MOCK_PASSTHROUGH --define='platform_release $PLATFORM_RELEASE' $CMD_BUILD_LIST"
|
||||
echo ""
|
||||
trapwrap stdbuf -o0 $CMD $MOCK_PASSTHROUGH --define="_tis_dist .tis" $MOCK_PASSTHROUGH --define="platform_release $PLATFORM_RELEASE" $CMD_BUILD_LIST
|
||||
MOCKCHAIN_RC=$?
|
||||
|
||||
echo $PLATFORM_RELEASE > $LAST_PLATFORM_RELEASE_FILE
|
||||
|
||||
for d in $(find $RESULT_DIR -name '*.rpm' | grep -v '[.]src[.]rpm' | xargs --max-args=1 dirname | sort -u); do
|
||||
rsync -u $d/*.rpm $RPM_DIR
|
||||
rsync -u $d/*.rpm $RPM_DIR
|
||||
done
|
||||
|
||||
if [ $ALL -eq 1 ]; then
|
||||
@ -2163,5 +2191,5 @@ if [ 0$FORMAL_BUILD -eq 1 ] && [ "$USER" == "jenkins" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
) 2>&1 | stdbuf -o0 awk '{ print strftime("%H:%M:%S"), $0; fflush(); }' | tee $(date "+$MY_WORKSPACE/build-rpms-serial_%Y-%m-%d_%H-%M-%S.log") ; exit ${PIPESTATUS[0]}
|
||||
|
@ -1,5 +1,11 @@
|
||||
#!/bin/env bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Here's the score, kids. There are a few different places from which we can
|
||||
# get packages. In priority order, they are:
|
||||
#
|
||||
@ -26,18 +32,24 @@
|
||||
# export/dist/report_deps.txt
|
||||
#
|
||||
|
||||
CGTS_DEPS_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
|
||||
# Set REPOQUERY, REPOQUERY_SUB_COMMAND, REPOQUERY_RESOLVE and
|
||||
# REPOQUERY_WHATPROVIDES_DELIM for our build environment.
|
||||
source ${CGTS_DEPS_DIR}/../pkg-manager-utils.sh
|
||||
|
||||
# This function generates a simple file of dependencies we're trying to resolve
|
||||
function generate_dep_list {
|
||||
TMP_RPM_DB=$(mktemp -d $(pwd)/tmp_rpm_db_XXXXXX)
|
||||
mkdir -p $TMP_RPM_DB
|
||||
rpm --initdb --dbpath $TMP_RPM_DB
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' >> $DEPDETAILLISTFILE 2>&1
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' 2>&1 \
|
||||
| grep -v "error:" \
|
||||
| grep -v "warning:" \
|
||||
| grep -v "Preparing..." \
|
||||
| grep -v "installing package" \
|
||||
| sed "s/ is needed by.*$//" | sed "s/ >=.*$//" | sort -u > $DEPLISTFILE
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' > $DEPLISTFILE_NEW 2>&1
|
||||
cat $DEPLISTFILE_NEW >> $DEPDETAILLISTFILE
|
||||
cat $DEPLISTFILE_NEW \
|
||||
| grep -v -e "error:" -e "warning:" -e "Preparing..." \
|
||||
-e "Verifying..." -e "installing package" \
|
||||
| sed -e "s/ is needed by.*$//" -e "s/ >=.*$//" \
|
||||
| sort -u > $DEPLISTFILE
|
||||
\rm -rf $TMP_RPM_DB
|
||||
}
|
||||
|
||||
@ -79,8 +91,17 @@ function install_deps {
|
||||
|
||||
# go through each repo and convert deps to packages based on package name
|
||||
for REPOID in `grep '^[[].*[]]$' $YUM | grep -v '[[]main[]]' | awk -F '[][]' '{print $2 }'`; do
|
||||
echo "TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch ${DEP_LIST} --qf='%{name}'"
|
||||
TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --qf='%{name}' ${DEP_LIST} | sed "s/kernel-debug/kernel/g" >> $UNSORTED_PACKAGES
|
||||
echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=$REPOID"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"${DEP_LIST} --qf='%{name}'"
|
||||
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=$REPOID \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf='%{name}' ${DEP_LIST} \
|
||||
| sed "s/kernel-debug/kernel/g" >> $UNSORTED_PACKAGES
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done
|
||||
sort $UNSORTED_PACKAGES -u > $SORTED_PACKAGES
|
||||
@ -100,15 +121,24 @@ function install_deps {
|
||||
\cp $SORTED_PACKAGES $UNSORTED_PACKAGES
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST="${DEP_LIST}${REPOQUERY_WHATPROVIDES_DELIM}${DEP}"
|
||||
done < $UNRESOLVED_PACKAGES
|
||||
|
||||
DEP_LIST=$(echo "$DEP_LIST" | sed 's/^ //g')
|
||||
DEP_LIST=$(echo "$DEP_LIST" | sed "s/^${REPOQUERY_WHATPROVIDES_DELIM}//g")
|
||||
if [ "$DEP_LIST" != "" ]; then
|
||||
|
||||
for REPOID in `grep '^[[].*[]]$' $YUM | grep -v '[[]main[]]' | awk -F '[][]' '{print $2 }'`; do
|
||||
echo "TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --whatprovides ${DEP_LIST} --qf='%{name}'"
|
||||
TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --qf='%{name}' --whatprovides ${DEP_LIST} | sed "s/kernel-debug/kernel/g" >> $UNSORTED_PACKAGES
|
||||
echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf='%{name}' --whatprovides ${DEP_LIST}"
|
||||
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf='%{name}' --whatprovides "${DEP_LIST}" \
|
||||
| sed "s/kernel-debug/kernel/g" >> $UNSORTED_PACKAGES
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done
|
||||
fi
|
||||
@ -137,8 +167,20 @@ function install_deps {
|
||||
|
||||
if [[ ! -z "${TARGETS// }" ]]; then
|
||||
REPO_PATH=$(cat $YUM | sed -n "/^\[$REPOID\]\$/,\$p" | grep '^baseurl=' | head -n 1 | awk -F 'file://' '{print $2}' | sed 's:/$::')
|
||||
>&2 echo "TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf='%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}'"
|
||||
TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf="%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}" | sort -r -V > $TMPFILE
|
||||
|
||||
>&2 echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf='%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}'"\
|
||||
"${REPOQUERY_RESOLVE} ${TARGETS}"
|
||||
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf="%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}" \
|
||||
${REPOQUERY_RESOLVE} ${TARGETS} \
|
||||
| sort -r -V > $TMPFILE
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
|
||||
while read STR
|
||||
@ -157,7 +199,11 @@ function install_deps {
|
||||
cp $PKG_PATH .
|
||||
if [ $? -ne 0 ]; then
|
||||
>&2 echo " Here's what I have to work with..."
|
||||
>&2 echo " TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $PKG --qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\""
|
||||
>&2 echo " TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\""\
|
||||
"${REPOQUERY_RESOLVE} ${PKG}"
|
||||
>&2 echo " PKG=$PKG PKG_FILE=$PKG_FILE REPO_PATH=$REPO_PATH PKG_REL_PATH=$PKG_REL_PATH PKG_PATH=$PKG_PATH"
|
||||
fi
|
||||
|
||||
@ -172,8 +218,8 @@ function install_deps {
|
||||
echo " path $PKG_PATH" >> $BUILT_REPORT
|
||||
FOUND_UNKNOWN=1
|
||||
fi
|
||||
done < $TMPFILE #<<< "$(TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\" | sort -r -V)"
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done < $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
TARGETS="$UNRESOLVED"
|
||||
fi
|
||||
done
|
||||
@ -220,6 +266,7 @@ OUTPUT_DIR=$MY_WORKSPACE/export
|
||||
TMP_DIR=$MY_WORKSPACE/tmp
|
||||
YUM=$OUTPUT_DIR/yum.conf
|
||||
DEPLISTFILE=$OUTPUT_DIR/deps.txt
|
||||
DEPLISTFILE_NEW=$OUTPUT_DIR/deps_new.txt
|
||||
DEPDETAILLISTFILE=$OUTPUT_DIR/deps_detail.txt
|
||||
|
||||
BUILT_REPORT=$OUTPUT_DIR/local.txt
|
||||
|
@ -1,15 +1,29 @@
|
||||
#!/bin/env bash
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CGTS_DEPS_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
|
||||
# Set REPOQUERY, REPOQUERY_SUB_COMMAND, REPOQUERY_RESOLVE and
|
||||
# REPOQUERY_WHATPROVIDES_DELIM for our build environment.
|
||||
source ${CGTS_DEPS_DIR}/../pkg-manager-utils.sh
|
||||
|
||||
function generate_dep_list {
|
||||
TMP_RPM_DB=$(mktemp -d $(pwd)/tmp_rpm_db_XXXXXX)
|
||||
mkdir -p $TMP_RPM_DB
|
||||
rpm --initdb --dbpath $TMP_RPM_DB
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' >> $DEPDETAILLISTFILE 2>&1
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' 2>&1 \
|
||||
| grep -v "error:" \
|
||||
| grep -v "warning:" \
|
||||
| grep -v "Preparing..." \
|
||||
| sed "s/ is needed by.*$//" | sed "s/ >=.*$//" | sort -u > $DEPLISTFILE
|
||||
rm -rf $TMP_RPM_DB
|
||||
rpm --dbpath $TMP_RPM_DB --test -Uvh --replacefiles '*.rpm' > $DEPLISTFILE_NEW 2>&1
|
||||
cat $DEPLISTFILE_NEW >> $DEPDETAILLISTFILE
|
||||
cat $DEPLISTFILE_NEW \
|
||||
| grep -v -e "error:" -e "warning:" -e "Preparing..." \
|
||||
-e "Verifying..." -e "installing package" \
|
||||
| sed -e "s/ is needed by.*$//" -e "s/ >=.*$//" \
|
||||
| sort -u > $DEPLISTFILE
|
||||
\rm -rf $TMP_RPM_DB
|
||||
}
|
||||
|
||||
function install_deps {
|
||||
@ -20,9 +34,11 @@ function install_deps {
|
||||
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST="${DEP_LIST}${REPOQUERY_WHATPROVIDES_DELIM}${DEP}"
|
||||
done < $DEP_LIST_FILE
|
||||
|
||||
DEP_LIST=$(echo "$DEP_LIST" | sed "s/^${REPOQUERY_WHATPROVIDES_DELIM}//g")
|
||||
|
||||
echo "Debug: List of deps to resolve: ${DEP_LIST}"
|
||||
|
||||
if [ -z "${DEP_LIST}" ]; then
|
||||
@ -30,11 +46,17 @@ function install_deps {
|
||||
fi
|
||||
|
||||
# go through each repo and convert deps to packages
|
||||
|
||||
for REPOID in `grep '^[[].*[]]$' $YUM | grep -v '[[]main[]]' | awk -F '[][]' '{print $2 }'`; do
|
||||
echo "TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --whatprovides ${DEP_LIST} --qf='%{name}'"
|
||||
TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --qf='%{name}' --whatprovides ${DEP_LIST} | sed "s/kernel-debug/kernel/g" >> $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf='%{name}' --whatprovides ${DEP_LIST}"
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf='%{name}' --whatprovides ${DEP_LIST} \
|
||||
| sed "s/kernel-debug/kernel/g" >> $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done
|
||||
sort $TMPFILE -u > $TMPFILE1
|
||||
rm $TMPFILE
|
||||
@ -55,9 +77,19 @@ function install_deps {
|
||||
|
||||
if [[ ! -z "${TARGETS// }" ]]; then
|
||||
REPO_PATH=$(cat $YUM | sed -n "/^\[$REPOID\]\$/,\$p" | grep '^baseurl=' | head -n 1 | awk -F 'file://' '{print $2}' | sed 's:/$::')
|
||||
>&2 echo "TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf='%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}'"
|
||||
TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf="%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}" | sort -r -V >> $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
>&2 echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf='%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}'"\
|
||||
"${REPOQUERY_RESOLVE} ${TARGETS}"
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf="%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}" \
|
||||
${REPOQUERY_RESOLVE} ${TARGETS} \
|
||||
| sort -r -V >> $TMPFILE
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
|
||||
while read STR
|
||||
do
|
||||
@ -75,7 +107,11 @@ function install_deps {
|
||||
cp $PKG_PATH .
|
||||
if [ $? -ne 0 ]; then
|
||||
>&2 echo " Here's what I have to work with..."
|
||||
>&2 echo " TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $PKG --qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\""
|
||||
>&2 echo " TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} -c ${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\""\
|
||||
"${REPOQUERY_RESOLVE} ${PKG}"
|
||||
>&2 echo " PKG=$PKG PKG_FILE=$PKG_FILE REPO_PATH=$REPO_PATH PKG_REL_PATH=$PKG_REL_PATH PKG_PATH=$PKG_PATH"
|
||||
fi
|
||||
|
||||
@ -91,8 +127,9 @@ function install_deps {
|
||||
echo " path $PKG_PATH" >> $BUILT_REPORT
|
||||
FOUND_UNKNOWN=1
|
||||
fi
|
||||
done < $TMPFILE #<<< "$(TMPDIR=$TMP_DIR repoquery -c $YUM --repoid=$REPOID --arch=x86_64,noarch --resolve $TARGETS --qf=\"%{name} %{name}-%{version}-%{release}.%{arch}.rpm %{relativepath}\" | sort -r -V)"
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done < $TMPFILE
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
TARGETS="$UNRESOLVED"
|
||||
fi
|
||||
done
|
||||
@ -143,6 +180,7 @@ OUTPUT_DIR=${ROOT}/newDisk
|
||||
YUM=${ROOT}/yum.conf
|
||||
TMP_DIR=${ROOT}/tmp
|
||||
DEPLISTFILE=${ROOT}/deps.txt
|
||||
DEPLISTFILE_NEW=${ROOT}/deps_new.txt
|
||||
DEPDETAILLISTFILE=${ROOT}/deps_detail.txt
|
||||
INSTALLDIR=${ROOT}/newDisk/isolinux/Packages
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
#!/bin/bash
|
||||
# set -x
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
source "$SRC_BASE/build-tools/spec-utils"
|
||||
source "$SRC_BASE/build-tools/srpm-utils"
|
||||
|
||||
@ -195,14 +201,14 @@ fi
|
||||
|
||||
if [ $TAR_NEEDED -gt 0 ]; then
|
||||
echo "Creating tar file: $TAR_PATH ..."
|
||||
echo "tar czf $TAR_PATH $SRC_DIR --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude='$SRC_DIR/$DISTRO' --exclude='pbr-*.egg' --transform 's,^$TRANSFORM,$TAR_NAME-$VERSION,'"
|
||||
tar czf $TAR_PATH $SRC_DIR --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform "s,^$TRANSFORM,$TAR_NAME-$VERSION,"
|
||||
echo "tar --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude='$SRC_DIR/$DISTRO' --exclude='pbr-*.egg' --transform 's,^$TRANSFORM,$TAR_NAME-$VERSION,' -czf $TAR_PATH $SRC_DIR"
|
||||
tar --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform "s,^$TRANSFORM,$TAR_NAME-$VERSION," -czf "$TAR_PATH" "$SRC_DIR"
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
echo "ERROR: default_build_srpm (${LINENO}): failed to create tar file, cmd: tar czf $TAR_PATH $SRC_DIR --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform \"s,^$TRANSFORM,$TAR_NAME-$VERSION,\""
|
||||
echo "ERROR: default_build_srpm (${LINENO}): failed to create tar file, cmd: tar --exclude '.git*' --exclude 'build' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform \"s,^$TRANSFORM,$TAR_NAME-$VERSION,\" -czf '$TAR_PATH' '$SRC_DIR'"
|
||||
exit 1
|
||||
fi
|
||||
echo "Created tar file: $TAR_PATH"
|
||||
|
@ -24,10 +24,16 @@ interpreter_path () {
|
||||
|
||||
get__version__ () {
|
||||
local path=${1}
|
||||
local var=""
|
||||
if [ ! -f ${path} ]; then
|
||||
return 1
|
||||
fi
|
||||
grep __VERSION__= ${path} | cut -d '=' -f 2 | sed 's/"//g'
|
||||
if file ${path} | grep -q 'Python script'; then
|
||||
ver=$(grep __VERSION__= ${path} | cut -d '=' -f 2 | sed 's/"//g')
|
||||
else
|
||||
ver=$(${path} --version 2> /dev/null)
|
||||
fi
|
||||
echo $ver
|
||||
}
|
||||
|
||||
VC_LESS_THAN=0
|
||||
|
1221
build-tools/mockchain-parallel-2.6
Executable file
1221
build-tools/mockchain-parallel-2.6
Executable file
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,17 @@
|
||||
# usage: modify-build-cfg [file.cfg] [<layer>]
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
MODIFY_BUILD_CFG_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )"
|
||||
|
||||
# Set PKG_MANAGER for our build environment.
|
||||
source "${MODIFY_BUILD_CFG_DIR}/pkg-manager-utils.sh"
|
||||
|
||||
LAYER=${2:-$LAYER}
|
||||
|
||||
# For backward compatibility. Old repo location or new?
|
||||
@ -23,6 +34,13 @@ if [ ! -d ${CENTOS_REPO} ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Preferred python
|
||||
if rpm -q --whatprovides --quiet python3; then
|
||||
PYTHON_PKG=python3
|
||||
else
|
||||
PYTHON_PKG=python2
|
||||
fi
|
||||
|
||||
# Try to find a layer specific mock.cfg.proto
|
||||
MOCK_CFG_PROTO="${CENTOS_REPO}/mock.cfg.${LAYER}.proto"
|
||||
echo "==== Try MOCK_CFG_PROTO=$MOCK_CFG_PROTO ===="
|
||||
@ -98,7 +116,7 @@ grep -q "config_opts\['environment'\]\['WRS_GIT_BRANCH'\]" $FILE || \
|
||||
grep -q "config_opts\['environment'\]\['CGCS_GIT_BRANCH'\]" $FILE || \
|
||||
echo "config_opts['environment']['CGCS_GIT_BRANCH']" >> $FILE
|
||||
|
||||
if [ -z $FORMAL_BUILD ]; then
|
||||
if [ -z $FORMAL_BUILD ]; then
|
||||
grep -q "config_opts\['macros'\]\['%_no_cgcs_license_check'\] = '1'" $FILE || \
|
||||
echo "config_opts['macros']['%_no_cgcs_license_check'] = '1'" >> $FILE
|
||||
else
|
||||
@ -118,8 +136,21 @@ if [ "containers" == "$BUILD_TYPE" ]; then
|
||||
NETWORK_PKGS="bind-utils"
|
||||
fi
|
||||
|
||||
grep -q "config_opts\['chroot_setup_cmd'\] = 'install @buildsys-build pigz lbzip2 yum $NETWORK_PKGS'" $FILE || \
|
||||
echo "config_opts['chroot_setup_cmd'] = 'install @buildsys-build pigz lbzip2 yum $NETWORK_PKGS'" >> $FILE
|
||||
BUILD_PKGS=''
|
||||
if [ "${PKG_MANAGER}" == "yum" ]; then
|
||||
BUILD_PKGS='@buildsys-build'
|
||||
elif [ "${PKG_MANAGER}" == "dnf" ]; then
|
||||
# buildsys-build group was dropped when Centos-8 switched to dnf.
|
||||
# We must list all the members plus a few new ones (fedpkg-minimal, epel-rpm-macros).
|
||||
BUILD_PKGS='bash bzip2 coreutils cpio diffutils epel-release epel-rpm-macros fedpkg-minimal findutils gawk gcc gcc-c++ grep gzip info make patch redhat-rpm-config redhat-release rpm-build sed shadow-utils tar unzip util-linux which xz'
|
||||
fi
|
||||
|
||||
STX_PKGS='pigz lbzip2 bash'
|
||||
|
||||
PKGS="${BUILD_PKGS} ${STX_PKGS} ${PKG_MANAGER} ${PYTHON_PKG} ${NETWORK_PKGS}"
|
||||
|
||||
grep -q "config_opts\['chroot_setup_cmd'\] = 'install ${PKGS}'" $FILE || \
|
||||
echo "config_opts['chroot_setup_cmd'] = 'install ${PKGS}'" >> $FILE
|
||||
|
||||
# Special case for containers.
|
||||
# rpmbuild_networking is required for invoking helm commands within mock
|
||||
|
33
build-tools/pkg-manager-utils.sh
Executable file
33
build-tools/pkg-manager-utils.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# BASH utilities to select package manager
|
||||
#
|
||||
# Currently just sets some environmnet variables
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Yum vs DNF compatibility
|
||||
YUM=$(which yum)
|
||||
DNF=$(which dnf)
|
||||
PKG_MANAGER=""
|
||||
REPOQUERY=$(which repoquery)
|
||||
REPOQUERY_SUB_COMMAND=""
|
||||
REPOQUERY_RESOLVE="--resolve"
|
||||
REPOQUERY_WHATPROVIDES_DELIM=" "
|
||||
if [ ! -z ${DNF} ]; then
|
||||
PKG_MANAGER="dnf"
|
||||
REPOQUERY=${DNF}
|
||||
REPOQUERY_SUB_COMMAND="repoquery --disable-modular-filtering"
|
||||
REPOQUERY_RESOLVE=""
|
||||
REPOQUERY_WHATPROVIDES_DELIM=","
|
||||
elif [ ! -z ${YUM} ]; then
|
||||
PKG_MANAGER="yum"
|
||||
else
|
||||
>&2 echo "ERROR: Couldn't find a supported package manager"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1,58 +0,0 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
1
build-tools/repo_files/mock.cfg.all.proto
Symbolic link
1
build-tools/repo_files/mock.cfg.all.proto
Symbolic link
@ -0,0 +1 @@
|
||||
mock.cfg.centos8.all.proto
|
58
build-tools/repo_files/mock.cfg.centos7.all.proto
Normal file
58
build-tools/repo_files/mock.cfg.centos7.all.proto
Normal file
@ -0,0 +1,58 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
58
build-tools/repo_files/mock.cfg.centos7.distro.proto
Normal file
58
build-tools/repo_files/mock.cfg.centos7.distro.proto
Normal file
@ -0,0 +1,58 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
57
build-tools/repo_files/mock.cfg.centos7.proto
Normal file
57
build-tools/repo_files/mock.cfg.centos7.proto
Normal file
@ -0,0 +1,57 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
63
build-tools/repo_files/mock.cfg.centos8.all.proto
Normal file
63
build-tools/repo_files/mock.cfg.centos8.all.proto
Normal file
@ -0,0 +1,63 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el8' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '8'
|
||||
config_opts['package_manager'] = 'dnf'
|
||||
config_opts['use_bootstrap'] = False
|
||||
config_opts['use_bootstrap_image'] = False
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos8Distro]
|
||||
name=Stx-Centos-8-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
module_hotfixes=1
|
||||
|
||||
[StxCentos8Distro-rt]
|
||||
name=Stx-Centos-8-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
module_hotfixes=1
|
||||
|
||||
"""
|
63
build-tools/repo_files/mock.cfg.centos8.distro.proto
Normal file
63
build-tools/repo_files/mock.cfg.centos8.distro.proto
Normal file
@ -0,0 +1,63 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el8' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '8'
|
||||
config_opts['package_manager'] = 'dnf'
|
||||
config_opts['use_bootstrap'] = False
|
||||
config_opts['use_bootstrap_image'] = False
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos8Distro]
|
||||
name=Stx-Centos-8-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
module_hotfixes=1
|
||||
|
||||
[StxCentos8Distro-rt]
|
||||
name=Stx-Centos-8-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
module_hotfixes=1
|
||||
|
||||
"""
|
62
build-tools/repo_files/mock.cfg.centos8.proto
Normal file
62
build-tools/repo_files/mock.cfg.centos8.proto
Normal file
@ -0,0 +1,62 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el8' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '8'
|
||||
config_opts['package_manager'] = 'dnf'
|
||||
config_opts['use_bootstrap'] = False
|
||||
config_opts['use_bootstrap_image'] = False
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos8Distro]
|
||||
name=Stx-Centos-8-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
module_hotfixes=1
|
||||
|
||||
[StxCentos8Distro-rt]
|
||||
name=Stx-Centos-8-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
module_hotfixes=1
|
||||
|
||||
"""
|
@ -1,58 +0,0 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
exclude=kernel-devel libvirt-devel
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
1
build-tools/repo_files/mock.cfg.distro.proto
Symbolic link
1
build-tools/repo_files/mock.cfg.distro.proto
Symbolic link
@ -0,0 +1 @@
|
||||
mock.cfg.centos8.distro.proto
|
@ -1,57 +0,0 @@
|
||||
config_opts['root'] = 'BUILD_ENV/mock'
|
||||
config_opts['target_arch'] = 'x86_64'
|
||||
config_opts['legal_host_arches'] = ('x86_64',)
|
||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
||||
config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
|
||||
config_opts['releasever'] = '7'
|
||||
config_opts['rpmbuild_networking'] = False
|
||||
|
||||
|
||||
config_opts['yum.conf'] = """
|
||||
[main]
|
||||
keepcache=1
|
||||
debuglevel=2
|
||||
reposdir=/dev/null
|
||||
logfile=/var/log/yum.log
|
||||
retries=20
|
||||
obsoletes=1
|
||||
gpgcheck=0
|
||||
assumeyes=1
|
||||
syslog_ident=mock
|
||||
syslog_device=
|
||||
|
||||
# repos
|
||||
[local-std]
|
||||
name=local-std
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/std/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-rt]
|
||||
name=local-rt
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/rt/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[local-installer]
|
||||
name=local-installer
|
||||
baseurl=LOCAL_BASE/MY_BUILD_DIR/installer/rpmbuild/RPMS
|
||||
enabled=1
|
||||
skip_if_unavailable=1
|
||||
metadata_expire=0
|
||||
|
||||
[StxCentos7Distro]
|
||||
name=Stx-Centos-7-Distro
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/Binary
|
||||
failovermethod=priority
|
||||
|
||||
[StxCentos7Distro-rt]
|
||||
name=Stx-Centos-7-Distro-rt
|
||||
enabled=1
|
||||
baseurl=LOCAL_BASE/MY_REPO_DIR/centos-repo/rt/Binary
|
||||
failovermethod=priority
|
||||
|
||||
"""
|
1
build-tools/repo_files/mock.cfg.proto
Symbolic link
1
build-tools/repo_files/mock.cfg.proto
Symbolic link
@ -0,0 +1 @@
|
||||
mock.cfg.centos8.proto
|
Loading…
Reference in New Issue
Block a user