[devel] автогенерация debug-пакетов в rpm
Andrey Rahmatullin
wrar на altlinux.org
Сб Авг 7 09:36:23 UTC 2010
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@
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100807/a2c3a9dc/attachment.bin>
Подробная информация о списке рассылки Devel