Bug 229925 - [EXP-RUN] Disallow escaping ordinary characters in regex(3)
Summary: [EXP-RUN] Disallow escaping ordinary characters in regex(3)
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Port Management Team
URL:
Keywords:
Depends on: 240309 240310 240450 228062 233417 233418 233421 233422 233423 233424 233425 233438 233439 233440 233443 233445 233453 233454 233457 233458 233459 233460 233461 240306 240307 240308 240312
Blocks: 230332
  Show dependency treegraph
 
Reported: 2018-07-21 14:59 UTC by Kyle Evans
Modified: 2019-09-25 01:49 UTC (History)
3 users (show)

See Also:
kevans: exp-run?


Attachments
patch(1) to disallow escaping random bits (3.43 KB, patch)
2018-07-21 14:59 UTC, Kyle Evans
no flags Details | Diff
patch(1) to disallow escaping random bits, v2 (3.35 KB, patch)
2018-07-23 01:57 UTC, Kyle Evans
no flags Details | Diff
svn(1) diff against base, version 3 (3.45 KB, patch)
2018-07-30 19:10 UTC, Kyle Evans
no flags Details | Diff
svn(1) diff against ports (456 bytes, patch)
2018-07-30 19:11 UTC, Kyle Evans
no flags Details | Diff
svn(1) diff against the ports tree (1.95 KB, patch)
2019-09-09 17:02 UTC, Kyle Evans
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle Evans freebsd_committer 2018-07-21 14:59:52 UTC
Created attachment 195334 [details]
patch(1) to disallow escaping random bits

Hi,

Please do an exp-run with the attached patch to disallow escaping of arbitrary ordinary characters in regex(3). This makes a smoother progression into the future with GNU extensions where some ordinary characters are blessed with special meaning. Only characters that actually have special meaning when escaped are allowed.

This patch addresses some POSIX-declared implementation defined behavior.
Comment 1 Antoine Brodin freebsd_committer 2018-07-21 18:21:59 UTC
Buildworld fails:

/poudriere/jails/headi386PR229925/usr/src/lib/libc/regex/regcomp.c:458:9: error: use of undeclared identifier 'BACKSL'
                if (c&BACKSL && may_escape(p, wc) != 0)
                      ^
Comment 2 Kyle Evans freebsd_committer 2018-07-23 01:57:22 UTC
Created attachment 195381 [details]
patch(1) to disallow escaping random bits, v2

... I'm sorry for wasting your time. =( This was an older version of the patch, taken from the wrong branch, that had some rebase mishaps thrown on top of that and I failed to test it again.

Uploaded is the newer version- re-tested to make sure that it applies and does what I expect.
Comment 3 Antoine Brodin freebsd_committer 2018-07-23 09:24:11 UTC
Exp-run can't start:

make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Upython:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1466: Undefined variable "${:Upython:C/^[^\:]*(\:|\$)//:"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
Comment 4 Antoine Brodin freebsd_committer 2018-07-23 09:26:26 UTC
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Upython:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1466: Undefined variable "${:Upython:C/^[^\:]*(\:|\$)//:"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Ucompiler\:features:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Uobjc:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: Fatal errors encountered -- cannot continuemake: Unknown modifier ':'
make: Unknown modifier ':'
make: Unknown modifier ':'
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Upython:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1466: Undefined variable "${:Upython:C/^[^\:]*(\:|\$)//:"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Ucompiler\:features:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1464: Undefined variable "${:Uobjc:C/\:.*//}"
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: RE substitution error: trailing backslash (\)
make: Unclosed substitution for  (/ missing)
make: "/usr/ports/Mk/bsd.port.mk" line 1470: Cannot open /usr/ports/Mk/Uses/.mk
make: Unknown modifier ':'
make: Unknown modifier ':'
make: Unknown modifier ':'
make: Unknown modifier ':'
make: Unknown modifier ':'
Comment 5 Kyle Evans freebsd_committer 2018-07-23 12:08:42 UTC
So this is going to be totally craptastic... Perfect. Perhaps we should start off with disallowing A-Za-z from being arbitrarily escaped, because this is apparently going to be incredibly painful.

