Message ID | 20220607151123.3588947-1-ptsneves@gmail.com |
---|---|
State | Accepted, archived |
Commit | 84783dee09e48cb930c7cd27944eaf3f03997237 |
Headers | show |
Series | [v2,1/5] python: Avoid shebang overflow on python-config.py | expand |
I'm not sure this is Inappropriate. Can you send this to upstream nevertheless? Alex On Tue, 7 Jun 2022 at 17:11, Paulo Neves <ptsneves@gmail.com> wrote: > > The native path may be too big, leading to shebang > overflow. Just use the #!/usr/bin/env python3. > > Signed-off-by: Paulo Neves <ptsneves@gmail.com> > --- > ...shebang-overflow-on-python-config.py.patch | 29 +++++++++++++++++++ > .../recipes-devtools/python/python3_3.10.4.bb | 1 + > 2 files changed, 30 insertions(+) > create mode 100644 meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > > diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > new file mode 100644 > index 0000000000..9f23278a30 > --- /dev/null > +++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > @@ -0,0 +1,29 @@ > +From f0c9dec63d452a7cd1e15ea653f4aced281f021c Mon Sep 17 00:00:00 2001 > +From: Paulo Neves <ptsneves@gmail.com> > +Date: Tue, 7 Jun 2022 16:16:41 +0200 > +Subject: [PATCH 1/1] Avoid shebang overflow on python-config.py > + > +The whole native path may be too big, leading to shebang > +overflow. Let's just use the env shebang. > + > +Upstream-Status: Inappropriate [distribution] > +--- > + Makefile.pre.in | 2 ++ > + 1 file changed, 2 insertions(+) > + > +diff --git a/Makefile.pre.in b/Makefile.pre.in > +index f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb31113176 100644 > +--- a/Makefile.pre.in > ++++ b/Makefile.pre.in > +@@ -1638,6 +1638,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh > + @ # Substitution happens here, as the completely-expanded BINDIR > + @ # is not available in configure > + sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py > ++ @ # Otherwise we might get huge shebangs with native paths > ++ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py > + @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} > + LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config > + @ # In OpenEmbedded, always use the python version of the script, the shell > +-- > +2.25.1 > + > diff --git a/meta/recipes-devtools/python/python3_3.10.4.bb b/meta/recipes-devtools/python/python3_3.10.4.bb > index 6bd3a6aba8..357025f856 100644 > --- a/meta/recipes-devtools/python/python3_3.10.4.bb > +++ b/meta/recipes-devtools/python/python3_3.10.4.bb > @@ -34,6 +34,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ > file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ > file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \ > file://deterministic_imports.patch \ > + file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ > " > > SRC_URI:append:class-native = " \ > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#166670): https://lists.openembedded.org/g/openembedded-core/message/166670 > Mute This Topic: https://lists.openembedded.org/mt/91602889/1686489 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
I think this patch will never be accepted because it hard-codes and depends on env. I recall that red hat for example does not accept the use of env, possibly for security reasons. Paulo Neves On Tue, Jun 7, 2022, 18:53 Alexander Kanavin <alex.kanavin@gmail.com> wrote: > I'm not sure this is Inappropriate. Can you send this to upstream > nevertheless? > > Alex > > On Tue, 7 Jun 2022 at 17:11, Paulo Neves <ptsneves@gmail.com> wrote: > > > > The native path may be too big, leading to shebang > > overflow. Just use the #!/usr/bin/env python3. > > > > Signed-off-by: Paulo Neves <ptsneves@gmail.com> > > --- > > ...shebang-overflow-on-python-config.py.patch | 29 +++++++++++++++++++ > > .../recipes-devtools/python/python3_3.10.4.bb | 1 + > > 2 files changed, 30 insertions(+) > > create mode 100644 > meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > > > > diff --git > a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > > new file mode 100644 > > index 0000000000..9f23278a30 > > --- /dev/null > > +++ > b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch > > @@ -0,0 +1,29 @@ > > +From f0c9dec63d452a7cd1e15ea653f4aced281f021c Mon Sep 17 00:00:00 2001 > > +From: Paulo Neves <ptsneves@gmail.com> > > +Date: Tue, 7 Jun 2022 16:16:41 +0200 > > +Subject: [PATCH 1/1] Avoid shebang overflow on python-config.py > > + > > +The whole native path may be too big, leading to shebang > > +overflow. Let's just use the env shebang. > > + > > +Upstream-Status: Inappropriate [distribution] > > +--- > > + Makefile.pre.in | 2 ++ > > + 1 file changed, 2 insertions(+) > > + > > +diff --git a/Makefile.pre.in b/Makefile.pre.in > > +index > f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb31113176 > 100644 > > +--- a/Makefile.pre.in > > ++++ b/Makefile.pre.in > > +@@ -1638,6 +1638,8 @@ python-config: $(srcdir)/Misc/python-config.in > Misc/python-config.sh > > + @ # Substitution happens here, as the completely-expanded BINDIR > > + @ # is not available in configure > > + sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < > $(srcdir)/Misc/python-config.in >python-config.py > > ++ @ # Otherwise we might get huge shebangs with native paths > > ++ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py > > + @ # Replace makefile compat. variable references with shell > script compat. ones; $(VAR) -> ${VAR} > > + LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < > Misc/python-config.sh >python-config > > + @ # In OpenEmbedded, always use the python version of the > script, the shell > > +-- > > +2.25.1 > > + > > diff --git a/meta/recipes-devtools/python/python3_3.10.4.bb > b/meta/recipes-devtools/python/python3_3.10.4.bb > > index 6bd3a6aba8..357025f856 100644 > > --- a/meta/recipes-devtools/python/python3_3.10.4.bb > > +++ b/meta/recipes-devtools/python/python3_3.10.4.bb > > @@ -34,6 +34,7 @@ SRC_URI = " > http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ > > > file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ > > > file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \ > > file://deterministic_imports.patch \ > > + file://0001-Avoid-shebang-overflow-on-python-config.py.patch > \ > > " > > > > SRC_URI:append:class-native = " \ > > -- > > 2.25.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#166670): > https://lists.openembedded.org/g/openembedded-core/message/166670 > > Mute This Topic: https://lists.openembedded.org/mt/91602889/1686489 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > alex.kanavin@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > >
Please submit it nevertheless. If upstream says no, we'll just mark it as denied, but it’s not appropriate to declare it inappropriate a priori. Alex On Tue 7. Jun 2022 at 23.03, Paulo Neves <ptsneves@gmail.com> wrote: > I think this patch will never be accepted because it hard-codes and > depends on env. I recall that red hat for example does not accept the use > of env, possibly for security reasons. > > Paulo Neves > > On Tue, Jun 7, 2022, 18:53 Alexander Kanavin <alex.kanavin@gmail.com> > wrote: > >> I'm not sure this is Inappropriate. Can you send this to upstream >> nevertheless? >> >> Alex >> >> On Tue, 7 Jun 2022 at 17:11, Paulo Neves <ptsneves@gmail.com> wrote: >> > >> > The native path may be too big, leading to shebang >> > overflow. Just use the #!/usr/bin/env python3. >> > >> > Signed-off-by: Paulo Neves <ptsneves@gmail.com> >> > --- >> > ...shebang-overflow-on-python-config.py.patch | 29 +++++++++++++++++++ >> > .../recipes-devtools/python/python3_3.10.4.bb | 1 + >> > 2 files changed, 30 insertions(+) >> > create mode 100644 >> meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch >> > >> > diff --git >> a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch >> b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch >> > new file mode 100644 >> > index 0000000000..9f23278a30 >> > --- /dev/null >> > +++ >> b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch >> > @@ -0,0 +1,29 @@ >> > +From f0c9dec63d452a7cd1e15ea653f4aced281f021c Mon Sep 17 00:00:00 2001 >> > +From: Paulo Neves <ptsneves@gmail.com> >> > +Date: Tue, 7 Jun 2022 16:16:41 +0200 >> > +Subject: [PATCH 1/1] Avoid shebang overflow on python-config.py >> > + >> > +The whole native path may be too big, leading to shebang >> > +overflow. Let's just use the env shebang. >> > + >> > +Upstream-Status: Inappropriate [distribution] >> > +--- >> > + Makefile.pre.in | 2 ++ >> > + 1 file changed, 2 insertions(+) >> > + >> > +diff --git a/Makefile.pre.in b/Makefile.pre.in >> > +index >> f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb31113176 >> 100644 >> > +--- a/Makefile.pre.in >> > ++++ b/Makefile.pre.in >> > +@@ -1638,6 +1638,8 @@ python-config: $(srcdir)/Misc/python-config.in >> Misc/python-config.sh >> > + @ # Substitution happens here, as the completely-expanded BINDIR >> > + @ # is not available in configure >> > + sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < >> $(srcdir)/Misc/python-config.in >python-config.py >> > ++ @ # Otherwise we might get huge shebangs with native paths >> > ++ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py >> > + @ # Replace makefile compat. variable references with shell >> script compat. ones; $(VAR) -> ${VAR} >> > + LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < >> Misc/python-config.sh >python-config >> > + @ # In OpenEmbedded, always use the python version of the >> script, the shell >> > +-- >> > +2.25.1 >> > + >> > diff --git a/meta/recipes-devtools/python/python3_3.10.4.bb >> b/meta/recipes-devtools/python/python3_3.10.4.bb >> > index 6bd3a6aba8..357025f856 100644 >> > --- a/meta/recipes-devtools/python/python3_3.10.4.bb >> > +++ b/meta/recipes-devtools/python/python3_3.10.4.bb >> > @@ -34,6 +34,7 @@ SRC_URI = " >> http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ >> > >> file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ >> > >> file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \ >> > file://deterministic_imports.patch \ >> > + >> file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ >> > " >> > >> > SRC_URI:append:class-native = " \ >> > -- >> > 2.25.1 >> > >> > >> > -=-=-=-=-=-=-=-=-=-=-=- >> > Links: You receive all messages sent to this group. >> > View/Reply Online (#166670): >> https://lists.openembedded.org/g/openembedded-core/message/166670 >> > Mute This Topic: https://lists.openembedded.org/mt/91602889/1686489 >> > Group Owner: openembedded-core+owner@lists.openembedded.org >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ >> alex.kanavin@gmail.com] >> > -=-=-=-=-=-=-=-=-=-=-=- >> > >> >
diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch new file mode 100644 index 0000000000..9f23278a30 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch @@ -0,0 +1,29 @@ +From f0c9dec63d452a7cd1e15ea653f4aced281f021c Mon Sep 17 00:00:00 2001 +From: Paulo Neves <ptsneves@gmail.com> +Date: Tue, 7 Jun 2022 16:16:41 +0200 +Subject: [PATCH 1/1] Avoid shebang overflow on python-config.py + +The whole native path may be too big, leading to shebang +overflow. Let's just use the env shebang. + +Upstream-Status: Inappropriate [distribution] +--- + Makefile.pre.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb31113176 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1638,6 +1638,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh + @ # Substitution happens here, as the completely-expanded BINDIR + @ # is not available in configure + sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py ++ @ # Otherwise we might get huge shebangs with native paths ++ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py + @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} + LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config + @ # In OpenEmbedded, always use the python version of the script, the shell +-- +2.25.1 + diff --git a/meta/recipes-devtools/python/python3_3.10.4.bb b/meta/recipes-devtools/python/python3_3.10.4.bb index 6bd3a6aba8..357025f856 100644 --- a/meta/recipes-devtools/python/python3_3.10.4.bb +++ b/meta/recipes-devtools/python/python3_3.10.4.bb @@ -34,6 +34,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \ file://deterministic_imports.patch \ + file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ " SRC_URI:append:class-native = " \
The native path may be too big, leading to shebang overflow. Just use the #!/usr/bin/env python3. Signed-off-by: Paulo Neves <ptsneves@gmail.com> --- ...shebang-overflow-on-python-config.py.patch | 29 +++++++++++++++++++ .../recipes-devtools/python/python3_3.10.4.bb | 1 + 2 files changed, 30 insertions(+) create mode 100644 meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch