summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2002-11-27 17:46:26 +0000
committerobrien <obrien@FreeBSD.org>2002-11-27 17:46:26 +0000
commit580898be412559d648c0454fd631ca1bc63562a5 (patch)
tree9927edca799ea69f91631e6e61104cdf1a241938
parent4100ca60e349cbed2d5c8eaff9451ec65dcdb2e8 (diff)
downloadFreeBSD-src-580898be412559d648c0454fd631ca1bc63562a5.zip
FreeBSD-src-580898be412559d648c0454fd631ca1bc63562a5.tar.gz
As warned on freebsd-current@, remove the perl wrapper from /usr/src.
The /usr/bin/perl wrapper isn't solving many of the problems it was imported to deal with. There are limitations to it that don't have a clear "fix". Reviewed by: markm, kris Extorted approval from: re(jhb)
-rw-r--r--share/examples/etc/make.conf1
-rw-r--r--share/man/man5/make.conf.55
-rw-r--r--usr.bin/Makefile4
-rw-r--r--usr.bin/perl/Makefile10
-rw-r--r--usr.bin/perl/pathnames.h31
-rw-r--r--usr.bin/perl/perl.c97
6 files changed, 0 insertions, 148 deletions
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index a0d269e..1cfcfd9 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -113,7 +113,6 @@
#NO_OBJC= true # do not build Objective C support
#NO_OPENSSH= true # do not build OpenSSH
#NO_OPENSSL= true # do not build OpenSSL (implies NO_OPENSSH)
-#NO_PERL_WRAPPER= true # do not build the wrapper in /usr/bin/perl
#NO_SENDMAIL= true # do not build sendmail and related programs
#NO_SHAREDOCS= true # do not build the 4.4BSD legacy docs
#NO_TCSH= true # do not build and install /bin/csh (which is tcsh)
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
index 6b56e1f..214be35 100644
--- a/share/man/man5/make.conf.5
+++ b/share/man/man5/make.conf.5
@@ -486,11 +486,6 @@ Set to not build OpenSSH.
.Pq Vt bool
Set to not build OpenSSL (implies
.Va NO_OPENSSH ) .
-.It Va NO_PERL_WRAPPER
-.Pq Vt bool
-Set to not build the perl wrapper which would otherwise
-be installed as
-.Pa /usr/bin/perl .
.It Va NO_SENDMAIL
.Pq Vt bool
Set to not build
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index fb0ceb5..7257d77 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -224,10 +224,6 @@ SUBDIR+=dig \
host
.endif
-.if !defined(NO_PERL_WRAPPER)
-SUBDIR+=perl
-.endif
-
.if !defined(NO_SENDMAIL)
SUBDIR+=vacation
.endif
diff --git a/usr.bin/perl/Makefile b/usr.bin/perl/Makefile
deleted file mode 100644
index 17994de..0000000
--- a/usr.bin/perl/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# $FreeBSD$
-
-PROG= perl
-NOMAN=
-WARNS?= 5
-LINKS= ${BINDIR}/perl ${BINDIR}/perl5 \
- ${BINDIR}/perl ${BINDIR}/perl5.6.1 \
- ${BINDIR}/perl ${BINDIR}/suidperl
-
-.include <bsd.prog.mk>
diff --git a/usr.bin/perl/pathnames.h b/usr.bin/perl/pathnames.h
deleted file mode 100644
index ac8727a..0000000
--- a/usr.bin/perl/pathnames.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * Copyright (c) 2002 Joerg Wunsch
- * 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
- * in this position and unchanged.
- * 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.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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$
- */
-
-#define PATH_PKG_BINDIR "/usr/local/bin"
diff --git a/usr.bin/perl/perl.c b/usr.bin/perl/perl.c
deleted file mode 100644
index 2bd55e7..0000000
--- a/usr.bin/perl/perl.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-
- * Copyright (c) 2002 Dag-Erling Coïdan Smørgrav
- * 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
- * in this position and unchanged.
- * 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.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/sysctl.h>
-
-#include <err.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "pathnames.h"
-
-extern char **environ;
-
-int
-main(int argc __unused, char *argv[])
-{
- char path[PATH_MAX], *cp;
- const char *cmd, *p, *q, *self;
- size_t len;
- struct stat self_stat, perl_stat;
-
- self = argv[0];
- if (stat (self, &self_stat) != 0) {
- self_stat.st_dev = makedev (0, 0);
- self_stat.st_ino = 0;
- }
- if ((cmd = strrchr(self, '/')) == NULL)
- cmd = self;
- else
- cmd++;
- /* If null path (e. g. in mailfilter scripts), use default path. */
- if ((p = getenv("PATH")) == NULL) {
- if (sysctlbyname("user.cs_path", (void *)NULL, &len,
- (void *)NULL, 0) == -1)
- err(1, "sysctlbyname(\"user.cs_path\")");
- if ((cp = malloc(len + 1)) == NULL)
- err(1, "malloc() failed");
- if (sysctlbyname("user.cs_path", cp, &len, (void *)NULL, 0) == -1)
- err(1, "sysctlbyname(\"user.cs_path\")");
- setenv("PATH", cp, 1);
- }
- /* If default package bindir not there, append it. */
- p = getenv("PATH");
- if (strstr(p, PATH_PKG_BINDIR) == NULL) {
- snprintf(path, sizeof path, "%s:%s", p, PATH_PKG_BINDIR);
- setenv("PATH", path, 1);
- }
- argv[0] = path;
- for (p = q = getenv("PATH"); p && *p && *q; p = q + 1) {
- for (q = p; *q && *q != ':'; ++q)
- /* nothing */ ;
- len = snprintf(path, sizeof path, "%.*s/%s", (int)(q - p), p, cmd);
- if (len >= PATH_MAX || strcmp(path, self) == 0)
- continue;
- if (stat (path, &perl_stat) == 0
- && self_stat.st_dev == perl_stat.st_dev
- && self_stat.st_ino == perl_stat.st_ino)
- continue;
- execve(path, argv, environ);
- if (errno != ENOENT)
- err(1, "%s", path);
- }
- errx(1, "Perl is not installed, try 'pkg_add -r perl'");
-}
OpenPOWER on IntegriCloud