On the positive side, these failures are legit- either the escaping is too heavy and make would have done the right thing, or make needed it but is still passing the escape down through to regcomp.
Comment 6 Antoine Brodin freebsd_committer 2018-07-23 12:44:43 UTC
According to make(1):

     Each modifier begins with a colon,	which may be escaped with a backslash
     (`\').
Comment 7 Kyle Evans freebsd_committer 2018-07-23 13:21:19 UTC
(In reply to Antoine Brodin from comment #6)

Right, and it turns out escaping its use in the :C modifier is not necessary, e.g. [1] removes the gratuitous escaping from these USES bits that caused that particular breakage, and in theory works.

I'm doing some grep-work to see if I can pare down the amount of :C usage that I need to whisk through to figure out what all breaks in the ports framework, because it doesn't look as rampant as I had thought from some initial pokes.

Given that I don't quite have the resources to build the entire ports tree, do you happen to have a smaller set of ports that you would recommend trying to build on my own as a basic lemon test before asking you to try again? Perhaps a small set that flexes quite a bit of ports functionality.

[1] https://people.freebsd.org/~kevans/escaped-colon.diff
Comment 8 Kyle Evans freebsd_committer 2018-07-30 19:10:36 UTC
Created attachment 195653 [details]
svn(1) diff against base, version 3

Take 3... loosened up the restrictions a lot to just restrict [A-Za-z0-9'`] so the fallout won't be quite as catastrophic while still doing what I need it to do.

Having received no input on a minimal set of ports to try, I did a poudriere test with: games/gzdoom devel/git devel/arduino18 shells/zsh and hit approximately 300 ports. I will upload my initial ports patch following this one.
Comment 9 Kyle Evans freebsd_committer 2018-07-30 19:11:01 UTC
Created attachment 195654 [details]
svn(1) diff against ports

