Commit Graph

92 Commits

Author SHA1 Message Date
imp
b0693a4cbc Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
ru
041d1287e8 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
fenner
eb450c7edf If both the unlink and the open fail, return the errno from the
unlink (very likely EPERM), since the errno from the open might
 be a confusing ETXTBSY.

Approved by:	re
MFC After:	1 week
2002-11-30 23:12:59 +00:00
bde
313635e051 #include <sys/time.h> instead of depending on namespace pollution in
<sys/stat.h> for the declaration of struct timeval.

Approved by:	re (rwatson)
2002-11-30 18:59:31 +00:00
peter
5044bd9ace A little bit of anti-foot-shooting. Use utimes(2) rather than
the deprecated utime(3).  utimes(2) uses timeval, but utime(3) uses
time_t's.  If you do bad things (like I did) by mixing up include files
with libc, then install can do strange things if you mismatch the time_t
stuff.  utime() is emulated entirely within libc.

Approved by:  re (jhb)
2002-11-15 22:43:56 +00:00
ru
7920e22cea Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
ru
c592850409 Document the new behavior of -C with respect to inode-change-time.
Document that -p also preserves the access time of the source.
2002-10-31 10:43:32 +00:00
ru
c5d62c42fa Do not change the target file's inode-change-time if -C is
specified, the target file already exists and the files are
the same, and the target's file flags and mode need not to
be changed.
2002-10-31 10:41:51 +00:00
dwmalone
b4339b74ad ANSIify function definitions.
Add some constness to avoid some warnings.
Remove use register keyword.
Deal with missing/unneeded extern/prototypes.
Some minor type changes/casts to avoid warnings.

Reviewed by:	md5
2002-09-04 23:29:10 +00:00
ru
2a8927efce Ignore -C, -p, and -S options of install(1) when used with the -d
option.  Warn about COPY being phased out.  Restore the old method
of always comparing before installing: INSTALL="install -C".

Requested by:	bde
2002-07-29 08:51:04 +00:00
ru
e11700e21e Start the (overdue) de-orbit sequence for the -d -C combo,
as was promised in revision 1.43.

