this package seems to have a new changelog entry (version
unstable) and new commits
in its VCS. You should consider whether it's time to make
Here are the relevant commit messages:
Author: Michael Prokop <firstname.lastname@example.org>
Date: Tue Jun 4 10:39:28 2019 +0200
Avoid custom boot options getting duplicated when used with multiple ISOs
grml2usb can be invoked with multiple ISOs *and* custom boot options, like:
% sudo grml2usb --bootoption="ssh=foobar mikawashere" grml32-small_2018.12.iso grml64-small_2018.12.iso /dev/sdb1
Then grml2usb appends the custom boot options in the GRUB
(boot/grub/*.cfg) + isolinux/syslinux (boot/syslinux/*.cfg)
configuration files of files that have been installed by the underlying
But when hitting the grml64-small ISO then, it continues to replace the
files with the boot options once again. Therefore we end up with
duplicate boot options in the grml32-small_2018.12.iso specific files
boot/syslinux/grml32_small_default.cfg, boot/syslinux/grml32_small_grml.cfg +
We could actually ensure to only touch the ISO specific files, but
we don't have version information included in the file names and also
have shared files like boot/syslinux/hidden.cfg, so this might unexpected
side effects as well. So instead let's explicitly check for the provided
custom boot options.
Notes regarding the implementation:
* If boot options are whitespace-only or empty, nothing will happen. This
prevents str.replace to do unintended things.
* otherwise consider string "PRE some-boot-options POST". Then we should find
'some-boot-options' and remove them. Why the delimiter handling? Consider
some-boot-options is 'ssh'. If we replace line.replace(bootopt, '') then some
fictitious boot option like 'service.ssh=autostart' would be broken. Thus the
space delimiters are necessary.
* However, the space delimiters might not exist if the boot options occur at the
end of the string. Thus special handling is required for this case.
Thanks: Ralf Moll for the bug report and Lukas Prokop for providing the bug fix