ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: unexpanded macros
@ 2005-07-22 13:26 Alexey Tourbin
  2005-07-22 16:04 ` [devel] " Michael Shigorin
  0 siblings, 1 reply; 4+ messages in thread
From: Alexey Tourbin @ 2005-07-22 13:26 UTC (permalink / raw)
  To: devel


[-- Attachment #1.1: Type: text/plain, Size: 3519 bytes --]


[at@basalt Sisyphus]$ find files/*/RPMS -type f -name '*.rpm' |xargs check_macros |uniq
files/i586/RPMS/kpowersave-0.4.5-alt1.i586.rpm  DESCRIPTION     %debug_package
files/i586/RPMS/chkfontpath-2.0.1-alt1.i586.rpm DESCRIPTION     %post
files/i586/RPMS/tex2im-1.8-alt1.i586.rpm        URL     %real
files/i586/RPMS/libdvdplay-1.0.1-alt2.1.i586.rpm        DESCRIPTION     %libname
files/i586/RPMS/alterator-backend-x11-0.3.7-alt1.i586.rpm       SUMMARY %backend
files/i586/RPMS/alterator-backend-x11-0.3.7-alt1.i586.rpm       DESCRIPTION     %backend
files/i586/RPMS/glibc-core-debug-2.3.5-alt5.i586.rpm    DESCRIPTION     %_specdir
files/i586/RPMS/glibc-devel-debug-2.3.5-alt5.i586.rpm   DESCRIPTION     %_specdir
files/i586/RPMS/gok-1.0.5-alt1.i586.rpm PREUN   %_name
files/i586/RPMS/glibc-nss-debug-2.3.5-alt5.i586.rpm     DESCRIPTION     %_specdir
files/i586/RPMS/powersave-0.9.25-alt2.i586.rpm  POSTUN  %postun_service
files/i586/RPMS/apache2-suexec-2.0.54-alt1.i586.rpm     POSTUN  %postun_service
files/i586/RPMS/mod_ssl-2.8.22-alt1.i586.rpm    PREIN   %postun
files/i586/RPMS/php-mcrypt-4.3.12-alt0.cvs20050530.i586.rpm     DESCRIPTION     %package_name
files/i586/RPMS/purge-0.1-alt1.i586.rpm DESCRIPTION     %purge
files/i586/RPMS/abook-0.5.3-alt1.i586.rpm       CHANGELOGNAME   %rlz1
files/i586/RPMS/scilab-3.0-alt1.i586.rpm        BASENAMES       %i_1_s
files/i586/RPMS/scilab-3.0-alt1.i586.rpm        BASENAMES       %i_2_s
files/i586/RPMS/scilab-3.0-alt1.i586.rpm        BASENAMES       %i_3_s
files/i586/RPMS/scilab-3.0-alt1.i586.rpm        BASENAMES       %i_4_s
files/i586/RPMS/scilab-3.0-alt1.i586.rpm        BASENAMES       %i_Matplot
[...]
files/i586/RPMS/libnatspec-0.2.1-alt1.i586.rpm  DESCRIPTION     %Url
files/i586/RPMS/webalizer-2.01.10-alt5.1.i586.rpm       TRIGGERSCRIPTS  %apache_webmaster
files/i586/RPMS/ups-monitor-0.6-alt1.i586.rpm   BASENAMES       %nam
files/i586/RPMS/xmms-in-mac-0.2.1-alt2.1.i586.rpm       DESCRIPTION     %pack_ver
files/noarch/RPMS/MPlayer-skins-1.1.0-alt1.noarch.rpm   DESCRIPTION     %setup
files/noarch/RPMS/oracle-preinstall-0.3-alt1.noarch.rpm PREIN   %APACHE
files/noarch/RPMS/perl-Spreadsheet-ParseExcel-0.2602-alt1.noarch.rpm    URL     %module_dir
files/noarch/RPMS/perl-Spreadsheet-ParseExcel-SaveParser-0.2602-alt1.noarch.rpm URL     %module_dir
files/noarch/RPMS/urw-fonts-2.0-alt26.noarch.rpm        POSTIN  %ttfdir
files/noarch/RPMS/xemacs-lookup-1.14-alt2.noarch.rpm    POSTIN  %xemacs_mule_package
files/noarch/RPMS/xemacs-lookup-1.14-alt2.noarch.rpm    PREUN   %xemacs_mule_package
files/noarch/RPMS/xemacs-skk-1.23-alt4.noarch.rpm       POSTIN  %xemacs_mule_package
files/noarch/RPMS/xemacs-skk-1.23-alt4.noarch.rpm       PREUN   %xemacs_mule_package
files/noarch/RPMS/perl-Module-CoreList-2.02-alt1.noarch.rpm     DESCRIPTION     %Module
files/noarch/RPMS/etersoft-build-utils-0.9-alt0.1.noarch.rpm    DESCRIPTION     %Url
files/noarch/RPMS/perl-Regexp-Common-2.120-alt1.noarch.rpm      DESCRIPTION     %RE
files/x86_64/RPMS/chkfontpath-2.0.1-alt1.x86_64.rpm     DESCRIPTION     %post
files/x86_64/RPMS/glibc-core-debug-2.3.5-alt5.x86_64.rpm        DESCRIPTION     %_specdir
files/x86_64/RPMS/glibc-devel-debug-2.3.5-alt5.x86_64.rpm       DESCRIPTION     %_specdir
files/x86_64/RPMS/glibc-nss-debug-2.3.5-alt5.x86_64.rpm DESCRIPTION     %_specdir
files/x86_64/RPMS/libnatspec-0.2.1-alt1.x86_64.rpm      DESCRIPTION     %Url
[at@basalt Sisyphus]$

(Не всё в этом списке реально является ошибкой.)

[-- Attachment #1.2: check_macros --]
[-- Type: text/plain, Size: 394 bytes --]

#!/usr/bin/perl

for my $f (@ARGV) {

	use RPM::Header ();
	my $rpm = RPM::Header->new($f)
		or die "$f: $RPM::err";

	while (my ($k, $v) = each %$rpm) {
		next if $k =~ /CHANGELOGTEXT|SIGGPG|SIGMD5|GIF/;
		my @v = ref($v) ? @$v : $v;
		my @lines = map { split /[\r\n]+/ } @v;
		foreach (@lines) {
			next if /^\s*#/;
			next unless /\%[a-zA-Z_][a-zA-Z0-9_]+/;
			print "$f	$k	$&\n";
		}
	}
}


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [devel] Re: I: unexpanded macros
  2005-07-22 13:26 [devel] I: unexpanded macros Alexey Tourbin
@ 2005-07-22 16:04 ` Michael Shigorin
  2005-07-22 16:31   ` Sergey Vlasov
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Shigorin @ 2005-07-22 16:04 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 799 bytes --]

On Fri, Jul 22, 2005 at 05:26:56PM +0400, Alexey Tourbin wrote:
> files/i586/RPMS/mod_ssl-2.8.22-alt1.i586.rpm    PREIN   %postun

Ой.

> files/i586/RPMS/abook-0.5.3-alt1.i586.rpm       CHANGELOGNAME   %rlz1

(интересно, чей пакет сейчас...)

> files/i586/RPMS/webalizer-2.01.10-alt5.1.i586.rpm       TRIGGERSCRIPTS  %apache_webmaster

Оно определено в apache-devel, который указан в BuildRequires.

> (Не всё в этом списке реально является ошибкой.)

Угу.

> 	my $rpm = RPM::Header->new($f)

Боюсь, этого мало -- для адекватной проверки надо eval'ить спек,
развёрнутый в среде с BuildRequires.  И подозреваю, что это
бессмысленно делать, поскольку сборка бы уже взорвалась.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Re: I: unexpanded macros
  2005-07-22 16:04 ` [devel] " Michael Shigorin
