Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accept but ignore the old --squashfs-only argument #1410

Merged
merged 1 commit into from
Jul 16, 2024

Commits on Jul 16, 2024

  1. Accept but ignore the old --squashfs-only argument

    01dd27a broke lorax due to some unspecified behavior in argparse
    when two different arguments write to the same target. It added
    a --rootfs-type argument with a string value and a default of
    "squashfs", and changed --squashfs-only to write the value
    "squashfs" to the same target (rootfs_type) if passed.
    
    Unfortunately, if you do this *with --squashfs-only first and
    --rootfs-type second*, then if neither --squashfs-only nor
    --rootfs-type is passed, the value of rootfs_type in the
    resulting args dict is None, not "squashfs" as expected.
    
    If you reverse the order of the args - so --rootfs-type is first
    and --squashfs-only is second - then if neither arg is passed,
    the value of rootfs_type comes out as "squashfs" as expected.
    So we *could* just swap the args in both places. However, this
    strikes me as fragile as it seems like this behaviour is not
    defined and could change unexpectedly.
    
    It seems safer, to me, to accept --squashfs-only but simply
    ignore it (since the default value of --rootfs-type is squashfs
    anyway, and if someone were to specify both, I think it's sane
    for --rootfs-type to 'win'). Weirdly, argparse doesn't seem to
    have a built-in way to specify a completely no-op argument, so
    let's just keep it as `store_true` like it used to be, and
    simply never use the value.
    
    Alternatively we could use parse_known_args instead of
    parse_args and then check that the only unknown arg was
    squashfs-only, but we'd have to do that in multiple places, this
    seems a bit simpler.
    
    Signed-off-by: Adam Williamson <awilliam@redhat.com>
    AdamWill committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    aafedbb View commit details
    Browse the repository at this point in the history