From 8c7ec47a40c212e654c6b2b8ac5ebeda7d31be10 Mon Sep 17 00:00:00 2001 From: Julio Merino Date: Fri, 6 Jun 2014 18:58:06 +0000 Subject: [PATCH] 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 - {usr.bin => libexec}/atf/atf-sh/Makefile | 0 .../atf/atf-sh/tests/Makefile | 6 ++-- 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/tests/Makefile | 10 ------- 13 files changed, 30 insertions(+), 58 deletions(-) rename {usr.bin => libexec}/atf/atf-sh/Makefile (100%) rename {usr.bin => libexec}/atf/atf-sh/tests/Makefile (73%) delete mode 100644 usr.bin/atf/Makefile delete mode 100644 usr.bin/atf/Makefile.inc delete mode 100644 usr.bin/atf/tests/Makefile diff --git a/UPDATING b/UPDATING index bdef007aaf9f..75d844eab19b 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 3124283a0466..c60f65652a35 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 6749db5fce9f..db7554d9ddaa 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 392bbb23b236..2521be6af73d 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 ee4b21a940e6..fa7fabe8ddc4 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/usr.bin/atf/atf-sh/Makefile b/libexec/atf/atf-sh/Makefile similarity index 100% rename from usr.bin/atf/atf-sh/Makefile rename to libexec/atf/atf-sh/Makefile diff --git a/usr.bin/atf/atf-sh/tests/Makefile b/libexec/atf/atf-sh/tests/Makefile similarity index 73% rename from usr.bin/atf/atf-sh/tests/Makefile rename to libexec/atf/atf-sh/tests/Makefile index 4fc0ed74edb6..c7a8ffbf5325 100644 --- a/usr.bin/atf/atf-sh/tests/Makefile +++ b/libexec/atf/atf-sh/tests/Makefile @@ -2,7 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/usr.bin/atf/atf-sh +TESTSDIR= ${TESTSBASE}/libexec/atf/atf-sh ATF= ${.CURDIR:H:H:H:H}/contrib/atf .PATH: ${ATF}/atf-sh @@ -10,6 +10,8 @@ ATF= ${.CURDIR:H:H:H:H}/contrib/atf 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 @@ -18,7 +20,7 @@ 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 + echo '#! /usr/libexec/atf-sh' >${.TARGET}.tmp cat ${.ALLSRC} >>${.TARGET}.tmp chmod +x ${.TARGET}.tmp mv ${.TARGET}.tmp ${.TARGET} diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk index 57b90709e382..57cff5af1125 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 bd062b3a60c0..82e0b9b28d32 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 544411b11e9c..71e7a451f167 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 054cdf2ac211..000000000000 --- 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 a79cd6defdcc..000000000000 --- a/usr.bin/atf/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -BINDIR?= /usr/bin -WARNS?= 3 diff --git a/usr.bin/atf/tests/Makefile b/usr.bin/atf/tests/Makefile deleted file mode 100644 index 3ff9f93f2dec..000000000000 --- 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