Commit graph

149 commits

Author SHA1 Message Date
Maxim Sobolev
181a5b5a6e Fix "off by 1" error introduced in the previous commit by replacing strncpy(3)
with strlcpy(3).

MFC after:	2 weeks
2001-10-16 03:04:15 +00:00
Maxim Sobolev
be5780f384 Use strncpy(3) instead of strcpy(3) to copy optarg into a fixed-sized buffer.
Prompted by:	dd
MFC after:	2 weeks
2001-10-15 18:21:08 +00:00
Maxim Sobolev
f3fa78b0b5 - Introduce a notion of `packing list format version'. This allows making
non-backward compatible changes in the format of packing list and handle
  them gracefully;
- fix a longstanding issue with symlinks handling. Instead of recording
  checksum for the file symlink points to, record checksum for the value
  returned by readlink(2). For backward compatibility increase packing list
  format minor version number and provide a fallback to a previous behaviour,
  if package in question was created with older version of pkg_* tools;

Submitted by:	Alec Wolman <wolman@cs.washington.edu>, sobomax

- don't record MD5 checksum for device nodes, fifo's and other non-regular
  files.

Submitted by:	nbm
MFC in:		2 weeks
2001-10-10 08:21:41 +00:00
Maxim Sobolev
d100deb8cc WARNS=2 cleanup.
Tested on:	i386, alpha
MFC after:	2 weeks
2001-10-10 06:58:42 +00:00
Maxim Sobolev
a09c8e438b Various fixes and improvements:
- fix harmless compiler's warnings (unused variables and missed prototype);
- before refusing to delete package because "there are packages installed
  that require this package" check that packages in question is actually
  installed;
- add new `-r' option to pkg_delete(8), which instructs it to delete not only
  packages specified at command line, but all packages that depend on
  specified packages as well.

MFC after:	2 weeks
2001-09-19 08:06:48 +00:00
Kris Kennaway
1e1bbe0f97 Recognise @option directives instead of falling through to the default
"unknown command" clause.

PR:	29262
2001-08-06 20:09:26 +00:00
Maxim Sobolev
3d02d34c75 Cosmetics: replace dozen instances of "(tmp = getenv(PKG_DBDIR) ? tmp : DEF_LOG_DIR)"
with macro.

MFC after:	1 month
2001-08-02 13:13:06 +00:00
Maxim Sobolev
2d800f2bd9 Usability tweak:
Use '' quotes instead of `' to delimit names of files and packages in
  warning and error messages, because it is easier to cut-n-paste name in
  question that way (single click) without confusing the shell. And yes,
  I know that it is less eye-candy...

MFC after:	1 month
2001-08-02 12:38:29 +00:00
David E. O'Brien
90e655ea4e Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Ruslan Ermilov
a4c37c816b mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
Maxim Sobolev
0c8923e54b Decapitalise first letter of warning message. 2001-03-26 09:57:26 +00:00
Maxim Sobolev
9d90a8d714 In which(1) mode resolve "/../", "/./" in arguments and PLIST contents. This
is done without realpath() to avoid symlinks resolving.

Submitted by:	sobomax, Garrett Rooney <rooneg@electricjellyfish.net>
2001-03-26 09:31:41 +00:00
Maxim Sobolev
c805813625 - Add which(1)-like functionality into pkg_info;
- fix a harmless bug in match_installed() function introduced in my last
  commit;
- uniformely reorder includes across files.

Submitted by:		Garrett Rooney <rooneg@electricjellyfish.net>
Not objected by:	jkh, -ports
2001-03-23 18:45:24 +00:00
Maxim Sobolev
1edf3f9bdb Put back several lines that I erroneously deleted in my previous commit. This
should fix recent segfault of `pkg_info -e'.

Submitted by:	Garrett Rooney <rooneg@electricjellyfish.net>, knu
2001-03-01 13:08:07 +00:00
Maxim Sobolev
29114b9283 - Merge recently added into pkg_info(1) regex/glob matching functionality into
pkg_delete(1) as well;
- add a new `-a' option for pkg_delete(1) to delete all installed packages;
- add a new `-i' option for pkg_delete(1) to request simple rm(1)-like
  interactive confirmation before attempting to delete each package.

