[devel] I: nant-0.86-alt2.cvs.20071228
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Янв 14 21:17:55 MSK 2008
On Mon, Jan 14, 2008 at 02:27:50PM +0300, Alexey Tourbin wrote:
> On Sat, Jan 12, 2008 at 05:46:41AM +0300, Dmitry V. Levin wrote:
> > On Sat, Jan 12, 2008 at 05:43:07AM +0300, QA Team Robot wrote:
> > > 2 NEW unmet dependencies detected:
> > > nant#0.86-alt2.cvs.20071228 libc.so.6
> >
> > mono-пакеты не должны быть noarch?
>
> mono-пакеты не должны быть noarch, если в них используется dllimport
> (рантайм-требование на сонеймы). Это скорее искусственное ограничение,
> но не существует способа выразить зависимость на сонейм переносимым
> между архитектурами способом.
Добавил проверку в monolib.req, теперь nant не собирается с такой
диагностикой:
find-requires: running scripts (files,lib,mono,monolib,pam,perl,pkgconfig,pkgconfiglib,python,shebang,shell,static,symlinks)
monolib.req: /usr/src/tmp/nant-buildroot/usr/lib/NAnt/NAnt.Core.dll: cannot resolve module reference kernel32.dll
monolib.req: /usr/src/tmp/nant-buildroot/usr/lib/NAnt/NAnt.Core.dll: noarch package has soname dependency libc.so.6
error: /bin/sh failed
commit af58696ad8ff7f2976fe4a990749c07469cf5120
Author: Alexey Tourbin <at на altlinux>
Date: Mon Jan 14 20:32:18 2008 +0300
monolib.req: added check to prevent soname dependencies in noarch packages
diff --git a/mono.req b/mono.req
index 94d39c6..c89dad4 100755
--- a/mono.req
+++ b/mono.req
@@ -79,14 +79,19 @@ MonoLibReq()
local ref
for ref in $refs; do
- local target="$(fgrep "dll=\"$ref\"" "$f".config "$(MonoConfigFile)" 2>/dev/null |
+ local soname="$(fgrep "dll=\"$ref\"" "$f".config "$(MonoConfigFile)" 2>/dev/null |
sed -n 's/.*target="\(lib[^"]*[.]so[.][^"]*\|lib[^"]*[0-9][.]so\)".*/\1/p' |head -1)"
- if [ -n "$target" ]; then
- Verbose "$f: $ref -> $target"
- echo "$target$suffix"
+ if [ -n "$soname" ]; then
+ Verbose "$f: $ref -> $soname"
+ [ "${RPM_TARGET_ARCH-}" != noarch ] &&
+ echo "$soname$suffix" ||
+ Fatal "$f: noarch package has soname dependency $soname"
elif [ -z "${ref##lib*.so.*}" -o -z "${ref##lib*[0-9].so}" ]; then
- Verbose "$f: $ref = $ref"
- echo "$ref$suffix"
+ soname=$ref
+ Verbose "$f: $ref = $soname"
+ [ "${RPM_TARGET_ARCH-}" != noarch ] &&
+ echo "$soname$suffix" ||
+ Fatal "$f: noarch package has soname dependency $soname"
else
Info "$f: cannot resolve module reference $ref"
fi
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080114/83d1156d/attachment-0002.bin>
Подробная информация о списке рассылки Devel