mirror of
https://abf.rosa.ru/djam/rpm.git
synced 2025-02-23 18:33:04 +00:00
Add autosetup macros
This commit is contained in:
parent
300bba9bd4
commit
b09c998d65
2 changed files with 81 additions and 1 deletions
78
autosetup.macros
Normal file
78
autosetup.macros
Normal file
|
@ -0,0 +1,78 @@
|
|||
|
||||
#------------------------------------------------------------------------------
|
||||
# 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} --fuzz=%{_default_patch_fuzz} %{_default_patch_flags}
|
||||
|
||||
# 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*}}
|
||||
|
||||
# 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
|
||||
#*/
|
4
rpm.spec
4
rpm.spec
|
@ -61,7 +61,7 @@ Summary: The RPM package management system
|
|||
Name: rpm
|
||||
Epoch: 1
|
||||
Version: %{libver}.%{minorver}
|
||||
Release: %{?prereldate:0.%{prereldate}.}74
|
||||
Release: %{?prereldate:0.%{prereldate}.}75
|
||||
License: LGPLv2.1+
|
||||
Group: System/Configuration/Packaging
|
||||
Url: http://rpm5.org/
|
||||
|
@ -78,6 +78,7 @@ Source2: rpm.rpmlintrc
|
|||
Source3: cpu-os-macros.tar.gz
|
||||
Source4: legacy_compat.macros
|
||||
Source5: RPMBDB-0.1.tar.xz
|
||||
Source6: autosetup.macros
|
||||
# add squirrel3 support
|
||||
Patch0: rpm-5.4.10-squirrel3.patch
|
||||
# add makeinstall_qt macro to handle install from qmake-generated makefiles
|
||||
|
@ -1386,6 +1387,7 @@ mv %{buildroot}%{_bindir}/rpm %{buildroot}/bin/rpm
|
|||
|
||||
cp -r cpu-os-macros %{buildroot}%{_usrlibrpm}/platform
|
||||
install -m644 %{SOURCE4} -D %{buildroot}%{_sysconfdir}/%{name}/macros.d/legacy_compat.macros
|
||||
install -m644 %{SOURCE6} -D %{buildroot}%{_sysconfdir}/%{name}/macros.d/autosetup.macros
|
||||
|
||||
%if %{with docs}
|
||||
install -d %{buildroot}%{_docdir}/rpm
|
||||
|
|
Loading…
Add table
Reference in a new issue