From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: at@turbinal.org Date: Sun, 20 Oct 2002 04:06:58 +0400 To: devel@altlinux.ru Subject: Re: [devel] Re: perl ABI detection at find-requires stage Message-ID: <20021020000658.GA25083@homestead.turbinal.org> Mail-Followup-To: 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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="oyUTqETQ0mS9luUI" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20021019204547.GA2313@homestead.turbinal.org> 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: --oyUTqETQ0mS9luUI Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit 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-библиотеки, то 3) возможный дополнительный критерий: названия *.pm и *.so должны соответствовать друг другу 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, прилагается. --oyUTqETQ0mS9luUI Content-Type: text/plain; charset=koi8-r Content-Disposition: attachment; filename="perlbin.req" #!/usr/bin/perl # # Show perl version/build-specific binary token # use Config; print "$Config{libperl}\n"; --oyUTqETQ0mS9luUI--