[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