[devel] Q: libgphoto2-sharp's & LibreOffice's strange .so deps -- whose bug?
Ivan Zakharyaschev
imz на altlinux.org
Ср Апр 6 16:28:27 MSK 2016
On Wed, 6 Apr 2016, Ivan Zakharyaschev wrote:
> Вот два похожих симптома генерации зависимостей на .so неприятного вида (без
> суффикса-версии) -- их никто не удволетворит.
>
> Приветствуется внимание мейнтейнеров libgphoto2-sharp, LibreOffice, rpm,
> чтобы понять, как это возникает, кто виноват (не rpm ли?)
>
> Возможно, что-то во внутренностях этих двух пакетов вызывает такое.
>
> 1. У libgphoto2-sharp (после того, как симлинки полностью внутри того же
> пакета тоже стали подлежать рассмотрению генератором зависимостей как
> реальные файлы) --
> http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/current/success/libgphoto2-sharp-2.3.99.0-alt5.svn10888
> :
Пакет небольшой. Понятно, тут сработал генератор зависимостей mono на
файле-симлинке:
$ rpm -q libgphoto2-sharp -lv
drwxr-xr-x 2 root root 0 Feb 6 2015 /usr/lib/mono/gac/libgphoto2-sharp
drwxr-xr-x 2 root root 0 Feb 6 2015 /usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66
-rwxr-xr-x 1 root root 51712 Feb 6 2015 /usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll
-rw-r--r-- 1 root root 158 Feb 6 2015 /usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll.config
-rw-r--r-- 1 root root 19042 Feb 6 2015 /usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll.mdb
drwxr-xr-x 2 root root 0 Feb 6 2015 /usr/lib/mono/libgphoto2-sharp
lrwxrwxrwx 1 root root 77 Feb 6 2015 /usr/lib/mono/libgphoto2-sharp/libgphoto2-sharp.dll -> ../gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll
drwxr-xr-x 2 root root 0 Feb 6 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0
-rw-r--r-- 1 root root 269 Jan 30 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0/AUTHORS
-rw-r--r-- 1 root root 25292 Jan 30 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0/COPYING
-rw-r--r-- 1 root root 23014 Jan 30 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0/ChangeLog
-rw-r--r-- 1 root root 945 Jan 30 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0/NEWS
-rw-r--r-- 1 root root 5923 Jan 30 2015 /usr/share/doc/libgphoto2-sharp-2.3.99.0/README
Раньше он меньше всего выдывал (но всё же выдавал
libgphoto2.so.6()(64bit), libgphoto2_port.so.12()(64bit)), когда
рассматривалось только содержимое
/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/ .
Ну да, там рядом лежал
/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll.config
:
<configuration>
<dllmap dll="libgphoto2.so" target="libgphoto2.so.6"/>
<dllmap dll="libgphoto2_port.so" target="libgphoto2_port.so.12"/>
</configuration>
Похожая проблема выплывала с debuginfo.req (в виде просто лишних warnings)
-- что оно ожидало определённую струкутру директорий, внутри которой
находятся рассматриваемые файлы (см. ниже). Специалистам по mono стоит
решить, насколько типичен такой случай, что рядом с .dll нет .dll.config;
является ли это ошибкой пакета или типичным случаем, которому надо
приспособить mono.req?
http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=commitdiff;h=563043841637bd0880efe807728d84a95c307e4d
:
debuginfo.req.files: ignore everything under /usr/lib/debug/.build-id/
The special directory structure there doesn't correspond to the
directory structure where debuginfo.req expects to find and process
*.debug files.
---
diff --git a/scripts/debuginfo.req.files b/scripts/debuginfo.req.files
index 91c48e1..9298852 100755
--- a/scripts/debuginfo.req.files
+++ b/scripts/debuginfo.req.files
@@ -1,6 +1,7 @@
#!/bin/sh -efu
while IFS=$'\t' read -r f t; do
case "$f" in
+ ${RPM_BUILD_ROOT-}/usr/lib/debug/.build-id/*) continue ;;
${RPM_BUILD_ROOT-}/usr/lib/debug/*.debug) ;;
*) continue ;;
esac
>
> --- libgphoto2-sharp-2.3.99.0-alt5.svn10888.x86_64.rpm.repo 2015-02-06
> 18:45:52.000000000 +0000
> +++ libgphoto2-sharp-2.3.99.0-alt5.svn10888.x86_64.rpm.hasher 2016-04-06
> 10:18:31.803767013 +0000
> @@ -1,8 +1,8 @@
> /usr/lib/mono/gac/libgphoto2-sharp 40755
> -/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66 40755
> -/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll
> 100755
> -/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll.config
> 100644
> -/usr/lib/mono/gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll.mdb
> 100644
> +/usr/lib/mono/gac/libgphoto2-sharp/4.0.5940.18548__315c4c2d134c3d66 40755
> +/usr/lib/mono/gac/libgphoto2-sharp/4.0.5940.18548__315c4c2d134c3d66/libgphoto2-sharp.dll
> 100755
> +/usr/lib/mono/gac/libgphoto2-sharp/4.0.5940.18548__315c4c2d134c3d66/libgphoto2-sharp.dll.config
> 100644
> +/usr/lib/mono/gac/libgphoto2-sharp/4.0.5940.18548__315c4c2d134c3d66/libgphoto2-sharp.dll.mdb
> 100644
> /usr/lib/mono/libgphoto2-sharp 40755
> -/usr/lib/mono/libgphoto2-sharp/libgphoto2-sharp.dll 120777
> ../gac/libgphoto2-sharp/4.0.5515.33769__315c4c2d134c3d66/libgphoto2-sharp.dll
> +/usr/lib/mono/libgphoto2-sharp/libgphoto2-sharp.dll 120777
> ../gac/libgphoto2-sharp/4.0.5940.18548__315c4c2d134c3d66/libgphoto2-sharp.dll
> /usr/share/doc/libgphoto2-sharp-2.3.99.0 40755
> @@ -13,2 +13,3 @@
> /usr/share/doc/libgphoto2-sharp-2.3.99.0/README 100644
> +Requires: libgphoto2.so()(64bit)
> Requires: libgphoto2.so.6()(64bit)
> @@ -20,3 +21,3 @@
> Requires: rpmlib(PayloadIsLzma)
> -Provides: mono(libgphoto2-sharp) = 4.0.5515.33769
> +Provides: mono(libgphoto2-sharp) = 4.0.5940.18548
> Provides: libgphoto2-sharp = 2.3.99.0-alt5.svn10888
>
> 2. LibreOffice сейчас носит питон внутри себя, а не использует системный,
> поэтому его зависимость на libpython3.5m.so (системный) не имеет смысла. --
> http://git.altlinux.org/tasks/162449/logs/events.2.1.log
>
> x86_64: NEW unmet dependencies detected:
> LibreOffice-common#5.1-alt3 libpython3.5m.so()(64bit)
> LibreOffice-common-debuginfo#5.1-alt3 debug64(libpython3.5m.so)
> 2016-Apr-06 10:26:57 :: dependencies check FAILED
> 2016-Apr-06 10:26:57 :: task #162449 for sisyphus FAILED
>
>
> --
> Best regards,
> Ivan
>
Подробная информация о списке рассылки Devel