[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