Silently approved by:	jkh, -ports
2001-02-27 09:00:18 +00:00
Maxim Sobolev
87b0b1f0b8 Add two missed modifiers into usage message (-G' and -x'). 2001-02-24 14:10:31 +00:00
Jordan K. Hubbard
eb60c63ed2 Use the more logical author syntax from pkg_version and quote
email addresses properly.
2001-02-20 21:57:19 +00:00
Ruslan Ermilov
13ddcc713c mdoc(7) police: cosmetics. 2001-02-09 07:54:59 +00:00
Maxim Sobolev
5fe43ff5b5 - By default treat supplied arguments as a shell globs to be matched against
names of installed packages;
- add new `-G' option to disable glob matching and revert to previous
  behaviour (I have no idea why this could be necessary, though);
- add a new `-x' option, which instructs pkg_info(1) to treat supplied
  arguments as a regular expressions.

For example:
$ pkg_info foo\* - displays information about all packages whose names start
		   from foo
$ pkg_info -G foo\*-1.1 - displays information about package named "foo*-1.1"
$ pkg_info -x ^foo.\* - displays information about all packages whose names
			start from foo

Original idea submitted by:	Edwin Groothuis <mavetju@chello.nl> (bin/24695)
Reviewed by:			jkh, roam
Approved by:			jkh
2001-02-08 17:44:00 +00:00
Ruslan Ermilov
46eea498da mdoc(7) police: Change -filled displays (which just happen
to be the same as -ragged in the current implementation) to
-ragged.  With mdocNG, -filled displays produce the correct
output, formatted and justified to both margins.
2001-02-07 13:45:30 +00:00
Maxim Sobolev
558e2b6950 -pedantic mode:
- Add a missed prototype for the recently added show_cksum() function;
- put in "explicit braces to avoid ambitious else" suggested by gcc(1).
2001-02-05 09:56:52 +00:00
Jordan K. Hubbard
eec075cac9 Add a -g flag for verifying an installed package against its recorded
checksums (to see if it's been modified post-installation).  Naturally,
this mechanism is only as secure as the contents of /var/db/pkg if you're
using it for auditing purposes.

Submitted by:	Roman Shterenzon <roman@xpert.com>
2001-02-03 20:56:32 +00:00
Ruslan Ermilov
610a5778c5 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:44:04 +00:00
Ruslan Ermilov
8b5c4af3ff Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
Maxim Sobolev
67739cc833 Alphabetically reorder options in `.Op Fl' macro to be consistent with the
rest of the code.
2000-12-05 16:40:14 +00:00
Maxim Sobolev
599654abba - Add missed `-s' option into usage printout;
- sort options alphabetically.
2000-12-05 11:02:19 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Ruslan Ermilov
b5c508fba3 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
Maxim Sobolev
dd2b039a87 Add "-o" option to pkg_create(1) and pkg_info(1). This option intended to record
a path of the port from which package has been created within FreeBSD Ports
Collection and will be used to improve pkg_version(1) and similar tools.

Reviewed by:	ports@FreeBSD.org, jkh
Approved by:	jkh
2000-10-23 07:01:31 +00:00
Jordan K. Hubbard
aed4d2d137 Cause fatal error messages to be a little more helpful to the programmer
concerning where they're taking place.

Switch from [r]index() to str[r]chr() functions, which are more ISO
compliant.

Prompted by:	Edward Welbourne <eddy@vortigen.demon.co.uk>
2000-10-22 09:53:27 +00:00
Dag-Erling Smørgrav
c1ff8324f0 Trim index lines down to 79 characters, not 80.
Approved by:	jkh
2000-10-18 20:16:26 +00:00
Mark Ovens
09e0ff09c1 Fix typo 2000-09-25 10:49:10 +00:00
Mark Ovens
67a81e7a7a Make the ``-r'' option actually do something :)
Also tidy up it's output.

Approved by:	jkh
2000-09-25 07:27:05 +00:00
Maxim Sobolev
0f4dfa202e New option "-s" to query size of the installed package(s).
PR:		19445
Submitted by:	sobomax
Reviewed by:	knu
Approved by:	silence
2000-07-07 13:06:32 +00:00
Dag-Erling Smørgrav
c66a7bdea9 Use libfetch instead of libftpio. This adds support for http and IPv6. 2000-06-27 11:00:07 +00:00
Steve Price
beb88613c3 Avoid infinite loops when given a package name like 'm4-1.1/'.
Approved by:	jkh
2000-05-14 19:54:04 +00:00
John Baldwin
fb7ac445bf Add cross references to pkg_version(1) in all the other pkg_* man pages.
Also, add a cross reference to pkg_info(1) in pkg_version(1).  Finally,
in pkg_version(1), don't put a period at the end of the list of see also
man pages.

