In message <202504300101.53u112aw053...@gitrepo.freebsd.org>, Ed Maste writes: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=be61deae0aa2923bb9908fc5b37b3571 > 2603e622 > > commit be61deae0aa2923bb9908fc5b37b35712603e622 > Author: Isaac Freund <ifre...@freebsdfoundation.org> > AuthorDate: 2025-04-23 10:27:35 +0000 > Commit: Ed Maste <ema...@freebsd.org> > CommitDate: 2025-04-30 01:00:17 +0000 > > pkg: clarify argument parsing > > Currently pkg parses all arguments and subcommands in a single > getopt_long() loop. This results in quite a bit of accidental > complexity, especially around the -r option for the bootstrap and add > subcommands. > > This also results in the undocumented behavior of all options understood > by pkg(7) being accepted anywhere in the argument list regardless of > their position. This contradicts the behavior of pkg(8) and I find it > quite unexpected. > > This patch splits the argument parsing done by pkg(7) into two phases > for global options and subcommand options. This gives behavior that > matches pkg(8), accepting the subset of pkg(8) options supported by > pkg(7) in the exact same positions that pkg(8) accepts them. > > This is however a somewhat breaking change, as options are no longer > accepted by pkg(7) in places they are rejected by pkg(8). For example, > `pkg -f bootstrap` no longer works, only `pkg bootstrap -f`. > > The original motivation for writing this patch was investigating support > for --rootdir in pkg(7). Since pkg(8) uses -r as the short form for > both --rootdir and --repository depending on the position, I decided > that pkg(7) needed to be brought inline with pkg(8)'s argument parsing > behavior to avoid confusion. > > This patch also gets rid of args_add_message (unused since 40b9f924b1) > > Relnotes: yes > Reviewed by: bapt > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D49977 > --- > usr.sbin/pkg/pkg.7 | 5 +- > usr.sbin/pkg/pkg.c | 174 ++++++++++++++++++++++++++------------------------- > -- > 2 files changed, 87 insertions(+), 92 deletions(-) >
Hi Ed, This commit is causing option parsing errors. Please see the discussion about it on -current. I've reverted it locally. Problem fixed. -- Cheers, Cy Schubert <cy.schub...@cschubert.com> FreeBSD UNIX: <c...@freebsd.org> Web: https://FreeBSD.org NTP: <c...@nwtime.org> Web: https://nwtime.org e^(i*pi)+1=0