Marcel Telka
2022-11-21 b8fe876054cc5be7523d742e0c1037f1f30191ae
setup.py.mk: recursively resolve test dependencies

1 files added
1 files modified
45 ■■■■ changed files
make-rules/setup.py.mk 8 ●●●● patch | view | raw | blame | history
tools/python-resolve-deps 37 ●●●●● patch | view | raw | blame | history
make-rules/setup.py.mk
@@ -315,13 +315,7 @@
COMPONENT_POST_INSTALL_ACTION += \
    cd $(@D) ; \
    ( $(COMPONENT_TEST_CMD) -qq --print-deps-to=- $(COMPONENT_TEST_TARGETS) \
        | while read l ; do \
            [ "$${l:0:2}" == "-c" ] && continue ; \
            [ "$${l:0:12}" == "--constraint" ] && continue ; \
            [ "$${l:0:2}" == "-r" ] && $(CAT) $${l:2} && continue ; \
            [ "$${l:0:13}" == "--requirement" ] && $(CAT) $${l:14} && continue ; \
            echo "$$l" ; \
        done \
        | $(WS_TOOLS)/python-resolve-deps \
        | $(GSED) -e 's/\#.*//' -e $$'s/^[ \t]*//' -e '/^$$/d' \
            -e 's/^\([a-zA-Z0-9]\([a-zA-Z0-9._-]*[a-zA-Z0-9]\)\{0,1\}\).*/\1/' \
            -e 's/[._-]\{1,\}/-/g' ; \
tools/python-resolve-deps
New file
@@ -0,0 +1,37 @@
#! /usr/bin/sh
#
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2022 Marcel Telka
#
# Helper tool to recursively resolve -r/--requirement in list of python
# dependencies
while read line ; do
    [ "${line:0:2}" == "-c" ] && continue
    [ "${line:0:12}" == "--constraint" ] && continue
    if [ "${line:0:2}" == "-r" ] ; then
        line=${line:2}
        while [ "${line:0:1}" == " " ] ; do line=${line:1} ; done
        $0 < $line
        continue
    fi
    if [ "${line:0:13}" == "--requirement" ] ; then
        line=${line:14}
        while [ "${line:0:1}" == " " ] ; do line=${line:1} ; done
        $0 < $line
        continue
    fi
    echo "$line"
done