Noticed by:	Matt Ayres <matta@fast.net>
2000-02-29 15:13:55 +00:00
Dan Moschuk
61de98348a Fix a bug in previous commit where pkg_{delete,info} foo-1.0/ would segfault.
Noticed first by: kris
2000-01-18 01:45:54 +00:00
Dan Moschuk
06647a4f76 Teach pkg_delete and pkg_info how to deal with full pathnames
(/var/db/pkg/foo-1.0, instead of just foo-1.0).

Submitted by: Matthew D. Fuller <fullermd@futuresouth.com>
2000-01-15 01:15:37 +00:00
Alexey Zelkin
f4c2a87d41 Include -f and -t options to SYNOPSYS section (manpage) and usage information
(main.c)

PR:		bin/5410
Submitted by:	Frank Volf <volf@oasis.IAEhv.nl>
2000-01-07 13:25:53 +00:00
Jordan K. Hubbard
c32155b9e3 Use the appropriate macro for double quotes rather than using double
quotes.

Submitted by:	Alexey Zelkin <phantom@cris.net>
PR:		13436
1999-09-01 10:04:47 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Mike Pritchard
32fdc70513 Various man page cleanup:
- Sort xrefs.
- FreeBSD.ORG -> FreeBSD.org
- Be consistent with section names as outlined in mdoc(7).
- Other misc mdoc cleanup.

PR:		doc/13144
Submitted by:	Alexey M. Zelkin <phantom@cris.net>
1999-08-15 08:47:11 +00:00
Bill Fumerola
0845a96cd0 -Wall fixes. Ambigious if/elses, uninitialized values, missing headers,
missing prototypes, and empty format strings.
1999-08-11 20:55:42 +00:00
John Polstra
8d14a4acbe When listing the installed packages, do it in alphabetical order. 1999-07-30 23:14:15 +00:00
Warner Losh
02db1769f3 '?' shouldn't be in the usage string. Unknown characters are already
converted to '?'.
1999-06-24 06:33:24 +00:00
Bill Fumerola
69f8389253 If we are going to have a case for '?' then we should define it in Options.
Submitted by:	Ben Olson <bseth@chc-chimes.com>
1999-06-23 16:54:38 +00:00
Jordan K. Hubbard
c89686d6b7 If pkg_info is run with no args, default to "-aI". 1999-04-27 02:30:27 +00:00
David E. O'Brien
ce4273bfe4 change wording slightly to match other pkg_*.1 1998-12-31 20:28:55 +00:00
Jordan K. Hubbard
0440e20b71 Make it possible to have separate install scripts as well as have
an on-delete script.

