Compare commits

..

3 Commits

Author SHA1 Message Date
6f6d92b659 Try to verify output file for stock builds 2024-10-24 15:41:21 -04:00
961a87fb6c Update README 2024-10-24 15:29:41 -04:00
63cd99cd4d Separate dependency lock files 2024-10-24 15:20:05 -04:00
2 changed files with 175 additions and 166 deletions

View File

@@ -1,6 +1,6 @@
# openwrtbuilder # openwrtbuilder
Sanely build and deploy OpenWRT images using the Image Builder or from source code Sanely build and deploy OpenWRT images using the Image Builder or from source code.
## Usage ## Usage
@@ -11,11 +11,10 @@ Sanely build and deploy OpenWRT images using the Image Builder or from source co
```(text) ```(text)
--profile,-p PROFILE --profile,-p PROFILE
--release,-r,--version,-v RELEASE ("snapshot", "22.03.3") --release,-r,--version,-v RELEASE ("snapshot", "22.03.3")
--buildroot,-b PATH --buildroot,-b PATH (Default: script directory)
Default: location of openwrtbuilder script
--source --source
Build image from source, not from Image Builder Build image from source, not from Image Builder
Allows make config options to be passed Allows make config options to be passed in profile
--ssh-upgrade HOST --ssh-upgrade HOST
Example: root@192.168.1.1 Example: root@192.168.1.1
--ssh-backup SSH_PATH --ssh-backup SSH_PATH
@@ -25,6 +24,8 @@ Sanely build and deploy OpenWRT images using the Image Builder or from source co
--reset --reset
Cleanup all source and output files Cleanup all source and output files
Can be combined with -p to reset a specific profile Can be combined with -p to reset a specific profile
--yes,-y
Assume yes for all questions (automatic mode)
--debug,-d --debug,-d
--help,-h --help,-h
``` ```
@@ -36,8 +37,8 @@ See `./profiles` for example device profile definitions.
## Examples ## Examples
* `./openwrtbuilder -p r4s -r snapshot --debug` * `./openwrtbuilder -p r4s -r snapshot --debug`
* `./openwrtbuilder -p ax6000 -r 22.03.3 --source --debug` * `./openwrtbuilder -p ax6000 -r 23.05.5 --source --debug`
* `./openwrtbuilder -p rpi4 -r 22.03.3 --flash /dev/sdX` * `./openwrtbuilder -p rpi4 -r 23.05.5 --flash /dev/sdX`
* `./openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1` * `./openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
## Additional Info ## Additional Info

View File

@@ -153,12 +153,17 @@ parse_input() {
install_dependencies() { install_dependencies() {
debug "${FUNCNAME[0]}" debug "${FUNCNAME[0]}"
local lock_file="$BUILDROOT/.dependencies"
local -a pkg_list local -a pkg_list
local lock_file
# TODO please contribute your platform here
if ((FROM_SOURCE)); then if ((FROM_SOURCE)); then
# For building from source with make lock_file="$BUILDROOT/.dependencies_sc"
else
lock_file="$BUILDROOT/.dependencies_ib"
fi
if [[ ! -f $lock_file ]]; then
if ((FROM_SOURCE)); then
# For building from source code
# https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem # https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
case "$ID" in case "$ID" in
fedora|centos) fedora|centos)
@@ -304,9 +309,7 @@ install_dependencies() {
;; ;;
esac esac
fi fi
fi
# Skip dependency installation if lock file is present
[[ -f $lock_file ]] && return
pkg_install "${pkg_list[@]}" && echo "${pkg_list[@]}" > "$lock_file" pkg_install "${pkg_list[@]}" && echo "${pkg_list[@]}" > "$lock_file"
} }
@@ -769,10 +772,15 @@ main() {
extract "$ib_file" "$BUILDDIR" || return $? extract "$ib_file" "$BUILDDIR" || return $?
add_repos add_repos
make_images make_images
# Verify output iamges # Verify output image for stock builds (in testing)
for outfile in "$BINDIR"/*.img.gz; do if [[ ! -v P_ARR[packages] || -z ${P_ARR[packages]} ]]; then
shopt -s nullglob
local -a outfiles=("$BINDIR"/*.img.gz "$BINDIR"/*.img)
shopt -u nullglob
for outfile in "${outfiles[@]}"; do
verify "$outfile" "$ib_sha256_file" || return 1 verify "$outfile" "$ib_sha256_file" || return 1
done done
fi
#copyFiles #copyFiles
fi fi