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