Commit Graph

542 Commits

Author SHA1 Message Date
Maxim Sobolev
f46eb8f0b8 Ensure that origin field in the packing list structure is initialised. This
fixes problem when there are origin-less packages installed on a system

Reported by:	Mark Knight <markk@knigma.org>
MFC after:	3 days
2002-08-12 16:15:25 +00:00
Jens Schweikhardt
2b239dd118 Fix typos; each file has at least one s/seperat/separat/
(I skipped those in contrib/, gnu/ and crypto/)
While I was at it, fixed a lot more found by ispell that I
could identify with certainty to be errors. All of these
were in comments or text, not in actual code.

Suggested by:	bde
MFC after:	3 days
2002-08-11 13:05:30 +00:00
Akinori MUSHA
9988e3662f Another .tbz2 -> .tbz leftover. Properly look for pkgname.tbz.
MFC after:	1 day
2002-08-04 21:27:57 +00:00
Akinori MUSHA
752b4d681e Drop support for the .tbz2 suffix. One would not want pkg_create(1)
to create "pkgname.tbz" when one specifies "pkgname.tbz2".

MFC after:	1 week
2002-08-04 21:20:09 +00:00
David E. O'Brien
9e0e832f14 Use an 8.3 friendly extension when compressing with bzip2. 2002-08-04 06:03:34 +00:00
Maxim Sobolev
64449e2a32 When extracting package pass `-p' option to tar(1), so that files are
extracted with correct permissions.
2002-08-02 17:26:53 +00:00
Mark Murray
8360b6af14 C replacement for the Perl5 code.
Submitted by:	reg
2002-06-24 16:03:24 +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
David E. O'Brien
b47f7d2f16 Grammar nit.
Submitted by:	keramida
2002-06-04 20:01:53 +00:00
Bruce A. Mah
ca8f81dd24 pkg_version was incorrectly claiming that 1.5 == 1.5.0.1, because
we weren't properly checking for the case that the two version strings
being compared had different numbers of components.  This has been
fixed.

Pointed out by:	sobomax
Reviewed by:	silence on -ports
2002-05-31 15:45:48 +00:00
Ruslan Ermilov
24caa840be mdoc(7) police: markup nits. 2002-05-30 08:24:52 +00:00
Maxim Sobolev
027d0ad454 MFS: two more testcases highlighting recently discovered problem with version
comparison routine.
2002-05-28 18:00:44 +00:00
Maxim Sobolev
6950a26a50 Eliminate free'ing already freed chunks.
MFC after:	1 week
2002-05-22 10:33:25 +00:00
Maxim Sobolev
62553a3cbf MFS: silence compiler warnings. 2002-05-20 09:55:41 +00:00
Eric Melville
595d77f913 Remove cross reference to pkg_update(1).
Submitted by:	dd
2002-05-16 22:46:53 +00:00
Tom Rhodes
67c8020f12 Consistancy check: s/file system/filesystem/g 2002-05-16 02:28:39 +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
Ruslan Ermilov
423e9124d9 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +00:00
Eric Melville
003f849311 Remove cross reference to pkg_update(1). 2002-05-11 16:27:19 +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
8ae0995264 When packing installed package into a file (pkg_create -b) make sure to
include all package files into resulting tarball.

PR:		34007
Submitted by:	olgeni

While I here:

- Remove bogus comment;
- ensure that we return the proper exit code in the case of -b failure.

MFC after:	5 days
2002-05-10 00:03:14 +00:00
Paul Richards
ee13ade8a0 Do my bit for the Perl removal team and shoot my own, rather mangy
looking, dog.
2002-05-08 18:44:24 +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
2dc0025a87 Use PLIST_ORIGIN instead of rolling own version using PLIST_COMMENT.
MFC after:	6 days
2002-05-05 13:09:04 +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
Maxim Sobolev
3465d2ab40 Kill local variable which shadows global one. This fixes creation of bzip2
compressed packages broken in the previous commit.

Pointy hat to:	obrien
2002-05-02 10:19:13 +00:00
David E. O'Brien
2d37eb657e Improve the Bzip2 handling.
Sponsored by:	FreeBSD Mall, Inc.
2002-04-20 21:20:58 +00:00
Philippe Charnier
7f94b8deee Use `The .Nm utility' 2002-04-20 12:27:18 +00:00
Murray Stokely
1bb336ef80 DTRT for packages read from STDIN:
$ cat pkg.tgz | pkg_add -

