Commit Graph

84 Commits

Author SHA1 Message Date
Florent Thoumie
c55100c9ba - add: Keep dependent packages too if -K is specified.
- updating: terminating '\n' is not part of the package origin.
- bump PKG_INSTALL_VERSION to 20080612.

PR:		bin/119368 [1], bin/124459 [2]
Submitted by:	gcooper [1], Beat Gatzi <beat@chruetertee.ch> [2]
MFC after:	3 days
2008-06-12 15:21:13 +00:00
Pav Lucistnik
2b520e6990 - Restore functionality broken in previous commit; we need to be able to report
multiple installed packages with the same PKGORIGIN.

Reported by:	marcus
MFC after:	1 month
2008-05-03 22:56:50 +00:00
Pav Lucistnik
42b1030bbd Optimize package registration/deregistration. Previously, when looking up the
package name for the origin of a dependency, all entries in /var/db/pkg were
traversed for each dependency of added/removed package.  Now, gather all the
origins first, then do the lookup in a single pass over /var/db/pkg.

This should provide a major speedup for packages with hundreds of dependencies.

Submitted by:	rdivacky (earlier version)
MFC after:	1 month
2008-04-11 08:26:06 +00:00
Roman Divacky
4f49091fda Improve style a little and remove one always-true condition.
Approved by:	portmgr (pav)
Approved by:	kib (mentor)
2008-03-30 16:49:19 +00:00
Kirill Ponomarev
2cd24b447e Add -i option for package installation without fetching and
installing its dependencies.

PR:		bin/117065
Submitted by:	Vladimir Ermakov <samflanker@gmail.com>
MFC after:	14 days
2007-11-10 09:40:39 +00:00
Poul-Henning Kamp
05380e0125 Add -F option to not fail on already installed packages.
Submitted by:   Eugene Grosbein <eugen@grosbein.pp.ru>
2006-03-09 14:49:19 +00:00
Florent Thoumie
cd2407daad Add -K option to pkg_add and pkg_info.
This option saves packages to PKGDIR (if defined or current directory by default)
as they are downloaded.
Silent a warning when -n is used and package has a +DISPLAY file.

Approved by:	krion
MFC after:	1 week
2006-01-09 18:27:21 +00:00
Kirill Ponomarev
3d4e952eef Add -P flag, it does the same as the -p option, except that the
given prefix is also used recursively for the dependency packages,
if any.  If the -P flag appears after any -p flag on the
command line, it overrides it's effect, causing pkg_add to use the
given prefix recursively.

PR:		bin/75742
Submitted by:	Frerich Raabe <raabe AT kde DOT org>
MFC after:	3 days
2005-11-12 11:45:01 +00:00
Stefan Farfeleder
14cc87e479 Use the length modifier 'll' instead of 'q' to print long longs. 2004-07-28 16:03:13 +00:00
Oliver Eikemeier
b9ba84598d - pkg_add spawns itself as argv[0] when installing dependent packages, to
enable the use as a port on older systems

- use absolute paths in all calls to external programs, to account for strange
  PATH settings

- use INDEX or INDEX-5 depending on FreeBSD version, to enable the use on
  FreeBSD 4.x as a port.

- conditionalize all 4.x/5.x differences on __FreeBSD_version, so that the
  pkg_install tools can be kept in sync on 4.x and 5.x

- Bump PKG_INSTALL_VERSION

Reviewed by:	portmgr (bento run)
MFC after:	4 weeks
2004-06-29 19:06:42 +00:00
Oliver Eikemeier
43b4652a71 - pkg_info: flag -r: (show packages this packages depends on (documentation change))
- pkg_info: new flag -j (show the requirements script)

- pkg_info: fix verbose output when used on packages

- better handling of corrupt entries in /var/db/pkg

- differ between corrupt entires and packages not installed

- various small fixes

PR:		56989, 57016, 57029, 26468
2004-06-29 18:59:19 +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
Maxim Sobolev
76b27d2150 When installing package from a local file assume that all subsequent
autoinstalled dependencies will have the same extension, not just
".tbz".

Pointy hat to:	obrien
X-MFC after:	-1 day
2002-09-03 06:59:33 +00:00
David E. O'Brien
1ab94a83c2 Find remaining hardcoded gzip bits and change to bzip2 bits.
Mark with XXX so someone that cares about being able to handle either
bziped or gziped packages knows where the remaining nits are.
2002-08-25 01:00:16 +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
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
d100deb8cc WARNS=2 cleanup.
Tested on:	i386, alpha
MFC after:	2 weeks
2001-10-10 06:58:42 +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
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
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
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
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
Maxim Sobolev
7f7ace8fb2 Style policy: reformat multiline comments to conform to style(9). 2001-05-17 10:12:45 +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
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
Satoshi Asami
a9758dac1a Redirect stdout from mtree to /dev/null; we don't really need to know
the list of directories being created when we install a package.
2000-01-03 22:59:27 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +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
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
Jordan K. Hubbard
62203a9ce5 Fail as documented when a dependency cannot be found
PR:		7318
Submitted by:	djv@bedford.net
1998-09-08 03:02:45 +00:00
Jordan K. Hubbard
47d8228368 Fix recursive package add problem (for on-disk package files) I introduced
with the change in semantics to make_playpen().  Now package dependencies
more than 2 levels deep should work again.  Pass the hat.
1998-08-27 14:59:55 +00:00
Eivind Eklund
4dc6689c09 Avoid race-conditions on playpen delete. 1998-07-17 14:56:31 +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
Jordan K. Hubbard
8b1643d2c6 I must have been smoking crack when I made this change. Using sh -c
in a vsystem() call is just a ludicrous way of calling sh -c "sh -c ..."
Whoops!  I don't know my own bloody code here!
1998-01-21 06:08:35 +00:00
Jordan K. Hubbard
73dfa4e8d6 MF22: fix to install script handling. 1998-01-17 12:26:19 +00:00
Jordan K. Hubbard
07eb524cb0 Don't assume install script is directly runnable - use sh -c. 1998-01-08 11:27:06 +00:00
Jordan K. Hubbard
940d89a9d5 - do string-magic on the right variable when trying
to find dependent packages on the local disk (i.e. package given as
   filename, not URL)
 - document $PKG_PATH
 - use -v on pkg_add for dependent packages

Submitted by:	hubertf@NetBSD.ORG
Obtained from:	NetBSD
1997-10-18 05:54:17 +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
Jordan K. Hubbard
94d1d55871 Add support for @option preserve - moves existing files out of the way
before replacing them (using pkgname to make this hopefully unique).
Delete also moves them back, if they exist, resulting in a package
which can be "backed out" with reasonable safety.
1997-06-29 10:41:49 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
2df00d4c64 Fix a bogon with playpen size calculation for pkg of "-". It's amazing
this ever worked, actually.
1997-02-15 14:17: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
a1fcb52813 Correct a problem which broke +DISPLAY file handling. 1997-01-13 10:14:26 +00:00
Jordan K. Hubbard
82d4f7288d Fix PR#1557 - chained package dependencies using URLs didn't work. 1996-10-14 19:41:44 +00:00
Jordan K. Hubbard
21c7f0d4d7 Make -force work for pkg_add. 1996-07-31 21:52:33 +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