On Sat, Aug 07, 2010 at 06:29:08AM +0300, Kirill A. Shutemov wrote: > Я попробовал перетащить наш rpm на более живой beecrypt. > > Обновлённый beecrypt и патченый rpm (ветка beecrypt) лежит у меня в git. > rpm притворяется, что работает. Нужно хорошенько его потестировать. > Наверняка что-нибудь сломано. > > Ещё я не уверен, правильно ли сделал переезд на новый soname libbeecrypt. > Посмотрите, пожалуйста. > > debuginfo теперь (с новым beecrypt) похож на рабочий. Потребовалось немного > напильника. И, конечно, ещё понадобиться, но для proof of concept сойдёт. > Смотрите ветку debuginfo у меня в git. В /people/wrar/packages/hello.git в ветке debug лежит спек с добавленными ровно двумя строчками: %def_enable debug (чтоб собиралось с -g) %debug_package (чтоб создавался дебаг-пакет) Создался пакет hello-debug с таким содержимым: drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/lib/debug/.build-id drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/lib/debug/.build-id/36 lrwxrwxrwx 1 root root 21 Авг 7 15:24 /usr/lib/debug/.build-id/36/515c96c9c09363cd0fbe9156e2926013a087bd -> ../../../../bin/hello lrwxrwxrwx 1 root root 25 Авг 7 15:24 /usr/lib/debug/.build-id/36/515c96c9c09363cd0fbe9156e2926013a087bd.debug -> ../../usr/bin/hello.debug drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/lib/debug/usr drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/lib/debug/usr/bin -rwxr-xr-x 1 root root 26780 Авг 7 15:24 /usr/lib/debug/usr/bin/hello.debug drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/src/debug/hello-2.4 drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib -rw-r--r-- 1 root root 3050 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/close-stream.c -rw-r--r-- 1 root root 4522 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/closeout.c -rw-r--r-- 1 root root 856 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/exitfail.c -rw-r--r-- 1 root root 759 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/exitfail.h -rw-r--r-- 1 root root 22370 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/quotearg.c -rw-r--r-- 1 root root 11981 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/quotearg.h -rw-r--r-- 1 root root 1322 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/xalloc-die.c -rw-r--r-- 1 root root 8152 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/xalloc.h -rw-r--r-- 1 root root 3327 Авг 7 15:24 /usr/src/debug/hello-2.4/gnulib/lib/xmalloc.c drwxr-xr-x 2 root root 0 Авг 7 15:24 /usr/src/debug/hello-2.4/src -rw-r--r-- 1 root root 5774 Авг 7 15:24 /usr/src/debug/hello-2.4/src/hello.c У него, кстати, нет зависимостей ни на что, включая главный пакет. В hello/src/hello.c внесено изменение специального вида, позволяющее протестировать нужность пакета hello-debug. Сначала этот пакет не установлен: Reading symbols from /usr/bin/hello...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/hello Program received signal SIGSEGV, Segmentation fault. 0x08048bba in exit () (gdb) bt #0 0x08048bba in exit () #1 0x0804a4f3 in ?? () #2 0x4ef47c66 in __libc_start_main () from /lib/libc.so.6 #3 0x08048ac1 in exit () Теперь установлен: Reading symbols from /usr/bin/hello...Reading symbols from /usr/lib/debug/usr/bin/hello.debug...done. done. (gdb) r Starting program: /usr/bin/hello Program received signal SIGSEGV, Segmentation fault. 0x08048bba in main (argc=1, argv=0xbfffefd4) at hello.c:63 63 *((char*)0) = 0; (gdb) bt #0 0x08048bba in main (argc=1, argv=0xbfffefd4) at hello.c:63 -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(6): > >"Что было бы, если бы ALT Linux Team производила самолеты?" :-) > А Вы не пользуйтесь Сизифом ;) "Да нет, ничего, мы привыкли" (TM). Просто, гхм, слегка оторопь берет, когда таким вот способом из биплана в полете делают дирижабль: вначале отламывают крылья, а уж потом начинают искать баллоны с гелием :-) -- morozov in sisyphus@