| Summary: | /usr/share/examples/ipfw/change_rules.sh uses not supported base system diff switch | ||
|---|---|---|---|
| Product: | Base System | Reporter: | emz |
| Component: | misc | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | CC: | andrey, maya |
| Priority: | --- | ||
| Version: | 12.0-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
it seems This new pager (less), bug. - GNU diff has been replaced by a BSD licensed diff. https://svnweb.freebsd.org/base/release/12.0.0/UPDATING?revision=341707&view=markup#l639 - BSD licensed diff does not support -F option. - change_rules.sh uses -F option. https://svnweb.freebsd.org/base/release/12.0.0/share/examples/ipfw/change_rules.sh?revision=341707&view=markup#l152 > diff -F "^# .*[A-Za-z]" -u ${edit_file}.$DATE ${edit_file} \ A commit references this bug: Author: emaste Date: Wed Sep 30 20:57:01 UTC 2020 New revision: 366299 URL: https://svnweb.freebsd.org/changeset/base/366299 Log: MFC r359067: -F is GNU diff specific, not implemented in BSD diff. PR: 239519 Reported by: kouya@ryuhoku.jp [in -CURRENT] MFC after: 3 days Changes: _U stable/12/ stable/12/share/examples/ipfw/change_rules.sh |
/usr/share/examples/ipfw/change_rules.sh uses not supported base system diff switch -F, which is probably supported by the GNU diff, but not the base system one. So basically the script is broken now. Shame on one who has commited it. ===Cut=== [...] :wq /etc/rc.firewall.ronin.new: 316 строк, 12341 символов Do you want to install the new rules (Y/N) ? Y The rules will be changed now. If the message 'Type y to keep the new rules' does not appear on the screen or the y key is not pressed in 30 seconds, the original rules will be restored. The TCP/IP connections might be broken during the change. If so, restore the ssh/telnet connection being used. Would you like to see the resulting new rules (Y/N) ? n Type y to keep the new rules (Y/N) ? Y The new rules are now installed. The previous rules have been preserved in the file /etc/rc.firewall.ronin.201907301121 diff: invalid option -- F usage: diff [-aBbdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] [-I pattern] [-L label] file1 file2 diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] -C number file1 file2 diff [-aBbdiltw] [-I pattern] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] -D string file1 file2 diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case] [--no-ignore-case] [--normal] [--tabsize] [--strip-trailing-cr] -U number file1 file2 diff [-aBbdilNPprsTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case] [--no-ignore-case] [--normal] [--tabsize] [-I pattern] [-L label] [-S name] [-X file] [-x pattern] dir1 dir2 Null message body; hope that's ok ===Cut===