Commit Graph

161 Commits

Author SHA1 Message Date
Mark Murray
535989d7d0 Rename a macro; it gets set at "make world" time, and I had a local
mod that masked this. D'uh.
1999-09-25 06:59:10 +00:00
Mark Murray
948f185ef5 Fix problem where a macro is not properly initialised in the !THREAD
case. Simple reodering does it.

Thanks to:	sos
1999-09-24 19:39:34 +00:00
Mark Murray
3ea5059f1e Low-level, but significant cleanup of Perl's build process.
This should significantly ease "make; make install" loops.
1999-09-24 15:32:11 +00:00
Mark Murray
15a7acf286 Oops. Forgot to cvs add these for threads support. 1999-09-04 19:17:13 +00:00
Mark Murray
3c044221da Allow perl to be built with thread support.
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
1999-09-04 10:02:04 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Dmitrij Tejblum
9aaf2bbb46 Add one more dependency (oops). 1999-05-13 12:26:09 +00:00
Dmitrij Tejblum
6fc29216ec Added some missing dependencies. 1999-05-12 19:27:44 +00:00
Mark Murray
86fc822ada Remove $Log garbage from these; it was causing failure when expanded.
Found by: Udo Schweigert <ust@cert.siemens.de>
1999-05-05 19:09:48 +00:00
Mark Murray
ce1bf9a557 System Perl is now 5.00503! There is support for threads, but this is
not currently enabled. Thread-boffins are welcome to send me patches.
1999-05-02 15:29:56 +00:00
Julian Elischer
210f91c89f Need to translate more .h to .ph then just /usr/include &
/usr/include/sys.  Specifically we need /usr/include/machine
since "syslog.h" includes "machine/ansi.h".  To be safe we
translate all of /usr/include/* and /usr/include/*/*.

sample error case:
         echo "require 'syslog.ph';" | /usr/bin/perl
will fail when syslog.ph tries to include machine/ansi.ph

Submitted by:	Doug Ambrisko
1999-03-18 19:39:07 +00:00
Mark Murray
3aabd80bd9 Back out the last commit; it broke things.
NB! NB! NB! GUYS - the perl5 build is extremely nasty!! Please run all
changes to it past me _before_ committing. There are some very subtle
gotchas.
1999-01-17 09:53:34 +00:00
Andrey A. Chernov
4e910ae91f fix optimize= settings - configpm understand only =' or =" as variables
and treat any other stuff as comments
1999-01-15 04:14:52 +00:00
Mark Murray
f17a6700e2 Fix some more turdage from the original ./configure.
Submitted by: bde
1999-01-14 20:27:26 +00:00
Peter Wemm
7d1b4bd3cc When doing a setuid script, the usual #!/usr/bin/perl detects it and execs
/usr/bin/sperl5.00502 to implement it, so that name had better exist..

Reviewed by:	markm (a while ago)
1999-01-12 07:57:01 +00:00
John Polstra
f92bdbd010 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00
Mark Murray
67b8473033 Fix paths. This sorts out the remaining p5-* port-creation hassles. 1998-10-17 07:10:43 +00:00
Mark Murray
dcd7d6b121 Properly install the *.h files in CORE and Config.pm where it wants to be.
This should fix a substantial number of broken p5-* ports.

Tested-on:	x11-toolkits/p5-Tk (Amongst others)
1998-10-15 18:50:04 +00:00
Mark Murray
10e8624d1b Damn - dirname(1) is not available this early. Work-around. 1998-10-12 06:00:30 +00:00
Mark Murray
ed4a07ffcc Very substantial debug/improvement of the FreeBSD/Perl5 build.
o make install ; make install now works
o make all ; make all is quiet the second time
o Dependancies are properliy debugged; this means that make -jN has a
  far hihjer likelyhood of working.
o a proper 'link farm' has been constructed for the build. This
  dramatically simplifies the dependancy tangle.
o for perldoc's use, all the .pod files are installed.
o the man3 docs are properly compressed.
o the man pages and libary code are installed by the makefiles, not
  by a perl script.
