summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElan Ruusamäe2021-08-29 13:33:36 (GMT)
committerElan Ruusamäe2021-08-29 13:42:30 (GMT)
commiteb07c8d6582cadef8a50e97c53963501c981f4e9 (patch)
tree5f4c22e3ca900630eadc9d26591f3e7d430c187f
parent6ecf9aecbdaa6659220d62bf52a6b889588299d2 (diff)
downloadcleanbuild-eb07c8d6582cadef8a50e97c53963501c981f4e9.zip
cleanbuild-eb07c8d6582cadef8a50e97c53963501c981f4e9.tar.gz
Use package dir as container initial workdir
-rwxr-xr-xbin/cleanbuild-docker.sh15
1 files changed, 8 insertions, 7 deletions
diff --git a/bin/cleanbuild-docker.sh b/bin/cleanbuild-docker.sh
index 35fd773..a30d812 100755
--- a/bin/cleanbuild-docker.sh
+++ b/bin/cleanbuild-docker.sh
@@ -76,6 +76,7 @@ create_container() {
PACKAGE_NAME=$PACKAGE_NAME \
docker-compose run --rm -d \
--name=$name \
+ --workdir=$home/rpm/packages/$PACKAGE_NAME \
--label=cleanbuild=$PACKAGE_NAME \
cleanbuild
fi
@@ -88,7 +89,7 @@ create_container() {
if [ ! -d $topdir/rpm-build-tools ]; then
notice "Initialize rpm-build-tools"
- docker exec $name builder --init-rpm-dir
+ docker exec $name -w / builder --init-rpm-dir
fi
}
@@ -102,7 +103,7 @@ package_prepare() {
notice "Fetch package sources"
docker exec --user=root -w / $name setfacl -x u:builder /etc/resolv.conf
- docker exec $name builder -g $PACKAGE_NAME
+ docker exec -w / $name builder -g $PACKAGE_NAME
if ! $NETWORKING; then
notice "Disable networking: Prevent network access for user builder like PLD Linux builders"
@@ -110,7 +111,7 @@ package_prepare() {
fi
notice "Find latest tag on the branch"
- git_tag=$(docker exec -e GIT_DIR=$home/rpm/packages/$PACKAGE_NAME/.git $name git describe --tags --always)
+ git_tag=$(docker exec -w / -e GIT_DIR=$home/rpm/packages/$PACKAGE_NAME/.git $name git describe --tags --always)
buildlog=rpm/logs/${git_tag#auto/*/}.log
notice "Build log: $buildlog"
}
@@ -121,22 +122,22 @@ package_build() {
while true; do
notice "Install dependencies"
- docker exec -t $name builder -g -R "$@"
+ docker exec -w / -t $name builder -g -R "$@"
notice "Remove .la dependencies"
docker exec --user=root -w / $name $home/cleanbuild/bin/cleanup-la
notice "Reset findunusedbr state after deps install"
docker exec --user=root -w / $name $home/cleanbuild/bin/findunusedbr -c / $home/rpm/packages/$PACKAGE_NAME/$PACKAGE_NAME.spec
notice "Build package"
- docker exec $name cleanbuild/bin/teeboth $buildlog builder -bb --define '__spec_clean_body %{nil}' "$@" && rc=$? || rc=$?
+ docker exec -w $home $name cleanbuild/bin/teeboth $buildlog builder -bb --define '__spec_clean_body %{nil}' "$@" && rc=$? || rc=$?
# Kill processes on Ctrl+C
if [ "$rc" = 255 ]; then
- docker exec $name pkill -e -u builder
+ docker exec -w / $name pkill -e -u builder
die "Aborted" $rc
fi
findbr=$PACKAGE_NAME.findbr.log
- builddir=$(docker exec $name sh -c 'test ! -d rpm/BUILD/* || echo rpm/BUILD/*')
+ builddir=$(docker exec -w $home $name sh -c 'test ! -d rpm/BUILD/* || echo rpm/BUILD/*')
if [ -z "$builddir" ]; then
die "No build dir. Build failed?" 6
fi