Commit Graph

341 Commits

Author SHA1 Message Date
abs e6dc31f0dc Crank PKGTOOLS_VERSION to 20030202 for last_file fix 2003-02-02 20:54:17 +00:00
abs fd83215c8b Allow '%D' to be used when no last_file available. Fixes binary package
installation of gnome-dirs.
2003-02-02 12:59:53 +00:00
agc 17a35e2e99 Introduce the notion of "preserving" an installed package.
A preserved package may not be deleted by pkg_delete(1) (unless the -f
option is given), and the preserved capability will be carried into
any binary package. pkg_add(1) will also keep the preserved capability
if it was present in the binary package.

The "preserve" capability can be given to a package by using the
PKG_PRESERVE definition in a package Makefile in pkgsrc.

Ride on the recently-bumped lib/version.h for new functionality.
2003-01-10 11:55:44 +00:00
agc 82e88920e0 Add a pkgdb_remove_pkg() function and use it in pkg_delete(1).
Bump lib/version.h due to added functionality.
2003-01-10 10:17:21 +00:00
agc 60c7c151cc In pkgdb_remove(), use the return value from (*db->del), rather than
explicitly setting and checking errno.

Do some CSE in pkgdb_iter().

Use the db access functions in the proper manner.
2003-01-06 10:03:44 +00:00
agc 9d61d2fff1 Add an enumerated type which is used in pkgdb_open() to specify
read-only or read-write mode.

Modify the return value of pkgdb_open() to have a more logical boolean
value.
2003-01-05 21:49:51 +00:00
agc 1b535c4ef0 Use EXIT_FAILURE, rather than hardcoding a value of '1' in err(3) and
errx(3).

Plug a memory leak by modifying the signature of
_pkgdb_getPKGDB_FILE() to take a buffer and its size, and fill in that
buffer and return it.
2003-01-05 21:27:20 +00:00
thorpej 61456e3f52 Avoid conflict with reserved identifier "exp". 2002-12-06 15:15:29 +00:00
agc 64f5916734 Don't use special-case code for the '_' modifier, just add it to the
modifier table.  Fixes a problem pointed out by Rene Hexel.
2002-11-26 14:46:45 +00:00
jschauma d571e4f803 Do not abort incomplete deletion if the cwd was removed. Instead, warn,
stay in no-longer existing dir and continue with removal of db-files;
otherwise, the packages contents would be removed, but the package not
uninstalled.  Pointed out by Grant in PR pkg/18384.  OK'd by hubertf.
2002-11-23 22:31:18 +00:00
agc ab7e447f08 Bump version number after adding "alpha" and "beta" version modifier
recognition.
2002-11-14 11:57:15 +00:00
agc 03ce8889fa In addition to the existing "rc" modifier for a package version, add
support for "alpha" and "beta" versions, which sort before "rc".  Move
to table-based modifier recognition.
2002-11-14 09:40:23 +00:00
wiz fdc93ee90f Add tag for yesterday's state. 2002-11-02 02:07:43 +00:00
hubertf 4d58bf2551 Properly re-implement hilighting of the dialogue with the ftp(1)
process.

