After updating to sys-apps/util-linux-2.24.1-r2, console access to a number of boxes got lost. The culprit seems to be agetty’s option handling code, which seems to choke on ‘-L8’, but accepts ‘-L -8’ just fine. Weird... Reproducible: Always
OK. So, the change that allows the -L option to have an optional argument, breaks my old command line. Wonderful… - { "local-line", no_argument, 0, 'L' }, + { "local-line", optional_argument, 0, 'L' }, I suppose this is a bug to file upstream… case 'L': - op->flags |= F_LOCAL; + /* -L and -L=always have the same meaning */ + op->clocal = CLOCAL_MODE_ALWAYS; + if (optarg) { + if (strcmp(optarg, "=always") == 0) + op->clocal = CLOCAL_MODE_ALWAYS; + else if (strcmp(optarg, "=never") == 0) + op->clocal = CLOCAL_MODE_NEVER; + else if (strcmp(optarg, "=auto") == 0) + op->clocal = CLOCAL_MODE_AUTO; + else + log_err(_("invalid argument of --local-line")); + } break;
Wow.. after a little more digging, this seems to be an issue with getopt itself. Let’s just forget this. Although a warning in the ebuild about possible breakage due to the change in how the -L option is handled would be _really_ nice.
yes, this is behaving as intended by upstream