Commit Graph

42 Commits

Author SHA1 Message Date
Warner Losh
1202b72441 Free memory from setmode.
Obtained from: OpenBSD
1998-12-16 04:51:27 +00:00
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Peter Wemm
30035fd505 fchflags(8) -> fchflags(2)
Submitted by:  Kenneth Merry <ken@plutotech.com>

Also, while here, mention that other FS's don't do flags.
1998-06-10 07:17:59 +00:00
Peter Wemm
defff80956 Treat an EOPNOTSUPP from fchflags() as a non-fatal case. Only warn about
it if flags were explicitly specified on the command line.  Do not warn
if we were merely trying to preserve flags or remove UF_NODUMP.  NFS does
not support flags.

I'm not sure that this is ideal, but it should do for now.  Installing
a plain file onto a NFS server must work, we used to silently ignore the
attempt.  Doing a binary install looses the flags anyway since cpio
doens't preserve them with the cdrom/network images.
XXX make world should not use flags or chown/chgrp in the obj/tmp area.

This is based on a suggestion from Ken Merry <ken@plutotech.com>.
1998-06-02 12:00:08 +00:00
Bruce Evans
8339e4f43d Converted to Lite2 mount interface - don't use numeric filesystem
types.  The NetBSD compatibility cruft was more correct for -current
than FreeBSD's own code.  It just used NetBSD #defines instead of
string literals for the filesystem names.  NetBSD's MOUNT_UFS is
"ffs", so using a literal "ufs" gives wrong results, but this is
unimportant, especially for bootstrapping.

Fixed style bugs in trymmap().

Fixed some disordered declarations.
1998-01-20 13:52:32 +00:00
Alexander Langer
01b67e0e07 Change MAP_FAILED to type void *.
Typo fix.
1998-01-13 02:12:43 +00:00
Peter Wemm
ff8962446b Add an option (-M) to install to disable use of mmap(2). This is kinda
handy at the moment with -current's mmap+unlink interactions..  The
problems seem worst when using INSTALL="install -C" in /etc/make.conf.
This could well come in handy in the future too.
1998-01-11 11:43:36 +00:00
John Birrell
d9b8124d7d Allow install to build from FreeBSD source using NetBSD tools and
headers during the port of FreeBSD to a NetBSD supported architecture.
FreeBSD needs to be able to install itself from very early on.
1998-01-09 06:05:13 +00:00
Andrey A. Chernov
2d9c794b58 1) Create intermediate directories with 755, not 777
2) Exit with error diagnostic if file exists but not a directory (-d)
3) Do chmod independently of chown (-d)
1997-10-28 14:20:10 +00:00
Andrey A. Chernov
cf57a56c94 1) Ignore -C with -d, not fail (for $(INSTALL) macro from /etc/make.conf)
2) When uid/gid not specified, not try to set 0:0 owner, just do nothing.
It makes possible to use install -d by users without setting
their uid:gid each time.
3) Be more specific where install_dir fails
1997-10-27 22:53:33 +00:00
Peter Wemm
387dcb61ff When calling strip, temporarily close the file, call strip and then
reopen it after strip has finished.  This makes it work when
/usr/bin/strip replaces the file rather than doing an in-place edit
(such as the binutils-2.8 strip, which is a variation of objcopy).
This is necessary if install(1) and strip(1) are going to cooperate
on an ELF system.
1997-09-14 08:21:44 +00:00
Philippe Charnier
7d85a3e836 Uncomment sccsid string and enclose it inside #if 0/#endif.
Cosmetic in man page.
1997-08-27 06:29:23 +00:00
Peter Wemm
503397df4f Bootstrap aid from older releases.. 'make world' can't build xinstall
until the includes are installed, and it doesn't install the includes until
xinstall is built (the previous xinstall binary may not have -C).  As a
bandaid, define MAP_FAILED ourselves if <sys/mman.h> didn't.  Perhaps it
would be safer to simply disable mmap if all the prerequisites are not
there.
1997-05-24 05:39:19 +00:00
Warner Losh
1c8af87873 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
Peter Wemm
c115df18cd Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
Alexander Langer
8abdc2eb40 Sweep through the tree fixing mmap() usage:
- Use MAP_FAILED instead of the constant -1 to indicate
    failure (required by POSIX).
  - Removed flag arguments of '0' (required by POSIX).
  - Fixed code which expected an error return of 0.
  - Fixed code which thought any address with the high bit set
    was an error.
  - Check for failure where no checks were present.

