Commit Graph

493 Commits

Author SHA1 Message Date
Mario Sergio Fujikawa Ferreira
cf5c89e1fe Preserve suid/gid permissions when extracting packages remotelly
fetched with -r option

Reviewed by:	will
Approved by:	will
2002-08-24 20:04:17 +00:00
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