Commit Graph

436 Commits

Author SHA1 Message Date
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
Paul Richards
48ebd16e52 Add pkg_update, which can replace currently installed ports with new versions
while taking of updating all the dependencies.
2000-12-28 18:47:23 +00:00
Ruslan Ermilov
8b5c4af3ff Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
Ruslan Ermilov
ed40311694 mdoc(7) police: removed history info from the .Os FreeBSD call. 2000-12-14 11:52:05 +00:00
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +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