[devel] Q: debuginfo strip controls & deps
Dmitry V. Levin
ldv на altlinux.org
Пн Янв 31 21:46:04 UTC 2011
On Mon, Jan 31, 2011 at 06:23:37PM +0300, Alexey Tourbin wrote:
[...]
> Я знаю всего несколько пакетов, где действительно требуется
> специальный режим обрезания файлов: а именно, требуется сохранить .symtab.
> Один из таких пакетов - glibc. Это делает вопрос насчет strip-макросов
> актуальным, т.к. glibc ложится в основу иерархии debuginfo зависимостей.
Попадаются ещё ELF'ы, которые предназначены для обработки нестандартными
загрузчиками, в т.ч. и не в userspace. Вероятно, такие файлы лучше вообще
не трогать. Видно, что сейчас в brp-debuginfo захардкодены исключения
/usr/share и /lib/firmware. Я бы добавил туда ещё и /boot с /lib/modules.
> Предлагаю реализовать всего один новый strip-макрос - сохранение .symtab
> при обрезании -
> %название-макроса шелл-глоб
> Требуется придумать нвазвание макроса.
> Название может включать "keep_symtab" или "strip_debug_only".
strip_debug_only не вполне понятен, поскольку не очевидно, что есть
debug only.
Если смысл макроса в сохранении секции .symtab, то пусть лучше будет
%debuginfo_strip_keep_symtab shell-glob-pattern
> Актуальный вопрос №2: вид soname-зависимостей между debuginfo-пакетами.
>
> Сонейм-зависимости между основными пакетами имеют вид
> /usr/lib/libfoo.so.1 -> libfoo.so.1
> /usr/lib64/libfoo.so.1 -> libfoo.so.1()(64bit)
>
> Для debuginfo пакетов будет создана иерархия зависимостей, похожая на
> основную, на основе сонеймов. Требуется придумать вид зависимостей
> для для сонеймов (ABI-интерфейсы использоваться не будут). Варианты могут
> быть такие:
>
> /usr/lib/debug/usr/lib/libfoo.so.1 -> debug(libfoo.so.1)
> /usr/lib/debug/usr/lib64/libfoo.so.1 -> debug64(libfoo.so.1)
Такой вариант годится.
> /usr/lib/debug/usr/lib/libfoo.so.1.debug -> libfoo.so.1.debug
> /usr/lib/debug/usr/lib64/libfoo.so.1.debug -> libfoo.so.1.debug()(64bit)
>
> /usr/lib/debug/usr/lib/libfoo.so.1.debug -> D-libfoo.so.1
> /usr/lib/debug/usr/lib64/libfoo.so.1.debug -> D-libfoo.so.1()(64bit)
Эти варианты не годятся, особенно первый из них, поскольку совпадают с
возможными обычными зависимостями на soname.
> Менее актуальные вопросы:
> 1) Нужны ли другие strip-макросы.
Видимо, нужно уметь отключать обработку отдельных файлов по причине
"мейнтейнеру виднее", например,
%debuginfo_skip_files shell-glob-pattern
> 2) Стоит ли обрезать lib*.a архивы.
До сих пор эти файлы не стрипались, но и -g до сих пор по умолчанию не
было. Не очевидно.
> 3) Реорганизация репозитория - стоит ли делать RPMS.debug.
Число arch-пакетов практически удвоится -- как это скажется на индексах?
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20110201/0252ffe1/attachment.bin>
Подробная информация о списке рассылки Devel