Message ID | 20240517141413.1716448-1-peter@korsgaard.com |
---|---|
State | Accepted |
Headers | show |
Series | package/procps-ng/S02sysctl: pass SYSCTL_ARGS before -p argument for busybox | expand |
Peter, All, On 2024-05-17 16:14 +0200, Peter Korsgaard spake thusly: > The busybox sysctl applet expects all arguments after -p to be filenames to > read: > > sysctl -p file -h > sysctl: -h: No such file or directory > > VS: > > sysctl -h -p file > sysctl: invalid option -- 'h' > BusyBox v1.36.1 (2024-05-17 15:27:21 CEST) multi-call binary. > > Usage: sysctl [-enq] { -a | -p [FILE]... | [-w] [KEY[=VALUE]]... } > > Show/set kernel parameters > > -e Don't warn about unknown keys > -n Don't show key names > -q Quiet > -a Show all values > -p Set values from FILEs (default /etc/sysctl.conf) > -w Set values > > This seems to be the intented behaviour: > https://git.busybox.net/busybox/tree/procps/sysctl.c#n317 > > Notice: The procps-ng variant is happy with both: > > sysctl -p file -h > > Usage: > sysctl [options] [variable[=value] ...] > > VS: > > sysctl -h -p file > > Usage: > sysctl [options] [variable[=value] ...] > > So pass SYSCTL_ARGS before the -p args so custom sysctl arguments can be > passed. > > Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Applied to master, thanks. Regards, Yann E. MORIN. > --- > package/procps-ng/S02sysctl | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/package/procps-ng/S02sysctl b/package/procps-ng/S02sysctl > index 85d9ed50d0..c202833ab8 100644 > --- a/package/procps-ng/S02sysctl > +++ b/package/procps-ng/S02sysctl > @@ -43,7 +43,7 @@ run_logger() { > break > } > echo "* Applying $file ..." > - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" > + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" > done 2>&1 >&3 | /usr/bin/logger -t sysctl -p kern.err > } 3>&1 | /usr/bin/logger -t sysctl -p kern.info > } > @@ -60,7 +60,7 @@ run_std() { > break > } > echo "* Applying $file ..." > - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" > + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" > done > } > } > -- > 2.39.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/package/procps-ng/S02sysctl b/package/procps-ng/S02sysctl index 85d9ed50d0..c202833ab8 100644 --- a/package/procps-ng/S02sysctl +++ b/package/procps-ng/S02sysctl @@ -43,7 +43,7 @@ run_logger() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done 2>&1 >&3 | /usr/bin/logger -t sysctl -p kern.err } 3>&1 | /usr/bin/logger -t sysctl -p kern.info } @@ -60,7 +60,7 @@ run_std() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done } }
The busybox sysctl applet expects all arguments after -p to be filenames to read: sysctl -p file -h sysctl: -h: No such file or directory VS: sysctl -h -p file sysctl: invalid option -- 'h' BusyBox v1.36.1 (2024-05-17 15:27:21 CEST) multi-call binary. Usage: sysctl [-enq] { -a | -p [FILE]... | [-w] [KEY[=VALUE]]... } Show/set kernel parameters -e Don't warn about unknown keys -n Don't show key names -q Quiet -a Show all values -p Set values from FILEs (default /etc/sysctl.conf) -w Set values This seems to be the intented behaviour: https://git.busybox.net/busybox/tree/procps/sysctl.c#n317 Notice: The procps-ng variant is happy with both: sysctl -p file -h Usage: sysctl [options] [variable[=value] ...] VS: sysctl -h -p file Usage: sysctl [options] [variable[=value] ...] So pass SYSCTL_ARGS before the -p args so custom sysctl arguments can be passed. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> --- package/procps-ng/S02sysctl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)