@@ -292,18 +292,23 @@ cp_firmware() {
mkdir -p "bin/$variant"
+ imagesrcpath="$builddir/bin/targets/${chipset}/${subtarget}"
+ imagedestpath="./bin/$variant"
+
for image in ${images[@]}; do
- filename_build=${image//openwrt/fff-${version}}
- filename_build=${filename_build//squashfs-/}
- filename_build=${filename_build//${chipset}-${subtarget}-/}
- cp "$builddir/bin/targets/${chipset}/${subtarget}/$image" "./bin/$variant/$filename_build"
-
- for region in "" "-eu" "-us"; do
- image_factory=${image/sysupgrade/factory$region}
- if [[ -f "$builddir/bin/targets/${chipset}/${subtarget}/$image_factory" ]]; then
- filename_build_factory=${filename_build/sysupgrade/factory$region}
- cp "$builddir/bin/targets/${chipset}/${subtarget}/$image_factory" "./bin/$variant/$filename_build_factory"
- fi
+ # the following line is no mistake, since the first expression
+ # is evaluated, while the second is used literally
+ fullsrcpath=$imagesrcpath/${image//squashfs-*/squashfs-*}
+ if ! ls $fullsrcpath >/dev/null 2>/dev/null; then
+ echo "Warning: $image not found."
+ continue
+ fi
+ for f in $fullsrcpath; do
+ filename_build=${f##*/}
+ filename_build=${filename_build//openwrt/fff-${version}}
+ filename_build=${filename_build//squashfs-/}
+ filename_build=${filename_build//${chipset}-${subtarget}-/}
+ cp "$f" "$imagedestpath/$filename_build"
done
done
}
So far, we are selecting specific squashfs images to be copied from openwrt bin folder to our "final" bin directory. This has the disadvantage that additional image types/names have to be added explicitly, bloating the relevant code in buildscript. With this patch, this behavior is changed in order to copy all squashfs images for a particular device. As before, this will _not_ copy initramfs images. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> --- This has been tested with my firmware, but not after porting to official. --- buildscript | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)