diff --git a/config.yaml b/config.yaml index fca047b..a21fc27 100644 --- a/config.yaml +++ b/config.yaml @@ -8,19 +8,55 @@ actions: %define target x86_64-redhat-linux %endif count: 1 - - target: "spec" + - target: "patch-git.lua" find: | - %ifarch s390x - %verify(not md5 size mtime) %config(noreplace) %{_libdir}/gconv/gconv-modules.d/gconv-modules-s390.conf - %endif + local have_git = (posix == nil -- Not running under rpm. + or (posix.access('/usr/bin/git', 'x') + and posix.access(sourcedir .. '/.git', 'r'))) + local commit_marker_contents -- For git_commit_file. + if have_git then + commit_marker_contents = replace: | - %ifarch s390x - %verify(not md5 size mtime) %config(noreplace) %{_libdir}/gconv/gconv-modules.d/gconv-modules-s390.conf - %endif - %ifarch riscv64 - %{_libdir}/lp64d - %endif + local have_git = (posix == nil -- Not running under rpm. + or (posix.access('/usr/bin/git', 'x') + and posix.access(sourcedir .. '/.git', 'r'))) + local commit_marker_contents -- For git_commit_file. + -- If the branch/tag is AlmaLinux, then we need to get history of Upstream + -- branch/tag, and skip all AlmaLinux-specific commits. To avoid duplicates + -- in changelog and bumped release numbers + local log_branch = 'HEAD' + if have_git then + log_branch = string.match(run_git('rev-parse --abbrev-ref HEAD'), '([^\n]+)') + local anum = string.match(log_branch, '^a(%d+s?)$') + if anum then + log_branch = 'c' .. anum + else + log_branch = string.match(run_git('describe --tags --exact-match'), '([^\n]+)') + local anum, aname = string.match(log_branch, '^changed/a(%d+s?)/(.+)$') + if anum then + local cname = string.gsub(aname, '%.alma%.[0-9]+$', '') + log_branch = 'imports/c' .. anum .. '/' .. cname + end + end + commit_marker_contents = count: 1 + - target: "patch-git.lua" + find: | + commit_marker_contents = + run_git('rev-parse HEAD') .. 'v' .. VERSION .. '\n' + replace: | + commit_marker_contents = + run_git('rev-parse ' .. log_branch) .. 'v' .. VERSION .. '\n' + count: 1 + - target: "patch-git.lua" + find: | + 'log --first-parent --no-renames --raw --pretty=fuller --date=default > ' + .. git_log_file) + replace: | + 'log --first-parent --no-renames --raw --pretty=fuller --date=default ' + .. log_branch .. ' > ' .. git_log_file) + count: 1 + - modify_release: - suffix: ".alma.1" @@ -31,4 +67,4 @@ actions: email: "eabdullin@almalinux.org" line: - "Overwrite target for x86_64_v2" - - "Add /usr/lib64/lp64d to ricv64" + - "Update patch-git.lua to handle AlmaLinux branches correctly"