From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 22 Oct 2002 03:05:25 +0400 From: Mikhail Zabaluev To: devel@altlinux.ru Message-ID: <20021021230525.GG14359@mhz.mikhail.zabaluev.name> Mail-Followup-To: Mikhail Zabaluev , devel@altlinux.ru References: <20021016014557.GA29249@homestead.turbinal.org> <20021017081412.GB22143@mhz.mikhail.zabaluev.name> <20021018014056.GA4494@homestead.turbinal.org> <20021018222612.GA2153@mhz.mikhail.zabaluev.name> <20021018234241.GA5988@homestead.turbinal.org> <20021019093846.GA54@mhz.mikhail.zabaluev.name> <20021019204547.GA2313@homestead.turbinal.org> <20021020000658.GA25083@homestead.turbinal.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bajzpZikUji1w+G9" Content-Disposition: inline In-Reply-To: <20021020000658.GA25083@homestead.turbinal.org> User-Agent: Mutt/1.4i Subject: [devel] Re: perl ABI detection at find-requires stage Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: --bajzpZikUji1w+G9 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit Hello at, On Sun, Oct 20, 2002 at 04:06:58AM +0400, at@turbinal.org wrote: > > On Sun, Oct 20, 2002 at 12:45:47AM +0400, at@turbinal.org wrote: > > Каким образом зависимость на ABI/soname может попасть в пакет > > автоматически при сборке? > > > > Можно ли отхачить что-нибудь на стадии find-requires так, чтобы при > > обнаружении перлового бинарного кода автоматически выставлялась > > зависимость на перловый soname из среды сборки? > > Я посмотрел, и мне кажется, что сделать это вполне возможно. Для этого > проще всего ввести ещё одну стадию поиска зависимостей (и назвать её > как-нибудь perlbin/noperlbin). > > Критерии: > > 1) если в $RPM_BUILD_ROOT/usr/lib/perl* в принципе найдены какие-нибудь > перловые модули (*.pm, "Perl5 module source text"), то > 2) если в $RPM_BUILD_ROOT/usr/lib/perl*/auto/* найдены какие-нибудь > .so-библиотеки, то Достаточно поискать в $RPM_BUILD_ROOT%perl_sitearch/auto > 3) возможный дополнительный критерий: названия *.pm и *.so должны > соответствовать друг другу 1) и 3) практически не обязательны > 4) передать список таких .so-файлов в скрипт perlbin.req, который > напечатает что-нибудь хорошее о свойствах перла в окружении сборки > > Последнего, однако, не стоит делать, если > 1) в $RPM_BUILD_ROOT/usr/lib или $RPM_BUILD_ROOT/usr/lib/perl*/CORE > найдены библиотеки libperl*.so*; и, кроме того > 2) найден перловый модуль $RPM_BUILD_ROOT/usr/lib/perl*/Config.pm; тогда > нужно > 3) передать этот перловый модуль в скрипт perlbin.prov, который > напечатает что-нибудь хорошее о свойствах собираемого перла Для одного пакета не стоит утруждаться автоматикой. > > Я не знаю, насколько это хорошо и стоит ли это делать вообще. Но это > поможет автоматический контролировть бинарную совместимость перловых > пакетов. Простейший возможный скрипт perlbin.req, который даже не > потребует скрипта perlbin.prov, прилагается. > #!/usr/bin/perl > # > # Show perl version/build-specific binary token > # > > use Config; > print "$Config{libperl}\n"; На мой взгляд, скрипт правильный. Можно даже не оформлять как отдельный скрипт, а просто, в случае обнаружения файлов, выполнять perl -MConfig -e 'print "$Config{libperl}\n"' -- Stay tuned, MhZ JID: mookid@jabber.org ___________ ... mindreading equipment is currently classified CIA property at best (hello echelon!) - Alan Cox on linux-kernel --bajzpZikUji1w+G9 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQE9tIg1TKqCuNPJlLgRAsswAJ9YYBAb6c0L2zanWrZUTH0bprycSwCfWfb3 LjB3p5f3j9EZAiygs6DGUWU= =S97s -----END PGP SIGNATURE----- --bajzpZikUji1w+G9--