MFC after:	1 month
2002-06-05 17:37:48 +00:00
trhodes
fa6c7efe3f More consistancy. file system > filesystem 2002-05-16 02:19:14 +00:00
fanf
3609bfaab7 Report errors properly if wait() fails.
PR:		30543
Approved by:	dwmalone (mentor)
MFC after:	3 weeks
2002-05-15 16:50:09 +00:00
bde
66189f380b Fixed 5 style bugs in VCS ids. 2002-05-12 04:02:57 +00:00
bde
20313e69cb Fixed printing the the strip binary's name in error messages. 2002-05-12 03:47:23 +00:00
marcel
e4f919be68 Add support for stripping non-native object files by using an
environment variable that specifies the name of the strip(1)
program to use. The envvar is "STRIPBIN". The more natural
choice would be "STRIP", but that one is taken already.
2002-05-11 19:15:15 +00:00
charnier
ad8a79e6a5 Use `The .Nm utility' 2002-04-20 12:18:28 +00:00
ru
6d38d7dc3c No longer needed to #ifdef __FBSDID, this is now handled by Makefile.inc1. 2002-04-09 11:39:05 +00:00
imp
0b20191705 remove __P 2002-03-22 01:42:45 +00:00
des
aa322cf19a Bump the cutoff mark for comparing files from 8 MB to 16 MB. 2002-03-18 23:26:13 +00:00
markm
31d81e4fbc Remove NO_WERRORs and WARNS=n's. To be revisited after GCC3. 2002-02-08 23:07:37 +00:00
imp
7380723594 xinstall is part of the upgrade path for 4.4-RELEASE as well.
Do the usualy ifdef trick here.

Reported by: dworkin muller <addr-removed> and faried nawaz <fn@hungry.com>
2001-12-19 06:05:42 +00:00
ru
d27bd7160f More "const" poisoning, and only use NO_WERROR if we're bootstrapping. 2001-12-12 08:49:51 +00:00
markm
50e4bbdea1 WARNS=2, use __FBSDID(), set NO_WERROR, as there are "dirty" files used
during the bootstrap phase.
2001-12-11 22:46:42 +00:00
dd
316b09762f This program uses sysexits(3), so it does not exit 1 on failure.
PR:		31415
2001-10-23 00:47:27 +00:00
ru
84ac5b97df When bootstrapping install(1), libc may not have the strtofflags(3) support. 2001-09-17 11:58:14 +00:00
ru
ac9087fba1 Update -v documentation to match reality.
Spotted by:	bde
2001-08-21 15:59:55 +00:00
brian
8636b161b3 Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
ru
0ca37f1781 Note that the default behavior has changed to copy files.
Also, fix markup in the SYNOPSIS.

Submitted by:	dougb
2001-05-30 09:45:47 +00:00
ru
28c43881ca Backout rev. 1.42 (relaxing the check for -d plus other flags).
Instead, issue a warning for now if -d and -C options are used
together.  This will be turned into an error before 4.5-RELEASE.

Reviewed by:	imp
2001-05-30 07:08:49 +00:00
imp
0925b2a595 Use use ${INSTALL} -d in our build process. If INSTALL is set to
"install -C" then things will fail due to new checks.  Relax the
checks so that install -C -d works again.
2001-05-29 18:41:16 +00:00
ru
03c37077e5 Many new features and optimization improvements:
o New flags: -b and -B (backup)
o New flag: -S (safe copy; aka "atomic" install)
o The -c flag is now the default.
o The -D flag was withdrawn.

Reviewed by:	bde (up to some point)
Obtained from:	OpenBSD but heavily modified
MFC after:	1 month
2001-05-28 16:41:53 +00:00
ru
5c4fced5ff Do not override `realinstall' target, use ${PROGNAME}. 2001-04-02 11:54:59 +00:00
ru
17f756a033 Do not override the ``install'' target. 2001-03-27 15:14:49 +00:00
ru
89596e4538 MAN[1-9] -> MAN. 2001-03-27 10:52:19 +00:00
ru
e6cfc0711d Prepare for mdoc(7)NG. 2000-12-19 16:00:12 +00:00
ru
0d1334ca0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
bde
d0ce9bc4dc Use the correct timestamp for the -C -p case when the comparison fails.
A garbage timestamp was used for at least installing /dev/null with -C -p
when the target doesn't already exist.
2000-10-08 09:17:56 +00:00
joe
8de98cc2fa Switch over to using the new fflagstostr and strtofflags library calls. 2000-06-17 14:19:33 +00:00
charnier
42d5955dc9 Add DIAGNOSTICS section name 2000-03-26 15:06:46 +00:00
sheldonh
49c4458c80 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 12:20:22 +00:00
joe
b57f9be4b7 Revert part of the last commit, remove {g|s}etflags from the libc
interface, and statically link them to the programs using them.
These functions, upon reflection and discussion, are too generically
named for a library interface with such specific functionality.
Also the api that they use, whilst ok for private use, isn't good
enough for a libc function.

Additionally there were complications with the build/install-world
process.  It depends heavily upon xinstall, which got broken by
the change in api, and caused bootstrap problems and general mayhem.

There is work in progress to address future problems that may be
caused by changes in install-chain tools, and better names for
{g|s}etflags can be derived when some future program requires them.
For now the code has been left in src/lib/libc/gen (it started off
in src/bin/ls).

It's important to provide library functions for manipulating file
flag strings if we ever want this interface to be adopted outside
of the source tree, but now isn't necessarily the right moment
with 4.0-release just around the corner.

Approved:	jkh
2000-02-05 18:42:36 +00:00
joe
f1a9497df5 Historically file flags (schg, uschg, etc) have been converted from
string to u_long and back using two functions, flags_to_string and
string_to_flags, which co-existed with 'ls'.  As time has progressed
more and more other tools have used these private functions to
manipulate the file flags.

Recently I moved these functions from /usr/src/bin/ls to libutil,
but after some discussion with bde it's been decided that they
really ought to go in libc.

There are two already existing libc functions for manipulating file
modes:  setmode and getmode.  In keeping with these flags_to_string
has been renamed getflags and string_to_flags to setflags.

The manual page could probably be improved upon ;)
2000-01-27 21:17:01 +00:00
bde
90aaf7aa83 Actually remove unrequired SRCS. 2000-01-05 19:22:10 +00:00
joe
9dba5b86f4 Added missing DPADD's. Removed unrequired SRCS's.
Obtained from:	bde
2000-01-01 15:44:11 +00:00
joe
a381d987c4 Moved flags_to_string and string_to_flags into libutil. It's used in
many places nowadays.
1999-12-30 13:15:15 +00:00
obrien
c4d3fc5932 Add "-v" to usage(). 1999-12-06 05:02:32 +00:00
obrien
ef7574daa0 Document the "-v" flag. [It was like that when I got here.. honestly.] 1999-12-06 05:01:14 +00:00
billf
f3e2a0e313 -Wall fixes.
Submitted by:	nrahlstr
1999-09-27 00:36:03 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00