The above command line will fail on -CURRENT or -STABLE, and
therefore, so will sysinstall if you try to install additional
packages through the network (FTP) from a multiuser system.  Because
of the different environment during installation (wrt the playpen),
this bug does not manifest itself during initial installs, and users
may install packages from the network just fine at that time.

This bug was fixed in OpenBSD 4 years ago.

----------------------------
revision 1.4
date: 1998/04/07 05:56:13;  author: marc;  state: Exp;  lines: +13 -8
fix package input from standard input -- the program tried to process
stdin twice.  Note: it assumes stdin is a compressed tar file.
----------------------------

PR:		conf/36606
Obtained from:	OpenBSD
MFC after:	2 weeks
2002-04-02 12:47:10 +00:00
David E. O'Brien
0d8875ff46 Fix SCM ID's. 2002-04-01 09:39:07 +00:00
Maxim Sobolev
c9dfae71a8 Use some black make(1) magic to make pkg_install build even without
Makefile.inc in parent directory (e.g. when checked out from cvs as a module).

MFC after:	2 weeks
2002-02-27 19:03:15 +00:00
Maxim Sobolev
db6c6159b0 Make sortdeps() working with dependency lists containing one or no elements.
Submitted by:	roam
MFC in:		1 week
2002-02-20 17:15:17 +00:00
Maxim Sobolev
f62b5ea330 Provide protection against incorrect input (dependency list).
Submitted by:	roam
2002-02-20 17:07:19 +00:00
Maxim Sobolev
20d7b1acae Pass `-9' flag to gzip(1), so that package is compressed using maximum
compression. Usually this gives gives extra 1-1.5%.

MFC after:	1 day
2002-01-17 10:51:39 +00:00
Giorgos Keramidas
d41599d44f Add pkg_update to the SEE_ALSO manpage of pkg_create.
PR:		docs/33666
Submitted by:	Tom Rhodes <darklogik@pittgoth.com>
2002-01-15 14:39:31 +00:00
Jordan K. Hubbard
fe7283fc23 Choose more paranoid modes for the temporary directory so the user can't
easily browse its contents.

Noted by:	Antoine
2001-11-22 01:54:33 +00:00
Maxim Sobolev
0a811cbf0c Improve recently committed fix for -t bug.
Submitted by:	"Andrew L. Neporada" <andr@dgap.mipt.ru>
MFC after:	3 days
2001-11-15 15:13:24 +00:00
Maxim Sobolev
f4dfe934d1 Make `-b' option actually work as advertised. 2001-10-25 07:56:20 +00:00
David E. O'Brien
150e0ea706 Increase the number of packages that can be installed by an order of
magnitude.  Geez, this is Unix, what is with the arbitrary needless
constants.
2001-10-16 06:42:06 +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
Dima Dorfman
f06c683e47 The user wants to ensure, not insure, that the package isn't going to
damage their system.
2001-10-15 13:49:51 +00:00
Maxim Sobolev
77b90d2a0e Make `-t' flag in pkg_*(1) tools actually working.
PR:		30843
Submitted by:	Vladimir B. Grebenschikov <vova@express.ru>
MFC after:	2 weeks
2001-10-11 11:29:12 +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
c5471e323b OOPS, delete some commented out debugging code committed along with r.1.25.
MFC after:	2 weeks
2001-10-08 17:09:08 +00:00
Maxim Sobolev
4bbe1f1cd4 - Allow package archive to be created from a locally installed package. This
allows for an easy way to backup old version of port prior to installing
  a new one;
- silence compiler warnings by killing some unused variables and adding
  all includes necessary.

MFC after:	2 weeks
2001-10-08 17:01:35 +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
Bruce A. Mah
a953848c04 Drop maintainership. 2001-09-18 17:58:10 +00:00
Bruce A. Mah
9cc1dc75e7 Support the use of ${PORTSDIR} to find a ports tree INDEX file in
an other-than-default location.

PR:		bin/30350
Submitted by:	"NINOMIYA Hideyuki <NINOMIYA Hideyuki" <nin@jp.FreeBSD.org>
MFC after:	3 days
2001-09-18 17:56:44 +00:00
Maxim Sobolev
9ad4f43281 Fix segfault introduced in previous commit (when adding local packages). 2001-09-17 13:37:50 +00:00
Dima Dorfman
e7254b02b2 Use a colon to separate the user and group when executing chown(1).
Periods aren't supported anymore.

PR:		30507
Submitted by:	Georg-W. Koltermann <gwk@sgi.com>
2001-09-11 11:11:38 +00:00
Bill Swingle
0fe2f8cb85 Fixes problem with pkg_add -r when adding multiple pkgs.
Reviewed by:	chris
2001-09-07 22:32:37 +00:00
Brian Somers
2313781df2 Handle snprintf() returning < 0 (not just -1)
MFC after:	2 weeks
2001-08-20 15:09:34 +00:00
Brian Somers
36c1612b5e Handle snprintf() returning -1.
MFC after:	2 weeks
2001-08-20 13:24:39 +00:00
Maxim Sobolev
89a0be2e4f Remove duplicate umask(2) call.
PR:             dusty/7998
Submitted by:   Stefan Eggers <seggers@semyam.dinoco.de>
MFC after:	2 weeks
2001-08-15 14:22:01 +00:00
Ruslan Ermilov
c5e7e03a14 Spell "FreeBSD" with "F" and "BSD" in uppercase. 2001-08-13 16:33:00 +00:00
David E. O'Brien
0dd1c79320 Reduce private "lesser known" function redirection to improve clarity.
Approved by:	jkh
2001-08-13 04:18:30 +00:00
Ruslan Ermilov
57e4378bf6 mdoc(7) police: protect trailing full stops of abbreviations
with a trailing zero-width space: `e.g.\&'.
2001-08-10 13:45:36 +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
ea0cdbc8ac exists(../../crypto) --> exists(${.CURDIR}/../../crypto)
MFC after:	1 month
2001-08-02 18:21:48 +00:00
Jonathan Chen
f0b8b1fccb fix for pkg_add to symlinked prefix directories that are more than 1 link deep.
PR:	bin/28274
Submitted by:	John Hein <jhein@timing.com>
MFC after:	1 month
2001-08-02 18:20:27 +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
a48179c2fa Cosmetics: kill blank lines at the end of file.
MFC after:	1 month
2001-08-02 13:08:43 +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
Maxim Sobolev
94d81832dd When there is a file that can't be deleted due to checksum mismatch print name
of that file to stdout to simplify debugging. IMO it was a mistake to print
this warning only when `verbose' mode is on.

MFC after:	1 month
2001-08-02 12:19:32 +00:00
David E. O'Brien
43b866b0ed The security officer requested this be backed out for discussion. 2001-07-28 04:44:09 +00:00
David E. O'Brien
2bae1ab6a5 Remove s_strl*(). I am not sure what was thought they accomplished.
When reading the code I had to stop, say "ok, what does *these*
modifications of strl*() do?  Pull out grep.  Oh, not in add/, maybe above
in ../lib/?  Yep.  So what do they do?  Comments above them are misleading,
guess I'll have to read the code.  Oh, they just test strl* against the
size and return the result of the test.  Now I can continue to read the
code I was.

The uses of s_strl*() then test that result and errx()'s.
Lets think about the "optimized" code I am removing:

In general the compiler pushes the three args to strl* onto the stack and calls
s_strl*.  s_strl* has to indirectly access 3 args from the stack.  Then push
them on the stack a 2nd time for the real strl* call.  s_strl* then pops the
return from strl* off the stack; or moves it from the register it was returned
in, to the register where tests can happen.  s_strl* then pops the three
arguments to strl*.  Perform the test, push the result of the test, or move it
from the result register to the return value register.  The caller to s_strl*
now has to either pop the return value of s_strl* or move it from the return
value register to the test register.  The caller then pops the three args to
s_strl* off the stack (the same args that s_strl* itself had to pop off after
the real call to strl*).  The s_strl* caller then performs a simular test to
what has already been done, and conditionally jumps.  By doing things this way, we've given the compiler optimizer less to work with.

Also, please don't forget the that call to s_strl* has possibly jumped to code
not in the cache due to being far away from the calling code, thus causing a
pipeline stall.

So where is the "optimization" from s_strl*?
It isn't code clarity.
It isn't code execution speed.  It isn't code size either.
2001-07-28 01:59:58 +00:00
Kris Kennaway
371af8a555 Only match the first osreldate date range for constructing the FTP URL,
not all of them.

Noticed by:	obrien
2001-07-26 20:25:50 +00:00
Maxim Sobolev
a153062b97 Use reallocf(3) to increase size of malloc'ed buffer instead of
malloc()+memcpy()+free().
2001-07-20 13:20:32 +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
Kris Kennaway
1da665ef09 Correct a reversion in r1.39 which introduced a new instance of strcpy()
after r1.38 had attempted to remove them all.
2001-07-19 06:01:23 +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
0add99417d bzip2(1) is in the base system - we don't need /usr/local/bin in the PATH
anymore.
2001-07-10 15:10:47 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Brian Somers
7bc6d0158f 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
Bruce A. Mah
50ed42ac07 Fix usage bogon (-d doesn't take any arguments).
MFC after:	3 days
2001-06-13 21:34:12 +00:00
Bruce A. Mah
607dba5ff6 Add a -s option to pkg_version, which limits output to packages
matching a given string.

PR:		26114
Submitted by:	edwin@mavetju.org (with modifications and manpage update)
MFC after:	3 days
2001-06-13 20:38:46 +00:00
Dag-Erling Smørgrav
5333a1958c Use getdtablesize() instead of OPEN_MAX.
Submitted by:	bde
2001-06-13 11:55:40 +00:00
Jordan K. Hubbard
11fed5e2e0 Properly quote recursive pkg_add operations so that filenames with
spaces or special characters in them won't barf.
2001-06-11 23:27:42 +00:00
Anton Berezin
1f38377a7b Check for the existence of the Makefile in the port skeleton directory
before running make.  If the package origin points to a non-existent or
stale port, report this package as orphaned, instead of producing more
general `unknown in index' message.

