From 7cc30227c92f89afbee92a73bd84bed53631e0c3 Mon Sep 17 00:00:00 2001 From: jmmv Date: Fri, 6 Jun 2014 18:58:06 +0000 Subject: Move atf-sh from /usr/bin/ to /usr/libexec/ In r266650, we made libatf-c and libatf-c++ private libraries so that no components outside of the source tree could unintendedly depend on them. This change does the same for the "atf-sh library" by moving the atf-sh interpreter from its public location in /usr/bin/ to the private location in /usr/libexec/. Our build system will ensure that our own test programs use the right binary, but users won't be able to depend on atf-sh by "mistake". Committing this now to ride the UPDATING notice added with r267172 today. --- UPDATING | 11 +++++-- etc/mtree/BSD.tests.dist | 6 ++-- libexec/atf/Makefile | 2 +- libexec/atf/Makefile.inc | 2 ++ libexec/atf/atf-check/Makefile | 1 - libexec/atf/atf-sh/Makefile | 55 ++++++++++++++++++++++++++++++++ libexec/atf/atf-sh/tests/Makefile | 28 ++++++++++++++++ share/mk/atf.test.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 12 +++++++ usr.bin/Makefile | 2 -- usr.bin/atf/Makefile | 30 ----------------- usr.bin/atf/Makefile.inc | 4 --- usr.bin/atf/atf-sh/Makefile | 55 -------------------------------- usr.bin/atf/atf-sh/tests/Makefile | 26 --------------- usr.bin/atf/tests/Makefile | 10 ------ 15 files changed, 109 insertions(+), 137 deletions(-) create mode 100644 libexec/atf/atf-sh/Makefile create mode 100644 libexec/atf/atf-sh/tests/Makefile delete mode 100644 usr.bin/atf/Makefile delete mode 100644 usr.bin/atf/Makefile.inc delete mode 100644 usr.bin/atf/atf-sh/Makefile delete mode 100644 usr.bin/atf/atf-sh/tests/Makefile delete mode 100644 usr.bin/atf/tests/Makefile diff --git a/UPDATING b/UPDATING index bdef007..75d844e 100644 --- a/UPDATING +++ b/UPDATING @@ -41,11 +41,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW: programs once the operator executes "make delete-old-libs" after a "make installworld". + Additionally, the atf-sh binary was made private by moving it into + /usr/libexec/. Already-built shell test programs will keep the + path to the old binary so they will break after "make delete-old" + is run. + If you are using WITH_TESTS=yes (not the default), wipe the object tree and rebuild from scratch to prevent spurious test failures. - This is only needed once: the old, misnumbered libraries have been - added to OptionalObsoleteFiles.inc so they will be removed during a - clean upgrade. + This is only needed once: the misnumbered libraries and misplaced + binaries have been added to OptionalObsoleteFiles.inc so they will + be removed during a clean upgrade. 20140512: Clang and llvm have been upgraded to 3.4.1 release. diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 3124283..c60f656 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -88,6 +88,8 @@ atf atf-check .. + atf-sh + .. .. .. sbin @@ -127,10 +129,6 @@ usr.bin apply .. - atf - atf-sh - .. - .. bmake archives fmt_44bsd diff --git a/libexec/atf/Makefile b/libexec/atf/Makefile index 6749db5..db7554d 100644 --- a/libexec/atf/Makefile +++ b/libexec/atf/Makefile @@ -25,6 +25,6 @@ # # $FreeBSD$ -SUBDIR= atf-check tests +SUBDIR= atf-check atf-sh tests .include diff --git a/libexec/atf/Makefile.inc b/libexec/atf/Makefile.inc index 392bbb2..2521be6 100644 --- a/libexec/atf/Makefile.inc +++ b/libexec/atf/Makefile.inc @@ -28,3 +28,5 @@ CFLAGS+= -DHAVE_CONFIG_H WARNS?= 3 + +.include "../Makefile.inc" diff --git a/libexec/atf/atf-check/Makefile b/libexec/atf/atf-check/Makefile index ee4b21a..fa7fabe 100644 --- a/libexec/atf/atf-check/Makefile +++ b/libexec/atf/atf-check/Makefile @@ -31,7 +31,6 @@ ATF= ${.CURDIR:H:H:H}/contrib/atf .PATH: ${ATF}/atf-sh -BINDIR= /usr/libexec PROG_CXX= atf-check SRCS= atf-check.cpp MAN= atf-check.1 diff --git a/libexec/atf/atf-sh/Makefile b/libexec/atf/atf-sh/Makefile new file mode 100644 index 0000000..3f461fd --- /dev/null +++ b/libexec/atf/atf-sh/Makefile @@ -0,0 +1,55 @@ +#- +# Copyright (c) 2011 Google, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +.include +.include + +ATF= ${.CURDIR:H:H:H}/contrib/atf +.PATH: ${ATF}/atf-sh + +PROG_CXX= atf-sh +SRCS= atf-sh.cpp +MAN= atf-sh.1 atf-sh-api.3 + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${ATF} + +DPADD+= ${LIBATF_C} ${LIBATF_CXX} +LDADD+= -latf-c++ -latf-c +USEPRIVATELIB= atf-c++ atf-c + +FILESGROUPS= SUBR + +SUBRDIR= ${SHAREDIR}/atf +SUBR= libatf-sh.subr + +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + +.include "../../../lib/atf/common.mk" +.include diff --git a/libexec/atf/atf-sh/tests/Makefile b/libexec/atf/atf-sh/tests/Makefile new file mode 100644 index 0000000..c7a8ffb --- /dev/null +++ b/libexec/atf/atf-sh/tests/Makefile @@ -0,0 +1,28 @@ +# $FreeBSD$ + +.include + +TESTSDIR= ${TESTSBASE}/libexec/atf/atf-sh + +ATF= ${.CURDIR:H:H:H:H}/contrib/atf +.PATH: ${ATF}/atf-sh + +ATF_TESTS_SH+= atf_check_test +ATF_TESTS_SH+= config_test +ATF_TESTS_SH+= integration_test +ATF_TESTS_SH_SED_integration_test= \ + -e 's,/usr/bin/env *atf-sh,/usr/libexec/atf-sh,g' +ATF_TESTS_SH+= normalize_test +ATF_TESTS_SH+= tc_test +ATF_TESTS_SH+= tp_test + +SCRIPTS+= misc_helpers +SCRIPTSDIR_misc_helpers=${TESTSDIR} +CLEANFILES+= misc_helpers misc_helpers.tmp +misc_helpers: misc_helpers.sh + echo '#! /usr/libexec/atf-sh' >${.TARGET}.tmp + cat ${.ALLSRC} >>${.TARGET}.tmp + chmod +x ${.TARGET}.tmp + mv ${.TARGET}.tmp ${.TARGET} + +.include diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk index 57b9070..57cff5a 100644 --- a/share/mk/atf.test.mk +++ b/share/mk/atf.test.mk @@ -104,7 +104,7 @@ CLEANFILES+= ${_T} ${_T}.tmp ATF_TESTS_SH_SED_${_T}?= # empty ATF_TESTS_SH_SRC_${_T}?= ${_T}.sh ${_T}: ${ATF_TESTS_SH_SRC_${_T}} - echo '#! /usr/bin/atf-sh' > ${.TARGET}.tmp + echo '#! /usr/libexec/atf-sh' > ${.TARGET}.tmp cat ${.ALLSRC} | sed ${ATF_TESTS_SH_SED_${_T}} >>${.TARGET}.tmp chmod +x ${.TARGET}.tmp mv ${.TARGET}.tmp ${.TARGET} diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index bd062b3..82e0b9b 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -4103,6 +4103,7 @@ OLD_FILES+=usr/share/man/man8/telnetd.8.gz .endif .if ${MK_TESTS} == yes +OLD_FILES+=usr/bin/atf-sh OLD_LIBS+=usr/lib/libatf-c++.a OLD_LIBS+=usr/lib/libatf-c++.so OLD_LIBS+=usr/lib/libatf-c++.so.1 @@ -4135,6 +4136,17 @@ OLD_FILES+=usr/share/aclocal/atf-c.m4 OLD_FILES+=usr/share/aclocal/atf-common.m4 OLD_FILES+=usr/share/aclocal/atf-sh.m4 OLD_DIRS+=usr/share/aclocal +OLD_FILES+=usr/tests/usr.bin/atf/Kyuafile +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/Kyuafile +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/atf_check_test +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/config_test +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/integration_test +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/misc_helpers +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/normalize_test +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/tc_test +OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/tp_test +OLD_DIRS+=usr/tests/usr.bin/atf/atf-sh +OLD_DIRS+=usr/tests/usr.bin/atf OLD_FILES+=usr/tests/lib/atf/libatf-c/test_helpers_test OLD_FILES+=usr/tests/lib/atf/test-programs/fork_test OLD_FILES+=usr/tests/lib/atf/libatf-c++/application_test diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 544411b..71e7a45 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -12,7 +12,6 @@ SUBDIR= alias \ apply \ asa \ - ${_atf} \ awk \ banner \ basename \ @@ -333,7 +332,6 @@ SUBDIR+= telnet .endif .if ${MK_TESTS} != "no" -_atf= atf _tests= tests .endif diff --git a/usr.bin/atf/Makefile b/usr.bin/atf/Makefile deleted file mode 100644 index 054cdf2..0000000 --- a/usr.bin/atf/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -#- -# Copyright (c) 2011 Google, Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - -SUBDIR= atf-sh tests - -.include diff --git a/usr.bin/atf/Makefile.inc b/usr.bin/atf/Makefile.inc deleted file mode 100644 index a79cd6d..0000000 --- a/usr.bin/atf/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -BINDIR?= /usr/bin -WARNS?= 3 diff --git a/usr.bin/atf/atf-sh/Makefile b/usr.bin/atf/atf-sh/Makefile deleted file mode 100644 index 3f461fd..0000000 --- a/usr.bin/atf/atf-sh/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -#- -# Copyright (c) 2011 Google, Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - -.include -.include - -ATF= ${.CURDIR:H:H:H}/contrib/atf -.PATH: ${ATF}/atf-sh - -PROG_CXX= atf-sh -SRCS= atf-sh.cpp -MAN= atf-sh.1 atf-sh-api.3 - -CFLAGS+= -DHAVE_CONFIG_H -CFLAGS+= -I${ATF} - -DPADD+= ${LIBATF_C} ${LIBATF_CXX} -LDADD+= -latf-c++ -latf-c -USEPRIVATELIB= atf-c++ atf-c - -FILESGROUPS= SUBR - -SUBRDIR= ${SHAREDIR}/atf -SUBR= libatf-sh.subr - -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif - -.include "../../../lib/atf/common.mk" -.include diff --git a/usr.bin/atf/atf-sh/tests/Makefile b/usr.bin/atf/atf-sh/tests/Makefile deleted file mode 100644 index 4fc0ed7..0000000 --- a/usr.bin/atf/atf-sh/tests/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ - -.include - -TESTSDIR= ${TESTSBASE}/usr.bin/atf/atf-sh - -ATF= ${.CURDIR:H:H:H:H}/contrib/atf -.PATH: ${ATF}/atf-sh - -ATF_TESTS_SH+= atf_check_test -ATF_TESTS_SH+= config_test -ATF_TESTS_SH+= integration_test -ATF_TESTS_SH+= normalize_test -ATF_TESTS_SH+= tc_test -ATF_TESTS_SH+= tp_test - -SCRIPTS+= misc_helpers -SCRIPTSDIR_misc_helpers=${TESTSDIR} -CLEANFILES+= misc_helpers misc_helpers.tmp -misc_helpers: misc_helpers.sh - echo '#! /usr/bin/atf-sh' >${.TARGET}.tmp - cat ${.ALLSRC} >>${.TARGET}.tmp - chmod +x ${.TARGET}.tmp - mv ${.TARGET}.tmp ${.TARGET} - -.include diff --git a/usr.bin/atf/tests/Makefile b/usr.bin/atf/tests/Makefile deleted file mode 100644 index 3ff9f93..0000000 --- a/usr.bin/atf/tests/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -.include - -TESTSDIR= ${TESTSBASE}/usr.bin/atf - -.PATH: ${.CURDIR:H:H:H}/tests -KYUAFILE= yes - -.include -- cgit v1.1