On 09/15/2012 07:32 AM, Jeffrey Johnson wrote:
The reason is that there are now ~500 macros being
carried around through all modes of operation, of which
maybe 50 have any use outside of package building.
especially annoying ones are ones that %(execute) something.

therefore i've done over the time two kinds of optimizations in pld:
1. make such macros evaluate once:

# if %{_topdir}/SPECS exists, it's old style structure
%_specdir %{expand:%%global _specdir %([ ! -d %{_topdir}/SPECS ] && echo %{_topdir}/%{name} || echo %{_topdir}/SPECS)}
%_specdir
%_sourcedir %{expand:%%global _sourcedir %([ ! -d %{_topdir}/SOURCES ] && echo %{_specdir} || echo %{_topdir}/SOURCES)}%_sourcedir

2. in pld builder script, start with blank macros (skip our build macros), define ones used in .spec as %{nil} or () to leave syntax (but not values) valid

this at the time i made it, in php.spec optimized ./builder -bp from 3m to 3s

https://github.com/pld-linux/rpm-build-tools/commit/fa4bf1df3b2e998160d56004a956c6d3451b0e0b

--
glen

_______________________________________________
pld-devel-en mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en

Reply via email to