diff options
author | obache <obache@pkgsrc.org> | 2012-06-15 14:46:53 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2012-06-15 14:46:53 +0000 |
commit | 79cbca030969b79d64cb402c0ae9be6e9e0a6a8f (patch) | |
tree | 664b42654ccd2b8b3e7875b4f672cac29954a727 /mk | |
parent | 4a1a0aea5cb7a41eec7391403cebf01f123d9616 (diff) | |
download | pkgsrc-79cbca030969b79d64cb402c0ae9be6e9e0a6a8f.tar.gz |
allow DSO in not only non-full dependency packages but also indirect full dependency.
Diffstat (limited to 'mk')
-rw-r--r-- | mk/check/check-shlibs-elf.awk | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/mk/check/check-shlibs-elf.awk b/mk/check/check-shlibs-elf.awk index e7eca5903ca..32f44c9a477 100644 --- a/mk/check/check-shlibs-elf.awk +++ b/mk/check/check-shlibs-elf.awk @@ -1,4 +1,4 @@ -# $NetBSD: check-shlibs-elf.awk,v 1.3 2010/02/02 23:35:36 joerg Exp $ +# $NetBSD: check-shlibs-elf.awk,v 1.4 2012/06/15 14:46:53 obache Exp $ # # Copyright (c) 2007 Joerg Sonnenberger <joerg@NetBSD.org>. # All rights reserved. @@ -89,11 +89,26 @@ function check_pkg(DSO, pkg, found) { return 0 } } + close(depends_file) + if (found) { + req_cmd = pkg_info_cmd " -qr " shquote(pkg) " 2> /dev/null" + while ((req_cmd | getline) > 0) { + dpkg = $0 + while((getline < depends_file) > 0) { + if ($3 == dpkg && $1 == "full") { + close(depends_file) + close(req_cmd) + return 0 + } + } + close(depends_file) + } + close(req_cmd) + } if (found) print DSO ": " pkg " is not a runtime dependency" # Not yet: # print DSO ": " pkg " is not a dependency" - close(depends_file) } function checkshlib(DSO, needed, rpath, found, dso_rath, got_rpath) { |