Fix conflicting worktrees

This commit is contained in:
2023-02-15 14:22:13 -05:00
parent 1f484d8bfc
commit bf737644fb
2 changed files with 23 additions and 27 deletions

View File

@@ -542,7 +542,7 @@ fromSource() {
declare src_dir="$BUILDROOT/src/openwrt"
declare src_url="https://github.com/openwrt/openwrt.git"
declare pkg kopt opt commit gitworktreedir seed_file
declare pkg kopt opt commit gitworktreedir seed_file wt_cmd
declare -a make_opts config_opts
echo "Building from source is under development"
@@ -560,29 +560,24 @@ fromSource() {
commit=$(git -C "$src_dir" rev-parse HEAD)
debug "Current commit hash: $commit"
gitworktreedir="$BUILDROOT/src/$profile/$RELEASE-src"
wt_cmd=(git -C "$src_dir"
worktree add
--force
--detach
"$gitworktreedir")
if [[ $RELEASE == "snapshot" ]]; then
gitworktreedir="$BUILDROOT/src/$profile/$RELEASE"
git -C "$src_dir" \
worktree add \
--force \
--detach \
"$gitworktreedir" \
"master"
execute "${wt_cmd[@]}" master
else
gitworktreedir="$BUILDROOT/src/$profile/$RELEASE"
git -C "$src_dir" \
worktree add \
--force \
--detach \
"$gitworktreedir" \
"origin/openwrt-${RELEASE%.*}"
execute "${wt_cmd[@]}" "origin/openwrt-${RELEASE%.*}"
fi
seed_file="$gitworktreedir/.config"
debug "seed_file: $seed_file"
pushd "$gitworktreedir" &>/dev/null || return 1
execute pushd "$gitworktreedir" || return 1
# Update package feed
./scripts/feeds update -a &&
@@ -611,16 +606,16 @@ fromSource() {
config_opts+=("$kopt")
done
# Only compile selected fs
# sed -i '/CONFIG_TARGET_ROOTFS_/d' "$seed_file"
# config_opts+=("CONFIG_TARGET_PER_DEVICE_ROOTFS=n")
# if [[ $FILESYSTEM == "squashfs" ]]; then
# config_opts+=("CONFIG_TARGET_ROOTFS_EXT4FS=n")
# config_opts+=("CONFIG_TARGET_ROOTFS_SQUASHFS=y")
# elif [[ $FILESYSTEM == "ext4" ]]; then
# config_opts+=("CONFIG_TARGET_ROOTFS_SQUASHFS=n")
# config_opts+=("CONFIG_TARGET_ROOTFS_EXT4FS=y")
# fi
Only compile selected fs
sed -i '/CONFIG_TARGET_ROOTFS_/d' "$seed_file"
config_opts+=("CONFIG_TARGET_PER_DEVICE_ROOTFS=n")
if [[ $FILESYSTEM == "squashfs" ]]; then
config_opts+=("CONFIG_TARGET_ROOTFS_EXT4FS=n")
config_opts+=("CONFIG_TARGET_ROOTFS_SQUASHFS=y")
elif [[ $FILESYSTEM == "ext4" ]]; then
config_opts+=("CONFIG_TARGET_ROOTFS_SQUASHFS=n")
config_opts+=("CONFIG_TARGET_ROOTFS_EXT4FS=y")
fi
# Only compile selected target image
sed -i '/CONFIG_TARGET_DEVICE_/d' "$seed_file"
@@ -658,7 +653,7 @@ fromSource() {
debug "make ${make_opts[*]} -j$(nproc) world"
make "${make_opts[@]}" -j"$(nproc)" world
popd &>/dev/null || return 1
execute popd || return 1
# Provide symlinks to images in root of BINDIR (to match Image Builder)
shopt -s nullglob