@ 2005-07-22 16:31   ` Sergey Vlasov
  2005-07-26 13:09     ` [devel] [JT] " Michael Shigorin
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Vlasov @ 2005-07-22 16:31 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 814 bytes --]

On Fri, Jul 22, 2005 at 07:04:45PM +0300, Michael Shigorin wrote:
> On Fri, Jul 22, 2005 at 05:26:56PM +0400, Alexey Tourbin wrote:
> > 	my $rpm = RPM::Header->new($f)
> 
> Боюсь, этого мало -- для адекватной проверки надо eval'ить спек,
> развёрнутый в среде с BuildRequires.  И подозреваю, что это
> бессмысленно делать, поскольку сборка бы уже взорвалась.

В том-то и дело, что при подобных ошибках где-нибудь в %post (или, что
ещё хуже, в %preun) сборка проходит нормально, а проблемы возникают
только при установке пакета.

На самом деле неплохо бы научить сам rpmbuild выдавать хотя бы
предупреждения при попытке раскрытия неопределённого макроса.  По уже
собранному пакету нельзя определить, было ли в нём написано %something
(и макрос с именем something не был определён), или %%something.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [devel] [JT] Re: I: unexpanded macros
  2005-07-22 16:31   ` Sergey Vlasov
@ 2005-07-26 13:09     ` Michael Shigorin
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Shigorin @ 2005-07-26 13:09 UTC (permalink / raw)
  To: devel

On Fri, Jul 22, 2005 at 08:31:12PM +0400, Sergey Vlasov wrote:
> > > 	my $rpm = RPM::Header->new($f)
> > Боюсь, этого мало -- для адекватной проверки надо eval'ить
> > спек, развёрнутый в среде с BuildRequires.  И подозреваю, что
> > это бессмысленно делать, поскольку сборка бы уже взорвалась.
> В том-то и дело, что при подобных ошибках где-нибудь в %post
> (или, что ещё хуже, в %preun) сборка проходит нормально, а
> проблемы возникают только при установке пакета.

"Я так и знал, что по первому пункту возражений не будет" ;-)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-07-26 13:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-22 13:26 [devel] I: unexpanded macros Alexey Tourbin
2005-07-22 16:04 ` [devel] " Michael Shigorin
2005-07-22 16:31   ` Sergey Vlasov
2005-07-26 13:09     ` [devel] [JT] " Michael Shigorin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git