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

redhat/genspec.sh: Remove options and use Makefile variables

genspec.sh has _22_ parameters that must be specified on the command line
which are generated by the Makefile.  These parameters can be set in the
script by using the output of the dist-dump-variables target which
simplifies the genspec.sh script.

Remove genspec.sh's 22 command line parameters and use the output of
the dist-dump-variables Makefile target instead.

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
@@ -237,7 +237,7 @@ setup-source: dist-git-version-check dist-clean-sources
                echo "Error: PATCHLIST_URL must be set (to 'none' or any URL)"; 
\
                exit 1; \
        fi
-       @$(REDHAT)/genspec.sh $(SOURCES) $(SOURCES)/$(SPECFILE) 
$(SOURCES)/$(CHANGELOG) $(PKGRELEASE) $(RPMKVERSION) $(RPMKPATCHLEVEL) 
$(RPMKSUBLEVEL) $(DISTRO_BUILD) $(RELEASED_KERNEL) $(SPECRELEASE) $(__ZSTREAM) 
"$(BUILDOPTS)" $(MARKER) `cat $(REDHAT)/marker` $(SINGLE_TARBALL) 
$(TARFILE_RELEASE) $(SNAPSHOT) $(UPSTREAM_BRANCH) $(INCLUDE_FEDORA_FILES) 
$(INCLUDE_RHEL_FILES) $(PATCHLIST_URL) $(BUILDID)
+       @$(REDHAT)/genspec.sh
        @cp $(SOURCES)/$(SPECFILE) $(SOURCES)/../SPECS/
 
 generate-testpatch-tmp:
diff --git a/redhat/genspec.sh b/redhat/genspec.sh
index blahblah..blahblah 100755
--- a/redhat/genspec.sh
+++ b/redhat/genspec.sh
@@ -1,32 +1,15 @@
 #!/bin/bash
-#
-# Arguments
-#    SNAPSHOT: indicates whether or not this is based on an upstream tag. 1
-#      indicates it is not, 0 indicates it is.
-
-SOURCES=$1
-SPECFILE=$2
-CHANGELOG=$3
-PKGRELEASE=$4
-KVERSION=$5
-KPATCHLEVEL=$6
-KSUBLEVEL=$7
-DISTRO_BUILD=$8
-RELEASED_KERNEL=$9
-SPECRELEASE=${10}
-ZSTREAM_FLAG=${11}
-BUILDOPTS=${12}
-MARKER=${13}
-LAST_MARKER=${14}
-SINGLE_TARBALL=${15}
-TARFILE_RELEASE=${16}
-SNAPSHOT=${17}
-UPSTREAM_BRANCH=${18}
-INCLUDE_FEDORA_FILES=${19}
-INCLUDE_RHEL_FILES=${20}
-PATCHLIST_URL=${21}
-BUILDID=${22}
-RPMVERSION=${KVERSION}.${KPATCHLEVEL}
+
+# set all Makefile variables
+while read VAR
+do
+       var=$(echo $VAR | cut -d"=" -f1)
+       value=$(echo $VAR | cut -d"=" -f2)
+       eval $var=\$value
+done < <(make dist-dump-variables | grep "=" | grep -v -E "^\.")
+
+LAST_MARKER=$(cat $REDHAT/marker)
+RPMVERSION=${RPMKVERSION}.${RPMKPATCHLEVEL}
 clogf="$SOURCES/changelog"
 # hide [redhat] entries from changelog
 HIDE_REDHAT=1;
@@ -76,7 +59,7 @@ fi
 # This means we need to zap entries that are already present in the changelog.
 if [ "$MARKER" != "$LAST_MARKER" ]; then
        # awk trick to get all unique lines
-       awk '!seen[$0]++' "$CHANGELOG" "$clogf" > "$clogf.unique"
+       awk '!seen[$0]++' "$SOURCES/$CHANGELOG" "$clogf" > "$clogf.unique"
        # sed trick to get the end of the changelog minus the line
        sed -e '1,/# END OF CHANGELOG/ d' "$clogf.unique" > "$clogf.tmp"
        # Add an explicit entry to indicate a rebase.
@@ -109,8 +92,8 @@ if [ "$LENGTH" = 0 ]; then
        rm -f "$clogf.rev"; touch "$clogf.rev"
 fi
 
-cat "$clogf.rev" "$CHANGELOG" > "$clogf.full"
-mv -f "$clogf.full" "$CHANGELOG"
+cat "$clogf.rev" "$SOURCES/$CHANGELOG" > "$clogf.full"
+mv -f "$clogf.full" "$SOURCES/$CHANGELOG"
 
 if [ "$SNAPSHOT" = 0 ]; then
        # This is based off a tag on Linus's tree (e.g. v5.5 or v5.5-rc5).
@@ -156,12 +139,12 @@ fi
 
 test -n "$SPECFILE" &&
         sed -i -e "
-       /%%CHANGELOG%%/r $CHANGELOG
+       /%%CHANGELOG%%/r $SOURCES/$CHANGELOG
        /%%CHANGELOG%%/d
        s/%%BUILDID%%/$BUILDID_DEFINE/
-       s/%%KVERSION%%/$KVERSION/
-       s/%%KPATCHLEVEL%%/$KPATCHLEVEL/
-       s/%%KSUBLEVEL%%/$KSUBLEVEL/
+       s/%%KVERSION%%/$RPMKVERSION/
+       s/%%KPATCHLEVEL%%/$RPMKPATCHLEVEL/
+       s/%%KSUBLEVEL%%/$RPMKSUBLEVEL/
        s/%%PKGRELEASE%%/$PKGRELEASE/
        s/%%SPECRELEASE%%/$SPECRELEASE/
        s/%%DISTRO_BUILD%%/$DISTRO_BUILD/
@@ -170,7 +153,7 @@ test -n "$SPECFILE" &&
        s/%%INCLUDE_FEDORA_FILES%%/$INCLUDE_FEDORA_FILES/
        s/%%INCLUDE_RHEL_FILES%%/$INCLUDE_RHEL_FILES/
        s/%%PATCHLIST_CHANGELOG%%/$PATCHLIST_CHANGELOG/
-       s/%%TARBALL_VERSION%%/$TARFILE_RELEASE/" "$SPECFILE"
+       s/%%TARBALL_VERSION%%/$TARFILE_RELEASE/" "$SOURCES/$SPECFILE"
 
 echo "MARKER is $MARKER"
 
@@ -190,7 +173,7 @@ for opt in $BUILDOPTS; do
        add_opt=
        [ -z "${opt##+*}" ] && add_opt="_with_${opt#?}"
        [ -z "${opt##-*}" ] && add_opt="_without_${opt#?}"
-       [ -n "$add_opt" ] && sed -i "s/^\\(# The following build 
options\\)/%define $add_opt 1\\n\\1/" $SPECFILE
+       [ -n "$add_opt" ] && sed -i "s/^\\(# The following build 
options\\)/%define $add_opt 1\\n\\1/" "$SOURCES/$SPECFILE"
 done
 
 rm -f "$clogf"{,.rev,.stripped};

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1638
_______________________________________________
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