o at the end, h2ph is run.
1998-10-11 18:13:42 +00:00
Mark Murray
d8a42175b2 Allow NOSUIDPERL to DTRT. 1998-09-30 20:24:59 +00:00
Mark Murray
9048a9edbd Fix the shared library configuration stuff.
Noticed by: Ollivier Robert
1998-09-29 18:58:16 +00:00
Mark Murray
6f78849eef Repairs to make the ports system work again. Currently, the ports
are installed in the same place as on 2.2.*; this will almost
certainly change in the future.

While I'm here, finish off the shared library brouhaha with miniperl.
1998-09-26 16:17:06 +00:00
Mark Murray
51ec9e43ce Part #2 (final) of suidperl repair. 1998-09-24 17:25:26 +00:00
Mark Murray
883f1dcf78 More make cleanups.
1) Part of the NOSHARED fix; I messed this up and managed to get
   perl installed without being linked to the shared library libperl.so.
   This broke Perl in ELF when linking in shared objects.

2) Start of a cleanup of the man3 page location. This will (eventually)
   allow for a the ports to put their pages in the "normal" ${PREFIX}-
   based location.

3) Nuke cruft.
1998-09-23 06:05:28 +00:00
Mark Murray
7b73600389 Big cleanup of the perl build.
1) Inspired by JB's finding of a hardcoded /usr/bin/ranlib in the
   config files, these have been properly cleaned up and have
   been personalised for FreeBSD, not MarkM.

2) Inspired by Peter, copying of the lib/ext etc dirs has been
   replaced by a link farm.

3) Common code has been moved to a higher-level Makefile.inc.

This has been tested with a make -j8.
1998-09-22 12:00:59 +00:00
John Birrell
608c9e3cf8 I danced with the devil and found the needle in the haystack!
Remove the /usr/bin path to ranlib and just let the build environment
set the path. Running an aout version of ranlib on an elf library
is something we'd prefer not to do. I'm surprised that the build
didn't spit any errors when it did this. Shrug.
1998-09-21 08:44:24 +00:00
Doug Rabson
b613c32dda Supply correct type widths etc. for alpha. 1998-09-16 18:57:57 +00:00
Mark Murray
406f5f9aec Generalise the build a bit more.
1) Fix up the NOSHARED stuff (bde)
2) Accomodate CFLAGS (vanilla)
3) Provide separate files for i386 and alpha (Doug Rabson)

In case 3, the supplied files were corrupted, but the concepts
sound enough, so I just copied what exists into
config.SH-{elf|aout}.{i386|alpha}. Alpha team, go ahead and do what
is necessary on config.SH-elf.alpha. :-)
1998-09-16 17:25:52 +00:00
Mark Murray
a1b4e38100 Add a link perl --> perl5.00502
Asked-for-by: Asami-San (for ports)
1998-09-14 18:34:19 +00:00
Mark Murray
3674e655b9 Allow libperl to be a shared library.
This has the delightful side effect of fixing ELF .so objects.

Asked-for-by: peter
1998-09-12 19:16:33 +00:00
Mark Murray
4842ab0d9a Fix parallel building.
(Tested by make -j12 buildworld on a 4-cpu SMP box).

Address (but not solve) ELF shareable objects causing perl to
dump core. (I have a heck of a lot to learn about ELF).

Lots of help by: bde, jkh, jb and others
1998-09-12 15:45:30 +00:00
Mark Murray
235e962d3f Dorkus sum. I managed to commit an earlier version of this. This fixes the
broken perl build.

* NOTE * * NOTE * * NOTE *

PERL5 RELIES IN A MAKE WORLD FOR THE BOOTSTRAP!!

* NOTE * * NOTE * * NOTE *
1998-09-10 10:51:11 +00:00
Mark Murray
17168bf62e Bring in the Perl5 BMake files. This ends the easy stuff.
I'll be doiung the rest in stages.
1998-09-09 07:20:33 +00:00
Mark Murray
bae7411889 Old Perl is leaving us. Goodbye, faithful friend. 1998-09-09 06:49:33 +00:00
Bruce Evans
36c1af94e2 Use the installed version of perl for `make install'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.
1998-07-07 23:44:43 +00:00
Bruce Evans
f7bebafb62 Use the installed version of perl for `make depend'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.
The bootstrapped version has a better chance of working.