Thanks again for the throughout notification I got before that
was removed! :(
2002-10-26 14:43:43 +00:00
hubertf 4d4c17a923 use size of the right buffer 2002-10-26 12:37:00 +00:00
wiz 26acd804be Fix typo in last (hi christos). 2002-10-17 08:46:00 +00:00
christos d5d6fac25a Jeez! Delete hard-coded vt100 sequences. This could be done using termcap,
but why bother?
2002-10-17 03:34:20 +00:00
christos 590fa669c8 - eliminate the hard-coding of pathnames in the default install.
- all command executions now use the path [execvp/execlp/system].
- normalize the macro names as <COMMAND>_CMD.
- in some OS's full pathnames for commands can still be provided, but this
  is not the default.

This was needed to fix -DTAR_FULLPATHNAME="/usr/bin/tar"
2002-10-17 03:31:33 +00:00
mycroft 3e966fa349 select() -> poll()
Also, remove a call to path_create() that causes the `prepend' path held by
pkg_perform() to be deleted, causing a core dump later when pkg_perform()
tries to remove it itself.
2002-09-19 02:13:57 +00:00
lukem c52b93f508 minor makefile delint 2002-09-18 13:31:52 +00:00
abs acfcf99e58 Do not prepend '.' to path when looking for dependencies for a package
specified without any path components. (Pointed out by Takashi Yamamoto)
Rename path_remove_first() to path_prepend_clear().
2002-08-29 21:46:33 +00:00
abs b3c9314a54 crank PKGTOOLS_VERSION to 20020827 for last change to lib/path.[ch] 2002-08-27 17:35:05 +00:00
abs 374ff93c9c Introduce path_prepend_from_pkgname() and path_remove_first() and
use in pkg_add to ensure the location of the package being added is
checked first for any additional packages.
2002-08-27 17:27:27 +00:00
yamt 13ebe87a2f add some comments. 2002-08-08 00:17:39 +00:00
hubertf ac31af18a9 20020804:
* pkg_admin pmatch
 * pkg_add increases resource limits

No need to bump PKGTOOLS_REQD as these are not used anywhere right now!
2002-08-04 21:49:23 +00:00
yamt 0eb57ea5a6 bump version to 20020723.
(PKG_PATH changes)
2002-07-23 09:23:35 +00:00
grant eda9e509bb sweep of errx/warnx, remove unnecessary trailing \n 2002-07-20 08:40:16 +00:00
grant 6742cb1812 sweep of errx/warnx, remove unnecessary trailing \n 2002-07-20 08:36:17 +00:00
yamt b9911a030d #if 0 out unused functions. 2002-07-20 05:40:55 +00:00
yamt 5eb02a32ce - remove handling of PKG_ADD_BASE.
- don't search current directory if PKG_PATH is set.
- don't prefer local directories.
- constify and cleanup.
discussed on tech-pkg.
2002-07-19 19:04:33 +00:00
yamt 84954a6eb7 - use snprintf and strlcpy instead of strcpy, strcat and sprintf in some place.
- remove a unneeded strcpy.
2002-07-09 03:30:05 +00:00
yamt bf62cfa448 check return value of snprintf correctly. 2002-06-27 12:05:52 +00:00
agc 2d3a1701d3 Avoid hardcoding /usr/bin/ftp in the pkg_add binary.
Fixes provided by Stoned Elipot <seb@script.jussieu.fr> in PR 17323
2002-06-21 14:49:40 +00:00
yamt 80a776becb constify and make WARNS=2 clean. 2002-06-10 09:14:26 +00:00
yamt 56268cdf57 constify. 2002-06-09 14:14:49 +00:00
yamt 51111fe65d - make last arg of findmatchingname void*.
- move some duplicated functions into lib/.
2002-06-09 13:23:44 +00:00
yamt cc8d347c9a - free memory allocated by findbestmatchingname.
- use static buffer instead of "malloc and don't free"
  for dirname_of.
- fix indent.
2002-06-09 11:56:59 +00:00
yamt 830edd8ed3 rewrite strip_txz:
- don't match against filenames like "a.tgz.a"
- more buffer overrun checks.
2002-06-09 10:40:47 +00:00
yamt f2a19ed936 - fix buffer size checks
- define PKG_PATTEN_MAX and PKG_SUFFIX_MAX and
  use them instead of constants like 255.
- add asserts and buffer size checks.
2002-06-09 03:50:13 +00:00
yamt ae85a7c2df - constify.
- avoid unneeded strcpy.
- add more error checks. (avoid segv
2002-06-09 03:38:59 +00:00
agc 9dd6d667fa Only define DEF_LOG_DIR if it's not already set. 2002-05-10 13:17:57 +00:00
hubertf 19f6d0bbcb Add more error checking, and tell the user what's up when he runs
into descriptor-shortage. Can be caused when installing deeply-nested
binary pkgs like kde.
2002-04-23 10:14:59 +00:00
agc 5e5f49ecfa Check the return code from the second invocation of installprereq(), to
make sure that a failed installation of a rpe-requisite package kills
the attempt to add the package. This reverts pkg_add(1) to traditional
behaviour.

Bump version number accordingly.
2002-04-02 15:08:33 +00:00
agc 2e8bd5562d When adding packages via pkg_add(1), and a pre-requisite package needs
to be added, first try to use the exact version of the pre-requisite
with which the base package was built (from the @blddep directive in
the +CONTENTS file), and then use the traditional dependency from the
@pkgdep directive.

Also rename a variable from "code" to "errc" to make it obvious what
the variable counts.

Bump version number to 20020306.
2002-03-06 17:45:20 +00:00
agc 33ef3d651a Add a new packing list directive, @blddep, which notes the exact
version of the pre-requisite package which was used to build the
package. This is derived automatically from the list of pre-requisite
packages which is provided to pkg_create(1) in the -P argument.

Bump the version number to 20020305.

Versions of the pkg_install tools prior to 20020305, when adding a
binary package with embedded @blddep directives, will warn that the
directive is not recognised, but will continue to add the binary
package.
2002-03-05 13:01:19 +00:00
agc 1c88ee495f ... and get the right month this time. 2002-02-22 10:13:41 +00:00
agc a1cbed9f66 Bump version date to reflect this change to create/pl.c:
> revision 1.22
> date: 2002/02/18 00:57:54;  author: hubertf;  state: Exp;  lines: +10 -3
> make @cwd work a bit more reliable:
>
> When -L is used (as it is by pkgsrc), don't override the directory
> set by @cwd unconditionally with what was given to -L (srcdir).
> Instead, use the @cwd directory.
2002-02-22 10:10:38 +00:00
yamt 9b2987d371 tets -> test 2002-02-02 15:30:18 +00:00
agc b85b4de6a6 Bump version number to reflect the pkg_info version number recognition
changes.
2002-01-09 18:50:17 +00:00
agc 2afa28bf02 Pull in a much simplified version of the vtest functionality. This new
functionality adds recognition of '_' and "pl" as pseudonyms for '.',
so that 1.2p2 == 1.2.2, and adds recognition of "pl" and "rc" strings,
which stand for "patchlevel" and "release candidate" respectively.

In addition, this version should handle alphabetic characters properly
(so that 1.2e == 1.2.5)

Normal NetBSD revision number processing has been retained (and is always
compared after all other tests have been performed).

64-bit integers are used internally for each component of the version
number.
2002-01-09 16:17:08 +00:00
hubertf 75b2df2eee don't hardcode "tar"'s program name, use TAR_FULLPATHNAME instead 2001-12-30 04:46:21 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
yamt d75115bcb0 fix typo that prevents to select best version of package. 2001-10-04 05:32:50 +00:00
hubertf 384aae98cc use full pathname of tar consistentlc
Patch provided in PR 14072 by Stoned Elipot <seb@script.jussieu.fr>
2001-09-26 13:48:27 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
wiz 64662a0528 Fix `pkg_add -u' for packages without dependencies.
Patch by Hubert Feyrer.
Addresses pkg/13536.
2001-07-24 14:45:16 +00:00
hubertf 861dbe4370 Interface change for strip_txz(): now stores suffix 2001-07-15 00:34:14 +00:00
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
agc bd6e892efe Apply the -I substitution logic for @cd as well as @cwd (just for
completeness, as @cwd will be used almost everywhere, and @cd is
deprecated).
2001-05-21 12:06:30 +00:00
agc 95a52b2709 Add -I argument to pkg_create so that the real prefix can be specified
for the @src and @cwd PLIST directives.

Bump version number.
2001-05-21 09:17:28 +00:00
agc 6ccfedb598 Add -U argument to pkg_create - by default, all files are added to the
pkgdb.byfile.db database. If -U is specified on command line to
pkg_create, don't add the PLIST entry to pkgdb.byfile.db.

Bump version number.
2001-05-18 13:21:38 +00:00
hubertf 01b66ea788 * add function strip_txz() to strip off any .tgz, .tbz, .t[bg]z from a
given filename.
 * Use strip_txz() inside the FTP-wildcard-depends handling code to
   prevent it handing a combination of glob and dewey pattern to pmatch(),
   which our pattern matching code currently does not handle. Bugfix!

XXX The other places that could be changed to use strip_txz() are not
    touched in this commit to keep the impact of this change small in the
    light of the approaching 1.5.1 release. I'll revisit them.
2001-04-28 20:55:33 +00:00
hubertf 152216c60d on pkgdb_remove, don't retain old errors - clear errno before.
This prevents some warnings from being printed over and over again
after one error was found.
2001-04-17 10:33:35 +00:00
itojun 3e4d36b9a4 do not terminate on EINTR. with previous behavior pkg_add terminates
if we suspend/change window size.
2001-04-09 08:13:37 +00:00
wiz 14dbdf5518 Negative exit code cleanup: Replace exit(-x) with exit(x).
As seen on tech-userlevel.
2001-04-06 11:13:45 +00:00
hubertf 648fa44a28 Add -u switch to pkg_add to do a very rudimentare form of pkg upgrading:
When invoked with 'pkg_add -u ...', and the package to be installed is
found already being installed, the old (installed) package is removed
with pkg_delete, and the new one is installed.

A very crude handling of dependencies is done (by moving the +REQUIRED_BY
file aside before pkg_delete, and back into place after the new pkg is
installed).

This needs a lot more work to TRT, but it's a first start.
2001-03-18 03:20:28 +00:00
wiz a456915f39 Bump version to 20010307 (yesterday's bugfix, and a 1.4 build fix). 2001-03-07 10:04:33 +00:00
wiz 2bf9002908 This header file needs no __RCSID. 2001-03-07 09:44:40 +00:00
wiz e0fc1c5416 Fix typos in comments 2001-03-06 10:29:11 +00:00
wiz 45678a8082 version.o depends on version.h. 2001-03-05 18:24:58 +00:00
wiz 429d019073 Don't allow NULL version packages to match. Patch by hubertf.
Bump version to 20010306.
2001-03-05 18:12:49 +00:00
wiz 2ba98ef9a1 Add -V option to all pkgtools, which reports the version of the pkgtools.
Document it. While there, fix the ordering of the option descriptions in
some man pages. Set version to 20010305.
2001-03-05 16:53:12 +00:00
wiz fcf23e4f53 Using strcmp with NULL pointers is a bad idea. Fixes pkg/11647. 2001-03-05 16:48:35 +00:00
wiz 6c81e9b559 Fix command line for tar in the case that the file to be handled doesn't
end in 'z' or 'Z'.
2001-03-05 16:46:23 +00:00
lukem c2aa46e7c2 use %ll_ instead of the less standard %q_ 2001-01-05 03:27:26 +00:00
hubertf 6e6337b43d * findmatchingname():
When the bzip-pkg handling was introduced, a dewey pattern (foo>1) may get
   a character-class-pattern attached (.t[bg]z), and the code was not prepared
   to match that. I've special-cased handling of character-class pkg suffixes
   for ".t[bg]z", and when scanning a dir in findmatchingname() now both the
   'first' part of the pattern (e.g. "foo>1") and the suffix (e.g. ".t[bg]z")
   must match the file, hence the two pmatch() calls.

 * findbestmatchingname_fn():
   Caught a case where ".t[bg]z" was not properly handled. Must do the same
   suffix-processing again here!

Fixes PR 11856 by Dan McMahill <mcmahill@mit.edu>
2001-01-01 22:07:35 +00:00
hubertf 3d76df0ee0 Strip not only .tgz but also .tbz etc. (missed from last commit) 2000-12-13 03:49:56 +00:00
hubertf 5382dffae7 * Accept ".tbz" as an alternative pkg suffix to ".tbz" for pkg_add and
pkg_info
 * In pkg_create, compress with bzip2 if a .tbz suffix is given
 * Fix pkg_info to work via ftp, either via URL specified on command line
   or via one made up from PKG_PATH (if set)

XXX ALWAYS tacks on ".t[bg]z", NOT ".t[gb]z" !!!
2000-12-13 03:17:53 +00:00
hubertf fc8a285aa2 Fix timeout in expect():
The FTP coprocess formerly wrote the output of the "get | tar vxf -" pipe
to stderr, which resulted in no output to the feedback pipe (stdout), and
thus the timeout was not updated for any line printed by the "tar" process.
This was now changed to also feed back the chars to the expect() routine,
updating the timeout handler. The "also" part is implemented by passing
the output through "tee /dev/stderr".

At least NetBSD and Solaris have this, so no problem there.

Thanks to Frank van der Linden for helping me to debug this.
2000-11-28 01:16:01 +00:00
hubertf ec58d85250 Don't mkdir("/usr/tmp") in a desperate try to get some space.
If it's there, use it. If it's not there - bad luck.

Pointed out by Simon Burge <simonb@wasabisystems.com>.
2000-11-26 03:12:01 +00:00
hubertf efeb1d1e82 Don't swallow '%' in file/directory names.
Patch submitted in PR 11352 by Brook Milligan <brook@biology.nmsu.edu>
2000-10-31 23:47:05 +00:00
mycroft f5abf3cd7a Introduce some caching. 2000-10-21 00:55:23 +00:00
is d8302e2d73 More format string cleanups by sommerfeld. 2000-10-11 20:23:46 +00:00
hubertf bf24eb4e3f Check if $PKG_PATH is set AND contains something useful. Stops
pkg_info from spewing.
2000-10-11 11:09:20 +00:00
hubertf f5b925151e Allow SRCS, LDADD to be set on the command line, and still add the files. 2000-10-09 17:03:20 +00:00
hubertf 32166d4f75 Only pull in <vis.h> when debugging expect(), i.e. EXPECT_DEBUG is set. 2000-10-09 14:35:27 +00:00
hubertf 037fd8a74e Make even more silent, only spit out stuff if -v is given.
Found during a post-install of a fresh machine:
1. setenv PKG_PATH ftp://smaug.fh-regensburg.de/pub/NetBSD/arch/i386ELF/All
2. pkg_add tcsh ssh XF86Config
3. Run XF86Config
4. pkg_add kde
5. Be done.

We should do this from /etc/rc.local on first boot... :-)
2000-10-04 16:01:50 +00:00
hubertf 0a2663ad0b Not every FTP server says nicely "Goodbye".
If they used some other string, pkg_add would hang forever.
The result of testing things only against one FTP server...
2000-10-01 20:34:30 +00:00
hubertf b09f22f48f When downloading and extracting a file (in ftp:
'get pkg.tgz "| cd /var/tmp/inst ; gunzip | tar -x -f -"'), handle
two cases better:

1. Timing out ftp connections: Make sure the hanging pipeline gets a ^C
   (SIGINT), and wait until the ftp prompt is available again. Else we
   may nuke away tar's working dir, and it may be displeased.
2. One of the commands from the pipeline exiting: caught via SIGCHLD;
   for this signal to be delivered, a empty handler is needed)

