From: Prarit Bhargava <pra...@redhat.com>

redhat/self-test: Fix up create-data.sh to not report local variables

Fix the create-data.sh script by moving the reporting of the
Makefile.variables into the dist-dump-variables target.  This has the
minor annoyance that dist-dump-variables will report Makefile.variables
twice when executed on the command line, however, it's something I think
we can live with.

Fix up create-data.sh to not report local variables.

Signed-off-by: Prarit Bhargava <pra...@redhat.com>

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -714,7 +714,9 @@ dist-os-version:
        @echo "OSVERSION: $(RHEL_MAJOR).$(RHEL_MINOR)"
 
 dist-dump-variables:
+       $(eval VARS:=$(shell cat Makefile.variables | sed '/^#/d; /^$$/d; s/[ 
]*[?:]=.*//'))
        @$(foreach V,$(sort $(.VARIABLES)), $(if $(filter-out environment% 
default automatic, $(origin $V)),$(info $V=$($V) )))
+       @$(foreach V,$(sort $(VARS)), $(info $V=$($V) ))
 
 dist-self-test:
        @if test -x /usr/bin/bats; then \
diff --git a/redhat/self-test/data/create-data.sh 
b/redhat/self-test/data/create-data.sh
index blahblah..blahblah 100755
--- a/redhat/self-test/data/create-data.sh
+++ b/redhat/self-test/data/create-data.sh
@@ -32,28 +32,25 @@ do
 
                        echo "building $varfilename"
 
-                       # CURDIR is a make special target and cannot be easily 
changed.  Omit
-                       # CURDIR from the output.
+                       # Ignored Makefile variables:
+                       # CURDIR is a make special target and cannot be easily 
changed.
                        # UPSTREAM is the base merge commit and can change from 
day-to-day as
-                       # the tree is changed.  Omit UPSTREAM from the output.
+                       # the tree is changed.
                        # RHEL_RELEASE can change build-to-build.
                        # SHELL can change depending on user's environment
-                       make RHSELFTESTDATA=1 DIST="${DIST}" DISTRO="${DISTRO}" 
HEAD=${commit} dist-dump-variables | grep "=" | grep -v CURDIR | grep -v -w 
UPSTREAM | grep -v -w RHEL_RELEASE | grep -v -w SHELL >& "${varfilename}"
-
-                       # When executed from a script, the variables in 
Makefile.variables are
-                       # listed as having origin 'environment'.  This is 
because the script
-                       # inherits the variables from the 'export' command in 
the redhat/Makefile.
-                       # The 'dist-dump-variables' target explicitly omits 
these variables from
-                       # its output.  As a workaround, read in the variables 
and output them to
-                       # the data file.
-                       # shellcheck disable=SC2002
-                       cat Makefile.variables | grep -v "^#" | sed '/^$/d' | 
tr -d " " | awk -F "?=|:=" '{print $1}' | while read -r VAR
-                       do
-                               [ "$VAR" == "RHDISTDATADIR" ] && continue
-                               [ "$VAR" == "RHGITURL" ] && continue
-                               [ "$VAR" == "BUILD" ] && continue
-                               echo "$VAR=${!VAR}"
-                       done >> "${varfilename}"
+                       # RHGITURL may change depending on the user's method of 
cloning
+                       # RHDISTDATADIR will change based on these tests
+                       # VARS is a list of variables added for the 
'dist-dump-variables' target
+                       # and can be ignored.
+                       make RHSELFTESTDATA=1 DIST="${DIST}" DISTRO="${DISTRO}" 
HEAD=${commit} dist-dump-variables | grep "=" |\
+                               grep -v -w CURDIR |\
+                               grep -v -w UPSTREAM |\
+                               grep -v -w RHEL_RELEASE |\
+                               grep -v -w SHELL |\
+                               grep -v -w RHGITURL |\
+                               grep -v -w RHDISTDATADIR |\
+                               grep -v -w VARS |\
+                               sort -u >& "${varfilename}"
 
                        echo "building ${varfilename}.spec"
                        make RHSELFTESTDATA=1 DIST="${DIST}" DISTRO="${DISTRO}" 
HEAD=${commit} setup-source

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1800
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to