commit 744f987f501d8fcc2ea23e66676ed807c87e84f1 from: Sergey Bronnikov date: Mon Dec 04 17:14:01 2017 UTC simplify dependencies installation in bsd.regress.mk commit - a8449d36a8f239b9621ea58fbcf8f762472e831e commit + 744f987f501d8fcc2ea23e66676ed807c87e84f1 blob - /dev/null blob + 8c358ee37937d9ab3c5e0bc18644990c4bfd7460 (mode 644) --- /dev/null +++ tools/pkg_required.patch @@ -0,0 +1,271 @@ +diff --git a/regress/sys/fileops/Makefile b/regress/sys/fileops/Makefile +index 42f5dcf9088..16c3344799d 100644 +--- a/regress/sys/fileops/Makefile ++++ b/regress/sys/fileops/Makefile +@@ -1,5 +1,7 @@ + # $OpenBSD: Makefile,v 1.2 2017/05/30 08:44:58 sf Exp $ + ++PKG_REQUIRED += p5-File-Slurp ++ + SUBDIR= ffs ext2 msdos16 msdos32 + PROG= fileops + NOMAN= yes +diff --git a/regress/sys/net/Makefile b/regress/sys/net/Makefile +index d56a7cc9189..653060732ec 100644 +--- a/regress/sys/net/Makefile ++++ b/regress/sys/net/Makefile +@@ -1,5 +1,7 @@ + # $OpenBSD: Makefile,v 1.13 2017/11/17 10:29:16 bluhm Exp $ + ++PKG_REQUIRED += scapy py-libdnet ++ + SUBDIR += etherip loop + SUBDIR += pf_divert pf_forward pf_fragment pf_print pf_state pf_table + SUBDIR += rdomains rtable vxlan +diff --git a/regress/sys/net/pf_divert/Makefile b/regress/sys/net/pf_divert/Makefile +index 2c5f538ed8d..aaad41af726 100644 +--- a/regress/sys/net/pf_divert/Makefile ++++ b/regress/sys/net/pf_divert/Makefile +@@ -3,20 +3,8 @@ + # The following ports must be installed for the regression tests: + # p5-IO-Socket-INET6 object interface for AF_INET and AF_INET6 domain sockets + # p5-Socket6 Perl defines relating to AF_INET6 sockets +-# +-# Check wether all required perl packages are installed. If some +-# are missing print a warning and skip the tests, but do not fail. +- +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require IO::Socket::INET6 } or print $@; \ +- eval { require Socket6 } or print $@; \ +-' +-.if ! empty(PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install these perl packages for additional tests +- @echo SKIPPED +-.endif ++ ++PKG_REQUIRED += p5-IO-Socket-INET6 p5-Socket6 + + # Fill out these variables as you have to test divert with the pf + # kernel running on a remote machine. You have to specify a local +diff --git a/regress/sys/net/pflow/Makefile b/regress/sys/net/pflow/Makefile +index 122fe9b13e9..d6acd95d7ea 100644 +--- a/regress/sys/net/pflow/Makefile ++++ b/regress/sys/net/pflow/Makefile +@@ -27,6 +27,7 @@ + # Destroy it in the end. + + REGRESS_TARGETS=template_v10 flow_10_4 flow_10_6 ifconfig ++PKG_REQUIRED += p5-Net-Flow + + PROG= gen_traffic + LDADD= -levent +diff --git a/regress/sys/netinet/Makefile b/regress/sys/netinet/Makefile +index 9ca134c9619..116e27c0392 100644 +--- a/regress/sys/netinet/Makefile ++++ b/regress/sys/netinet/Makefile +@@ -1,5 +1,7 @@ + # $OpenBSD: Makefile,v 1.5 2017/09/07 19:00:26 bluhm Exp $ + ++PKG_REQUIRED += scapy py-libdnet ++ + SUBDIR = arp autoport frag ipsec pmtu + + .include +diff --git a/regress/sys/netinet6/Makefile b/regress/sys/netinet6/Makefile +index 61d1a1e5154..169eede30fd 100644 +--- a/regress/sys/netinet6/Makefile ++++ b/regress/sys/netinet6/Makefile +@@ -1,5 +1,7 @@ + # $OpenBSD: Makefile,v 1.2 2015/10/26 08:06:51 vgross Exp $ + ++PKG_REQUIRED += scapy py-libdnet ++ + SUBDIR = autoport frag6 nd6 rh0 + + .include +diff --git a/regress/usr.sbin/ldapd/Makefile b/regress/usr.sbin/ldapd/Makefile +index 55cf66f618b..4a783fc3734 100644 +--- a/regress/usr.sbin/ldapd/Makefile ++++ b/regress/usr.sbin/ldapd/Makefile +@@ -6,27 +6,7 @@ DIT2=dc=bar,dc=quux + NLV=0.65 + CLEANFILES=ldapd.pid log ldapd1.conf ${DIT}_indx.db ${DIT}_data.db ${DIT2}_indx.db ${DIT2}_data.db + +-# Needs p5-ldap and openldap (client) +- +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require Net::LDAP } or print $@; \ +-' +-.if ! empty (PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install package p5-ldap +- @echo SKIPPED +-.endif +- +-.if ! (make(clean) || make(cleandir) || make(obj)) +-LDAP_DEP != ldapsearch -VV 2>/dev/null ; echo $? +-.endif +-.if ("${LDAP_DEP}" != 0) +-regress: +- @echo openldap-client must be installed +- @echo SKIPPED +-.endif +- ++PKG_REQUIRED += p5-ldap openldap-client + REGRESS_TARGETS = connect import perl purge #cpan + + bootstrap: +diff --git a/regress/usr.sbin/ospfd/Makefile b/regress/usr.sbin/ospfd/Makefile +index b829bbdc296..65cc7300307 100644 +--- a/regress/usr.sbin/ospfd/Makefile ++++ b/regress/usr.sbin/ospfd/Makefile +@@ -4,21 +4,8 @@ + # p5-AnyEvent provide framework for multiple event loops + # p5-Hash-Merge merge associative arrays + # p5-YAML YAML ain't a markup language +-# +-# Check wether all required perl packages are installed. If some +-# are missing print a warning and skip the tests, but do not fail. +- +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require AnyEvent } or print $@; \ +- eval { require Hash::Merge } or print $@; \ +- eval { require YAML } or print $@; \ +-' +-.if ! empty (PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install these perl packages for additional tests +- @echo SKIPPED +-.endif ++ ++PKG_REQUIRED += p5-AnyEvent p5-Hash-Merge p5-YAML + + # Fill out these variables with your own system parameters + # You need a tap device and an unused /24 IPv4 network. +diff --git a/regress/usr.sbin/relayd/Makefile b/regress/usr.sbin/relayd/Makefile +index 7f9106d9f92..e4ce3342755 100644 +--- a/regress/usr.sbin/relayd/Makefile ++++ b/regress/usr.sbin/relayd/Makefile +@@ -8,17 +8,7 @@ + # Check wether all required perl packages are installed. If some + # are missing print a warning and skip the tests, but do not fail. + +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require IO::Socket::INET6 } or print $@; \ +- eval { require Socket6 } or print $@; \ +- eval { require IO::Socket::SSL } or print $@; \ +-' +-.if ! empty (PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install these perl packages for additional tests +- @echo SKIPPED +-.endif ++PKG_REQUIRED += p5-IO-Socker-INET6 p5-Socket6 p5-IO-Socket-SSL + + .if make (regress) || make (all) + .BEGIN: +diff --git a/regress/usr.sbin/snmpd/Makefile b/regress/usr.sbin/snmpd/Makefile +index f2c6622c074..301c17ffe51 100644 +--- a/regress/usr.sbin/snmpd/Makefile ++++ b/regress/usr.sbin/snmpd/Makefile +@@ -1,6 +1,7 @@ + # $OpenBSD: Makefile,v 1.1 2017/08/11 17:45:02 rob Exp $ + # Regress tests for snmpd + ++PKG_REQUIRED += net-snmp + REGRESS_TARGETS = run-regress-snmpd + + # Needs netsnmp +diff --git a/regress/usr.sbin/switchd/Makefile b/regress/usr.sbin/switchd/Makefile +index 76c47af0fdd..ce58ca65c71 100644 +--- a/regress/usr.sbin/switchd/Makefile ++++ b/regress/usr.sbin/switchd/Makefile +@@ -4,21 +4,8 @@ + # p5-Net-Pcap Perl interface for libpcap + # p5-NetPacket Perl interface for packet encoding/decoding + # p5-Crypt-Random To fill payloads with weak random data +-# +-# Check wether all required perl packages are installed. If some +-# are missing print a warning and skip the tests, but do not fail. +- +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require NetPacket::Ethernet } or print $@; \ +- eval { require Net::Pcap } or print $@; \ +- eval { require Crypt::Random } or print $@; \ +-' +-.if ! empty (PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install these perl packages for additional tests +- @echo SKIPPED +-.endif ++ ++PKG_REQUIRED += p5-Net-Pcap p5-NetPacket p5-Crypt-Random + + # Automatically generate regress targets from test cases in directory. + +diff --git a/regress/usr.sbin/syslogd/Makefile b/regress/usr.sbin/syslogd/Makefile +index 7b33571f60d..c12a57b88a2 100644 +--- a/regress/usr.sbin/syslogd/Makefile ++++ b/regress/usr.sbin/syslogd/Makefile +@@ -8,22 +8,12 @@ + # + # This package enables additional interoperability tests + # rsyslog syslog daemon supporting databases, TCP, SSL, RELP +-# +-# Check wether all required perl packages are installed. If some +-# are missing print a warning and skip the tests, but do not fail. +- +-PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ +- eval { require IO::Socket::INET6 } or print $@; \ +- eval { require Socket6 } or print $@; \ +- eval { require IO::Socket::SSL } or print $@; \ +- eval { require BSD::Resource } or print $@; \ +-' +-.if ! empty (PERL_REQUIRE) +-regress: +- @echo "${PERL_REQUIRE}" +- @echo install these perl packages for additional tests +- @echo SKIPPED +-.endif ++ ++PKG_REQUIRED += p5-IO-Socket-INET6 p5-Socket6 p5-IO-Socket-SSL p5-BSD-Resource ++.for _p in ${PKG_REQUIRED} ++ @echo ${_p} ++ @pkg_add ${_p} ++.endfor + + # Automatically generate regress targets from test cases in directory. + +diff --git a/share/mk/bsd.regress.mk b/share/mk/bsd.regress.mk +index 0b8aa4c30dc..3eba3d28054 100644 +--- a/share/mk/bsd.regress.mk ++++ b/share/mk/bsd.regress.mk +@@ -33,6 +33,13 @@ ${_REGRESS_NEW}:=${${_REGRESS_OLD}} + . endif + .endfor + ++.if defined(PKG_REQUIRED) ++. for _p in ${PKG_REQUIRED} ++ @echo ${_p} ++ @pkg_add 1>&2 ${_p} ++. endfor ++.endif ++ + # XXX - Need full path to REGRESS_LOG, otherwise there will be much pain. + REGRESS_LOG?=/dev/null + REGRESS_SKIP_TARGETS?= +@@ -65,7 +72,7 @@ _SKIP_FAIL= + _SKIP_FAIL=- + .endif + +-.if defined(REGRESS_ROOT_TARGETS) ++.if defined(REGRESS_ROOT_TARGETS) or defined(PKG_REQUIRED) + _ROOTUSER!=id -g + SUDO?= + . if (${_ROOTUSER} != 0) && empty(SUDO)