Adresses PR 10925 by Greg A. Woods <woods@planix.com>
2000-09-01 04:42:57 +00:00
hubertf d332db18be Make pkg_add & friends print the files they push through tar(1) to
stderr, thus making them visible. (tar's stdout goes somewhere else)
2000-08-29 03:56:56 +00:00
hubertf 14dbdb5745 * Make a few functions public so this code can be used by other programs
* Comment a workaround for a certain lukem ftp behaviour
 * Fix a bug where a invalid initial dir was not caught early enough
2000-08-28 21:35:14 +00:00
hubertf 0186d67219 Hide "trying PKG_PATH ..." message, only print on -v 2000-08-28 15:39:35 +00:00
hubertf c0f021878e handle NULL pen variable more gracefully in find_play_pen() 2000-07-24 02:54:22 +00:00
hubertf 0379a1727a remove/hide some debugging code 2000-07-06 16:06:36 +00:00
hubertf 2b35b3d322 * Move comment around a bit
* Document some return code
2000-07-05 20:17:04 +00:00
hubertf 65162fd077 be sure to set pkgdbp to NULL after closing the db. 2000-06-19 13:28:06 +00:00
hubertf 74056630be remove stale debugging code 2000-06-18 01:31:23 +00:00
hubertf e5b91ee82e * shuffle variable names in findbestmatchingname_fn() around
a bit, to make them more descriptive
 * in findbestmatchingname_fn, fix a bug where a null pointer wasn't
   caught (I wonder why we didn't actually hit that case...)
 * Bugfix in findbestmatchingname_fn: when comparing, strip off any
   trailing ".tgz", as this will give wrong results. "1.9.8.tgz" was
   found to be greater than "1.9.8.1".
2000-06-18 01:29:30 +00:00
hubertf 7aed2e5cfb use /var/tmp consistently. (XXX need to re-visit if we ever
put pkg_add on a install floppy)
2000-06-18 01:29:17 +00:00
hubertf 2b57637552 ftp(1)'s "ls" now lists files/dirs plus attributes (much like "dir" did
before). Use "nlist" to still get filenames only.
Needed to expand wildcards.
2000-06-08 00:26:48 +00:00
mycroft 411fdd599d Fix obvious typo in previous commit. This could not possibly compile. 2000-04-30 07:57:45 +00:00
hubertf c669928eeb Print appropriate warning if the directory of a @dirrm is not present
at all.

Pointed out & fix reviewed by Thomas Klausner.
2000-04-29 22:39:58 +00:00
hubertf 495734ff62 - Bump timeout in select() to 10 minutes
- Make sure ftp_cmd() properly passes down an error value (-1) when
   appropriate.
2000-02-27 02:35:28 +00:00
hubertf 93b37b7f07 adjust copyright 2000-02-22 01:24:26 +00:00
abs ce9e985266 Special case 'nb<X>' suffix in deweycmp() - this allows NetBSD specific
changes to packages to have a unique version, and still work with deweycmp().
2000-02-07 11:26:26 +00:00
hubertf 422fde1de4 init buffer differently 2000-02-04 03:45:48 +00:00
hubertf b932078a68 remove clutter left after switching to mkstemp 2000-02-02 14:54:50 +00:00
hubertf 4b164aae49 Use mkstemp instead of mkstemp. 2000-02-02 14:42:53 +00:00
hubertf 45d0c80c1d add copyright and (more important!) _RCS_ID() 2000-02-02 14:09:40 +00:00
agc cf6ad33088 Set the environment variables to have zero-length strings on Solaris. 2000-02-01 10:46:55 +00:00
agc 2a29f83468 Fix a typo.
Make a start at linting this.
2000-01-31 13:39:08 +00:00
agc 69acf6de93 Fix for Solaris: don't try to call unsetenv(). 2000-01-31 13:33:19 +00:00
hubertf 938c6a8b17 be a bit more liberal WRT slow servers 2000-01-26 02:12:14 +00:00
hubertf 549295852e -current's gcc seems to be a bit picky about using pointer-differences as
args to the "*" of a printf "%*.*s" pattern. Add some casts to int.
(At least on NetBSD, ptrdiff_t is typedef'ed to int anyways)
2000-01-25 17:21:07 +00:00
hubertf 4a961a7fc3 some code cleanup 2000-01-25 12:09:19 +00:00
hubertf 9d0c5bb4ee FTP wildcard depends code, initial commit.
Modulo some code cleanup, this gives NetBSD full wildcard support not
only in pkgsrc, but esp. for binary packages installed from local disk
and via FTP. For more information, see:

	http://www.feyrer.de/NetBSD/wildcards.html
2000-01-19 23:28:28 +00:00
hubertf be1f1ece47 Set things to a sane state for db(3) routines. 1999-12-20 18:23:03 +00:00
hubertf 402f80b9da - Comment code
- Minor re-indenting
 - Fix printing of @ignore in pkg_info (did this ever work?)
 - Fix installing of local wildcard dependencies (unused in main system)
 - Fix deleting of packages that depend on wildcard dependencies
   (fexist() is not enough there :-)
1999-12-01 14:51:50 +00:00
hubertf 2b494f847d Don't be verbose unnecessarily. (Instead, just remove this stale debug
code)
1999-12-01 05:08:10 +00:00
hubertf ecf89794f5 Put support for @src back in.
For users who use private packages that use it. (Hi Bill!)
1999-11-29 20:09:54 +00:00
hubertf 406791739c Add code to include the size of a package into both the
installed version and binary packages. The size can be queried then
via pkg_info:

        xfeyrer @ noon% pkg_info -s xv
        Information for xv-3.10apl1:

        Size of this package in bytes: 4670692


        xfeyrer @ noon% pkg_info -S xv
        Information for xv-3.10apl1:

        Size in bytes including required pkgs: 14610165

While doing work on the size code, support for the @src directive was
removed (formerly enabled with the pkg_create -s switch, but unused in
our pkg system).  The new pkg_info -s and -S switches were tested on
installed, local (file) and remote (ftp) packages.

In bsd.pkg.mk, take special care for pkg_* versions that do not have
the pkg_create -s and -S switches and do not record size information
there.
1999-11-29 19:48:44 +00:00
fredb 60fae50bc1 Don't preserve uids or permissions of checked out files (MTREE, DEINSTALL,
INSTALL) into package tarballs. Files installed by the package itself are
not affected.
1999-11-18 02:05:16 +00:00
hubertf b59ddc2237 Comment pl_ent_t to make debugging easier. 1999-09-09 01:31:44 +00:00
hubertf 8ee940971e Bring closer to /usr/share/misc/style with the aid of indent(1). 1999-08-24 00:48:37 +00:00
hubertf c39c4fc075 Hide test for URLlength()>0 behind a macro (IS_URL()). 1999-08-23 15:17:03 +00:00
agc cf95737b8e The copy_hierarchy function is never called. Remove its definition and
prototype.
1999-08-20 09:20:20 +00:00
agc d5c5c423a3 Consolidate URL handling into a table of valid leading strings for
URLs, and an access function (URLlength) - saves having various
hardcoded strings all over the place. Delete isURL, and use URLlength
in its place. Also use URLlength when parsing a filename for host
and filename part.
1999-08-19 14:12:34 +00:00
agc 72077b961b Clean up minor nits in C code. 1999-08-19 13:29:59 +00:00
mrg fccfa318a5 don't print a useless error message. 1999-06-18 09:50:35 +00:00
cgd bb8cb1198b Add support for fetching packages from HTTP URLs. Since 'ftp' is already
invoked for (FTP) URLs, this was just a matter of recognizing HTTP URLs
in the places where FTP URLs were recognized (and updating a comment and
the manual page).
1999-06-15 06:32:00 +00:00
tron 343ac4c964 Remove support for absolutes pathnames completely. This can't work with
binary packages like we support them now.
1999-05-30 16:08:23 +00:00
christos 3024caeb08 Don't prepend directories if the plist files are absolute. 1999-05-29 20:44:20 +00:00
hubertf 3adf761c0b Use absolute path to tar(1) in execl() call.
*** This makes retrieval of pkgs via ftp work again!