PR:             27707
Submitted by:   myself, roamer
Approved by:    bmah, markm
2001-06-11 21:31:04 +00:00
Dag-Erling Smørgrav
2b67592fad Pass on the verbose option to fetchGetURL().
In the child that's set up to run tar(1), close all file descriptors except
stdin, stdout and stderr.

PR:		bin/27760
2001-06-11 14:18:26 +00:00
Jim Pirzyk
d316920f0c Fixed pkg_add so when it does not find a package, it returns != 0.
PR:		bin/23083
Submitted by:	Patch submitted by Maxime Henrion <mux@qualys.com>
MFC after:	2 weeks
2001-06-04 21:35:08 +00:00
Eric Melville
80cbb3c13a Cross reference pkg_update(1).
Approved by:	murray
2001-05-31 19:15:25 +00:00
Maxim Sobolev
7f7ace8fb2 Style policy: reformat multiline comments to conform to style(9). 2001-05-17 10:12:45 +00:00
Bruce A. Mah
e89c933c5b Print longer package names. Some of them were running off the right
edge of Perl field specifications.

PR:		bin/26664
Submitted by:	philip@eilio.com
MFC after:	3 days
2001-05-15 18:37:23 +00:00
Bruce Evans
5d07b67b57 Fixed a missing library in DPADD.
Fixed some style bugs.
2001-05-12 14:37:53 +00:00
Kris Kennaway
ff7543ca42 Clean up some of the evil string handling in this code, replace
warnx()+exit() with errx() and replace a big if..then..else construct
to determine the package download directory with a lookup table.

