Commit Graph

23 Commits

Author SHA1 Message Date
tv
fcae5f73b7 Add hooks to make mtree compilable from src/tools. 2002-01-29 00:07:27 +00:00
lukem
9ca22e1409 Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to
be done from dbdir/master.passwd and dbdir/group, using simple text file
parsing routines.
2002-01-24 03:20:11 +00:00
lukem
911a933fe1 with local crc.c, don't need usr.bin/cksum in .PATH any more 2001-11-10 07:10:11 +00:00
lukem
e8b2f3326f User interface changes from (or inspired by) FreeBSD:
- Add -L to walk the tree `logically', by following symbolic links in
  the heirarchy.
- Add -P to walk the tree `physically'. This is the current behaviour,
  and the default.
- Add "-X excludes-file" to give mtree the ability to exclude files and
  directories from its traversal.  excludes-file contains fnmatch(3)
  patterns to exclude from the walk.
- Add "md5digest" synonym for "md5".
- Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym.
- Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym.
- Don't try to compare() other attributes if the type doesn't match;
  it's nothing but trouble, and no use anyway.
- In -c, only emit "/set" records if something has changed since the
  previous one.

User interface changes by me:
- Check a device's parameters before checking uid/gid/mode.
- If updating (-u), modify the following to match the specification:
	- Device type (retaining existing ownership).
	- Symlink target.

Fixes from (or inspired by) FreeBSD:
- Use p->ftslevel instead of own code to keep track of the level ourself.
  The previous code got majorly confused if fts(3) couldn't descend
  into a subdir, resulting in leaf nodes getting attached to the wrong
  directory.
  XXX: This new method is much much more robust, even though it's not 100%
  perfect; it might result in a couple of following entries in the spec
  to be incorrectly tagged as missing.
- Pass a useful pathname to rlink(), so that logical (-L) traversal
  doesn't confuse symlink checking.
- Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that
  there's room for the NUL.
- Use mtree_err() and strerror(p->fts_errno) to report errors during
  the fts(3) walk.

Fixes by me:
- Remove now-unused `const char *name' argument from compare().
- Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c.
- Remove trailing whitespace.
- Remove unnecessary (void) casts on functions.
- Reorder entries in the getopt() switch.
- Replace strtoq() with strtoll(), and use strtoul() appropriately.
- Renumber F_ flags to be in alphabetical order.
2001-11-07 08:01:51 +00:00
lukem
f644bd620b complete WARNS=2 cleanup (with a bit of ickiness for the fts_open argv issue) 2001-10-18 05:06:01 +00:00
enami
a28fcd776c Make mtree a host tool and use it when appropriate. 2001-10-09 05:19:03 +00:00
lukem
bc1697fc70 Add "device" keyword, which allows the device number to be specified,
to be later checked and possibly created. Uses parsing and encoding
routines from mknod(8).
2001-10-09 04:50:00 +00:00
lukem
617a65b6f7 replace home-grown parser with fparseln() 2001-09-10 03:22:24 +00:00
wennmach
914178b225 code.c is no longer used, we use strsvis instead. Removed prototypes
from extern.h
1999-12-07 18:42:06 +00:00
wennmach
7db0eb0492 Encode file names using strvis(3) when creating a specification.
Escape white space characters and `#' characters. Do the inverse
when reading specs.

This is a temporary fix until we have strzouvis(3) (or some such)
which is an improved version of strvis (taking an additional list
of characters to encode).

Fixes PR 5006 and PR 7663
1999-11-07 20:23:01 +00:00
mrg
f2fb63efda add support for 4.4BSD file flags. we take a `flags=xxx' parameter,
using the same style of naming as chflags, ls & xinstall use, plus an
additional `none' to turn off a default setting.
1998-10-10 07:50:27 +00:00
lukem
0a94f4f077 use CPPFLAGS instead of CFLAGS 1997-10-25 06:57:53 +00:00
mrg
590bf19cde merge lite-2 1997-10-17 05:24:29 +00:00
gwr
10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00
gwr
012e528f2e Use .PATH.c: ... 1997-05-06 20:44:56 +00:00
cgd
94f5a7441c add NetBSD id's 1995-03-07 21:12:04 +00:00
cgd
d03f028e33 clean up import, fix a few bugs, etc. 1995-03-07 15:28:32 +00:00
cgd
d8806814a6 specify man pages the new way. 1994-12-22 11:32:57 +00:00
cgd
8415642178 don't forget the man page. from Luke Mewburn <lm@rmit.edu.au> 1994-03-19 07:55:56 +00:00
cgd
aea2695257 fix oops 1993-11-02 08:43:48 +00:00
cgd
476023b5bb latest mtree from uunet. doesn't compile, but that'll be fixed soon.
(want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff
is released...)
1993-11-02 07:51:06 +00:00
mycroft
b465cf4697 Add RCS identifiers. 1993-07-30 22:11:51 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00