Also don't just call exit() if the execl() call fails, but print some
error (via err()).
1999-04-12 00:29:51 +00:00
hubertf c7cd57bc07 Fix off-by-one error. (This was detected using libefence) 1999-04-10 02:17:21 +00:00
hubertf 04417da166 Replace static array of packages given to pkg_perform() with linear
list, using chopss' list functions (moved to lib/lpkg.c and
lib/lib.h).

Properly handle wildcards in arguments to "pkg_info", "pkg_delete" and
"pkg_admin check".

Some other minor cleanups.
1999-03-22 05:02:39 +00:00
christos ae673e9f58 Shut-up gcc-2.8.1 warnings. 1999-03-15 08:57:12 +00:00
lukem 7e1c62baf8 set MKLINT=no. noted by NAKAJIMA Yoshihiro <nakayosh@kcn.ne.jp> 1999-03-13 23:17:46 +00:00
agc 530dddb95a Define TAR_CMD and TAR_FULLPATHNAME, and use them in preference to
hardcoded strings "tar" and "/usr/bin/tar". This allows the package
tools to use GNU tar with a different name (it's often installed as
gtar), and from a directory other than /usr/bin.
1999-03-09 11:10:39 +00:00
hubertf 2428218e4b update comment for findmatchingname() 1999-03-06 02:16:25 +00:00
hubertf 3667be3444 More helpful message on failure 1999-03-03 00:24:21 +00:00
hubertf bae5f0c988 use mkdtemp also on 1.3I and up 1999-03-02 03:04:06 +00:00
agc d7c7ee9aba Include <fcntl.h> for the O_* definitions. 1999-03-01 12:06:57 +00:00
hubertf e4f74ec4d3 there is no ftplib.3 1999-02-13 17:46:20 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
hubertf 9bb8dc7ef9 Remove the "struct datum" and use DBT directly.
Submitted by Alistair Crooks - thanks a lot!
1999-01-29 13:29:34 +00:00
hubertf 7c49b89e86 minor comments fixup 1999-01-26 14:47:32 +00:00
hubertf 1c7d06dd18 comment fileFindByPath(), reindent a bit 1999-01-26 14:26:23 +00:00
hubertf f9e71e406c Add code for pkgdb. 1999-01-19 17:01:56 +00:00
christos 5b514fad6f include fcntl.h to get O_RDONLY; our headers include too much stuff. 1998-11-02 22:40:11 +00:00
agc 48b4d2e2ba Instead of ignoring any SIGINTs when cleaning up, allow them. The
user might actually know better, just this once.
1998-10-27 19:27:17 +00:00
agc 266128247c Always tell the user about the temporary directory we're about to delete. 1998-10-26 18:01:22 +00:00
agc ff77ebb33f Add a -B option to pkg_info to print out the "Build Information" for
packages.
1998-10-21 09:54:09 +00:00
agc 9aea3f2ecb Add -b argument to pkg_info to display the +BUILD_VERSION file for the
binary package, should it exist.
1998-10-13 17:08:28 +00:00
agc 67f5c7183e Get rid of YES and NO definitions. NO was defined but never used.
YES was defined, and one variable was set to YES.  However, it was
never checked, just non-zero comparison was used.
1998-10-13 10:05:38 +00:00
agc 5e8df8cb74 Fixes for Alpha, from Hideo MASUDA (h-masuda@jm3spa.felix.or.jp), in
PR bin/6284, slightly munged about for platforms which aren't LP64.

