[packages/exim] Up to 4.99.3; switch to using latest tarballs (so git log -p won't work anymore)

arekm arekm at pld-linux.org
Tue May 12 17:10:48 CEST 2026


commit f7f7f9d0dbe2e708f2032eb1e8518c89fbaf03f8
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue May 12 17:10:30 2026 +0200

    Up to 4.99.3; switch to using latest tarballs (so git log -p won't work anymore)

 branch.sh | 74 +++++++++++++++++++++++++++++++++++++++++++++++----------------
 exim.spec | 14 ++++++------
 2 files changed, 61 insertions(+), 27 deletions(-)
---
diff --git a/exim.spec b/exim.spec
index b157beb..1bfbce2 100644
--- a/exim.spec
+++ b/exim.spec
@@ -17,21 +17,19 @@
 %undefine	with_hiredis
 %endif
 
-%define	main_ver	4.99
-
 Summary:	University of Cambridge Mail Transfer Agent
 Summary(pl.UTF-8):	Agent Transferu Poczty Uniwersytetu w Cambridge
 Summary(pt_BR.UTF-8):	Servidor de correio eletrônico exim
 Name:		exim
-Version:	%{main_ver}.2
+Version:	4.99.3
 Release:	1
 Epoch:		2
 License:	GPL v2+
 Group:		Networking/Daemons/SMTP
-Source0:	https://ftp.exim.org/pub/exim/exim4/%{name}-%{main_ver}.tar.bz2
-# Source0-md5:	66b3c16e64bb62bc372369f201ea5c40
+Source0:	https://ftp.exim.org/pub/exim/exim4/%{name}-%{version}.tar.bz2
+# Source0-md5:	a6678bd4eae32236ca58adff3756425d
 Source1:	https://ftp.exim.org/pub/exim/exim4/%{name}-html-%{version}.tar.bz2
-# Source1-md5:	7a21236726d97d44880d3eaeb4668a6b
+# Source1-md5:	901ad075d47c4b720a43b8bf9e3388af
 Source2:	%{name}.init
 Source3:	%{name}.cron.db
 Source4:	%{name}4.conf
@@ -50,7 +48,7 @@ Source15:	%{name}4-smtp.pamd
 Source16:	%{name}on.png
 # sh branch.sh
 Patch100:	%{name}-git.patch
-# Patch100-md5:	b1c388b594284eb00f73b5c22c21890c
+# Patch100-md5:	3a4cf1bc7571d4ef3dee3919e1e4e354
 Patch0:		%{name}4-EDITME.patch
 Patch1:		%{name}4-monitor-EDITME.patch
 Patch2:		%{name}4-cflags.patch
@@ -172,7 +170,7 @@ Pliki nagłówkowe dla Exima.
 %{?with_dynamic:%global dynamic_type 2}
 
 %prep
-%setup -q -n %{name}-%{main_ver} -a1 -a7
+%setup -q -a1 -a7
 %patch -P100 -p2
 %patch -P0 -p1
 %patch -P1 -p1
diff --git a/branch.sh b/branch.sh
index 9fcd6c8..0b121a1 100755
--- a/branch.sh
+++ b/branch.sh
@@ -2,38 +2,74 @@
 set -e
 url=https://code.exim.org/exim/exim.git
 package=exim
-tag=exim-4.99
+tag=4.99.3
 #branch=exim-4.97+fixes
 branch=master
 out=$package-git.patch
 repo=$package.git
 
-# use filterdiff, etc to exclude bad chunks from diff
+# Filter out files we do not ship from the generated git patch.
 filter() {
-    filterdiff \
-        -x '*/Readme.pod' \
-	-x '*/README.md' \
-	-x '*/SECURITY.md' \
-        -x '*/test/*' \
-        -x '*/doc/*' \
-        -x '*/release-process/*'
+	filterdiff \
+		-x '*/Readme.pod' \
+		-x '*/README.md' \
+		-x '*/SECURITY.md' \
+		-x '*/test/*' \
+		-x '*/doc/*' \
+		-x '*/release-process/*'
 }
 
-if [ ! -d $repo ]; then
-	git clone --bare $url -b $branch $repo
+review_log() {
+	base=$1
+
+	echo "# Review base: $git_tag"
+	echo "# Target branch: $branch"
+	echo "#"
+
+	if [ -n "$(git rev-list --max-count=1 "$base..refs/tags/$git_tag")" ]; then
+		echo "# Commits only in $git_tag (removed by the resulting patch):"
+		git log --first-parent "$base..refs/tags/$git_tag" | sed 's/^/# /'
+		echo "#"
+	fi
+
+	echo "# Commits only in $branch (present in the resulting patch):"
+	git log --first-parent "$base..refs/heads/$branch" | sed 's/^/# /'
+	echo
+}
+
+git_tag=$tag
+case $git_tag in
+	"$package"-*) ;;
+	*) git_tag=$package-$git_tag ;;
+esac
+
+if [ ! -d "$repo" ]; then
+	git clone --bare "$url" -b "$branch" "$repo"
 fi
 
-cd $repo
-	git fetch origin +$branch:$branch +refs/tags/$tag:refs/tags/$tag
-	git log -p --reverse --first-parent $tag..$branch ":(exclude)doc/doc-*" ":(exclude)test" ":(exclude).*" | filter > ../$out.tmp
+cd "$repo"
+	git fetch origin \
+		"+refs/heads/$branch:refs/heads/$branch" \
+		"+refs/tags/$git_tag:refs/tags/$git_tag"
+	base=$(git merge-base "refs/tags/$git_tag" "refs/heads/$branch")
+	{
+		review_log "$base"
+		# The applyable payload must be a tree diff from the tarball tag to the
+		# target branch. A commit-by-commit "git log -p" stream is useful for
+		# review, but it may not replay cleanly when the tag and branch diverge.
+		git diff "refs/tags/$git_tag" "refs/heads/$branch" \
+			-- \
+			src \
+			":(exclude)src/.*" | filter
+	} > "../$out.tmp"
 cd ..
 
-if cmp -s $out{,.tmp}; then
+if [ -f "$out" ] && cmp -s "$out" "$out.tmp"; then
 	echo >&2 "No new diffs..."
-	rm -f $out.tmp
+	rm -f "$out.tmp"
 	exit 0
 fi
-mv -f $out{.tmp,}
+mv -f "$out.tmp" "$out"
 
-../md5 $package.spec
-../dropin $out
+../md5 "$package.spec"
+../dropin "$out"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/exim.git/commitdiff/f7f7f9d0dbe2e708f2032eb1e8518c89fbaf03f8



More information about the pld-cvs-commit mailing list