Commit Graph

124 Commits

Author SHA1 Message Date
Colin Percival
6a73df6f3f Synopsis fixes:
* `pkg_info -flags' needs either `-a' or a package name. [1]
 * Add -Q option to manual page.
 * Update `usage:' to match the manual page.

PR:		misc/64786 [1]
Reviewed by:	ru
MFC after:	3 days
2004-03-30 20:48:16 +00:00
Ruslan Ermilov
d82881651b - Properly build both crypto and non-crypto versions of the
package management tools.

- Drop redundant dependency of pkg_create(1) and pkg_delete(1)
  on crypto libraries now that they do not link with libfetch.
2004-01-17 13:41:16 +00:00
Mario Sergio Fujikawa Ferreira
c32acd2e5c Add a trailing '\n' character if none is found in the information
obtained from a package. Patch show_file() [1] and show_index() [2]
functions.

PR:		52097
Reviewed by:	bento, kris,
		portmgr, re,
		Michael Nottebrock <michaelnottebrock@gmx.net>,
		Martin Horcicka <horcicka@FreeBSD.cz>
Approved by:	re (scottl)
Obtained from:	NetBSD [1],
		OpenBSD [2]
MFC after:	1 week
2003-05-26 17:06:05 +00:00
Dag-Erling Smørgrav
7691f66abf Retire the useless NOSECURE knob.
Approved by:	re (scottl)
2003-05-19 15:52:01 +00:00
Ruslan Ermilov
aba60fa66b Fixed troff(1) and mdoc(7) warnings.
Approved by:	re (blanket)
2003-05-18 21:05:22 +00:00
Kris Kennaway
7f6bf1d8ce * Add explicit conflict-checking to the package tools. Packages can
register a list of other packages with which they conflict (via the
  -C option to pkg_create), and they will refuse to install (unless -f is
  specified) if one of the listed packages is already present.

* Update documentation for the new feature as well as fleshing out some
  existing documentation.

* Bump PKG_INSTALL_VERSION so this feature can be tested for.

Submitted by:   Sergey Matveychuk <sem@ciam.ru>
PR:             bin/47145
MFC after:      2 weeks
2003-04-17 09:56:05 +00:00
Matthew N. Dodd
a9cd061a2a - Add the 'b' option which causes BLOCKSIZE to be hornored when
the 'q' or 'Q' options are present.
- Document BLOCKSIZE.
2003-03-25 01:22:42 +00:00
Matthew N. Dodd
5e3714183f Implement the 'Q' option which is like 'q' (quiet output) except
that it prefaces the output with the package name.

This is useful for things like this:

# pkg_info -Qsa | awk -F : '{print $2 "\t" $1}' | sort -rn | expand -t 10
2003-03-25 00:51:41 +00:00
Mike Barcroft
064c8b22be Back out rev 1.33; getbsize(3)'s original interface has been restored.
Approved by:	markm
2002-12-30 18:16:26 +00:00
Andrew Gallatin
fda3659531 getbsize() now takes a pointer to a size_t as its first arg. A pointer
to an int no longer works on an LP64 platform...
2002-10-24 17:27:32 +00:00
Maxim Sobolev
92d1bb6515 Introduce notion of the package tools revision and allow to wrap all tools
included into pkg_install according to the content of /var/db/pkg_install.conf
file, which specifies version and alternative location of the tools. Format
of the said file is very simple: one line which specifies revision of the
alternative version of the tools and their location separated by space,
i.e.:

20030102 /usr/local/sbin

This would allow bsd.port.mk to install and use up to date version of tools
on older system from ports.

Also add new `-P' flag to pkg_info, which causes it to report currently
installed version of package tools.

Discussed with:	will
2002-09-09 19:43:30 +00:00
Maxim Sobolev
d083e1c6a4 Use --fast-read mode to extract metadata from package file. Since metadata
files are located at the very beginning of the package, this patch in
conjuction with latest tar(1) --fast-mode fix greatly speeds up pkg_info(1)
operation on package files.

MFC after:	1 week
2002-09-09 06:06:09 +00:00
Dag-Erling Smørgrav
937ce6a950 Reorder libraries to fix static linking (libssl depends on libcrypto, so
it must come before libcrypto in LDADD)

Reviewed by:	bde
2002-06-12 12:45:24 +00:00
Ruslan Ermilov
4093807dd9 libfetch now depends on libcrypto and libssl. 2002-06-06 13:45:46 +00:00
Maxim Sobolev
dd3a3dfc3b - Make use of DEPOROGINs (if there are any) when installing package;
- fix few bogosities here and there;
- move some common routines into the library.

MFC after:	2 weeks
2002-05-14 21:42:37 +00:00
Alfred Perlstein
f7bb25f702 replace __FUNCTION__ with standardized __func__.
Requested by: jhb
2002-05-11 04:17:55 +00:00
Alfred Perlstein
a2bcd1a09f fix build:
you may not use string concatination with __FUNCTION__, replace all occurances
of:
__FUNCTION__ ": error string"
with:
"%s: error string"
2002-05-11 03:48:49 +00:00
Maxim Sobolev
a1ad4f468a New feature: allow origins of all dependencies be recorded into package list
using new `@comment DEPORIGIN:...' directive. This would allow us to make
many neat things including:

- easier binary upgrades;
- source upgrades without using external tools by simply extending
  bsd.port.mk and pkg_install tools;
- mixed-mode upgrades (source + binary);
- depreciate and deorbit silly +REQUIRED_BY files in the near future.

This feature is no-op until appropriate bsd.port.mk patch is committed, and
even when it is already committed packages generated will remain 100%
compatible with old set of pkg_install tools (module all those neat
features, of course).

MFC after:	6 days
2002-05-05 21:03:25 +00:00
Maxim Sobolev
f351f851db In a origin lookup mode (-O) don't bail out when encountering empty package
directory, because this prevent this option from being used from the
package-depends target of bsd.port.mk since it creates such empty dir
during its normal operation.

MFC after:	6 days
2002-05-05 20:50:27 +00:00
Maxim Sobolev
ae346c242b Update usage() and manpage to match reality (add -O into usage and adjust
both to make clear that -W and -O are stand-alone options).

MFC after:	6 days
2002-05-05 13:44:32 +00:00
Maxim Sobolev
63d4f9853d Handle PLIST_ORIGIN properly.
Poked by:		kris
Pointy hat grabbed by:	sobomax
MFC after:	6 days
2002-05-05 12:54:11 +00:00
Maxim Sobolev
76c0ee0ef2 Add ability to query installed packages based on origin. 2002-05-04 14:49:49 +00:00
Maxim Sobolev
3d5c1511ca Make pkg_info working again when argument is a file not in the current
directory.

PR:		37571
Submitted by:	Dirk Meyer <dirk.meyer@dinoex.sub.org>
MFC after:	1 week
2002-05-02 13:09:33 +00:00
Maxim Sobolev
5583155096 Make `-g' working for symlinks.
PR:		33857
Submitted by:	darren <igla@batterybackups.net>
MFC after:	1 week
2002-05-02 12:52:42 +00:00
David E. O'Brien
0d8875ff46 Fix SCM ID's. 2002-04-01 09:39:07 +00:00
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