Also, don't use hardcoded strings (or their lengths) when we've
already defined them in a common header file.
1998-10-13 10:00:09 +00:00
agc 959d0a0cde + Remove obsolete and unused string functions.
+ Fix a bug introduced when the package name comparison routines were moved -
alternate matching now completes and works properly.
+ Add -R argument to pkg_create, which re-orders any directories in the
generated PLIST into reverse alphabetic order.
+ Add -l argument to pkg_create, which checks that any symbolic links in
the package are relative-to-$PREFIX pathnames, rather than full pathnames.
+ General cleanup elsewhere.
1998-10-12 12:03:24 +00:00
agc 7bdbc205e5 Use the same table for input and output of PLISTs. 1998-10-09 19:51:21 +00:00
agc 9daf7cc9b2 More cleanup - various bits of KNF.
Use another table when parsing PLIST files - makes this much more extensible.
1998-10-09 18:27:31 +00:00
agc 82f2922229 Fix a bug in pkg_info -f with @pkgcfl entries. 1998-10-09 09:35:39 +00:00
agc 65e1849228 Garbage collect unused variable..
Update documentation accordingly.
1998-10-09 09:22:15 +00:00
agc 70c6765099 Eliminate all use of sprintf(3), and replace it with snprintf(3).
Bounds check the @exec and @unexec commands when they are constructed.
1998-10-08 12:57:58 +00:00
agc b6bd49da4e One more piece of lint. 1998-10-08 12:22:54 +00:00
agc e5d1fd5f5a Get rid of some lint.
No functional changes.
1998-10-08 12:15:24 +00:00
ross a258e2c9b1 Squelch minor LP64-related compiler warning/error (-Werror) 1998-10-05 09:02:28 +00:00
hubertf 4cc256a5d1 fix some egcs warnings 1998-10-04 01:48:15 +00:00
hubertf 0151583b9c Teach our tools about dependencies containing wildcards. 1998-10-03 16:24:07 +00:00
hubertf 4c0a9c52a7 In an ideal world, make_playpen() and leave_playpen() would maintain
a stack of directories, we'll do with a save/restore_dirs cludge for
now. => Fixes the bug I mentioned yesterday that shows when one pkg
installs another (depending) pkg via FTP.