Reviewed by:	jkh
MFC after:	2 weeks
2001-05-12 09:44:32 +00:00
David E. O'Brien
3f514cfc4c rcsid style fix. 2001-05-09 01:38:28 +00:00
David E. O'Brien
1e5a82fe65 A WIP snuck in the rev 1.34 commit. 2001-05-09 01:37:49 +00:00
Bruce A. Mah
cdb54e9eb7 The pkg_version -c output will now call for a "make clean" before and
after the port build/install.  The former cleans up "dirty" port work
directories that happen to be lying around, and the latter cleans up
after we're done so that they won't trip up someone else.

PR:		ports/25106
Submitted by:	tim@bishnet.net, nik, mwm@mired.org
2001-04-30 15:35:43 +00:00
Andrey A. Chernov
f39162a2e1 Fix typo in prev commit - add missing comma 2001-04-26 06:48:59 +00:00
David E. O'Brien
f9722b4b48 Add /usr/X11R6/bin to the exported PATH. If /usr/local/bin is there,
/usr/X11R6/bin should be there.  This helps all the ports that need to
run `mkfontdir' and error out as many port maintainers do not realize
`mkfontdir' isn't in the path.

Prompted by:	pkg_add pcemu
2001-04-25 19:11:09 +00:00
Wes Peters
f39513d3be Don't build pkg_sign tools if crypto is not installed, or is not
being built.

Reviewed by:	kkenn
2001-04-24 08:59:40 +00:00
Bruce A. Mah
a4d6eeb369 Fix a problem with tests of the form "1.0" vs. "1.0a".
MFC candidate.

