101 lines
3.2 KiB
Diff
101 lines
3.2 KiB
Diff
--- rpm-4.8.0/macros.in.orig 2016-02-08 17:41:22.623170570 +0100
|
|
+++ rpm-4.8.0/macros.in 2016-02-08 17:42:06.889599411 +0100
|
|
@@ -1200,6 +1200,97 @@
|
|
%__urlhelper_proxyopts %{?_httpproxy:--proxy %{_httpproxy}%{?_httpport::%{_httpport}}}%{!?_httpproxy:%{nil}}
|
|
%_urlhelper %{__urlhelpercmd} %{?__urlhelper_localopts} %{?__urlhelper_proxyopts} %{__urlhelperopts}
|
|
|
|
+#------------------------------------------------------------------------------
|
|
+# Macros for further automated spec %setup and patch application
|
|
+
|
|
+# default to plain patch
|
|
+%__scm patch
|
|
+# meh, figure something saner
|
|
+%__scm_username rpm-build
|
|
+%__scm_usermail <rpm-build>
|
|
+%__scm_author %{__scm_username} %{__scm_usermail}
|
|
+
|
|
+# Plain patch (-m is unused)
|
|
+%__scm_setup_patch(q) %{nil}
|
|
+%__scm_apply_patch(qp:m:)\
|
|
+%{__patch} %{-p:-p%{-p*}} %{-q:-s}
|
|
+
|
|
+# Mercurial (aka hg)
|
|
+%__scm_setup_hg(q)\
|
|
+%{__hg} init %{-q} .\
|
|
+%{__hg} add %{-q} .\
|
|
+%{__hg} commit %{-q} --user "%{__scm_author}" -m "%{name}-%{version} base"
|
|
+
|
|
+%__scm_apply_hg(qp:m:)\
|
|
+%{__hg} import - %{-p:-p%{-p*}} %{-q} -m %{-m*} --user "%{__scm_author}"
|
|
+
|
|
+# Git
|
|
+%__scm_setup_git(q)\
|
|
+%{__git} init %{-q}\
|
|
+%{__git} config user.name "%{__scm_username}"\
|
|
+%{__git} config user.email "%{__scm_usermail}"\
|
|
+%{__git} add .\
|
|
+%{__git} commit %{-q} -a\\\
|
|
+ --author "%{__scm_author}" -m "%{name}-%{version} base"
|
|
+
|
|
+%__scm_apply_git(qp:m:)\
|
|
+%{__git} apply --index %{-p:-p%{-p*}} -\
|
|
+%{__git} commit %{-q} -m %{-m*} --author "%{__scm_author}"
|
|
+
|
|
+# Git, using "git am" (-m is unused)
|
|
+%__scm_setup_git_am(q)\
|
|
+%{expand:%__scm_setup_git %{-q}}
|
|
+
|
|
+%__scm_apply_git_am(qp:m:)\
|
|
+%{__git} am %{-q} %{-p:-p%{-p*}}
|
|
+
|
|
+# Quilt
|
|
+%__scm_setup_quilt(q) %{nil}
|
|
+%__scm_apply_quilt(qp:m:)\
|
|
+%{__quilt} import %{-p:-p%{-p*}} %{1} && %{__quilt} push
|
|
+
|
|
+# Bzr
|
|
+%__scm_setup_bzr(q)\
|
|
+%{__bzr} init %{-q}\
|
|
+%{__bzr} whoami --branch "%{__scm_author}"\
|
|
+%{__bzr} add .\
|
|
+%{__bzr} commit %{-q} -m "%{name}-%{version} base"
|
|
+
|
|
+# bzr doesn't seem to have its own command to apply patches?
|
|
+%__scm_apply_bzr(qp:m:)\
|
|
+%{__patch} %{-p:-p%{-p*}} %{-q:-s}\
|
|
+%{__bzr} commit %{-q} -m %{-m*}
|
|
+
|
|
+# Single patch application
|
|
+%apply_patch(qp:m:)\
|
|
+%{lua:\
|
|
+local file = rpm.expand("%{1}")\
|
|
+if posix.access(file, "r") then\
|
|
+ local options = rpm.expand("%{-q} %{-p:-p%{-p*}} %{-m:-m%{-m*}}")\
|
|
+ local scm_apply = rpm.expand("%__scm_apply_%{__scm}")\
|
|
+ print(rpm.expand("%{uncompress:"..file.."} | "..scm_apply.." "..options.."\\n"))\
|
|
+else\
|
|
+ print("echo 'Cannot read "..file.."'; exit 1;".."\\n")\
|
|
+end}
|
|
+
|
|
+# Automatically apply all patches
|
|
+%autopatch(vp:)\
|
|
+%{lua:\
|
|
+local options = rpm.expand("%{!-v:-q} %{-p:-p%{-p*}} ")\
|
|
+for i, p in ipairs(patches) do\
|
|
+ print(rpm.expand("%apply_patch -m %{basename:"..p.."} "..options..p.."\\n"))\
|
|
+end}
|
|
+
|
|
+# One macro to (optionally) do it all.
|
|
+# -S<scm name> Sets the used patch application style, eg '-S git' enables
|
|
+# usage of git repository and per-patch commits.
|
|
+# -N Disable automatic patch application
|
|
+# -p<num> Use -p<num> for patch application
|
|
+%autosetup(a:b:cDn:TvNS:p:)\
|
|
+%setup %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{!-v:-q}\
|
|
+%{-S:%global __scm %{-S*}}\
|
|
+%{-S:%{expand:%__scm_setup_%{-S*} %{!-v:-q}}}\
|
|
+%{!-N:%autopatch %{-v} %{-p:-p%{-p*}}}
|
|
|
|
# \endverbatim
|
|
#*/
|