Fixed another bug with extract-in-place when the destination dir is
already there.
1998-10-01 21:16:26 +00:00
hubertf 90c872591e Allow symlinks to directories instead of pure directories in several
places (/usr/pkg, /var/db/pkg, ...). Closes PR 6009 by Jim Bernard
<jimjbernard@ox.mines.edu>.
1998-08-27 23:37:35 +00:00
ross b1934d6034 {} fixes from Erik Bertelsen <erik@erik-be.uni-c.dk> (PR 6047) to shut up egcs. 1998-08-27 20:31:00 +00:00
hubertf 1285035fe7 Don't exit cleanup() functions if not called from signal handler - this
will show error messages before aborting.
Patch supplied by Jim Bernard <jbernard@ox.mines.edu> in PR 6010, cleanup()
in delete/perform.c prepared to be used as signal handler by me.
1998-08-25 00:12:16 +00:00
hubertf ad11dcd500 Replace FreeBSD's libftpio with our calls to our great ftp client. 1998-07-09 16:47:26 +00:00
hubertf cab003200b Abort on "rm -rf /"... 1998-07-08 07:17:30 +00:00
mrg 32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00
frueauf dd2f801595 Add support for CONFLICTS entry, implement -C switch for pkg_create
and document that new feature.
1998-06-05 11:22:19 +00:00
hubertf 55444efe60 return new dir; fixes PR 5456 by "Heiko W.Rupp" <hwr@pilhuhn.de> 1998-05-18 23:43:57 +00:00
agc 62aaf11f0b In isdir() function, use lstat(2) instead of stat(2), so that we do
not traverse through any symbolic link.  This fix means that packages
which make symbolic links to directories can now be de-installed.
1998-04-23 10:40:04 +00:00
agc efa0b41486 Clean up some lint warnings about return value of errx. 1998-03-27 12:17:58 +00:00
agc ac649ec457 When reading the PLIST file, don't abort everything if you don't
recognise an '@' command - just flag the line as being unrecognised,
and move to the next line.
1998-03-27 12:16:26 +00:00
christos 6efeed277f Don't hardcode 1900 1998-02-04 15:29:19 +00:00
mrg ca2afdd453 fix compile warnings on the alpha. 1997-10-19 09:39:35 +00:00
lukem 031fee8254 use strchr/strrchr/memset/memmove instead of index/rindex/bzero/bcopy 1997-10-18 11:05:34 +00:00
lukem 05941d095a WARNSify, cleanup Makefiles 1997-10-17 14:53:18 +00:00
hubertf ca6157bdca - document $PKG_PATH
- use -v on pkg_add for dependent packages (forgot on last commit)
 - most important: 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)
