[devel] I: Avoid macros in BuildRequires(pre) expressions

Dmitry V. Levin ldv at altlinux.org
Thu Oct 15 01:31:04 UTC 2009


On Wed, Oct 14, 2009 at 03:59:23PM +0400, Dmitry V. Levin wrote:
> On Wed, Oct 14, 2009 at 12:48:50PM +0400, Valery V. Inozemtsev wrote:
> > В Срд, 14/10/2009 в 12:39 +0400, Girar Builder robot пишет:
> > > http://git.altlinux.org/tasks/14311/task/log
> > > 
> > > 2009-Oct-14 12:34:01 :: task #14311 for sisyphus started:
> > > #1 build 0.8.4-alt1 from /people/shrek/packages/compiz.git
> > > #2 build 0.8.4-alt1 from /people/shrek/packages/libcompizconfig.git
> > > #3 build 0.8.4-alt1 from /people/shrek/packages/compiz-bcop.git
> > > #4 build 0.8.4-alt1 from /people/shrek/packages/compiz-fusion-plugins-main.git
> > > #5 build 0.8.4-alt1 from /people/shrek/packages/compiz-fusion-plugins-extra.git
> > > #6 build 0.8.4-alt1 from /people/shrek/packages/compizconfig-backend-gconf.git
> > > #7 build 0.8.4-alt1 from /people/shrek/packages/compizconfig-backend-kconfig.git
> > > #8 build 0.8.4-alt1 from /people/shrek/packages/compizconfig-python.git
> > > #9 build 0.8.4-alt1 from /people/shrek/packages/ccsm.git
> > > #10 build 0.8.4-alt1 from /people/shrek/packages/simple-ccsm.git
> > > #11 build 0.8.4-alt1 from /people/shrek/packages/compizconfig-backend-kconfig4.git
> > [..]
> > > 2009-Oct-14 12:39:19 :: [i586] libcompizconfig.git 0.8.4-alt1: build start
> > > warning: Macro %get_compiz_core_abi_version not found
> > > error: line 14: Dependency tokens must not contain '%<=>' symbols: Requires: COMPIZ_CORE_ABIVERSION = %get_compiz_core_abi_version
> > > hsh-rebuild: pkg.tar: failed to fetch build dependencies.
> > > 2009-Oct-14 12:39:25 :: [x86_64] libcompizconfig.git 0.8.4-alt1: remote: cannot build src.rpm
> > > 2009-Oct-14 12:39:25 :: [x86_64] libcompizconfig.git 0.8.4-alt1: build FAILED
> > 
> > Кто нибудь может объяснить почему одно и тоже например в xorg-sdk
> > работает, а здесь нет? Причем в хашере все это собирается и вопросов не
> > задает

Aha!  You use %version in BuildRequires(pre) expression.  Unfortunately,
it doesn't work.  hasher uses the following simple sed expression to
fetch build prerequisites:
sed '/^buildrequires(pre):[[:space:]]*/I!d;s///'

At this preprocessing stage, all dependencies with macros are discarded.
Later spec processing expands macros, but it may be too late, as it
happens in your case.

Conclusion: avoid macros in BuildRequires(pre) expressions.


-- 
ldv
----------- ????????? ????? -----------
???? ??????? ???????? ?? ? ????????? ???????...
???     : ???????????
???     : application/pgp-signature
??????  : 198 ??????
????????: ???????????
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20091015/52352f20/attachment.bin>


More information about the Devel mailing list