Re: [gentoo-dev] [PATCH 1/2] python-utils-r1.eclass: Simplify sed call in python_fix_shebang

2018-09-15 Thread James Le Cuirot
On Sat, 15 Sep 2018 16:27:28 +0200
Michał Górny  wrote:

> On Fri, 2018-09-14 at 23:44 +0100, James Le Cuirot wrote:
> > There's no need for two separate sed calls here.
> > ---
> >  eclass/python-utils-r1.eclass | 6 +-
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
> > index e3cf82b4b58f..121f2382ba78 100644
> > --- a/eclass/python-utils-r1.eclass
> > +++ b/eclass/python-utils-r1.eclass
> > @@ -1247,11 +1247,7 @@ python_fix_shebang() {
> > if [[ ! ${error} ]]; then
> > # We either want to match ${from} followed by 
> > space
> > # or at end-of-string.
> > -   if [[ ${shebang} == *${from}" "* ]]; then
> > -   sed -i -e "1s:${from} :${EPYTHON} :" 
> > "${f}" || die
> > -   else
> > -   sed -i -e "1s:${from}$:${EPYTHON}:" 
> > "${f}" || die
> > -   fi
> > +   sed -i -e "1s:${from}\( \|\$\):${EPYTHON}\1:" 
> > "${f}" || die  
> 
> Hmm, I wonder if we could just utilize '\b' here.

I also considered it but that would match /, which is no good. For
example, it would replace python in /usr/python/foo.

I am now working on a new approach to better accommodate my cross stuff
that would supersede this anyway but it's not ready yet.

> > any_fixed=1
> > else
> > eerror "The file has incompatible shebang:"  

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpAKEeU7xASq.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [PATCH 1/2] python-utils-r1.eclass: Simplify sed call in python_fix_shebang

2018-09-15 Thread Michał Górny
On Fri, 2018-09-14 at 23:44 +0100, James Le Cuirot wrote:
> There's no need for two separate sed calls here.
> ---
>  eclass/python-utils-r1.eclass | 6 +-
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
> index e3cf82b4b58f..121f2382ba78 100644
> --- a/eclass/python-utils-r1.eclass
> +++ b/eclass/python-utils-r1.eclass
> @@ -1247,11 +1247,7 @@ python_fix_shebang() {
>   if [[ ! ${error} ]]; then
>   # We either want to match ${from} followed by 
> space
>   # or at end-of-string.
> - if [[ ${shebang} == *${from}" "* ]]; then
> - sed -i -e "1s:${from} :${EPYTHON} :" 
> "${f}" || die
> - else
> - sed -i -e "1s:${from}$:${EPYTHON}:" 
> "${f}" || die
> - fi
> + sed -i -e "1s:${from}\( \|\$\):${EPYTHON}\1:" 
> "${f}" || die

Hmm, I wonder if we could just utilize '\b' here.

>   any_fixed=1
>   else
>   eerror "The file has incompatible shebang:"

-- 
Best regards,
Michał Górny


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 1/2] python-utils-r1.eclass: Simplify sed call in python_fix_shebang

2018-09-14 Thread James Le Cuirot
There's no need for two separate sed calls here.
---
 eclass/python-utils-r1.eclass | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index e3cf82b4b58f..121f2382ba78 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1247,11 +1247,7 @@ python_fix_shebang() {
if [[ ! ${error} ]]; then
# We either want to match ${from} followed by 
space
# or at end-of-string.
-   if [[ ${shebang} == *${from}" "* ]]; then
-   sed -i -e "1s:${from} :${EPYTHON} :" 
"${f}" || die
-   else
-   sed -i -e "1s:${from}$:${EPYTHON}:" 
"${f}" || die
-   fi
+   sed -i -e "1s:${from}\( \|\$\):${EPYTHON}\1:" 
"${f}" || die
any_fixed=1
else
eerror "The file has incompatible shebang:"
-- 
2.18.0