1997-10-16 00:55:01 +00:00
hubertf 508ee08a34 Second part of intrgration of FreeBSD pkg_install as of 971013.
This patch adds @option preserve and handling for -s (SrcDir)
option.
1997-10-16 00:50:20 +00:00
hubertf d0245e3952 First cut on importing pkg_install as of FreeBSD 971013:
- warn()/err() instead of whinge()/barf()
 - Update RCS Id strings
 - Update manpages (mostly)
1997-10-16 00:31:32 +00:00
thorpej 3dcfaef872 NetBSD Makefiles use "MAN=foo.3" not "MAN3=foo.0". However, since we
do not install this library, do not even bother with the ftpio.3 manpage.
1997-06-05 20:43:28 +00:00
agc 2ad13dba57 Don't install libinstall.a (from Bernd Ernesti)
pkg_delete manual page mods got lost in previous commit.
1997-06-05 14:25:49 +00:00
agc 153272e388 Add NetBSD Ids
Un-munge pkg_install/lib/Makefile which I'd overwritten on libftpio commit.
Make it compile on NetBSD.
Install pkg_* programs in /usr/sbin

XXX agc - Still to do XXX
Cleanup call to mktemp (for a tmp dir) in pkg_install/lib/pen.c
Create ftperr.c in the correct directory.
1997-06-05 12:59:18 +00:00
agc 5d78b65530 Initial import of FreeBSD libftpio.
Placed here (under pkg_install) to make it private to that tool.
1997-06-05 09:11:59 +00:00
agc 5d4508e153 Initial import of FreeBSD packaging tool. 1997-06-05 08:54:23 +00:00