Put .config in var

This commit is contained in:
2023-01-13 16:49:13 -05:00
parent 37b1355d46
commit 86fc9f3170

View File

@@ -337,7 +337,7 @@ installDependencies() {
getImageBuilder() {
debug "${FUNCNAME[0]}"
declare dl_tool
declare dl_tool checksum
if [[ -f "$IB_ARCHIVE" ]]; then
echo "Image Builder $IB_ARCHIVE exists"
@@ -370,14 +370,13 @@ getImageBuilder() {
return 1
fi
# if hash sha256sum &>/dev/null; then
if hash sha256sum &>/dev/null; then
# echo "Verifying checksums"
# debug "$dl_tool -s "${P_ARR[sha256_url]}" | grep $filename | cut -f1 -d' '"
# sha256sum=$($dl_tool -s "${P_ARR[sha256_url]}" |grep "$filename" |cut -f1 -d' ')
# debug "Downloaded sha256sum: $sha256sum"
if ! $dl_tool -o "$BUILDDIR" "$SHA256_URL"; then
debug "Downloaded sha256sums: $checksum"
# fi
fi
echo "Extracting Image Builder archive"
@@ -531,17 +530,16 @@ fromSource() {
debug "${FUNCNAME[0]}"
declare src_url="https://github.com/openwrt/openwrt.git"
declare src_dir="$SRCDIR/openwrt"
declare -a pkg_list
echo "Building from source is under development"
if [[ ! -d "$src_dir" ]]; then
mkdir -p "$src_dir"
git clone "$src_url" "$src_dir"
if [[ ! -d "$GITSRCDIR" ]]; then
mkdir -p "$GITSRCDIR"
git clone "$src_url" "$GITSRCDIR"
fi
pushd "$src_dir" || return 1
pushd "$GITSRCDIR" || return 1
if [[ ${P_ARR[release]} == "snapshot" ]]; then
git checkout master
@@ -554,34 +552,34 @@ fromSource() {
./scripts/feeds install -a
# Grab the release seed config
if [[ -f .config ]]; then
echo ".config already exists"
if [[ -f "$SEED_FILE" ]]; then
echo "$SEED_FILE already exists"
if askOk "Replace?"; then
if ! curl -so .config "$SEED_URL"; then
if ! curl -so "$SEED_FILE" "$SEED_URL"; then
echo "Could not obtain seed config"
fi
fi
else
echo "Reusing existing .config"
echo "Reusing existing "$SEED_FILE""
fi
# Update .config with profile packages
for package in ${P_ARR[packages]}; do
if [[ $package == -* ]]; then
echo "CONFIG_PACKAGE_${package#-}=n" >> .config
echo "CONFIG_PACKAGE_${package#-}=n" >> "$SEED_FILE"
else
echo "CONFIG_PACKAGE_$package=y" >> .config
echo "CONFIG_PACKAGE_$package=y" >> "$SEED_FILE"
fi
done
# Only compile our target
echo "CONFIG_TARGET_MULTI_PROFILE=n" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=n" >> "$SEED_FILE"
make defconfig # normalize .config and remove dupes
# make defconfig will add these back
sed -i '/CONFIG_TARGET_DEVICE_/d' .config
echo "CONFIG_TARGET_DEVICE_${P_ARR[target]//\//_}_DEVICE_${P_ARR[profile]}=y" >> .config
# Causes a "configuration is out of sync" error
sed -i '/CONFIG_TARGET_DEVICE_/d' "$SEED_FILE"
echo "CONFIG_TARGET_DEVICE_${P_ARR[target]//\//_}_DEVICE_${P_ARR[profile]}=y" >> "$SEED_FILE"
# output to bindir instead of builddir
echo "CONFIG_BINARY_FOLDER=\"$THIS_BINDIR\"" >> .config
echo "CONFIG_BINARY_FOLDER=\"$THIS_BINDIR\"" >> "$SEED_FILE"
make targetclean
make download &&
make -j"$(nproc)" world
@@ -643,6 +641,7 @@ main() {
declare -g FILESDIR="${FILESDIR:=$BUILDROOT/src/files}"
declare -g SRCDIR="$BUILDROOT/src" # input/build
declare -g BINDIR="$BUILDROOT/bin" # output
declare -g GITSRCDIR="$SRCDIR/openwrt"
for dir in "$SRCDIR" "$BINDIR"; do
[[ -d "$dir" ]] || mkdir -p "$dir"
@@ -690,7 +689,9 @@ main() {
declare -g IB_URL="$url_prefix/$url_filename"
declare -g SHA256_URL="$url_prefix/sha256sums"
declare -g SHA256_FILE="$BUILDDIR/sha256sums"
declare -g SEED_URL="$url_prefix/config.buildinfo"
declare -g SEED_FILE="$GITSRCDIR/.config"
declare -g FACTORYIMG="$img_prefix-factory.img"
declare -g FACTORYIMGGZ="$img_prefix-factory.img.gz"
@@ -708,6 +709,7 @@ main() {
BUILDDIR: $BUILDDIR
SRCDIR: $SRCDIR
BINDIR: $BINDIR
GITSRCDIR: $GITSRCDIR
THIS_BINDIR: $THIS_BINDIR
TARGET: ${P_ARR[target]}
PROFILE: ${P_ARR[profile]}
@@ -715,6 +717,10 @@ main() {
FILESYSTEM: $FILESYSTEM
IB_URL: $IB_URL
IB_ARCHIVE: $IB_ARCHIVE
SEED_URL: $SEED_URL
SEED_FILE: $SEED_FILE
SHA256_URL: $SHA256_URL
SHA256_FILE: $SHA256_FILE
EOF
fi