Submitted by:	Rajesh Vaidheeswarran <rv@fore.com>
1998-12-16 13:59:31 +00:00
Jordan K. Hubbard
375ca45770 correct usage of cleanup() everywhere - this became bogus when the warnx/errx
stuff was added and nobody seems to have noticed. :)
Noticed by:	Josh MacDonald <jmacd@paris.CS.Berkeley.EDU>
1998-09-11 07:26:58 +00:00
Joseph Koshy
fa0bc432ca Add $Id$.
PR:		7251
Submitted by:   Norihiro Kumagai <kuma@jp.freebsd.org>
1998-07-14 08:28:15 +00:00
Joseph Koshy
ec500c67a1 Document -I' and -R' options to `pkg_info'.
PR: 7155
1998-07-06 04:39:20 +00:00
Joseph Koshy
f618e998de Document environment variables used by pkg_{add,create,info}. These
include PKG_TMPDIR, TMPDIR, PKG_DBDIR.  Add a FILES section to these
manual pages.

PR: docs/7064
1998-06-26 07:15:38 +00:00
Philippe Charnier
f12a14713b .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
Bruce Evans
6dd8984675 Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries, so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.
1998-03-07 08:55:00 +00:00
Jordan K. Hubbard
79af7eafa8 Eliminate the idea of nested "playpens" entirely - it just obfuscated
the code and, in at least one case, made it more dangerous to no gain.
1998-02-16 17:16:51 +00:00
Tim Vanderhoek
a86f3c5dee "This is the add^H^H^Hinfo module."
Pedantic comment fix.

PR:		bin/5188
Submitted by:	Alex [3]garbanzo@hooked.net
1997-12-26 05:29:29 +00:00
Jordan K. Hubbard
47af563ed0 Deal with PLIST_UNEXEC properly.
PR:		4784
Submitted by:	Stefan `Sec` Zehl <sec@quit.42.org>
1997-10-18 05:42:05 +00:00
Jordan K. Hubbard
570f313ee4 Don't return from cleanup() - if it's removed the playpen then very
bad things will happen if we return to unsuspecting code.
Noted to my great dismay by:	Tim Vanderhoek <hoek@hwcn.org>
1997-10-13 15:03:55 +00:00
Philippe Charnier
6fed414929 Use err(3). Cosmetics in usage string and man page. 1997-10-08 07:48:21 +00:00
Tim Vanderhoek
a04aa72155 Document pkg_add's dependency auto-install. While I'm here, fix
a couple typos, and consistent double-spacing after sentences.

This is actually a spinoff from the "ports-current discontinued"
blow-up some time ago.

Ack'd by: jkh
1997-09-27 13:41:35 +00:00
Jordan K. Hubbard
9a73af57e4 Fix multiple documentation bogons.
PR:		3798
Submitted by:	Jan Kuriyama <kuriyama@opt.phys.waseda.ac.jp>
1997-06-19 15:18:34 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +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
50f56e483a Add MD5 checksums to packing list for all files during pkg_create and use
later at pkg_delete time to verify that you're deleting what you added.
This, of course, does NOT cover the case where a file you still need
hasn't changed!  That's a tougher problem to solve, and this provides
only the minimal amount of safety belt.  MD5 checksums are stored in comment
fields, so packages produced with these tools are backwards compatible with
the older ones.
1996-07-30 10:48:20 +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
Jordan K. Hubbard
a9ef0b2904 Make pkg_install understand and use libftpio instead of its own
copies of the ftp support routines.  Also some cosmetic and minor
bug fixes I've been meaning to incorporate for awhile.
1996-06-20 18:33:55 +00:00
Jordan K. Hubbard
a6fad3a0ae Make a small optimization which shaves about a second off the time
it takes to build the `All' menu in configPackages.
1996-06-16 16:33:34 +00:00
Mike Pritchard
bcff8e2ae4 Another round of man page cleanups.
Down to only about 100 items left to cleanup! :-)
1996-02-12 04:57:03 +00:00
Jordan K. Hubbard
36b7319742 Bring forward my changes from 2.1 1995-10-25 15:38:37 +00:00
Jordan K. Hubbard
ba508869ca Remove useless -lftp arguments from Makefiles.
Suggested by: ache
1995-08-04 07:14:08 +00:00
Andrey A. Chernov
96d5140413 You can run pkg_info everywhere expect /var/db/pkg directory :-)
Running there you got any kind of strange errors from tar caused
by treating directories as tar files!
Fix it by adding new isfile(name) (check for reg. files) to simple fexists(name) calls.
1995-07-30 01:44:45 +00:00
Andrey A. Chernov
573999ad8a If some files lost in /var/db/pkg/<port>/ after system crash f.e.,
pkg_manage silently dumps core, pkg_info claims about them to
stderr, which makes very difficult to find what directory cause it via
tons of pkg_info -a output. I found solution which covers both variants,
now pkg_info claims about missing files to stdout among valid output
with ERROR: prefix. It heals pkg_manage to not dump core and makes
easy to find errors in pkg_info -a output by simple /ERROR 'more' command.
1995-07-30 01:08:34 +00:00
Rodney W. Grimes
709e8f9ae1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
Jordan K. Hubbard
e8019cb42b Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.  Document the fact that pkg_info can also
take a URL.
1995-05-10 23:00:07 +00:00
Jordan K. Hubbard
d9a50f903f Whoops! One of my automatics was initialized to garbage. Fix it. 1995-04-28 18:24:31 +00:00
Jordan K. Hubbard
a0a72d6933 Make pkg_info URL aware (and also make it use the PKG_PATH properly, like
everyone else).  Try this:
	pkg_info ftp://freebsd.org/pub/FreeBSD/packages/all/gmake-3.73.tgz
