On Mon, May 13, 2019 at 12:59:27PM +0100, Stuart Henderson wrote: > On 2019/05/10 09:30, Andrew Hewus Fresh wrote: > > p5-Ref-Util-XS could use TEST_DEPENDS=devel/p5-Readonly, as an XS module > > is not a candidate for PKG_ARCH=* so that needs to be removed > > This teaches portcheck to look for plists containing shared/static > libraries that are marked PKG_ARCH=*. Any comments/ok?
OK afresh1@ Probably should add a similar check to portgen to avoid setting PKG_ARCH=* if we find something. I added it to my TODO list. > Index: portcheck > =================================================================== > RCS file: /cvs/ports/infrastructure/bin/portcheck,v > retrieving revision 1.126 > diff -u -p -r1.126 portcheck > --- portcheck 16 Nov 2018 10:08:38 -0000 1.126 > +++ portcheck 13 May 2019 11:56:39 -0000 > @@ -851,10 +851,12 @@ sub_checks() { > make "${make_args[@]}" show="$vars" | { > local comment fullpkgname modules pkg_arch > local wantlib perm_pkg_cdrom perm_pkg_ftp > + local arch_independent=false > read -r comment > read -r fullpkgname > read -r modules > read -r pkg_arch > + [[ $pkg_arch == "*" ]] && arch_independent=true > read -r wantlib > read -r wantlib_ss > read -r perm_pkg_cdrom > @@ -865,7 +867,7 @@ sub_checks() { > "COMMENT${subpkg%-}, please" > fi > > - if [[ $pkg_arch == "*" && -n $wantlib ]]; then > + if $arch_independent && [[ -n $wantlib ]]; then > if [[ $subpkg != - || -n $wantlib_ss > ]]; then > err "${portref}non-empty > $wantlib_var for" \ > "arch-independent package" > @@ -881,7 +883,8 @@ sub_checks() { > print-plist-with-depends || true) \ > </dev/null |& > check_plist "$portref" "$fullpkgname" \ > - "$flavor" "${subpkg%-}" "$modules" > + "$flavor" "${subpkg%-}" "$modules" \ > + "$arch_independent" > check_lib_depends "$portref" "$subpkg" \ > "$modules" "$wantlib" > wait > @@ -935,6 +938,8 @@ sub_checks() { > # > # * @rcscript items and pkg-readmes have @mode, @owner and @group reset. > # > +# * PKG_ARCH is not set to * if a library is present. > +# > check_plist() { > $debugging && echo "CALLED: check_plist($*)" >&2 > > @@ -943,6 +948,7 @@ check_plist() { > local flavor_list=$1; shift > local subpkg=$1; shift > local modules_list=$1; shift > + local arch_independent=$1; shift > > local flavor is_static=false > for flavor in $flavor_list; do > @@ -982,6 +988,7 @@ check_plist() { > > local qml_found=false qt5_qml_found=false non_qt5_qml_found=false > local qt4_dep=false qt5_dep=false qt5declarative_dep=false > + local lib_found=false > > local owner_set=false group_set=false mode_set=false > local readme_seen=false > @@ -1071,6 +1078,7 @@ check_plist() { > ;; > lib/qt5/qml/*) > qml_found=true > + lib_found=true > qt5_qml_found=true > ;; > */qmldir) > @@ -1078,6 +1086,10 @@ check_plist() { > non_qt5_qml_found=true > ;; > > + *.so|*.a|*.so.*) > + lib_found=true > + ;; > + > share/dbus-1/system-services/*) > dbus_suid_dep_needed=true > ;; > @@ -1204,6 +1216,9 @@ check_plist() { > $qt5_dep && ! $qt4_dep && $non_qt5_qml_found && > err "${portref}depends on Qt5 but installs QML files" \ > "outside PREFIX/lib/qt5/qml/" > + > + $lib_found && $arch_independent && > + err "${portref}arch-independent package contains library files" > > # dbus,-suid > if $dbus_suid_dep_needed && ! $dbus_suid_dep && ! $is_dbus_suid; then > -- andrew - http://afresh1.com A printer consists of three main parts: the case, the jammed paper tray and the blinking red light.