mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-02-23 15:34:28 +01:00
packaging: merge packaging repository
git-subtree-dir: tools/packaging git-subtree-mainline:f818b46a41git-subtree-split:1f22d72d5dSigned-off-by: Peng Tao <bergwolf@hyper.sh>
This commit is contained in:
68
tools/packaging/obs-packaging/scripts/obs-docker.sh
Executable file
68
tools/packaging/obs-packaging/scripts/obs-docker.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2018 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
_obs_docker_packaging_repo_dir=$(cd $(dirname "${BASH_SOURCE[0]}") && cd ../.. && pwd)
|
||||
GO_ARCH=$(go env GOARCH)
|
||||
|
||||
setup_oscrc() {
|
||||
# oscrc exists at different places on different distros
|
||||
[ -f "${HOME}/.config/osc/oscrc" ] && OSCRC="${HOME}/.config/osc/oscrc"
|
||||
OSCRC=${OSCRC:-"${HOME}/.oscrc"}
|
||||
(
|
||||
# do not log OBS credentials even in debug mode
|
||||
set +x
|
||||
OBS_API="https://api.opensuse.org"
|
||||
|
||||
if [ -n "${OBS_USER:-}" ] && [ -n "${OBS_PASS:-}" ] && [ ! -e "${OSCRC}" ]; then
|
||||
echo "Creating ${OSCRC} with user $OBS_USER"
|
||||
mkdir -p $(dirname $OSCRC)
|
||||
cat <<eom >"${OSCRC}"
|
||||
[general]
|
||||
apiurl = ${OBS_API}
|
||||
[${OBS_API}]
|
||||
user = ${OBS_USER}
|
||||
pass = ${OBS_PASS}
|
||||
eom
|
||||
fi
|
||||
) >>/dev/null
|
||||
if [ ! -e "${OSCRC}" ]; then
|
||||
echo "${OSCRC}, please do 'export OBS_USER=your_user ; export OBS_PASS=your_pass' to configure osc for first time."
|
||||
exit 1
|
||||
fi
|
||||
echo "OK - osc configured"
|
||||
}
|
||||
|
||||
docker_run() {
|
||||
local cmd="$*"
|
||||
local obs_image="obs-kata"
|
||||
#where results will be stored
|
||||
local host_datadir="${PWD}/pkgs"
|
||||
local cache_dir=${PWD}/obs-cache
|
||||
setup_oscrc
|
||||
|
||||
sudo docker build \
|
||||
--build-arg http_proxy="${http_proxy:-}" \
|
||||
--build-arg https_proxy="${https_proxy:-}" \
|
||||
-t $obs_image "${_obs_docker_packaging_repo_dir}/obs-packaging"
|
||||
|
||||
sudo docker run \
|
||||
--rm \
|
||||
--env http_proxy="${http_proxy:-}" \
|
||||
--env https_proxy="${https_proxy:-}" \
|
||||
--env no_proxy="${no_proxy:-}" \
|
||||
--env GO_ARCH="${GO_ARCH}" \
|
||||
--env PUSH="${PUSH:-}" \
|
||||
--env DEBUG="${DEBUG:-}" \
|
||||
--env OBS_PROJECT="${OBS_PROJECT:-}" \
|
||||
--env OBS_SUBPROJECT="${OBS_SUBPROJECT:-}" \
|
||||
-v "${cache_dir}":/var/tmp/osbuild-packagecache/ \
|
||||
-v "${_obs_docker_packaging_repo_dir}":"${_obs_docker_packaging_repo_dir}" \
|
||||
-v "${host_datadir}":/var/packaging \
|
||||
-v "${OSCRC}":/root/.oscrc \
|
||||
-v "${PWD}":"${PWD}" \
|
||||
-w "${PWD}" \
|
||||
-ti "${obs_image}" bash -c "${cmd}"
|
||||
}
|
||||
Reference in New Issue
Block a user