On Wed, 08 Dec 2021 09:11:07 +0100
"Thomas Schmitt" <scdbac...@gmx.net> wrote:

> Hi,
> 
> i think this change is beneficial for the maintainability of the test.
> 
> But this sequence looks a bit confusing, albeit it is ok on the second
> glimpse:
> 
> +                   XORRISO_ARGS="-as mkisofs $XORRISOFS_CHARSET 
> -graft-points"
> +
> +                   if [ -z "${fs##*rockridge*}" ]; then
> +                       XORRISO_ARGS="-rockridge on $XORRISO_ARGS"
> +                   else
> +                       XORRISO_ARGS="-rockridge off $XORRISO_ARGS"
> +                   fi
> +
> +                   if [ -z "${fs##*1999*}" ]; then
> +                       XORRISO_ARGS="$XORRISO_ARGS -iso-level 4"
> +                   else
> +                       XORRISO_ARGS="$XORRISO_ARGS -iso-level 3"
> +                   fi
> 
> It is essential here, but not really obvious, that the native command
> -rockridge "on"|"off" must be _prepended_ to XORRISO_ARGS whereas the
> mkisofs emulation options must be _appended_ to the variable content.
> 
> If not, then the xorriso run would fail:
> 
>   $ xorriso -as mkisofs -rockridge on
>   ...
>   xorriso : FAILURE : -as mkisofs: Unrecognized option '-rockridge'
>   xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
> 
>   $ xorriso -iso-level 4 -as mkisofs
>   ...
>   xorriso : FAILURE : Not a known command:  '-iso-level'
> 
>   xorriso : FAILURE : Not a known command:  '4'
> 
>   xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
>   $
> 
> It would be more intuitive to build XORRISO_ARGS in the sequence that
> will be seen by xorriso.
> 
> So consider to pull -compliance "rec_mtime" into XORRISO_ARGS too, and
> to set the native commands before the -as "mkisofs" command.
> Like:
> 
>                    XORRISO_ARGS="-compliance rec_mtime"
> 
>                    if [ -z "${fs##*rockridge*}" ]; then
>                        XORRISO_ARGS="$XORRISO_ARGS -rockridge on"
>                    else
>                        XORRISO_ARGS="$XORRISO_ARGS -rockridge off"
>                    fi
> 
>                    XORRISO_ARGS="$XORRISO_ARGS -as mkisofs $XORRISOFS_CHARSET 
> -graft-points"
> 
>                    if [ -z "${fs##*1999*}" ]; then
>                        XORRISO_ARGS="$XORRISO_ARGS -iso-level 4"
>                    else
>                        XORRISO_ARGS="$XORRISO_ARGS -iso-level 3"
>                    fi
> 
>                    if [ -z "${fs##*joliet*}" ]; then
>                        XORRISO_ARGS="$XORRISO_ARGS -J -joliet-long"
>                    fi
> 
>                    xorriso $XORRISO_ARGS -V "$FSLABEL" 
> --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" 
> /="$MASTER" ;;
> 
> 
> Have a nice day :)
> 
> Thomas
> 

Thanks for the suggestion Thomas. I've updated the patch to add this.

Glenn

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to