ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] I: nant-0.86-alt2.cvs.20071228
Date: Mon, 14 Jan 2008 21:17:55 +0300
Message-ID: <20080114181755.GA7389@solemn.turbinal> (raw)
In-Reply-To: <20080114112749.GA31363@solemn.turbinal>

[-- Attachment #1: Type: text/plain, Size: 2387 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

  parent reply	other threads:[~2008-01-14 18:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-12  2:46 ` Dmitry V. Levin
2008-01-12 12:11   ` Stanislav Ievlev
2008-01-12 13:38   ` Alexey Shabalin
2008-01-12 16:05     ` Dmitry V. Levin
2008-01-14  6:05       ` Ildar Mulyukov
2008-01-14  9:28         ` Dmitry V. Levin
2008-01-14 11:27   ` Alexey Tourbin
2008-01-14 11:50     ` Ildar Mulyukov
2008-01-14 13:01       ` Alexey Tourbin
2008-01-15  4:04         ` Ildar Mulyukov
2008-01-14 18:17     ` Alexey Tourbin [this message]
2008-01-15  7:48       ` Vladimir V. Kamarzin
2008-01-15  8:05         ` Alexey Shabalin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080114181755.GA7389@solemn.turbinal \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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