1 |
On Fri, Jun 03, 2022 at 06:09:38AM +0200, Michał Górny wrote: |
2 |
> On Tue, 2022-05-31 at 07:23 -0400, Ionen Wolkens wrote: |
3 |
> > Often preferable to use patches so this happens, but sed have its |
4 |
> > uses/convenience and this intend to help reduce the amount of old |
5 |
> > broken seds causing issues that go unnoticed on bumps. |
6 |
> > |
7 |
> > Inspired by app-portage/iwdevtools' qa-sed (warns on any seds), but |
8 |
> > this is for more deterministic use in ebuilds. |
9 |
> > |
10 |
> > Also slightly shortens sed use, -i is default, and no need to || die. |
11 |
> > (see @EXAMPLE in eclass for a quick usage overview). |
12 |
> > |
13 |
> |
14 |
> To be honest, I strongly dislike this. It really feels like trying to |
15 |
> make an adapter for a square wheel, while the right solution would be to |
16 |
> replace the wheel. On top of that, ton of evals which are pretty much |
17 |
> a huge "no-no". |
18 |
|
19 |
About evals, the two eval is just to silence this: |
20 |
|
21 |
var=$(printf "\0") |
22 |
|
23 |
The 2>/dev/null doesn't work without wrapping it, aka |
24 |
|
25 |
eval 'var=$(printf "\0")' 2>/dev/null |
26 |
|
27 |
No variables are expanded pre-eval so it's just evaluating a |
28 |
static statement. eval can be removed, but it'll be noisy |
29 |
if someone happens to sed binary files. |
30 |
|
31 |
> |
32 |
> Perhaps it would be better to forget about trying to work miracles with |
33 |
> sed and instead write a trivial shell replacement for the most common |
34 |
> use cases. One thing I'd love to see is a simple substitution command |
35 |
> that would work for paths/CFLAGS on RHS without having to worry about |
36 |
> them conflicting with the pattern delimiter. |
37 |
> |
38 |
> -- |
39 |
> Best regards, |
40 |
> Michał Górny |
41 |
> |
42 |
> |
43 |
|
44 |
-- |
45 |
ionen |