* [devel] repocop and *-debuginfo conflicts @ 2011-03-16 13:54 Igor Vlasenko 2011-03-16 17:51 ` Alexey Tourbin 2011-03-19 13:23 ` Ivan A. Melnikov 0 siblings, 2 replies; 6+ messages in thread From: Igor Vlasenko @ 2011-03-16 13:54 UTC (permalink / raw) To: devel Уважаемые коллеги, 1) когда у нас появились debuginfo пакеты, то repocop начал ругать файловые конфликты между основной версией библиотеки и compat-пакетом. Я собираюсь выключить эту ругань, поскольку в силу специфики debuginfo пакетов эти конфликты (по .so.debug файлам) на текущий момент неизлечимы и вины майнтайнера в них нет. 2) debuginfo пакеты дают еще один метод чтобы выявить dll hell. именно, foo слинковано с libA(v1) и libB, при чем libB слинковано с libA(v2). Тогда foo-debuginfo не установится из-за файловых конфликтов между libA(v1)-debuginfo и libA(v2)-debuginfo. если v1 > v2, то такую ситуацию, как я понимаю, должен резать тест на устанавливаемость в incoming. Вопрос: тест на устанавливаемость в incoming, он таки проверяет файловые конфликты? если v1 < v2, то такую ситуацию пока никто не отслеживает, ее можно закрыть тестом repocop. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] repocop and *-debuginfo conflicts 2011-03-16 13:54 [devel] repocop and *-debuginfo conflicts Igor Vlasenko @ 2011-03-16 17:51 ` Alexey Tourbin 2011-03-16 18:16 ` Igor Vlasenko 2011-03-19 13:23 ` Ivan A. Melnikov 1 sibling, 1 reply; 6+ messages in thread From: Alexey Tourbin @ 2011-03-16 17:51 UTC (permalink / raw) To: ALT Linux Team development discussions On Wed, Mar 16, 2011 at 03:54:18PM +0200, Igor Vlasenko wrote: > Уважаемые коллеги, > 1) когда у нас появились debuginfo пакеты, то repocop начал ругать > файловые конфликты между основной версией библиотеки и compat-пакетом. > Я собираюсь выключить эту ругань, поскольку в силу специфики > debuginfo пакетов эти конфликты (по .so.debug файлам) > на текущий момент неизлечимы и вины майнтайнера в них нет. Сейчас не совсем корректно пакуются .so.debug симлинки. Вообще, выполняется перегруппировка симлинков - они "приписываются" к бинарику. Это сделано для того, чтобы не создавать "почти пустых" symlink-only пакетов e.g. libfoo-devel-debuginfo. Тогда, например, если симлинк libfoo.so -> /usr/lib64/libfoo.so.0 запакован в пакете libfoo-devel, то симлинк libfoo.so.debug -> /usr/lib/debug/usr/lib64/libfoo.so.0.debug всё равно отходит в пакет libfoo-debuginfo. Проблема сейчас в том, что пакуются вообще все перегруппированные .debug симлинки, имеющиеся в RPM_BUILD_ROOT. Т.е. если симлинк libfoo.so вообще не запакован, но создан в билдруте, то симлинк libfoo.so.debug будет вписан в libfoo-debuginfo. А в идеале бы надо паковать только те симлинки, для которых есть соответствующие симлинки в основном пакете - либо в libfoo, либо в libfoo-devel. К сожалению это не так просто сделать, хотя и не очень сложно. Прототип реализации у меня был, но это требует некоторой поддержки со стороны librpmbuild. > 2) debuginfo пакеты дают еще один метод чтобы выявить dll hell. > именно, foo слинковано с libA(v1) и libB, при чем libB > слинковано с libA(v2). > Тогда foo-debuginfo не установится из-за файловых конфликтов между > libA(v1)-debuginfo и libA(v2)-debuginfo. > > если v1 > v2, то такую ситуацию, как я понимаю, должен > резать тест на устанавливаемость в incoming. > > Вопрос: тест на устанавливаемость в incoming, он таки проверяет > файловые конфликты? Тест на устанавливаемость в incoming состоит в том, что каждый пакет, включая *-debuginfo, должен по отдельности устанавливаться в минимальную среду (basesystem). Более "обширные" конфликты не проверяются. > если v1 < v2, то такую ситуацию пока никто не отслеживает, > ее можно закрыть тестом repocop. Кстати debuginfo пакеты дают ещё один метод проверки дублирования кода. [at@people ~]$ fgrep /xmltok.c /ALT/Sisyphus/x86_64/base/contents_index /usr/src/debug/coin3d-3.1.3/src/xml/expat/xmltok.c libcoin3d-debuginfo /usr/src/debug/expat-2.0.1/lib/xmltok.c libexpat-debuginfo [at@people ~]$ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] repocop and *-debuginfo conflicts 2011-03-16 17:51 ` Alexey Tourbin @ 2011-03-16 18:16 ` Igor Vlasenko 2011-03-17 5:22 ` REAL 0 siblings, 1 reply; 6+ messages in thread From: Igor Vlasenko @ 2011-03-16 18:16 UTC (permalink / raw) To: ALT Linux Team development discussions On Wed, Mar 16, 2011 at 08:51:51PM +0300, Alexey Tourbin wrote: > On Wed, Mar 16, 2011 at 03:54:18PM +0200, Igor Vlasenko wrote: > > Уважаемые коллеги, > > 1) когда у нас появились debuginfo пакеты, то repocop начал ругать > > файловые конфликты между основной версией библиотеки и compat-пакетом. > > Я собираюсь выключить эту ругань, поскольку в силу специфики > > debuginfo пакетов эти конфликты (по .so.debug файлам) > > на текущий момент неизлечимы и вины майнтайнера в них нет. > > Сейчас не совсем корректно пакуются .so.debug симлинки. Вообще, > выполняется перегруппировка симлинков - они "приписываются" к бинарику. > Это сделано для того, чтобы не создавать "почти пустых" symlink-only > пакетов e.g. libfoo-devel-debuginfo. Тогда, например, если симлинк > libfoo.so -> /usr/lib64/libfoo.so.0 запакован в пакете libfoo-devel, > то симлинк libfoo.so.debug -> /usr/lib/debug/usr/lib64/libfoo.so.0.debug > всё равно отходит в пакет libfoo-debuginfo. понял. Вроде бы, обычно это не создает проблем, а если вдруг созлает, то не -debuginfo виноват, как писал выше. > Проблема сейчас в том, что пакуются вообще все перегруппированные .debug > симлинки, имеющиеся в RPM_BUILD_ROOT. Т.е. если симлинк libfoo.so вообще > не запакован, но создан в билдруте, то симлинк libfoo.so.debug будет > вписан в libfoo-debuginfo. > > А в идеале бы надо паковать только те симлинки, для которых есть > соответствующие симлинки в основном пакете - либо в libfoo, либо > в libfoo-devel. > > К сожалению это не так просто сделать, хотя и не очень сложно. > Прототип реализации у меня был, но это требует некоторой поддержки > со стороны librpmbuild. > > > 2) debuginfo пакеты дают еще один метод чтобы выявить dll hell. > > именно, foo слинковано с libA(v1) и libB, при чем libB > > слинковано с libA(v2). > > Тогда foo-debuginfo не установится из-за файловых конфликтов между > > libA(v1)-debuginfo и libA(v2)-debuginfo. > > > > если v1 > v2, то такую ситуацию, как я понимаю, должен > > резать тест на устанавливаемость в incoming. > > > > Вопрос: тест на устанавливаемость в incoming, он таки проверяет > > файловые конфликты? > > Тест на устанавливаемость в incoming состоит в том, что каждый пакет, > включая *-debuginfo, должен по отдельности устанавливаться в минимальную > среду (basesystem). Более "обширные" конфликты не проверяются. т.е. если по зависимостям вытянутся пакеты с файловым конфликтом, он не установится. > > если v1 < v2, то такую ситуацию пока никто не отслеживает, > > ее можно закрыть тестом repocop. > > Кстати debuginfo пакеты дают ещё один метод проверки дублирования кода. > > [at@people ~]$ fgrep /xmltok.c /ALT/Sisyphus/x86_64/base/contents_index > /usr/src/debug/coin3d-3.1.3/src/xml/expat/xmltok.c libcoin3d-debuginfo > /usr/src/debug/expat-2.0.1/lib/xmltok.c libexpat-debuginfo Хозяйке на заметку. Где бы записать? Кстати, что-то давно уже не публикуется старый метод, отчеты о duplicate symbols. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] repocop and *-debuginfo conflicts 2011-03-16 18:16 ` Igor Vlasenko @ 2011-03-17 5:22 ` REAL 0 siblings, 0 replies; 6+ messages in thread From: REAL @ 2011-03-17 5:22 UTC (permalink / raw) To: ALT Linux Team development discussions 17.03.2011 00:16, Igor Vlasenko пишет: >> [at@people ~]$ fgrep /xmltok.c /ALT/Sisyphus/x86_64/base/contents_index >> /usr/src/debug/coin3d-3.1.3/src/xml/expat/xmltok.c libcoin3d-debuginfo >> /usr/src/debug/expat-2.0.1/lib/xmltok.c libexpat-debuginfo > > Хозяйке на заметку. Где бы записать? Не думаю, что на данный момент надо что-то записывать. Несмотря на одинаковое название (или даже назначение) файлов, в разных проектах это может быть разный код (например, разных версий, да или хотя бы просто тёзки). -- REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] repocop and *-debuginfo conflicts 2011-03-16 13:54 [devel] repocop and *-debuginfo conflicts Igor Vlasenko 2011-03-16 17:51 ` Alexey Tourbin @ 2011-03-19 13:23 ` Ivan A. Melnikov 2011-03-19 14:04 ` REAL 1 sibling, 1 reply; 6+ messages in thread From: Ivan A. Melnikov @ 2011-03-19 13:23 UTC (permalink / raw) To: devel On Wed, 16 Mar 2011 15:54:18 +0200 Igor Vlasenko <vlasenko@imath.kiev.ua> wrote: > Уважаемые коллеги, > 1) когда у нас появились debuginfo пакеты, то repocop начал ругать > файловые конфликты между основной версией библиотеки и compat-пакетом. > Я собираюсь выключить эту ругань, поскольку в силу специфики > debuginfo пакетов эти конфликты (по .so.debug файлам) > на текущий момент неизлечимы и вины майнтайнера в них нет. [...] Кстати, проблема реальна -- я сегодня словил при dist-upgrade: Do you want to continue? [Y/n] Committing changes... Preparing... ########################################### [100%] file /usr/lib/debug/usr/lib64/libpoppler.so.debug conflicts between attempted installs of libpoppler12-debuginfo-0.16.2-alt2 and libpoppler13-debuginfo-0.16.3-alt1 E: Error while running transaction -- WBR, Ivan A. Melnikov ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] repocop and *-debuginfo conflicts 2011-03-19 13:23 ` Ivan A. Melnikov @ 2011-03-19 14:04 ` REAL 0 siblings, 0 replies; 6+ messages in thread From: REAL @ 2011-03-19 14:04 UTC (permalink / raw) To: ALT Linux Team development discussions 19.03.2011 19:23, Ivan A. Melnikov пишет: >> 1) когда у нас появились debuginfo пакеты, то repocop начал ругать >> файловые конфликты между основной версией библиотеки и compat-пакетом. >> Я собираюсь выключить эту ругань, поскольку в силу специфики >> debuginfo пакетов эти конфликты (по .so.debug файлам) >> на текущий момент неизлечимы и вины майнтайнера в них нет. > [...] > > Кстати, проблема реальна -- я сегодня словил при dist-upgrade: > > Do you want to continue? [Y/n] > Committing changes... > Preparing... ########################################### [100%] > file /usr/lib/debug/usr/lib64/libpoppler.so.debug conflicts between attempted installs of libpoppler12-debuginfo-0.16.2-alt2 and libpoppler13-debuginfo-0.16.3-alt1 я такое каждый день ловлю. слов нет... -- REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-03-19 14:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-03-16 13:54 [devel] repocop and *-debuginfo conflicts Igor Vlasenko 2011-03-16 17:51 ` Alexey Tourbin 2011-03-16 18:16 ` Igor Vlasenko 2011-03-17 5:22 ` REAL 2011-03-19 13:23 ` Ivan A. Melnikov 2011-03-19 14:04 ` REAL
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git