Hi,
i proposed as test for modern released grub-mkrescue binary:
strings /usr/bin/grub-mkrescue | grep '^--usage'
Leslie Zhai wrote:
My local is grub2-XXX so strings /usr/bin/grub2-mkrescue | grep '^--usage' --usage
So this test (or an equivalent one) would tell whether a binary grub-mkrescue needs no argument "--" between its own options and the user provided options for xorriso's mkisofs emulation.
Your proposed patch compensates for the effect of "--" on the modern released version of grub-mkrescue. But i would rather propose to suppress the "--" in this case and to stay in mkisofs emulation mode and option -f. Mixing both modes of xorriso is well possible, but might lead to unexpected results for people who are only used to the behavior of mkisofs.
So the next step propose is to find out which arguments are handed to grub-mkrescue and from where in the Perl code the argument "--" stems. This code part would have to become conditional depending on the detected binary version of grub-mkrescue.
The old script grub-mkrescue needs no argument "--" at the start of the xorriso -as mkisofs options. So it is compatible with the expectations of the modern released binary version. I.e. the current state of Grub.pm could be incompatible with the old script, too.
Have a nice day :)
Thomas