1995-04-26 15:08:02 +00:00
Jordan K. Hubbard
3a5e372a3d 1. Add proper dependencies to the library in my Makefiles. This was pointed
out by Bruce.
2. Add a "feature" to pkg_create (OK, OK, it's a miserable hack!) to get
   it to dump its internal packing list out so that the `fake-pkg' rule in
   bsd.port.mk can generate a more meaningful packing list.
1995-04-22 00:03:18 +00:00
Jordan K. Hubbard
e804f03a5d Add support for the ${PKG_DBDIR} environment variable. /var/db/pkg is the
default, and probably not something you'd ever change, but now it's
possible to do so for local/custom installations.
1995-04-19 14:02:01 +00:00
Jordan K. Hubbard
c090e04591 Whoops! How embarassing. Just now noticed that I forget to update the .Os
lines.  Done.
1995-01-05 10:37:13 +00:00
Jordan K. Hubbard
3852eb465e Fix a bad formatting directive. 1995-01-05 10:31:42 +00:00
Steven Wallace
022402f2be Added new function show_index() which does a 'smart' display of the index file.
Index descriptions are limited to MAXINDEXSIZE (60) chars.  Any description
beyond that is truncated.  Also, only the first line is displayed as well.
This allows pkg_info -a -I to be formated in two columns with one line
per package for easy reading.

Reviewed by:	jkh
1995-01-05 01:10:13 +00:00
Jordan K. Hubbard
ad12efc944 More changes from John T. Kohl. Man pages, mostly.
Submitted by:	jtkohl
1994-12-06 01:04:17 +00:00
Jordan K. Hubbard
8f396ebfb6 Many of John T. Kohl's patches from NetBSD. Thanks, John!
Submitted by:	jkohl
1994-12-06 00:51:50 +00:00
Jordan K. Hubbard
cfa2a10c70 Sigh. NOW it's ok! :-) 1994-10-14 05:57:49 +00:00
Jordan K. Hubbard
69bb95d933 This should do it - I forgot about pkg_info. 1994-10-14 05:55:57 +00:00
Jordan K. Hubbard
46f5c7be76 Add the ability to verify that a package won't extract in the space
available.  Thanks to Michael Elbel for pushing me in the right direction.
1994-10-04 16:07:50 +00:00
Satoshi Asami
ef71329dfe Add explanation of -e in usage(). 1994-06-01 05:15:00 +00:00
Jordan K. Hubbard
dbda0ec78e Change Header to Id. 1994-05-25 06:28:14 +00:00
Nate Williams
02954343b7 Now works with/without obj directories 1993-09-20 23:47:51 +00:00
Jordan K. Hubbard
d23866636a Added two new options, one of which is fairly far reaching:
-q	turns on "quiet" mode, where informational headers and such are not
	dumped, just the information.

-L	Shows full pathnames of files comprising a package.  With -q,
	this can be useful for doing fileset operations, such as
	"du -s `pkg_info -q -L foo_bin`" to see how much space package
	"foo_bin" is taking up.
1993-09-08 01:46:59 +00:00
Jordan K. Hubbard
4af610b846 Nailed one last lurking ^L. 1993-09-07 01:01:32 +00:00
Jordan K. Hubbard
81bbfca32c Added -e flag to pkg_info. Now you can test to see whether a package
is installed or not rather easily (useful for install scripts that want
to check for prerequisite packages).  See man page for details.
1993-09-05 22:36:54 +00:00
Jordan K. Hubbard
e0ab6cb9c7 Made staging area configurable rather than assuming /tmp (-t) 1993-09-05 04:54:24 +00:00
Jordan K. Hubbard
a9c42a2388 Lots of misc tweaks, support for arbitrary separators in pkg_info, more
intelligent name handling in pkg_create.  Most of these files are changed
because of rcsid's being different in my cvs tree and freefall's (foo).
1993-09-03 23:01:17 +00:00
Jordan K. Hubbard
6d946b2e52 The release version of my package install suite. Please see man pages
for info.
1993-08-26 01:19:55 +00:00