Add support CentOS-8/dnf/mock-2.6 based builds
This update will retain support for CentOS-7/yum/mock-1.4 based builds. The build environment will be queried to discover which environment it is building in, and modify the commands we issue accordingly. In CentOS 8, DNF replaces both YUM and REPOQUERY. While DNF tries to be a transparent replacement of the old tools, there are also subtle changes to the supported arguments. I will provide independent mock.cfg.prototypes for centos7 vs centos8. Changes in generate-centos-repo.sh under stx-tools will be required to select the correct prototype. Add support for mock 2.6. Mock 2.6 is python 3, and it processes the 'root' and 'rootdir' arguments slightly differently. Also change the order of arguments to tar within default_build_srpm. The latest tar only honors '--exclude' if it precedes other arguments. Story: 2006729 Depends-On: https://review.opendev.org/762700 Signed-off-by: Scott Little <scott.little@windriver.com> Change-Id: I826be2051e535e6a4c08ad17124f453b04210668
This commit is contained in:
parent
09c66cd0d7
commit
77576b7207
@ -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
|
||||
#
|
||||
@ -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.
|
||||
@ -179,7 +182,14 @@ create-no-clean-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 mandatory 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
|
||||
|
||||
@ -189,7 +199,7 @@ create-no-clean-list () {
|
||||
|
||||
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
|
||||
|
||||
@ -311,7 +321,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
|
||||
@ -946,11 +958,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
|
||||
@ -1061,8 +1073,8 @@ mock_partial_clean_cfg () {
|
||||
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 +1124,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 +1153,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 +1181,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
|
||||
@ -1358,8 +1377,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 +1387,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 +1407,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
|
||||
@ -2299,15 +2318,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 +2347,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 +2374,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
|
||||
|
@ -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
|
||||
#
|
||||
@ -118,7 +118,14 @@ create-no-clean-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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -860,8 +869,8 @@ mock_partial_clean_cfg () {
|
||||
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
|
||||
@ -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
|
||||
@ -2059,21 +2068,40 @@ 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
|
||||
|
@ -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,21 +32,33 @@
|
||||
# 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
|
||||
}
|
||||
|
||||
join_array() {
|
||||
local IFS="$1"
|
||||
shift
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
# Takes a list of requirements (either explcit package name, or capabilities
|
||||
# to provide) and install packages to meet those dependancies
|
||||
#
|
||||
@ -55,6 +73,7 @@ function generate_dep_list {
|
||||
# capabilities.
|
||||
function install_deps {
|
||||
local DEP_LIST=""
|
||||
local DEP_LIST_ARRAY=()
|
||||
local DEP_LIST_FILE="$1"
|
||||
|
||||
# Temporary files are used in a few different ways
|
||||
@ -68,7 +87,7 @@ function install_deps {
|
||||
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST+=" '${DEP}'"
|
||||
done < $DEP_LIST_FILE
|
||||
|
||||
echo "Debug: List of deps to resolve: ${DEP_LIST}"
|
||||
@ -79,8 +98,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
|
||||
@ -96,19 +124,31 @@ function install_deps {
|
||||
# If there are any requirements not resolved, look up the packages with
|
||||
# --whatprovides
|
||||
if [ -s $UNRESOLVED_PACKAGES ]; then
|
||||
DEP_LIST=""
|
||||
DEP_LIST_ARRAY=()
|
||||
\cp $SORTED_PACKAGES $UNSORTED_PACKAGES
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST_ARRAY+=( "${DEP}" )
|
||||
done < $UNRESOLVED_PACKAGES
|
||||
|
||||
DEP_LIST=$(echo "$DEP_LIST" | sed 's/^ //g')
|
||||
if [ "$DEP_LIST" != "" ]; then
|
||||
if [ "${REPOQUERY_WHATPROVIDES_DELIM}" != " " ]; then
|
||||
DEP_LIST_ARRAY=( "$(join_array "${REPOQUERY_WHATPROVIDES_DELIM}" "${DEP_LIST_ARRAY[@]}" )" )
|
||||
fi
|
||||
|
||||
if [ ${#DEP_LIST_ARRAY[@]} -gt 0 ]; 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_ARRAY[@]}"
|
||||
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf='%{name}' --whatprovides ${DEP_LIST_ARRAY[@]} \
|
||||
| sed "s/kernel-debug/kernel/g" >> $UNSORTED_PACKAGES
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done
|
||||
fi
|
||||
@ -124,12 +164,12 @@ function install_deps {
|
||||
DEP_LIST=" "
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST}${DEP} "
|
||||
DEP_LIST+="${DEP} "
|
||||
done < $SORTED_PACKAGES
|
||||
rm $SORTED_PACKAGES
|
||||
|
||||
# go through each repo and install packages
|
||||
local TARGETS=${DEP_LIST}
|
||||
local TARGETS="${DEP_LIST}"
|
||||
echo "Debug: Resolved list of deps to install: ${TARGETS}"
|
||||
local UNRESOLVED
|
||||
for REPOID in `grep '^[[].*[]]$' $YUM | grep -v '[[]main[]]' | awk -F '[][]' '{print $2 }'`; do
|
||||
@ -137,8 +177,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 +209,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,7 +228,7 @@ 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)"
|
||||
done < $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
TARGETS="$UNRESOLVED"
|
||||
fi
|
||||
@ -220,6 +276,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,39 +1,70 @@
|
||||
#!/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
|
||||
}
|
||||
|
||||
join_array() {
|
||||
local IFS="$1"
|
||||
shift
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
function install_deps {
|
||||
local DEP_LIST=""
|
||||
local DEP_LIST_ARRAY=()
|
||||
local DEP_LIST_FILE="$1"
|
||||
|
||||
rm -f $TMPFILE
|
||||
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST_ARRAY+=( "${DEP}" )
|
||||
done < $DEP_LIST_FILE
|
||||
|
||||
echo "Debug: List of deps to resolve: ${DEP_LIST}"
|
||||
if [ "${REPOQUERY_WHATPROVIDES_DELIM}" != " " ]; then
|
||||
DEP_LIST_ARRAY=( "$(join_array "${REPOQUERY_WHATPROVIDES_DELIM}" "${DEP_LIST_ARRAY[@]}" )" )
|
||||
fi
|
||||
|
||||
if [ -z "${DEP_LIST}" ]; then
|
||||
echo "Debug: List of deps to resolve: ${DEP_LIST_ARRAY[@]}"
|
||||
|
||||
if [ ${#DEP_LIST_ARRAY[@]} -gt 0 ]; then
|
||||
return 0
|
||||
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
|
||||
echo "TMPDIR=${TMP_DIR}"\
|
||||
"${REPOQUERY} --config=${YUM} --repoid=${REPOID}"\
|
||||
"${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch"\
|
||||
"--qf='%{name}' --whatprovides ${DEP_LIST_ARRAY[@]}"
|
||||
TMPDIR=${TMP_DIR} \
|
||||
${REPOQUERY} --config=${YUM} --repoid=${REPOID} \
|
||||
${REPOQUERY_SUB_COMMAND} --arch=x86_64,noarch \
|
||||
--qf='%{name}' --whatprovides ${DEP_LIST_ARRAY[@]} \
|
||||
| sed "s/kernel-debug/kernel/g" >> $TMPFILE
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
done
|
||||
sort $TMPFILE -u > $TMPFILE1
|
||||
@ -42,12 +73,12 @@ function install_deps {
|
||||
DEP_LIST=""
|
||||
while read DEP
|
||||
do
|
||||
DEP_LIST="${DEP_LIST} ${DEP}"
|
||||
DEP_LIST+="${DEP} "
|
||||
done < $TMPFILE1
|
||||
rm $TMPFILE1
|
||||
|
||||
# next go through each repo and install packages
|
||||
local TARGETS=${DEP_LIST}
|
||||
local TARGETS="${DEP_LIST}"
|
||||
echo "Debug: Resolved list of deps to install: ${TARGETS}"
|
||||
local UNRESOLVED
|
||||
for REPOID in `grep '^[[].*[]]$' $YUM | grep -v '[[]main[]]' | awk -F '[][]' '{print $2 }'`; do
|
||||
@ -55,8 +86,18 @@ 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
|
||||
@ -75,7 +116,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,7 +136,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)"
|
||||
done < $TMPFILE
|
||||
|
||||
\rm -rf $TMP_DIR/yum-$USER-*
|
||||
TARGETS="$UNRESOLVED"
|
||||
fi
|
||||
@ -143,6 +189,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
@ -1,5 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# This script modifies a mock configuration file (typically $MY_BUILD_CFG)
|
||||
# to add build time environment variables to the mock environment (things
|
||||
# like what branch we're building on, etc).
|
||||
@ -11,6 +17,11 @@
|
||||
# usage: modify-build-cfg [file.cfg] [<layer>]
|
||||
#
|
||||
|
||||
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 ===="
|
||||
@ -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 @@
|
||||
#
|
||||
# Copyright (c) 2020 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
#
|
||||
# BASH utilities to select package manager
|
||||
#
|
||||
# Currently just sets some environment variables
|
||||
#
|
||||
|
||||
# Yum vs DNF compatibility
|
||||
YUM=$(which yum 2>> /dev/null)
|
||||
DNF=$(which dnf 2>> /dev/null)
|
||||
PKG_MANAGER=""
|
||||
REPOQUERY=$(which repoquery 2>> /dev/null)
|
||||
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.centos7.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 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'
|
||||
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 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'
|
||||
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 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'
|
||||
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.centos7.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.centos7.proto
|
Loading…
x
Reference in New Issue
Block a user