Pointed out by:		knu
2001-04-19 22:17:07 +00:00
Ruslan Ermilov
b9ad8c8635 beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
Ruslan Ermilov
6f03e3ff03 mdoc(7) police: .Nm remembers its argument on the first call. 2001-04-04 11:19:09 +00:00
Bruce A. Mah
274c64a1ba Implement a package number comparison routine for pkg_version(1)
that actually conforms to the Porters Handbook.

Add a -t option to pkg_version(1) for doing comparison testing.

Add a script (and make test target) to do some regression tests on
the package number comparison routine, to help debug future revisions.

Submitted by:		knu
Procrastination by:	bmah
2001-04-03 21:26:32 +00:00
Ruslan Ermilov
345e52e742 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +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
Ruslan Ermilov
c73e22c3d4 Set the default manual section for usr.sbin/ to 8. 2001-03-20 18:17:26 +00:00
Maxim Sobolev
a658650611 When creating a package sort dependencies in such a way that if dependency
A depends on dependency B then dependency A will be in all cases listed
before B, so ``pkg_add -r'' will fetch/install packages in the correct order.

Previously dependencies were sorted just by its names, which is why
``pkg_add -r'' never actually worked properly.

To be usefull, hovewer, this fix requires that all packages have been
rebuilt, so it will take some time until users would be able to feel
posititive improvements. For the same reasons it is desirable to propagate
these changes to the 4-stable package building cluster *before* 4.3 ports
freeze, so packages for 4.3-RELEASE would be properly prepared.

Prompted by:			kris
Insanely appreciated by:	obrien
Silently approved by:		jkh, -ports
2001-03-15 10:47:00 +00:00
Maxim Sobolev
6f8e863b0f When matching installed packages against glob keep track of which patterns
actually triggered a match and which did not, and add patterns that didn't
into resulting list, so caller will have a chance to notify user that package
isn't installed. This should fix current, POLA-breaking behaviour when user
doesn't receive a notification if he specifies several packages, some of which
aren't installed.
2001-03-14 19:46:43 +00:00
Jordan K. Hubbard
1f371a1617 Change check_sign to proper "pkg_sign" reference.
Noted by:	Andrew Hesford <ajh3@chmod.ath.cx>
2001-03-08 02:26:33 +00:00
Ruslan Ermilov
83a01c3a80 mdoc(7) police: misc markup fixes. 2001-03-05 14:09:45 +00:00
Wes Peters
056e5d6786 Build package signing tools if OpenSSL is included in the build.
Prodded-by:	kkenn, this time.
2001-03-05 04:42:37 +00:00
Ollivier Robert
12fd045a2c When called with the "-n" command line argument, pkg_delete
is supposed to inform the user of all steps it would take.

The current code does not issue any messages regarding actions
that would be performed by delete_package (removing files and
executing @unexec commands), because when the Fake variable
is 1, delete_package (which itself respects Fake and prints
messages rather than taking action when it is 1) is not called
at all.

Fix this.

PR:		bin/24971
Submitted by:	Thomas Quinot <thomas@cuivre.fr.eu.org>
2001-03-04 17:38:38 +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
Ruslan Ermilov
c2d03ea879 Eliminate mdocNG warnings caused by misplaced or extraneous macro calls. 2001-02-28 17:38:53 +00:00
Maxim Sobolev
79f0014dd5 Properly detect and report malloc(3) failures. 2001-02-27 11:15:04 +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
Maxim Sobolev
639a9162ad Fix a typo, that in some cases may lead to incorrect packages reordering. 2001-02-21 02:01:10 +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
Maxim Sobolev
2a0eee8b7f Improve pkg_delete(1) behaviour when deleting several packages at once.
Instead of trying to delete packages in the same order as they were specified
in the command line, reorder deletion in such a way that if package A depends
on package B then package A will be deleted before B no matter in which order
they were specified in the command line.

Reviewed by:	jkh, will
Approved by:	jkh
2001-02-19 13:26:13 +00:00
David E. O'Brien
310857ac13 MFS: getpackagesite() from RELENG_4 that allows the code to be the same. 2001-02-17 20:04:41 +00:00
Ruslan Ermilov
262463d4c6 mdoc(7) police: sanitize previous commit. 2001-02-16 11:28:22 +00:00
David E. O'Brien
eb0dde377b In light of the dismal transfer times from ftp.FreeBSD.org, add a new
`PACKAGEROOT' env var which you would set to a proper mirror of
ftp.FreeBSD.org (say "export PACKAGEROOT=ftp://ftp3.FreeBSD.org"), to
fetch from an alternate place.  This is easier to use than `PACKAGESITE'
for true mirrors, and can be used in your dot files across all versions
of FreeBSD.
2001-02-13 09:49:14 +00:00
Bruce A. Mah
3eb66e95ef Prevent the commands output of pkg_version.pl from being executed without the
user actually editing the output.  Too many people were rampantly abusing
this feature via "pkg_version -c | sh" without really being cognizant
of the dangers involved (ports upgrade kits) or the fact that it
just plain wasn't designed for it (dependencies).  We'll try to keep
people from shooting themselves in the foot.

