[devel] enhanced RPM_SCRIPTS_DEBUG support, implemented debug levels

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Сен 19 14:49:11 MSD 2007


On Sun, Mar 04, 2007 at 09:47:34PM +0300, Alexey Tourbin wrote:
> Just setting -x is very noisy.  Here is a better plan.  I implement 3
> debug levels: verbose (1), debug (2, implies verbose) and -x (3, implies
> debug).  I move RPM_SCRIPTS_DEBUG test from scripts to scripts/functions,
> as well as provide Verbose() and Debug() shell functions for use in scripts.
> 
> Furthermore, _scripts_debug macro is now automatically set when rpmbuild
> is invoked with --verbose option.  Use -vv for debug and -vvv for -x.
> ---
>  autodeps/linux.prov.in |    2 --
>  autodeps/linux.req.in  |    2 --
>  rpmqv.c                |   14 ++++++++++++--
>  scripts/functions      |   18 ++++++++++++++++++
>  scripts/ldd.in         |    2 --
>  5 files changed, 30 insertions(+), 8 deletions(-)
> 

У меня есть вопрос по rpmpopt.

> diff --git a/rpmqv.c b/rpmqv.c
> index e0acd57..de191cb 100755
> --- a/rpmqv.c
> +++ b/rpmqv.c
> @@ -942,7 +942,12 @@ int main(int argc, const char ** argv)
>      case MODE_REBUILD:
>      case MODE_RECOMPILE:
>        { const char * pkg;
> -        while (!rpmIsVerbose())
> +	const char * scripts_debug = (rpmlogSetMask(0) >= RPMLOG_MASK(RPMMESS_DEBUG)<<1)
> +			? "3" : rpmIsDebug() ? "2" : rpmIsVerbose() ? "1" : NULL;
> +	if (scripts_debug)
> +		addMacro(NULL, "_scripts_debug", NULL, scripts_debug, -1);
> +
> +	while (!rpmIsVerbose())
>  	    rpmIncreaseVerbosity();
>  
>  	if (!poptPeekArg(optCon))
> @@ -980,7 +985,12 @@ int main(int argc, const char ** argv)
>        case MODE_BUILD:
>        case MODE_TARBUILD:
>        { const char * pkg;
> -        while (!rpmIsVerbose())
> +	const char * scripts_debug = (rpmlogSetMask(0) >= RPMLOG_MASK(RPMMESS_DEBUG)<<1)
> +			? "3" : rpmIsDebug() ? "2" : rpmIsVerbose() ? "1" : NULL;
> +	if (scripts_debug)
> +		addMacro(NULL, "_scripts_debug", NULL, scripts_debug, -1);
> +
> +	while (!rpmIsVerbose())
>  	    rpmIncreaseVerbosity();
>  
>  	switch (ba->buildChar) {

Я сделал вот такой хак, чтобы rmpbuild --verbose автоматически
выставлял %_scripts_debug.  Теперь вот какая ситуация:

rpmbuild -ba ...		-- _scripts_debug выставляется
rpmbuild -ba --target i586 ...	-- _scripts_debug не выставляется

То есть при указании target где-то что-то теряется.  Где и что?
В /usr/lib/rpmpopt есть какой-то "exec --target".  Хто знает ответ?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070919/222d9e74/attachment-0002.bin>


Подробная информация о списке рассылки Devel