ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed
  @ 2007-08-31 15:16 ` Victor Forsyuk
  2007-08-31 15:48   ` Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Victor Forsyuk @ 2007-08-31 15:16 UTC (permalink / raw)
  To: devel

On Thu, Aug 30, 2007 at 11:39:19PM +0400, QA Team Robot <qa@altlinux.org> wrote:
> Package: perl-Net-DNS-Resolver-Programmable-0.002.2-alt1
> Packager: Victor Forsyuk <force@altlinux>
> Status: i586 rebuild failed.
> Please investigate.
> 
> Why:

[...кусь...]
 
> Finding Requires (using /usr/lib/rpm/find-requires)
> Executing(Requires): /bin/sh -e /usr/src/tmp/rpm-tmp.18364
> + umask 022
> + /bin/mkdir -p /usr/src/RPM/BUILD
> + cd /usr/src/RPM/BUILD
> + /usr/lib/rpm/find-requires
> Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> CHECK failed--call queue aborted.
> # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed, trying to recover with -MNet::DNS::Resolver
> Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> CHECK failed--call queue aborted.
> # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed. prefix=/usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl
> error: /bin/sh failed

Однако, регрессия find-requires...



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

* Re: [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed
  2007-08-31 15:16 ` [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed Victor Forsyuk
@ 2007-08-31 15:48   ` Alexey Tourbin
  2007-09-03 14:46     ` Victor Forsyuk
  0 siblings, 1 reply; 6+ messages in thread
From: Alexey Tourbin @ 2007-08-31 15:48 UTC (permalink / raw)
  To: devel

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

On Fri, Aug 31, 2007 at 06:16:25PM +0300, Victor Forsyuk wrote:
> > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > CHECK failed--call queue aborted.
> > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed, trying to recover with -MNet::DNS::Resolver
> > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > CHECK failed--call queue aborted.
> > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed. prefix=/usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl
> > error: /bin/sh failed
> 
> Однако, регрессия find-requires...

Да, rpm-build-perl-0.6.3.

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

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

* Re: [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed
  2007-08-31 15:48   ` Alexey Tourbin
@ 2007-09-03 14:46     ` Victor Forsyuk
  2007-09-04  1:41       ` Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Victor Forsyuk @ 2007-09-03 14:46 UTC (permalink / raw)
  To: ALT Devel discussion list

On Fri, Aug 31, 2007 at 07:48:22PM +0400, Alexey Tourbin <at@altlinux.ru> wrote:
> On Fri, Aug 31, 2007 at 06:16:25PM +0300, Victor Forsyuk wrote:
> > > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > > CHECK failed--call queue aborted.
> > > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed, trying to recover with -MNet::DNS::Resolver
> > > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > > CHECK failed--call queue aborted.
> > > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed. prefix=/usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl
> > > error: /bin/sh failed
> > 
> > Однако, регрессия find-requires...
> 
> Да, rpm-build-perl-0.6.3.

Ждать исправления?




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

* Re: [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed
  2007-09-03 14:46     ` Victor Forsyuk
@ 2007-09-04  1:41       ` Alexey Tourbin
  2007-09-06 13:32         ` Victor Forsyuk
  0 siblings, 1 reply; 6+ messages in thread
From: Alexey Tourbin @ 2007-09-04  1:41 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Sep 03, 2007 at 05:46:40PM +0300, Victor Forsyuk wrote:
> On Fri, Aug 31, 2007 at 07:48:22PM +0400, Alexey Tourbin <at@altlinux.ru> wrote:
> > On Fri, Aug 31, 2007 at 06:16:25PM +0300, Victor Forsyuk wrote:
> > > > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > > > CHECK failed--call queue aborted.
> > > > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed, trying to recover with -MNet::DNS::Resolver
> > > > Can't locate object method "FLAGS" via package "B::SPECIAL" at /usr/lib/perl5/vendor_perl/PerlReq/Utils.pm line 119.
> > > > CHECK failed--call queue aborted.
> > > > # /usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl/Net/DNS/Resolver/Programmable.pm: deparse failed. prefix=/usr/src/tmp/perl-Net-DNS-Resolver-Programmable-buildroot/usr/lib/perl5/vendor_perl
> > > > error: /bin/sh failed
> > > 
> > > Однако, регрессия find-requires...
> > 
> > Да, rpm-build-perl-0.6.3.
> Ждать исправления?

Да.

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

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

* Re: [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed
  2007-09-04  1:41       ` Alexey Tourbin
@ 2007-09-06 13:32         ` Victor Forsyuk
  2007-09-06 15:21           ` [devel] spamassassin perl.req Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Victor Forsyuk @ 2007-09-06 13:32 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Sep 04, 2007 at 05:41:13AM +0400, Alexey Tourbin <at@altlinux.ru> wrote:
> > > > 
> > > > Однако, регрессия find-requires...
> > > 
> > > Да, rpm-build-perl-0.6.3.
> > Ждать исправления?
> 
> Да.

Тогда еще просьба.

Сейчас spamassassin собирается только с
%define _perl_req_method relaxed

Есть ли шансы улучшить perl.req так, чтобы он смог нормально обработать
этого монстра?




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

* [devel] spamassassin perl.req
  2007-09-06 13:32         ` Victor Forsyuk
@ 2007-09-06 15:21           ` Alexey Tourbin
  0 siblings, 0 replies; 6+ messages in thread
From: Alexey Tourbin @ 2007-09-06 15:21 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Thu, Sep 06, 2007 at 04:32:51PM +0300, Victor Forsyuk wrote:
> Тогда еще просьба.
> 
> Сейчас spamassassin собирается только с
> %define _perl_req_method relaxed
> 
> Есть ли шансы улучшить perl.req так, чтобы он смог нормально обработать
> этого монстра?

Вроде собирается.  Он вроде раньше не собирался потому что там была
банальная синтаксическая ошибка в каком-то неиспользуемом или мало
используемом перловом модуле (perl -c тоже не работал, так что я даже
собирался сделать патч, но кажется отключили интернет или не помню
почему так и не сделал).

Зависимости сейчас должны искаться очень хорошо.
Проставляются все зависимости, кроме тех, которые (лексически)
завернуты в "eval {}".  Плюс, в отличие от eval BLOCK, зависимости
в eval STRING вообще не прозрачны.  Но с eval BLOCK есть исключение:
если eval в свою очередь завёрнут в BEGIN, то есть возможность
определить, загрузился модуль в eval или нет (просто через %INC).
В таких случаях завсимость из eval тоже проставляется.

Так что напр. вот такая зависимость на Net::DNS будет проставлена,
если Net::DNS удастся загрузить на стадии perl.req.

/usr/lib/perl5/vendor_perl/Mail/SpamAssassin/Dns.pm
    70  BEGIN {
    71    # some trickery. Load these modules right here, if possible; that way, if
    72    # the module exists, we'll get it loaded now.  Very useful to avoid attempted
    73    # loads later (which will happen).  If we do a fork(), we could wind up
    74    # attempting to load these modules in *every* subprocess.
    75    #
    76    # We turn off strict and warnings, because Net::DNS and Razor both contain
    77    # crud that -w complains about (perl 5.6.0).  Not that this seems to work,
    78    # mind ;)
    79  
    80    no strict;
    81    local ($^W) = 0;
    82  
    83    eval {
    84      require Net::DNS;
    85      require Net::DNS::Resolver;
    86    };
    87    eval {
    88      require MIME::Base64;
    89    };
    90    eval {
    91      require IO::Socket::UNIX;
    92    };
    93  };

Все эти зависимости из BEGIN должны проставиться, если только их удастся
загрузить.  То есть поиск зависимостей теперь (уже некоторое время)
является не чисто лексическим (только анализ текста), а гибридным --
он "подсматривает", загрузилось что-нибудь или нет.  К сожалению,
это означает, что зависимости на выходе становятся чувствительными
к содержимому билдрута -- удастся загрузить определенные модули или
нет.  Но в большинстве случаев гибридный поиск дает более приемлемый
результат.

Так что советую сделать следующее: 1) запустить `buildreq -bi';
2) убрать вообще все зависимости Requires и BuildRequires, проставленные
вручную, кроме, быть может, версионных (если они достаточно актуальны);
3) посмотреть, какие новые пакеты добавляются/удаляются из билдрута при
попытке поставить в hasher (hsh-install) пересобранный таким образом
пакет.

Если автоматический поиск зависимостей Вас полностью устроит,
то желательно запускать 'buildreq -bi' каждый раз после нетривиального
обновления перловых модулей (buildreq может очень сильно оптимизировать
список BuildRequires, что в большинстве случаев предпочтительно, но не
существует корректного способа это "ослабить").

Если в результате что-то не устраивает, пишите дальше.

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

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

end of thread, other threads:[~2007-09-06 15:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-31 15:16 ` [devel] perl-Net-DNS-Resolver-Programmable-0.002.2-alt1: i586 rebuild failed Victor Forsyuk
2007-08-31 15:48   ` Alexey Tourbin
2007-09-03 14:46     ` Victor Forsyuk
2007-09-04  1:41       ` Alexey Tourbin
2007-09-06 13:32         ` Victor Forsyuk
2007-09-06 15:21           ` [devel] spamassassin perl.req Alexey Tourbin

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