Patch a single escaped ` in www/w3m.
Comment 10 Antoine Brodin freebsd_committer 2018-08-07 07:26:40 UTC
New failures on amd64:

+ {"origin"=>"databases/freetds", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"databases/xapian-core", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"databases/xapian-core10", "phase"=>"build", "errortype"=>"clang"}
+ {"origin"=>"databases/xapian-core12", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"devel/devtodo", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"devel/erlang-exmpp", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"devel/llvm33", "phase"=>"stage", "errortype"=>"perl"}
+ {"origin"=>"devel/synfig", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"devel/tig", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"ftp/rexx-curl", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"german/hunspell", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"java/classpath", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"lang/gcc6", "phase"=>"build", "errortype"=>"assumes_gcc"}
+ {"origin"=>"mail/libmilter", "phase"=>"configure", "errortype"=>"???"}
+ {"origin"=>"mail/sendmail", "phase"=>"configure", "errortype"=>"???"}
+ {"origin"=>"mail/squirrelmail-sasql-plugin", "flavor"=>"php70", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"mail/squirrelmail-sasql-plugin", "flavor"=>"php71", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"mail/squirrelmail-sasql-plugin", "flavor"=>"php72", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"mail/squirrelmail-sasql-plugin", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"mail/thunderbird", "phase"=>"build", "errortype"=>"clang"}
+ {"origin"=>"math/octave", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"multimedia/libkate", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"net-mgmt/nagiosql", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"net/ipxe", "phase"=>"build", "errortype"=>"missing_header"}
+ {"origin"=>"net/miniupnpc", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"security/clamav-unofficial-sigs", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"security/fsh", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"security/openvpn", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"security/openvpn-devel", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"security/openvpn-mbedtls", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"sysutils/file", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"www/firefox", "phase"=>"build", "errortype"=>"clang"}
+ {"origin"=>"www/firefox-esr", "phase"=>"build", "errortype"=>"clang"}
+ {"origin"=>"www/foswiki", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"www/p5-Gantry", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"www/palemoon", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"www/seamonkey", "phase"=>"configure", "errortype"=>"configure_error"}
+ {"origin"=>"www/waterfox", "phase"=>"configure", "errortype"=>"configure_error"}
+ {"origin"=>"x11-toolkits/p5-Alien-wxWidgets", "phase"=>"patch", "errortype"=>"???"}
+ {"origin"=>"x11-wm/ede", "phase"=>"build", "errortype"=>"bad_C++_code"}

Hundreds of ports were skipped due to those failures
Comment 11 Antoine Brodin freebsd_committer 2018-08-07 07:28:25 UTC
New failure logs on amd64:

http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/freetds-1.00.94,1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/xapian-core-1.4.7_1,1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/xapian-core10-1.0.23_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/xapian-core12-1.2.25,1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/devtodo-0.1.20_2.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/erlang-exmpp-0.9.9_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/llvm33-3.3_14.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/synfig-1.2.1_5.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/tig-2.3.0_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/rexx-curl-2.0.1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/de-hunspell-20161207_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/classpath-0.99_7.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/gcc6-6.4.0_8.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/libmilter-8.15.2_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/sendmail-8.15.2_11.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/squirrelmail-sasql-plugin-php70-3.2.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/squirrelmail-sasql-plugin-php71-3.2.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/squirrelmail-sasql-plugin-php72-3.2.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/squirrelmail-sasql-plugin-php56-3.2.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/thunderbird-60.0_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/octave-4.4.0_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/libkate-0.4.1_7.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/nagiosql-3.2.0_2.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/ipxe-20180514_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/miniupnpc-2.1_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/clamav-unofficial-sigs-5.6.2.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/fsh-1.2_3.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/openvpn-2.4.6_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/openvpn-devel-201821_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/openvpn-mbedtls-2.4.6_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/file-5.32.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/firefox-61.0.1_1,1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/firefox-esr-60.1.0_4,1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/foswiki-2.1.6.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/p5-Gantry-3.64_1.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/palemoon-27.9.4.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/seamonkey-2.49.4_10.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/waterfox-56.2.2.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/p5-Alien-wxWidgets-0.69.log
http://package18.nyi.freebsd.org/data/headamd64PR229925-default/2018-08-03_22h32m51s/logs/errors/ede-2.1_3.log
Comment 12 Kyle Evans freebsd_committer 2018-11-23 03:48:28 UTC
For my own record: llvm33 has been retired since this exp-run was ran, so no patch will be required for it.
Comment 13 Tobias Kortkamp freebsd_committer 2018-11-23 14:05:36 UTC
net/ipxe should hopefully be fine now after ports r485643.
Comment 14 Kyle Evans freebsd_committer 2018-11-23 21:39:40 UTC
(In reply to Tobias Kortkamp from comment #13)

Thanks!
Comment 15 Kyle Evans freebsd_committer 2018-11-23 22:16:07 UTC
Comment on attachment 195654 [details]
svn(1) diff against ports

Marking patch against ports as obsolete; bug #233417 created to track.
Comment 16 Kyle Evans freebsd_committer 2019-09-03 15:02:18 UTC
I will be submitting PRs for the rest of the initial failures soon... for my records, the following have all also been overcome by events:

- sysutils/file (update removed offending expression)
- www/palemoon (removed from ports)
- www/seamonkey (removed from ports)
- www/waterfox (removed from ports)
Comment 17 Kyle Evans freebsd_committer 2019-09-09 17:02:28 UTC
Created attachment 207331 [details]
svn(1) diff against the ports tree

This is the small collection of ports patches that are still pending approval as of today; can we apply these and do another exp-run to see what else might be broken, or do I need to 'just be patient'? The base patch still applies.

Thanks!
Comment 18 Antoine Brodin freebsd_committer 2019-09-22 18:34:55 UTC
On i386,  here are the build logs that contain "RE error:"

http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/amavisd-new-2.12.0,1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/apcupsd-3.14.14_2.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/asterisk-chan_sccp-4.3.2_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos16-client-16.2.8_3.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos16-client-static-16.2.8_3.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos16-server-16.2.8_3.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos17-client-17.2.7_4.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos17-client-static-17.2.7_4.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/bareos17-server-17.2.7_4.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/cassandra3-3.11.4_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/cinnamon-control-center-2.4.2_8.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/cinnamon-settings-daemon-2.4.3_6.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/conky-1.11.5_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/conky-awesome-1.11.5_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/couchdb2-2.3.1_2.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/docsis-0.9.8.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/etl-1.2.1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/evilvte-0.5.2.p1_2.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/ftgl-2.1.3.r5_6,1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/gtk2-2.24.32.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/gtk3-3.24.10_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/libappindicator-12.10.0_2.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/libgnomecups-0.2.3_8,1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/minipro-0.3_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/octopus-8.4_2.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/openjdk11-11.0.4+11.2_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/openjdk12-12.0.2+10.2_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/openjdk13-13+33.1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/p5-NetCDF-1.2.4_6.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/pdflib-perl-7.0.5_5.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/rpm4-4.14.2.1_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/rxvt-2.6.4_6.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/sphinxsearch-2.2.11_3.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/synfig-1.2.1_20.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/synfigstudio-1.2.1_11.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/tarantool-2.1.2_1.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/vifm-0.10.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/vlc-3.0.8,4.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/zh-celvis-1.3.log
http://package23.nyi.freebsd.org/data/headi386PR229925-default/2019-09-19_13h24m11s/logs/zziplib-0.13.69_1.log
Comment 19 Antoine Brodin freebsd_committer 2019-09-22 20:21:23 UTC
On amd64,  here are the build logs that contain "RE error:"

http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/amavisd-new-2.12.0,1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/apcupsd-3.14.14_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/asterisk-chan_sccp-4.3.2_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos16-client-16.2.8_3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos16-client-static-16.2.8_3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos16-server-16.2.8_3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos17-client-17.2.7_4.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos17-client-static-17.2.7_4.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/bareos17-server-17.2.7_4.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/cassandra3-3.11.4_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/cinnamon-control-center-2.4.2_8.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/cinnamon-settings-daemon-2.4.3_6.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/conky-1.11.5_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/conky-awesome-1.11.5_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/couchdb2-2.3.1_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/docsis-0.9.8.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/etl-1.2.1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/evilvte-0.5.2.p1_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/ftgl-2.1.3.r5_6,1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/gtk2-2.24.32.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/gtk3-3.24.10_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/knot2-2.8.3_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/knot2-lib-2.8.3_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/libappindicator-12.10.0_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/libgnomecups-0.2.3_8,1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/minipro-0.3_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/octopus-8.4_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openjdk11-11.0.4+11.2_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openjdk12-12.0.2+10.2_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openjdk13-13+33.1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openmpi-1.10.7_7.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openmpi2-2.1.6_3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/openmpi3-3.1.4_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/p5-NetCDF-1.2.4_6.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/pdflib-perl-7.0.5_5.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/pianod2-301_2.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/rpm4-4.14.2.1_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/rxvt-2.6.4_6.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/sphinxsearch-2.2.11_3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/synfig-1.2.1_20.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/synfigstudio-1.2.1_11.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/tarantool-2.1.2_1.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/vifm-0.10.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/vlc-3.0.8,4.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/zh-celvis-1.3.log
http://package22.nyi.freebsd.org/data/headamd64PR229925-default/2019-09-19_13h33m48s/logs/zziplib-0.13.69_1.log
Comment 20 Kyle Evans freebsd_committer 2019-09-23 03:43:33 UTC
Thanks, Antoine!

Given the magnitude, should I continue with 1 PR : Port, or would it be OK to batch up the more trivial patches and seek portmgr approval to just-do-it? Specifically, I propose batching:

- Trivial port makefile escape fixes 
- Changes from sed to gsed, specifically those that can be done with either BINARY_ALIAS or autoconf env vars.

Anything involving patches being added or extra replacements I'd prefer passing through makntaoners, but I'd like to think I'm qualified to make some of the lower-impact decisions that I listed as batchable being effectively one of the only regex(3) maintainers
Comment 21 Antoine Brodin freebsd_committer 2019-09-23 05:46:50 UTC
(In reply to Kyle Evans from comment #20)

I prefer that you use PR for everything,  but you can group them  (for instance 1 PR for bareos*,  1 PR for conky*, 1 PR for openjdk*, 1 PR for openmpi*)
Comment 22 Mathieu Arnold freebsd_committer 2019-09-23 05:50:36 UTC
According to https://www.freebsd.org/doc/en/books/porters-handbook/makefile-maintainer.html:

  Blanket approval for most ports applies to fixes like infrastructure changes, or trivial and tested build and runtime fixes. The current list is available in Ports section of the Committer's Guide.

And in https://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/ports.html#ports-qa-misc-blanket-approval it links to:

  Blanket approval for most ports applies to these types of fixes:

    Most infrastructure changes to a port (that is, modernizing, but not changing the functionality). For example, the blanket covers converting to new USES macros, enabling verbose builds, and switching to new ports system syntaxes.

    Trivial and tested build and runtime fixes.

There is absolutely no need to involve portmgr, and you probably do not need to involve the affected ports' maintainers.
As you are not a ports committer, you do need to seek approval (by a ports committer) for any patch to the ports tree you wish to commit yourself.  If you do not wish to commit the patches yourself, either 1 PR/port or 1 PR for everything is up to you, as in both cases, you only need an ok from a ports committer.
Comment 23 Kyle Evans freebsd_committer 2019-09-23 11:43:04 UTC
Perfect, thanks to both of you.
Comment 24 Kyle Evans freebsd_committer 2019-09-25 01:49:14 UTC
Note to self: chinese/celvis is a false positive, source literally contains "RE error" as part of its RE implementation, and it happens to pop up in a compiler warning.