Will be MFC-ed to RELENG_4 and RELENG_3 after cooling-off period.
2001-02-09 20:07:06 +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
Jeroen Ruigrok van der Werven
1a6e52d0e9 Fix typo: seperate -> separate.
Seperate does not exist in the english language.
2001-02-06 11:21:58 +00:00
Wes Peters
056c05d59d Add package signing utilities; somebody might actually want them.
These are not enabled in the pkg_install Makefile as of yet;
adding the "sign" directory to the SUBDIR list will enable
building of sign.

Submitted by:	Wes Peters
Obtained from:	Original framework from OpenBSD 2.7, X.509 bits from DoBox.
2001-02-06 06:46:42 +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
Maxim Sobolev
75c8e7795c Make `-y' option actually work.
Submitted by:	reg
2001-01-24 08:22:53 +00:00
Maxim Sobolev
42b5df7536 Use .Pa instead of .Dq.
Submitted by:	ru
2001-01-22 13:08:52 +00:00
Maxim Sobolev
acf6a4418d - Add ability to handle bzip2-compressed packages;
- fix cosmetics to shut-up compiler in -pedantic mode (axe several unused vars
  and provide default clause in several switch() statements).

No response from:	-ports
2001-01-22 12:01:55 +00:00
Ruslan Ermilov
c5083414f8 mdoc(7) police: removed leading whitespaces that are not inside
Bd/Ed; these hardly degrade the quality of the produced output.
2001-01-19 14:15:40 +00:00
Ruslan Ermilov
1bfea903ed Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
Maxim Sobolev
b038b9c421 - Fix a nasty bug where pkg_create doesn't gzip package if lengh of package
name is less than 5 and doesn't contain recognizeable suffix (one of .tar or
  .tgz), while gzip's it if lengh of the name greater than 4. For example
  `pkg_create [options] pkg1' will create pkg1.tar, while
  `pkg_create [options] pkg11' will create pkg11.tgz;
- use TRUE/FALSE as a values for boolean variables instead of explicit 1/0 and
  erroneous YES in one case.

MFC candidate.
2001-01-16 08:27:28 +00:00
Maxim Sobolev
248cf5a573 Fix a bug arised from the ')' in the wrong place when calling printf()-like
varargs function, which lead to one of the arguments was left out. This resulted
in failure when inwoking mtree, warning message "mtree returned a non-zero
status - continuing" and probably is the reason for zillion mtree errors on
bento.
2001-01-15 09:45:16 +00:00
Paul Richards
8b9e25b64c Fix a nasty bug whereby if the package file didn't have a version number
then all packages would be deinstalled!

The tightening up of version number checking also fixes a bug where
a package file such as gtk.tgz would have resulting in gtk-engines
being deinstalled.
2001-01-14 02:05:02 +00:00
Maxim Sobolev
242b263cbc Fix a bug where pkg_create does not make an md5 entry for the last item in
the packing list. Also use switch() instead of zillion "else if ()" and for()
loop instead of while() loop for traversing through linked list.

MFC candidate.

Submitted by:	Alec Wolman <wolman@cs.washington.edu>
2001-01-12 11:36:12 +00:00
Paul Richards
28d1c34421 Change open modes from ">$file" to "> $file" because it's much safer should
$file not be what you expect, particularly should $file turn out to be
"+REQUIRES" since ">+" is a valid open mode.

This isn't currently a problem since $file is constructed safely but it removes the potential of future problems.

Pointed out by Anton Berezin.
2000-12-30 00:14:01 +00:00
Ruslan Ermilov
e80bdf7dcf mdoc(7) police: get rid of hard sentence breaks, add missing .El, etc. 2000-12-29 09:03:38 +00:00
Paul Richards
9acd8733ea Fix the broken options that were in the development version I committed by mistake. 2000-12-28 19:53:44 +00:00
Paul Richards
9c0bdb861b Bring the man page up to date with the current version of the script. 2000-12-28 19:42:06 +00:00