Discussed with:	bde
1997-01-16 21:58:40 +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
Warner Losh
a3e5ddb707 Sync usage line to man page, per style(9).
Pointed out by: Bruce Evans <bde@zeta.org.au>
1996-10-01 03:59:57 +00:00
Warner Losh
61c866689b Submitted by: Bruce Evans
Remove -S for the install usage message
Make the install usage message < 80 columns wide
Place the dodir declaration in order.
1996-09-29 23:09:51 +00:00
Warner Losh
a9c6b614f6 Implement -d in install. Update the man page to reflect this change. 1996-09-29 06:29:54 +00:00
Warner Losh
a27010239a Use EX_* exit values, from NetBSD 1996-09-28 02:53:45 +00:00
Bruce Evans
bda1d7064e Changed 'd' to 'D' in getopt arg too. 1996-09-24 17:29:42 +00:00
Warner Losh
bc2b054885 Per discussions in -current
- Change the debug flag from -d to -D to avoid conflict with other
	  install programs.
	- Update man page to reflect this
	- Update usage string
-d meaning creat directory is specifically not implemented by these changes.
1996-09-24 04:15:02 +00:00
Peter Wemm
e547f8e83a Be more careful with mmap. If it fails, fall back to a plain compare or
copy.

Dont leave stray INS@xxxx temp files around, especially when installing
something less than 8MB and the destination runs out of space, etc.

It still doesn't clean up the temp files on SEGV or other signals etc.
1996-09-05 07:54:08 +00:00
Peter Wemm
8a4854e0f7 accidently removed the "dont compare > 8MB files hack".
didn't rewind the files after the read()s in the non-mmap compare.
1996-09-05 07:33:24 +00:00
Peter Wemm
7b7fc30379 Only attempt to mmap() files from a ufs or cd9660 fs for comparing or
installing.  mmap'ing stuff over a nfs mount took out my machine during
a 'make world' last night while I was asleep.  I started out with a list
of fs's to avoid, when I realised that I really didn't know which ones
were safe with mmap, so I went for the ones I knew and implemented a
fallback compare.
1996-09-05 07:27:43 +00:00
Peter Wemm
c00062b834 Add a simple -v (verbose) option that allows you to see when -C actually
installs something.  This is not 100% right, since it has a false hit
when install -C snaps hard links.

Also, run strip(1) from the $PATH, otherwise you need a special version
of install to install (say) elf binaries which have a different strip.
With JDP's elfkit, the layout of the path determines which binary format
you are generating.
1996-08-12 17:03:30 +00:00
Bruce Evans
7739e56802 Made strip failures fatal. This fixes PR 1328. 1996-06-23 12:59:18 +00:00
Joerg Wunsch
98fd61c0a2 Don't reference NULL pointers if owner and/or group are omitted.
Pointed out by:  somebody on the mailing list who's name i forgot
1996-04-08 10:59:36 +00:00
Julian Elischer
b897ddafe5 Submitted by: archie@tribe.com
allow the user to install using a Numeric GID or UID.
this brings it in to line with chgrp and chown, ans is required
by some people using FreeBSD in a product.
1996-04-06 01:50:40 +00:00
Mike Pritchard
ade9638b8a Fix a couple of typos.
Submitted by:	Philippe Charnier <charnier@limrr.fr>
1996-03-11 03:31:51 +00:00
Paul Traina
2e2b09d90d Kludge-fix for a specific instance of bin/517.
The real fix requires changes to getpwent(3) and friends and getgrent(3)
and friends.

Submitted by:	Tim Wilkinson
1996-02-08 06:17:50 +00:00
Mike Pritchard
4a8d02835c Fix a bunch of spelling errors in a bunch of man pages. 1996-01-30 13:52:50 +00:00
Bruce Evans
de264c2bd8 Add options -C (same as -c except for preserving the modification
time of the target if the target file is the same as the source),
-d (debug), and -p (same as -C except for preserving the modification
time of the source if the target doesn't exists or is different from
the source.

Use library err() functions instead of our own and pass them better
exit codes.

Submitted by:	wollman (and changed a lot by me)
1995-10-09 07:21:00 +00:00
David Greenman
7e877393a8 Backed out change in rev 1.2. 1995-08-27 02:02:19 +00:00
Joerg Wunsch
84be91cbaf Make install not remove the target file if -s has been specified but
stripping failed (since the file has been a shell script, for
example).

Closes PR # bin/645: "install -c -s" can't inst...

Submitted by:	hohmuth@inf.tu-dresden.de (Michael Hohmuth)
1995-08-04 17:13:36 +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
Andreas Schulz
cee425927c Reviewed by:
Submitted by:
Get the man page installed. Does anyone know the reason for the name
xinstall instead of install for this directory ? Would life more
easy to get this whole thing under install.
1994-09-04 22:35:27 +00:00
Garrett Wollman
b35bdc400c More merry makefile munging for man page compatability. 1994-08-05 19:00:04 +00:00
Rodney W. Grimes
56dcbac924 Add ${COPY} on install command so that the file in obj does
not get removed when running make install.
1994-05-31 16:05:06 +00:00
Rodney W. Grimes
9f23196c42 Cleanup so that make install can run, many install: maninstall changed
to just install:, sperious targets and CLEANFILES removed.
1994-05-30 14:17:23 +00:00
Rodney W. Grimes
9b50d90275 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00