This makes the fixes and bugs in the previous 3 commits irrelevant.
Rev.1.11 was just wrong and rev.1.10 became unnecessary when
perl/perl was added to build-tools.  Don't expect to build perl/usub
without using `make world' or equivalent if you don't have perl
installed.
1998-07-07 23:32:39 +00:00
Bruce Evans
09d693f205 Fixed printf format errors. 1998-06-30 20:48:45 +00:00
Steve Price
32c2131395 Fix a bunch of spelling errors.
PR:		6856
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-04 21:06:07 +00:00
Jordan K. Hubbard
f74e1ace9c Also check for Satoshi's TMPDIR location of perl when looking around for it.
Clean up an .ifdef which was probably doing the wrong thing in the case
where user wants to override PERL.
Submitted by:	jhay
1998-05-29 06:16:44 +00:00
John Birrell
f8fc1eb94b This code casts double -> int -> char *. Ugh. Take a punt and change the
int to a long so that no bits are thrown away on alpha and hope for
the best.
1998-05-12 23:07:07 +00:00
John Birrell
3ef29d3bf0 Change a cast of long * to time_t * in a call to time(); 1998-05-12 23:03:50 +00:00
John Birrell
4baa8a70b5 Allow the makefile to choose the perl executable to run h2ph rather
than relying on the #!/usr/bin/perl in the first line of the script.
1998-05-12 23:02:14 +00:00
John Birrell
ecf85f0379 If perl exists in OBJDIR it has just been built; if it exists in
CURDIR it has been built without an obj directory; however if it is in
neither of those places, we expect it to be in DESTDIR.

Yes Bruce, I know this is broken because the host is not supposed to be
the same as the target, but we need to get the hosted build working
properly first before even attempting a cross compiled operating
system build. That will need to concept of TOOLSDIR or something that
can be mapped to DESTDIR in the case of a hosted build and set to the
installed tools in a cross compiled build. Later, later, later!
1998-05-12 22:51:34 +00:00
John Birrell
b0c3b27388 Change .if to .elif to prevent the current directory path search for a
perl executable from overriding the object directory path search where
perl is most likely to be. Most people haven't seen this because it
defaulted to /usr/bin/perl which might be OK as a fallback, but when
bootstrapping a new version (or the *first* version on alpha), we don't
really want to use /usr/bin/perl.
1998-05-12 22:32:03 +00:00
Bruce Evans
14a28dc644 Don't generate a2p.h or y.tab.h from a2p.y. Neither is actually used,
and building a2p.h clobbered the unrelated source file a2p.h if
${.OBJDIR} == ${.CURDIR}.
1998-05-05 05:25:21 +00:00
Bruce Evans
b681d90662 Fixed races in `make -jN' using new yacc rules. 1998-05-04 20:09:06 +00:00
Dima Ruban
0fcadac763 Don't build sperl if you don't want to. 1998-03-26 06:06:22 +00:00
Guido van Rooij
8cdf602055 mktemp -> mkstemp as pointed out on bugtraq
Obtained from: Theo de Raadt
1998-03-10 19:43:27 +00:00
Steve Price
ad42b1082d Build perl header files for machine/* too.
PR:		672
Submitted by:	Jun Kuriyama <kuriyama@opt.phys.waseda.ac.jp>
1998-02-21 04:06:24 +00:00
Steve Price
f4308c9940 setpwent and endpwent have a return type of void, so change this
to work like newer versions of perl.

Reviewed by:	Bruce Evans
1998-02-01 22:04:49 +00:00
Joerg Wunsch
c6850a7698 Sigh, there's always one more buffer overflow. :-(
This one hinted to by the recently posted exploit (although not exploited by
it).
1997-09-16 08:33:52 +00:00
John-Mark Gurney
46657c7e77 fix a few spelling changes
Submitted by: Josh Gilliam

Closes PR's: 4429, 4431-4438

PS: He has agreed to submit all contrib fixes back to the original author.
1997-08-30 12:22:49 +00:00
Joerg Wunsch
bc151cdc8c Major Ooops. I've overlooked a few calls to scanident() in my last commit.
Submitted by:	rbezuide@oskar.nanoteq.co.za (Reinier Bezuidenhout)
1997-08-27 17:18:30 +00:00
Joerg Wunsch
66457fe332 Fix a buffer overflow condition (that causes a security hole in suidperl).
Closes: CERT Advisory CA-97.17 - Vulnerability in suidperl
Obtained from: (partly) the fix in CA-97.17
1997-08-08 20:53:59 +00:00
Warner Losh
628c89d341 Fix buffer overload that might lead to root. 1997-05-22 21:40:08 +00:00
Joerg Wunsch
1365d7de03 Plug an old security hole: suidperl didn't honor MNT_NOSUID.
Strong 2.2 and 2.1.x candidate.  Someone should review the patch before,
however.

The maintainer of the Perl5 port should probably introduce a similar patch
there.
1997-03-01 12:58:49 +00:00
Peter Wemm
fce15c9ab3 Revert $FreeBSD$ to $Id$ 1997-02-22 15:48:31 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
1e97817fad Remove bogus redeclaration of setenv().
Fixes make world failure #3 for today (part of an ongoing series).
1997-01-07 06:26:19 +00:00
Poul-Henning Kamp
328f21ee08 Remove a couple of private malloc() implementations, one of which
was unused afterall.
1996-12-23 20:21:35 +00:00
Andrey A. Chernov
efca252ab2 Disable seteuid/setegid back, I overlook one place where
SETEUID chacked before SETREUID
1996-12-07 00:16:04 +00:00
Andrey A. Chernov
f7b6171d98 Enable seteuid, setegid 1996-12-06 22:59:56 +00:00
Nate Williams
e744d38673 Added support for '-T' and '-B' (text and binary) file recognition by
peeking inside of Chris Torek's stdio library internals.  This is
similar to the code used for other systems, but didn't work on CT's new
implementation.

Submitted by:	Gary Kline <kline@tera.com>
1996-12-03 21:56:15 +00:00
Wolfram Schneider
e83201b43a delete doubled words, e.g.: "the the" -> "the" 1996-10-05 22:27:30 +00:00
Paul Traina
cfa804d6ba Grab h2ph from /usr/bin, not /usr/local/bin! 1996-09-17 01:14:18 +00:00
Joerg Wunsch
6d41a714b2 Back out Nate's changes from rev. 1.6; our Perl has not been
vulnerable since it used setreuid() as opposed to Posix saved IDs.
The change broke setuid scripts.
1996-06-30 09:47:56 +00:00
Nate Williams
11b7f01b8f Fix for " CERT Advisory CA-96.12 - Vulnerability in suidperl"
Submitted by:	The Perl Gods as described in the advisory
1996-06-26 19:12:25 +00:00
Jordan K. Hubbard
cd9a2f5c28 Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src.  This is the final version of the
patches, incorporating the feedback I've received from -current.
1996-06-24 04:26:21 +00:00
Gary Palmer
b9d38b0c2f Use setreuid instead of seteuid for permissions management 1996-06-02 19:59:26 +00:00
Joerg Wunsch
8aa07454ea Several changes to the gethostname module:
. rename the function to main'gethostname, so it can be called unqualified,
. strip the trailing \0 character, closes PR # bin/1084,
. a better way to express an insane long string.

Submitted by:	Giles Lean <giles@topaz.nemeton.com.au> (except the 1st)
1996-03-18 21:42:31 +00:00
Joerg Wunsch
20ef00ec9c Add a small `gethostname' package. It uses __sysctl(2), and thus
avoids the kludgy backquotes that are required by now (`hostname`).

Usage:

require "gethostname.pl";
$thishost = &gethostname'gethostname;
1996-02-13 13:17:49 +00:00
Peter Wemm
a5b996a7ec recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Bruce Evans
9c0dc173cc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
Rodney W. Grimes
4399be3cbd Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
Andrey A. Chernov
f7cdf1f7ad Add link to sperl4.036, needed for suid scripts and pgms
which use sperl$]
1995-05-28 19:40:18 +00:00
Andrey A. Chernov
5a630b07ee Make link to tperl4.036, needed for suid scripts and other stuff
which use tperl$]
1995-05-28 19:38:59 +00:00
Andrey A. Chernov
4b7250c3f9 Fix $] variable value (version number), close PR 449
Submitted by: Bill Fenner <fenner@parc.xerox.com>
1995-05-28 19:21:54 +00:00
Andrey A. Chernov
4843859879 Remove setr* hacks 1995-04-27 19:56:37 +00:00
Bruce Evans
15519b2f58 Fix compiler warnings: don't declare enum types as static. 1995-04-02 13:11:14 +00:00
Andrey A. Chernov
4b99bfd375 Comment out all perverted curses optimization 1995-03-26 03:01:04 +00:00
Andrey A. Chernov
4b0ef7df4c Change wrong -ltermcap -ltermlib picked up to -lmytinfo 1995-03-26 02:41:45 +00:00
Jordan K. Hubbard
91f88b9615 Get PERL found in any of its obvious locations. 1995-03-25 17:14:11 +00:00
Bruce Evans
efeca6c1f3 Don't attempt to fix the mode of mus - mus might be read-only. Just
interpret it.  I've preserved the bugs that perl must be installed
to build part of perl and that it must be installed in the wrong place
(no ${DESTDIR}).
1995-03-25 15:43:57 +00:00
Jordan K. Hubbard
d8274511ca If mus script not executable, fix. 1995-03-24 19:22:33 +00:00
Jordan K. Hubbard
97d6478890 Adjust include paths. 1995-03-24 05:56:41 +00:00
Jordan K. Hubbard
80926682fd Bring back perl/usub as usub/, this time containing an updated curseperl
which is also installed by default (the reason for which should also be
plain shortly).
1995-03-24 04:33:54 +00:00
Rodney W. Grimes
a533e22a54 Export ${DESTDIR} to h2ph so that the *.ph files end up in the DESTDIR
directories instead of /usr/share/perl.
1995-02-14 21:47:04 +00:00
Ugen J.S. Antsilevich
a351d38006 Fix to h2ph "undefined function" bug
i reported today earlier..tested and works OK..
( To those who want to experience bug try running aub
with old version of socket.ph and with new one or just any
perl script  "requiring " <sys/socket.ph> or <sys/cdefs.ph> )
1995-02-03 15:16:03 +00:00
Jordan K. Hubbard
d15b7357a8 Install suidperl suid root.
Submitted by:	Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr>
1995-01-14 03:31:27 +00:00
Joerg Wunsch
2563fac568 I think someone has already talk about it but I just got bitten again :
perl setuid scripts don't work in 2.1-current for the same reason they were
not working in 1.1.5.1.

Perl 5 has the same "problem" of course.

We have almost POSIX saved uids but  we must undefine the following symbols
in order to get setuid perl scripts :

Submitted by:	roberto@blaise.ibp.fr (Ollivier Robert)
1995-01-09 17:52:25 +00:00
Rodney W. Grimes
8546c86b55 Add usr/share/perl/sys to mtree file, remove private mkdir from Makefile. 1995-01-03 02:57:53 +00:00
Rodney W. Grimes
1f2cdfec28 Add missing ${DESTDIR} so that the library ends up in a release.
Remove mkdir -p, this is handled by make hierarchy.
Add NOOBJ= to override obj: target, and remove local obj: target.
1995-01-01 20:30:56 +00:00
Bruce Evans
47bcf800c3 Fix previous commit. Installing links to manpages without installing
manpages is not completely trivial.

Please don't commit untested changes.
1995-01-01 17:21:09 +00:00
Bruce Evans
2e8e965294 Fix previous commit. 1995-01-01 17:14:45 +00:00
Gary Clark II
b6490eb503 Add mlinks for man page
Reviewed by:
Submitted by:
Obtained from:
1994-12-31 21:10:46 +00:00
Andreas Schulz
a7f24f529c Add the files y.tab.h and a2p.c that get automatically generated to
the CLEANFILES target. Remove the file a2p.c from the source tree, this get
generated anew from a2p.y.
1994-11-28 18:30:44 +00:00
Jordan K. Hubbard
d76158cc6e From: "Jonathan M. Bresler" <jmb@kryten.Atinc.COM>
in getting mirror-2.3 to work with FreeBSD, i found that timelocal.pl has
a bug.  a patch is included below.  this needs to be applied to both
src/gnu/usr.bin/perl/lib/timelocal.pl and
src/usr.sbin/xntpd/scripts/monitoring/timelocal.pl

Submitted by:	jmb
1994-11-18 02:24:06 +00:00
Gary Clark II
e4aaba56f5 Correct my hosing...:( 1994-11-03 23:50:43 +00:00
Gary Clark II
15aafd644b Change libs to install in /usr/lib/perl 1994-11-03 20:07:46 +00:00