75 Commits

Author SHA1 Message Date
kris
7ec4223664 * 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
obrien
f564aa3816 Reorg just a tad to better express our bzip intentions. 2002-08-25 01:01:08 +00:00
knu
8713084d10 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
obrien
4d5c4f2b17 Use an 8.3 friendly extension when compressing with bzip2. 2002-08-04 06:03:34 +00:00
sobomax
110842c75e MFS: silence compiler warnings. 2002-05-20 09:55:41 +00:00
alfred
c94931edf3 replace __FUNCTION__ with standardized __func__.
Requested by: jhb
2002-05-11 04:17:55 +00:00
alfred
7be446ee1c 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
sobomax
1c2894552d 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
sobomax
842eb4b30a 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
sobomax
f4f4b6970d Use PLIST_ORIGIN instead of rolling own version using PLIST_COMMENT.
MFC after:	6 days
2002-05-05 13:09:04 +00:00
sobomax
0bc51e3b0f 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
obrien
3f1a9ab225 Improve the Bzip2 handling.
Sponsored by:	FreeBSD Mall, Inc.
2002-04-20 21:20:58 +00:00
obrien
9b7ede4f37 Fix SCM ID's. 2002-04-01 09:39:07 +00:00
sobomax
30b8cebc33 Provide protection against incorrect input (dependency list).
Submitted by:	roam
2002-02-20 17:07:19 +00:00
sobomax
8c0a609962 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
sobomax
5ef9bb01d5 - 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
sobomax
f868b9c479 WARNS=2 cleanup.
Tested on:	i386, alpha
MFC after:	2 weeks
2001-10-10 06:58:42 +00:00
sobomax
330073033f - 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
sobomax
7942a4e1d2 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
obrien
49568467b4 Reduce private "lesser known" function redirection to improve clarity.
Approved by:	jkh
2001-08-13 04:18:30 +00:00
sobomax
d5e6fbaada Style policy: reformat multiline comments to conform to style(9). 2001-05-17 10:12:45 +00:00
sobomax
801d4794c4 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
sobomax
a7de4cce1e - 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
sobomax
f1f3937ff2 - 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
sobomax
9b13a9d87f Add "-o" option to pkg_create(1) and pkg_info(1). This option intended to record
a path of the port from which package has been created within FreeBSD Ports
Collection and will be used to improve pkg_version(1) and similar tools.

Reviewed by:	ports@FreeBSD.org, jkh
Approved by:	jkh
2000-10-23 07:01:31 +00:00
jkh
cdb92ab985 Cause fatal error messages to be a little more helpful to the programmer
concerning where they're taking place.

Switch from [r]index() to str[r]chr() functions, which are more ISO
compliant.

Prompted by:	Edward Welbourne <eddy@vortigen.demon.co.uk>
2000-10-22 09:53:27 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
billf
a66efa8a50 -Wall fixes. Ambigious if/elses, uninitialized values, missing headers,
missing prototypes, and empty format strings.
1999-08-11 20:55:42 +00:00
jkh
14bdf1c6c0 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
asami
125d5b9a24 Fix support for uncompressed (".tar") package types. It's not completely
fixed (chained dependency checking for pkg_add is broken, for one thing)
but at least you can now create one package and use it.
1998-12-05 06:29:03 +00:00
jkh
dad2df585c 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
jkh
57c8d973f3 o Set paths internally for pkg_add for tools we might want to invoke.
o Fix bogus suffix handling.
o Tell user when an FTP url is being xferred rather than being silent.
  This sort of violates "the unix way" but it stops people from whacking
  ^C when they think it's hung, too.  Sometimes visual indication of
  success is important.  Doesn't spit out anything if not on a TTY.
1998-09-08 10:42:26 +00:00
jkh
a5f5454e47 Fix bogus suffix stripping to be less naive.
PR:		3418
Noted by:	pst
1998-09-08 03:15:41 +00:00
jkh
02fba0b1e7 Don't exit() from cleanup() if we got there via a non-signal since
we're only going to exit (after printing a more detailed error message)
afterwards anyway.
PR:		7020
1998-07-28 11:55:39 +00:00
jkh
7836fb80f5 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
jkh
4709213773 MF22: Revert part of -p handling. 1997-11-14 01:56:04 +00:00
jkh
e3252cb624 The prefix override code was bogus. The original idea was sound
enough, but we're not using the pkg_create tool that way anymore
in the ports collection.

PR:		4894
Submitted by:	Adrian Colley <aecolley@ois.ie>
1997-11-13 11:49:23 +00:00
jkh
4b318a5826 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
charnier
1c390186cd Use err(3). Cosmetics in usage string and man page. 1997-10-08 07:48:21 +00:00
jkh
a83d139ded Add proper md5 comments to ports-installed packages also by
masticating it through the same routine used by pkg_create.
Submitted by:	se
1997-07-04 04:48:02 +00:00
jkh
950dcc5c24 Add support for srcdir overrides. 1997-06-06 12:19:11 +00:00
peter
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
jkh
808a36ef65 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
jkh
84d2379289 Add MD5 checksums to packing list for all files during pkg_create and use
later at pkg_delete time to verify that you're deleting what you added.
This, of course, does NOT cover the case where a file you still need
hasn't changed!  That's a tougher problem to solve, and this provides
only the minimal amount of safety belt.  MD5 checksums are stored in comment
fields, so packages produced with these tools are backwards compatible with
the older ones.
1996-07-30 10:48:20 +00:00
jkh
e8d26b1581 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
jdp
0f90888e3b Close a file descriptor that I had (harmlessly) left open in a child
process.
1996-03-20 19:05:59 +00:00
jdp
87d671feaf Fixed pkg_create to eliminate the limits on the size of the PLIST.
Formerly, there were limits on both the number of files (hard-coded into
the program) and the number of characters (because of the ARG_MAX limit
in exec(2)).  In this new version, the filenames are passed to tar through
a pipe, using tar's "-T" option, rather than on the command line.
1996-02-06 22:49:11 +00:00
jkh
d4d9564530 Bring forward my changes from 2.1 1995-10-25 15:38:37 +00:00
jkh
2093ba9e8f Bump the number of allowable args by a factor of 4. I just scanned
all possible packing lists and found that at least one of them is
pretty large!
1995-05-10 22:33:55 +00:00
jkh
7d860c8058 Re-work make_dist() routine to build the tar command more reasonably.
This should eliminate the problem with truncated packages.
1995-05-10 20:46:06 +00:00