[OpenWrt-Devel] [PATCH 3/3] treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup
mail at adrianschmutzler.de
mail at adrianschmutzler.de
Sun Sep 15 05:54:02 EDT 2019
Hi,
please also backport this to 19.07, since the variables for ath79 are still wrong there.
Despite, maybe have a look at my annotations below, at least one of them might require a fix…
Best
Adrian
From: Adrian Schmutzler [mailto:mail at adrianschmutzler.de]
Sent: Mittwoch, 11. September 2019 12:56
To: 'Rafał Miłecki' <zajec5 at gmail.com>; openwrt-devel at lists.openwrt.org
Cc: 'Rafał Miłecki' <rafal at milecki.pl>; 'Jonas Gorski' <jonas.gorski at gmail.com>; 'Jo-Philipp Wich' <jo at mein.io>; 'John Crispin' <john at phrozen.org>
Subject: RE: [OpenWrt-Devel] [PATCH 3/3] treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup
Hi,
when looking at the merged patch (unfortunately only then), I found some "issues" (see below):
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] On Behalf Of Rafal Milecki
> Sent: Freitag, 6. September 2019 07:11
> To: openwrt-devel at lists.openwrt.org <mailto:openwrt-devel at lists.openwrt.org>
> Cc: Rafał Miłecki <rafal at milecki.pl <mailto:rafal at milecki.pl> >; Jonas Gorski <jonas.gorski at gmail.com <mailto:jonas.gorski at gmail.com> >; Jo-Philipp Wich <jo at mein.io <mailto:jo at mein.io> >; John Crispin
> <john at phrozen.org <mailto:john at phrozen.org> >
> Subject: [OpenWrt-Devel] [PATCH 3/3] treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup
>
> From: Rafał Miłecki <rafal at milecki.pl <mailto:rafal at milecki.pl> >
>
> Now that $UPGRADE_BACKUP is set conditionally there is no need to check
> the $UPGRADE_OPT_SAVE_CONFIG anymore. All conditions can be simplified.
>
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl <mailto:rafal at milecki.pl> >
> ---
> package/base-files/files/lib/upgrade/common.sh | 2 +-
> package/base-files/files/lib/upgrade/do_stage2 | 2 +-
> package/base-files/files/sbin/sysupgrade | 1 -
> target/linux/ar71xx/base-files/lib/upgrade/dir825.sh | 2 +-
> target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh | 2 +-
> target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 4 ++--
> target/linux/ath25/base-files/lib/upgrade/platform.sh | 2 +-
> target/linux/ath79/base-files/lib/upgrade/platform.sh | 4 ++--
> target/linux/imx6/base-files/lib/upgrade/platform.sh | 2 +-
> target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh | 2 +-
> target/linux/ipq40xx/base-files/lib/upgrade/platform.sh | 2 +-
> target/linux/ixp4xx/base-files/lib/upgrade/platform.sh | 2 +-
> 12 files changed, 13 insertions(+), 14 deletions(-)
>
> diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
> index 8e7866f698..0d3162d4fc 100644
> --- a/package/base-files/files/lib/upgrade/common.sh
> +++ b/package/base-files/files/lib/upgrade/common.sh
> @@ -220,7 +220,7 @@ indicate_upgrade() {
> # $(2): (optional) pipe command to extract firmware, e.g. dd bs=n skip=m
> default_do_upgrade() {
> sync
> - if [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ]; then
> + if [ -n "$UPGRADE_BACKUP" ]; then
Any reason why this is "-n" and not "-f" as below?
> get_image "$1" "$2" | mtd $MTD_ARGS $MTD_CONFIG_ARGS -j "$UPGRADE_BACKUP" write - "${PART_NAME:-
> image}"
> else
> get_image "$1" "$2" | mtd $MTD_ARGS write - "${PART_NAME:-image}"
> diff --git a/package/base-files/files/lib/upgrade/do_stage2 b/package/base-files/files/lib/upgrade/do_stage2
> index 0e6cc1bfc3..0e32445743 100755
> --- a/package/base-files/files/lib/upgrade/do_stage2
> +++ b/package/base-files/files/lib/upgrade/do_stage2
> @@ -11,7 +11,7 @@ else
> default_do_upgrade "$IMAGE"
> fi
>
> -if [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then
> +if [ -n "$UPGRADE_BACKUP" ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then
Here I'm not so sure about "-f" vs. "-n" ...
> platform_copy_config
> fi
>
> diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
> index f18143bff4..935d08048e 100755
> --- a/package/base-files/files/sbin/sysupgrade
> +++ b/package/base-files/files/sbin/sysupgrade
> @@ -371,7 +371,6 @@ else
> $backup_attr
> \"command\": $(json_string "$COMMAND"),
> \"options\": {
> - \"save_config\": $SAVE_CONFIG,
> \"save_partitions\": $SAVE_PARTITIONS
> }
> }"
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/dir825.sh b/target/linux/ar71xx/base-files/lib/upgrade/dir825.sh
> index c694c2e6f2..e991a06b7a 100644
> --- a/target/linux/ar71xx/base-files/lib/upgrade/dir825.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/dir825.sh
> @@ -75,7 +75,7 @@ dir825b_do_upgrade_combined() {
>
> if [ -n "$fw_mtd" ] && [ ${fw_blocks:-0} -gt 0 ]; then
> local append=""
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
>
> sync
> dd if="$fw_file" bs=64k skip=1 count=$fw_blocks 2>/dev/null | \
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
> index 8536d4ba4a..f43bdcea7f 100644
> --- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
> @@ -159,7 +159,7 @@ platform_do_upgrade_openmesh()
> local cfg_size= kernel_size= rootfs_size=
> local append=""
>
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
>
> cfg_size=$(dd if="$img_path" bs=2 skip=35 count=4 2>/dev/null)
> kernel_size=$(dd if="$img_path" bs=2 skip=71 count=4 2>/dev/null)
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index 726163291d..86e7b6386b 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -65,7 +65,7 @@ platform_do_upgrade_combined() {
> then
> local rootfspart=$(platform_find_rootfspart "$partitions" "$kernelpart")
> local append=""
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
>
> if [ "$PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD" -ne 1 ]; then
> ( dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null; \
> @@ -164,7 +164,7 @@ platform_do_upgrade_compex() {
>
> if [ -n "$fw_mtd" ] && [ ${fw_blocks:-0} -gt 0 ]; then
> local append=""
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUPs"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUPs"
Is there a reason for the trailing "s" here or is this a typo: ="-j $UPGRADE_BACKUPs" ?
>
> sync
> dd if="$fw_file" bs=64k skip=1 count=$fw_blocks 2>/dev/null | \
> diff --git a/target/linux/ath25/base-files/lib/upgrade/platform.sh b/target/linux/ath25/base-files/lib/upgrade/platform.sh
> index 0dde103605..778bbf5a39 100644
> --- a/target/linux/ath25/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ath25/base-files/lib/upgrade/platform.sh
> @@ -67,7 +67,7 @@ platform_do_upgrade() {
> [ ${erase_size:-0} -gt 0 ];
> then
> local append=""
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
>
> ( dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null; \
> dd if="$1" bs=$CI_BLKSZ skip=$((1+$kern_blocks)) count=$root_blocks 2>/dev/null ) | \
> diff --git a/target/linux/ath79/base-files/lib/upgrade/platform.sh b/target/linux/ath79/base-files/lib/upgrade/platform.sh
> index f7e62143e7..f4fca06384 100644
> --- a/target/linux/ath79/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ath79/base-files/lib/upgrade/platform.sh
> @@ -14,7 +14,7 @@ redboot_fis_do_upgrade() {
> if [ "$magic" = "4349" ]; then
> local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
>
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j
> $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
> dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
> mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
>
> @@ -22,7 +22,7 @@ redboot_fis_do_upgrade() {
> local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
> local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
>
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j
> $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
> tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
> mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
>
> diff --git a/target/linux/imx6/base-files/lib/upgrade/platform.sh b/target/linux/imx6/base-files/lib/upgrade/platform.sh
> index 9414b18710..a090cc080b 100755
> --- a/target/linux/imx6/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/imx6/base-files/lib/upgrade/platform.sh
> @@ -75,7 +75,7 @@ platform_pre_upgrade() {
>
> case "$board" in
> apalis*)
> - [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 0 ] && {
> + [ -z "$UPGRADE_BACKUP" ] && {
Really "-z" or "! -f"?
> jffs2reset -y
> umount /overlay
> }
> diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
> index e313562017..8e02186eb8 100644
> --- a/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
> +++ b/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
> @@ -74,7 +74,7 @@ platform_do_upgrade_openmesh() {
> #
>
> # take care of restoring a saved config
> - [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && restore_backup="${MTD_CONFIG_ARGS} -j ${UPGRADE_BACKUP}"
> + [ -n "$UPGRADE_BACKUP" ] && restore_backup="${MTD_CONFIG_ARGS} -j ${UPGRADE_BACKUP}"
"-f" here, too?
>
> mtd -q erase inactive
> tar xf $tar_file ${board_dir}/root -O | mtd -n -p $kernel_length $restore_backup write - $PART_NAME
> diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
> index 6b9858beb0..c12508c437 100644
> --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
> @@ -37,7 +37,7 @@ zyxel_do_upgrade() {
>
> tar Oxf $tar_file ${board_dir}/kernel | mtd write - kernel
>
> - if [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ]; then
> + if [ -n "$UPGRADE_BACKUP" ]; then
"-f" here, too?
Sorry for being late with this.
Best
Adrian
> tar Oxf $tar_file ${board_dir}/root | mtd -j "$UPGRADE_BACKUP" write - rootfs
> else
> tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
> diff --git a/target/linux/ixp4xx/base-files/lib/upgrade/platform.sh b/target/linux/ixp4xx/base-files/lib/upgrade/platform.sh
> index 557f43ce6f..f83aa430cf 100644
> --- a/target/linux/ixp4xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ixp4xx/base-files/lib/upgrade/platform.sh
> @@ -68,7 +68,7 @@ platform_do_upgrade_combined() {
> [ ${erase_size:-0} -gt 0 ];
> then
> local append=""
> - [ -f "$UPGRADE_BACKUP" -a "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $UPGRADE_BACKUP"
> + [ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
>
> # write the kernel
> dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null | \
> --
> 2.21.0
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org <mailto:openwrt-devel at lists.openwrt.org>
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20190915/99519b16/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20190915/99519b16/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list