commit:     45f9fe12cea15385fd80353c45990ed66fd5ce6d
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  4 00:06:40 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Jan  4 00:07:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45f9fe12

sys-libs/libsmbios: Avoid bashisms

Thanks-to: Kerin Millar <kfm <AT> plushkava.net>
Bug: https://bugs.gentoo.org/715202
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/libsmbios-2.4.3-avoid_bashisms.patch     | 84 ++++++++++++++++++++++
 sys-libs/libsmbios/libsmbios-2.4.3.ebuild          |  4 +-
 2 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libsmbios/files/libsmbios-2.4.3-avoid_bashisms.patch 
b/sys-libs/libsmbios/files/libsmbios-2.4.3-avoid_bashisms.patch
new file mode 100644
index 00000000000..eb26ba8dca4
--- /dev/null
+++ b/sys-libs/libsmbios/files/libsmbios-2.4.3-avoid_bashisms.patch
@@ -0,0 +1,84 @@
+From 97b4bdc042c48001132200828fe32c08cf9265e7 Mon Sep 17 00:00:00 2001
+From: Joe Dight <[email protected]>
+Date: Fri, 27 Nov 2020 20:14:24 +0000
+Subject: [PATCH 1/2] Fix configure.ac bashism
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index e14ec4a..6db254f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -116,7 +116,7 @@ AC_PROG_INSTALL
+ 
+ dnl Check for python support
+ AM_CONDITIONAL([HAVE_PYTHON], [false])
+-if test x$wantpython == xyes ; then
++if test x$wantpython = xyes ; then
+     AM_PATH_PYTHON([3.0],,[:])
+     AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
+ fi
+-- 
+2.30.0
+
+
+From fb7585222503c48f35270ee148ad3fef762a7502 Mon Sep 17 00:00:00 2001
+From: Kerin Millar <[email protected]>
+Date: Mon, 4 Jan 2021 00:57:29 +0100
+Subject: [PATCH 2/2] Don't rely on support for indirect expansion in the shell
+
+POSIX does not define the indirect expansion syntax. Moreover, if going
+to the trouble of executing Perl, one may as well take full advantage of
+it. Address the issue by first having the shell export the variable.
+Next, have Perl perform the replacement without utilising any form of
+code injection. Instead, export 'var' into Perl's environment. That
+way, Perl can reference the variable name as $ENV{var} and its value as
+$ENV{$ENV{var}}.
+
+Signed-off-by: Kerin Millar <[email protected]>
+Closes: https://bugs.gentoo.org/715202
+Closes: https://github.com/dell/libsmbios/issues/89
+Signed-off-by: Lars Wendler <[email protected]>
+---
+ Makefile-std           | 4 ++--
+ src/python/Makefile.am | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile-std b/Makefile-std
+index 7ac6fa2..dd30d68 100644
+--- a/Makefile-std
++++ b/Makefile-std
+@@ -38,7 +38,7 @@ install-data-hook:
+           file=$(DESTDIR)/$$i                     ;\
+           for var in $(REPLACE_VARS)  ;\
+           do  \
+-              perl -p -i -e "s|^$$var\s*=.*|$$var=\"$${!var}\"|"  $$file;\
++              var="$$var" perl -p -i -e 
's|^\Q$$ENV{var}\E\s*=.*|$$ENV{var}="$$ENV{$$ENV{var}}"|'  $$file;\
+           done        ;\
+       done
+ 
+@@ -48,7 +48,7 @@ install-exec-hook:
+           file=$(DESTDIR)/$$i                     ;\
+           for var in $(REPLACE_VARS)  ;\
+           do  \
+-              perl -p -i -e "s|^$$var\s*=.*|$$var=\"$${!var}\"|"  $$file;\
++              var="$$var" perl -p -i -e 
's|^\Q$$ENV{var}\E\s*=.*|$$ENV{var}="$$ENV{$$ENV{var}}"|'  $$file;\
+           done        ;\
+       done
+ 
+diff --git a/src/python/Makefile.am b/src/python/Makefile.am
+index 693b6d9..6aca968 100644
+--- a/src/python/Makefile.am
++++ b/src/python/Makefile.am
+@@ -29,5 +29,5 @@ src/python/_vars.py: src/python/libsmbios_c/_vars.py  
configure Makefile config.
+       cp $< $@
+       for var in $(REPLACE_VARS)      ;\
+       do      \
+-              perl -p -i -e "s|^$$var\s*=.*|$$var=\"$${!var}\"|"  $@;\
++              var="$$var" perl -p -i -e 
's|^\Q$$ENV{var}\E\s*=.*|$$ENV{var}="$$ENV{$$ENV{var}}"|'  $@;\
+       done
+-- 
+2.30.0
+

diff --git a/sys-libs/libsmbios/libsmbios-2.4.3.ebuild 
b/sys-libs/libsmbios/libsmbios-2.4.3.ebuild
index 867d00becf2..201ab1d33e8 100644
--- a/sys-libs/libsmbios/libsmbios-2.4.3.ebuild
+++ b/sys-libs/libsmbios/libsmbios-2.4.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -31,6 +31,7 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}/${PN}-2.2.28-cppunit-tests.patch"
+       "${FILESDIR}/${PN}-2.4.3-avoid_bashisms.patch" #715202
 )
 
 pkg_setup() {
@@ -57,7 +58,6 @@ src_configure() {
                $(use_enable python)
                $(use_enable static-libs static)
        )
-       CONFIG_SHELL="/bin/bash" \
        econf "${myeconfargs[@]}"
 }
 

Reply via email to