On Thu, May 22, 2008 at 09:50:27AM +0300, Led wrote: > Thursday, 22 May 2008 08:02:03 Kirill A. Shutemov написав: > > On Thu, May 22, 2008 at 03:04:58AM +0300, Led wrote: > > > Thursday, 22 May 2008 02:41:59 Dmitry V. Levin написав: > > > > On Thu, May 22, 2008 at 01:06:54AM +0300, Led wrote: > > > > > Thursday, 22 May 2008 00:49:17 Dmitry V. Levin написав: > > > > > > On Wed, May 21, 2008 at 11:44:39PM +0300, Led wrote: > > > > > > > Wednesday, 21 May 2008 22:21:33 Kirill A. Shutemov написав: > > > > > > > > On Wed, May 21, 2008 at 09:02:42PM +0300, Led wrote: > > > > > > > > > Забавный случай: > > > > > > > > > > > > > > > > > > $ file ~/tmp/autofs-buildroot/usr/sbin/automount > > > > > > > > > automount: ELF 64-bit LSB shared object, x86-64, version 1 > > > > > > > > > (SYSV), for GNU/Linux 2.6.9, stripped > > > > > > > > > > > > > > > > > > ? > > > > > > > > > Естественно, rpmbuild (fixup-libraries) делает ему "chmod > > > > > > > > > 644" :( > > > > > > > > > > > > > > > > Нет, это не естественно. > > > > > > > > shared object -- это и shared library и position independed > > > > > > > > executable. В fixup-libraries есть эвристика для отделения мух > > > > > > > > от котлет. chmod, по идее, должен делаться только для shared > > > > > > > > library. > > > > > > > > > > > > > > Нет там такой эвристики. > > > > > > > > > > > > Я эту эвристику туда поместил. Если её оттуда не убрали, то она > > > > > > там есть. Если бы её не было, то ничего бы не работало. > > > > > > > > > > > > Маловероятно, но, возможно, эвристика дала сбой? > > > > > > > > > > Я ведь не придумал. Я поставил "затычки" перед fixup-libraries и > > > > > после него. До fixup-libraries - 755, после 644. Да и на консоль > > > > > выводит, что /usr/sbin/automount "чмодит" в 644. Могу полный лог > > > > > сборки прикрепить, > > > > > > > > В этом нет смысла. > > > > > > > > > если в рассылку пропустят. Или возьмите autofs-5.0.3 и соберите. > > > > > > > > Где можно взять? > > > > > > autofs-5.0.3-alt0.1.src.rpm в /i/D > > > Для проявления эффекта заменить в спеке: > > > -%make_build DAEMON_CFLAGS= DAEMON_LDFLAGS= > > > +%make_build > > > > Эвристику ломает преждеверменный strip. Опция -s при линковке удаляет > > символ __preinit_array_end по которому shared library отделяется от > > position independed executable. > > Точно! Спасибо! > Надо бы это где-то задокументировать. Потому как ИМХО неочевидно, что strip > при сборке у нас, получается, недопустим :( Я считаю, что это слабость эвристики. Нужно что-то делать. -- Regards, Kirill A. Shutemov + Belarus, Minsk + ALT Linux Team, http://www.altlinux.com/