Commit Graph

469 Commits

Author SHA1 Message Date
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
hubertf
741e17c0cd * Invent ZOULARISBASE, defaulting to $LOCALBASE/bsd
* allow overriding CHOWN/CHGRP/CHMOD (= -> ?+)
2001-04-08 14:11:48 +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
6890588691 If a package is already installed, this is *not* a fatal error. Do not
report error code 1, as this will abort installing pkgs if a dependency is
already found installed under certain conditions.
2001-03-28 12:46:01 +00:00
tron
d059ac0ad9 Use "tar" included in latest Zoularis under SunOS. 2001-03-23 14:06:16 +00:00
hubertf
35be797120 Set return code != 0 if the given pkg (file) cannot be found.
E.g. try "pkg_add foo ; echo $?". This hits is in bulk builds.
2001-03-22 13:41:35 +00:00
wiz
47acaa6b2d Update path in example to a more recent package. Noted by zuntum. 2001-03-20 19:43:36 +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
hubertf
ee1019de50 Update description a bit - inspired by Jeremy C. Reed <reed@reedmedia.net>
from tech-pkg.
2001-03-13 18:25:30 +00:00
wiz
63f7d31eeb Fix -r: Show REQ/+REQUIRE file for a package, if existing. Fixes pkg/12210.
Patch by Hubert Feyrer.
Note: REQ support has been taken out of bsd.pkg.mk in v1.628; since
pkg_create still supports it, we should support it in pkg_info too,
though.
2001-03-10 18:41:45 +00:00
wiz
c62849a451 Minor cleanup, no functional change. Patch by Hubert Feyrer. 2001-03-10 13:18:09 +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
f2496b9080 Test matching entries in /var/db/pkg on if they are directories.
Fixes pkg/12073 by Dan McMahill.
2001-03-06 10:30:54 +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
hubertf
4b8c25f151 Prevent some minor descriptor leaks. 2001-03-04 18:16:42 +00:00
hubertf
55a4568c92 Make usage message match that of other pkg_* programs:
* user lowercase "usage"
 * do not use __progname/getprogname() to make this build on old systems
   (the pkg_install pkg is intended to run on 1.4 and maybe 1.3 too...)
2001-02-21 13:12:47 +00:00
cgd
25bdbb661e convert to use getprogname() 2001-02-19 23:22:40 +00:00
jdolecek
c7121de1da use getcwd() instead of getwd() - mainly to avoid link warning, this
particular usage is safe
2001-01-10 22:53:22 +00:00
lukem
443a19e035 convert to using .WAIT 2001-01-09 03:13:39 +00:00
enami
270db080e9 Use PRINTOBJDIR. 2001-01-07 08:00:54 +00:00
hubertf
f4f6931307 Alphabetize options. 2001-01-07 01:39:20 +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
4b8a7a0e49 Fix pkg_info w/ URLs (*sigh*) 2000-11-30 10:09:15 +00:00
mycroft
9ff73e166a Oops; the increment needs to be in check1pkg() for the case where the user
specifies a list.
2000-11-28 05:23:35 +00:00
mycroft
23451da968 pkgcnt was incremented twice during a `check'... 2000-11-28 05:21:57 +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
wiz
18c121ba47 ispell 2000-11-12 15:32:57 +00:00
lukem
279552d3db fix up various .Nm abuses:
- keep the case consistent between the actual name and what's referenced.
  e.g, if it's `foo', don't use '.Nm Foo' at the start of a sentence.
- remove unnecessary `.Nm foo' after the first occurrence (except for
  using `.Nm ""' if there's stuff following, or for the 2nd and so on
  occurrences in a SYNOPSIS
- use Sx, Ic, Li, Em, Sq, and Xr as appropriate
2000-11-07 06:43:24 +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
hubertf
4f394222d2 Pull in /etc/mk.conf unconditionally, not only on SunOS.
Discussed with Alistair Crooks.
2000-10-27 11:49:23 +00:00
hubertf
931aadfd80 s/bsd/BSD/ 2000-10-25 15:55:44 +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
5f69d95c26 Check right variable to see if it's a URL (pkg -> cp) 2000-10-11 11:08:04 +00:00
hubertf
b31af88872 fix indentation 2000-10-11 11:01:41 +00:00
hubertf
589e705b57 Remove unneeded header <db.h>. 2000-10-09 19:11:58 +00:00
hubertf
6cc0c78181 Remove unneeded header <sys/syslimits.h> 2000-10-09 19:06:08 +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
ad
5b09090e8e insure -> ensure 2000-10-05 12:35:33 +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
197ee08b13 Don't replace the pkg version with -[0-9] on pkg alternates ("{foo-x,bar-y}")
as this will remove things like trailing '}' etc. and doesn't work in general.

As mentioned in the already-existing comment, doing TRT here would mean to
partly expand the pattern, then replace the versions on alternatives.
Unless our pkg pattern parser gets these hooks, cowardly step back.
2000-10-01 12:23:21 +00:00
jwise
f9c3dbedef Silly as it may be, update the #! line in this script to match the pkgsrc
wish install.

After the freeze, I'll pkgsrc this script -- it's kind of cute.
2000-09-14 18:00:44 +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
80c46f750e * Code cleanup
* Add a comment in one appropriate place
 * Indent properly
2000-09-01 04:36:20 +00:00
hubertf
c06c5a0348 Add some (commented out) debug flags 2000-09-01 04:34:03 +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
8102826629 Keep *roff from eating things.
Noted in PR 10687 by NAKAJIMA Yoshihiro <nakayosh@kcn.ne.jp>
2000-07-26 15:18:09 +00:00
dmcmahill
43301f1fee Fix a buffer overrun bug. The TOOBIG macro had some hard coded constants
which needed to be set at compile time but weren't (to handle the case where
TAR_CMD was set to something other than "tar", eg "gtar".  In addition to
the constants being wrong, the wrong directory name was being examined for
its string length.

Add a few comments to hopefully avoid having this problem come back.
2000-07-24 20:09:15 +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
7ca7a7f658 Only calculate MD5 checksum for plain files.
As a side effect, fixes handlink of links to dirs.
2000-07-05 20:18:16 +00:00
hubertf
2b35b3d322 * Move comment around a bit
* Document some return code
2000-07-05 20:17:04 +00:00
msaitoh
f6f00e2615 remove extra period in SEE ALL section 2000-07-05 15:45:28 +00:00
hubertf
65162fd077 be sure to set pkgdbp to NULL after closing the db. 2000-06-19 13:28:06 +00:00
hubertf
f9aaf0a4e5 Allocate space & copy a string returned by a function that'll clobber it on
next call.
2000-06-19 00:55:11 +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
tron
1b5dabcf75 Update prototype for "extract_plist()". 2000-06-17 11:30:49 +00:00
sjg
7bd1e30c61 extract_plist() should inform caller when it aborts extract 2000-06-16 23:49:17 +00:00
sjg
cc95d19ae1 avoid possible overflow of exit status 2000-06-16 23:48:23 +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
hubertf
29efdd4919 save another call to allocate space on the stack for something that's
definitely going to end up there.
2000-06-07 03:17:10 +00:00
hubertf
6fa913c454 Don't use asprintf() which isn't available on NetBSD 1.3.2. 2000-06-07 02:10:28 +00:00
hubertf
0948b6f2cb pkg_delete -r was done by Chris Hopps (I used the same code do implement
pkg_delete -R on that later on).
2000-05-16 16:38:15 +00:00
hubertf
7f040da3cd Don't remove any INSTALL scripts. Just in case someone needs them later
(e.g. to tar up the pkg again, and install it elsewhere).
2000-05-16 15:59:16 +00:00
hubertf
5cb5e5143c Don't read +CONTENTS files if not needed. 2000-05-15 23:14:42 +00:00
hubertf
8b8a982165 When expanding wildcards given on the command line, don't include
files (from /var/db/pkg). Only directories can contain pkgs.

Fixed PR 10083 by Dan McMahill <mcmahill@mtl.mit.edu>
2000-05-11 14:13:13 +00:00
hubertf
d06e2d8e2e Add "lsall" and "lsbest" commands to pkg_admin, to find all/best
package matching a certain pattern. Examples:

            yui# cd /usr/pkgsrc/packages/i386ELF/All/
            yui# ls unzip*
            unzip-5.40.tgz  unzip-5.41.tgz
            yui# pkg_admin lsall 'unzip*'
            unzip-5.40.tgz
            unzip-5.41.tgz
            yui# pkg_admin lsall 'unzip>=5.40'
            unzip-5.40.tgz
            unzip-5.41.tgz
            yui# pkg_admin lsall 'unzip>=5.41'
            unzip-5.41.tgz
            yui# pkg_admin lsbest 'unzip>=5.40'
            unzip-5.41.tgz
            yui# pkg_admin lsall /usr/pkgsrc/packages/i386ELF/All/'{mit,unproven}-pthread*'
            /usr/pkgsrc/packages/i386ELF/All/mit-pthreads-1.60b6.tgz

This adds a shell/user-interface to pkg-patterns, which are a superset
of sh/csh patterns and can't be expanded by any shell.
2000-05-08 22:48:42 +00:00
hubertf
b471b566f8 In require_delete(), actually use the expanded wildcard passed in via
@pkgdep.

Fixes PR 10056 by Dan McMahill <mcmahill@mtl.mit.edu>
2000-05-07 00:33:28 +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
d071991a9a Don't abort during quick depends pre-scan when -f is used 2000-04-01 23:31:39 +00:00
hubertf
f996345ebf Improve the last change.
Handling all kinds of wildcards properly would be hard, though it should
handle some cases better now. Esp. ones with '-' in the pkg(!) name, and/or
ones with dewer relational versions. I.e. the teTeX-share>1.97 case should
work now.
2000-04-01 22:12:45 +00:00
augustss
93336646e4 Make this compile again. 2000-04-01 14:54:51 +00:00
hubertf
404096ac77 In the "quick depends pre-check" don't only try to replace anything
after a "-" with the "more liberal pattern", but also anything after
any pkg wildcard.

That way if someone has teTeX-share-1.0 installed and pkg_adds
teTeX-1.0.7 (which wants teTeX-share>1.0.2), it will be caught.

XXX This "quick depends pre-check" would be nice to be done in
    bsd.pkg.mk as well
2000-03-31 22:12:56 +00:00
hubertf
0c2cdb98d9 * in pkg_add, before the "install dependencies" loop, check ALL
dependencies if they _can_ be installed. I.e. if a package wants
   version X installed, but version Y is already installed, pkg_adding
   that required pkg will blow up later (probably some pkg_add recursions
   down, given what we keep in the depends list). Now, it stopps right
   away:

        noon# pkg_add /usr/pkgsrc/packages/i386ELF/All/xdaemon-1.0.tgz
        pkg_add: pkg `xteddy-1.*' required, but `xteddy-2.0.1' found installed.
        Please resolve this conflict!

   The idea of this is from Thomas Klausner, further inputs from Alistair
   Crooks.

 * allow pkg names without versions given to "pkg_admin check"
 * Use sizeof() instead of hardcoding the buffers' size in some places
2000-03-19 17:24:27 +00:00
soren
89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +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
d46e75859c Reverse wording for -R. Per PR 9141 by Jim Bernard <jbernard@ox.mines.edu> 2000-01-17 00:48:52 +00:00
hubertf
bbb733f849 mention -Ss in usage 2000-01-10 14:53:56 +00:00
hubertf
be120f8f41 Also move the +SIZE files into place, if a pkg comes with some. 2000-01-09 17:21:53 +00:00
hubertf
873c34bf5e Some changes from David Maxwell <david@fundy.ca>:
- make it clear that a URL or full path can be given on the command line
 - explain where depending pkgs are expected to live
2000-01-04 22:39:28 +00:00
hubertf
be1f1ece47 Set things to a sane state for db(3) routines. 1999-12-20 18:23:03 +00:00
hubertf
78254bd723 Put back former -s switch to pkg_create as -L now.
Fixes PR 8982 by Eric Schnoebelen <eric@cirr.com>
1999-12-20 03:25:57 +00:00
hubertf
d11f27480e Not without my handbag. (Forgot this in last commit) 1999-12-01 15:15:29 +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
28f1032831 Document the current round of the game. :-) 1999-12-01 05:08:34 +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
kristerw
2220c68654 Typos (from OpenBSD) 1999-11-18 19:02:31 +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
abs
9c1ad975e8 Check return value from realpath() to avoid a NULL pointer being passed to
alloc_lpkg(). Avoids coredump if current directory is invalid.
1999-11-10 18:51:47 +00:00
proff
e09818f9fd Apply Force (-f) recursively 1999-10-04 17:16:59 +00:00
hubertf
1f6247c83d Add some sanity checks on what pkgdb_retrieve() returns.
Noted by D'Arcy J.M. Cain <darcy@druid.druid.net> on current-users.
1999-09-24 14:39:44 +00:00
hubertf
7ddf2760b9 Handle symlinks to directories correctly in "check" and "rebuild".
Problem reported by Matthias "tron" Scheler in private mail.
1999-09-13 00:32:14 +00:00
hubertf
d29beeb5df Remove the LogDir (/var/db/pkg/foo-x.y) _after_ we've run the DEINSTALL
script a second time (else there's nothing left to run ;).

Noticed by Jim Wise.
1999-09-09 01:36:30 +00:00
hubertf
b59ddc2237 Comment pl_ent_t to make debugging easier. 1999-09-09 01:31:44 +00:00
christos
6829e9be33 pick the proper uname. 1999-08-30 04:20:22 +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
b62dac7b36 Provide full pathnames for chgrp(1), chown(1) and chmod(1), passing
them down from Makefile.inc on an OS-specific basis.  Fixes PR 8250
from Wiz <wiz@danbala.ifoer.tuwien.ac.at>.
1999-08-23 10:34:53 +00:00
hubertf
3fb135484d Call deinstall-script after files are removed:
deinstall <pkg-name> POST-DEINSTALL

(PKGTOOLS_REQD not bumped, as nothing in pkgsrc uses this so far)
1999-08-21 02:21:13 +00:00
agc
eed4a2840a Fix braino, pointed out by enami - OS is not defined on NetBSD. 1999-08-20 14:34:34 +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
b41eccc5cd Make this work on Solaris "out of the box" 1999-08-20 09:12:10 +00:00
hubertf
c94d3e89cb Allow specifying a package name without a version.
If no (installed) package is found with the given name, "-[0-9]*" is
appended, and the search retried. Withs with any options to pkg_delete
and (esp.) pkg_info:

	pkg_info kde
	pkg_info -e emacs
	pkg_info -qL xlock
	pkg_delete -v emacs
1999-08-19 19:37:20 +00:00
agc
358f97854c Pass BINDIR down via Makefile.inc, rather than hardcoding /usr/sbin -
useful for systems where /usr/sbin is not the directory of choice.
1999-08-19 14:37:36 +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
tron
4ea05d6101 Add two missing "(void)" casts. 1999-08-19 07:18:38 +00:00
tron
dffe3016d3 Modify conflict check to avoid matching packages with the same name prefix
(e.g. "teTeX" and "teTeX-share"). Patch is based on a suggestion by
Hubert Feyrer, fixes PR pkg/8219.
1999-08-19 07:17:35 +00:00
tron
ad6d07bbfa Message files in binary packages are not displayed with more(1). 1999-07-28 10:07:05 +00:00
christos
6e1a032789 cast args to strcmp; 1999-07-10 20:17:21 +00:00
hubertf
ef0989e5e0 Document PKG_TMPDIR 1999-07-02 19:05:45 +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
b6d55241da @srcdir was renamed to @src long ago, reflect this in documentation;
noted in PR 7555 by R. C. Dowdeswell <elric@imrryr.org>
1999-05-15 03:27:50 +00:00
tron
1fceefc0ce Fix wrong error handling in case "/var/db/pkg" needs to be created.
Patch suppled by Roland Dowdeswell in PR pkg/7566.
1999-05-12 20:43:49 +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
simonb
2350b6d9ea Fix tyop. 1999-04-10 13:05:18 +00:00
hubertf
c7cd57bc07 Fix off-by-one error. (This was detected using libefence) 1999-04-10 02:17:21 +00:00
garbled
d1407362ba More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:43:46 +00:00
abs
7960b91475 Ignore files in /var/db/pkg (hint 'pkg_info pkgdb.byfile.db') 1999-03-22 06:04:16 +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
abs
0dee719066 Fix '-f'. 1999-03-22 03:24:04 +00:00
hubertf
2b8601f04f be more cautious about preserving cwd 1999-03-20 00:29:19 +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
tron
137c04ccf1 Fix string handling bugs introduced by last patch. 1999-03-12 17:32:20 +00:00
erh
0f61c6801e Add missing .El line. 1999-03-10 08:17:35 +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
agc
4a5e3913cb Include <fcntl.h>, so that the definitions for O_* are defined. 1999-03-09 10:01:12 +00:00
hubertf
e23d146ee6 TAILQ_FIRST and TAILQ_NEXT are not available on NetBSD 1.3 and 1.3.1,
define them for now.
Also fix a (unjustified) "variable may be used uninitialized" warning.
1999-03-09 02:20:49 +00:00
hubertf
4db56769f5 Add -R flag (similar to -r but the other way 'round) 1999-03-08 00:20:21 +00:00
mycroft
d77575d3c8 Clean up SYNOPSIS formatting. 1999-03-07 11:58:22 +00:00
hubertf
2428218e4b update comment for findmatchingname() 1999-03-06 02:16:25 +00:00
hubertf
dc7b712a59 Prevent printinv of empty "Requires:" section. 1999-03-04 01:45:22 +00:00
hubertf
7964a11f60 Do not only display the packages which require this package
(-> +REQUIRED_BY), but also show which package this package wants
installed (-> @pkgdep).
1999-03-04 00:35:05 +00:00
hubertf
5909aead8e Back out last fix to remove knowledge about LogDir from require_delete(),
because it wasn't in LogDir when it was enterred. :-/

XXX A better fix to this would be to put this save-and-restore-CWD back
in and also add it to recurse_require_find() and require_find(), but
this is too much action for nothing now.
1999-03-03 20:12:06 +00:00
hubertf
fe7b9b969f Add -O option to only delete things from the pkgdb, and do not touch
anything else of the package or it's files. To be used on "make reinstall"
by the buildsystem (quite exclusively).
1999-03-03 17:29:58 +00:00
hubertf
9f766d7071 More helpful message on failure 1999-03-03 00:35:16 +00:00
hubertf
3667be3444 More helpful message on failure 1999-03-03 00:24:21 +00:00
agc
21fa5d1385 Cosmetic but annoying - no need to append a newline character in warnx()
string - it's done by warnx() itself.
1999-03-02 10:32:23 +00:00
hubertf
bae5f0c988 use mkdtemp also on 1.3I and up 1999-03-02 03:04:06 +00:00
hubertf
c9234a4571 - Put no assumptions into require_delete() on where the old CWD was
- Fix check for circular dependency
 - Most importantly: DO NOT remove the package if something depends
   on it, and -r isn't given!!!!! Without this change, pkg_delete was
   happily nuking away any package even if it had some dependencies.
1999-03-02 02:31:23 +00:00
agc
fc1bcfe208 Quieten braindead gcc 2.8.1 unused warning. 1999-03-01 12:11:42 +00:00
agc
d7c7ee9aba Include <fcntl.h> for the O_* definitions. 1999-03-01 12:06:57 +00:00
chopps
862b113538 remove strequal, strcmp provides the functionality we need 1999-02-26 17:04:13 +00:00
chopps
ad9eaac8ec add -r flag to delete all packages that require the user specified one 1999-02-26 10:49:30 +00:00
hubertf
4ab7063639 If any other version of this package in stalled, stop. Document this. :) 1999-02-17 12:33:15 +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
e22dd1f460 Allow @exec to be the first (non-comment) thing in a PLIST file
IF there is no %d/%D/%f/%F in it.
1999-02-01 02:00:42 +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
tron
81714a52c8 Patches supplied by Greg A. Woods in PR bin/6626 to make "pkg_info"
recognize the width of the current terminal.
1998-12-31 00:04:07 +00:00
hubertf
9854172140 Remove extra : printed for @cwd,
per PR 6481 by Jim Bernard <jbernard@ox.mines.edu>
1998-11-22 16:22:41 +00:00
hubertf
ba73896f0c Fix some bugs discovered tonight when installing on a fresh 1.3.2
machine:
 - create /var/db/pkg if not there
 - fix wrong handling of findmatchingname() return code, resulting
   in missing /var/db/pkg dir being interpreted as match found
 - only move +BUILD_VERSION and +BUILD_INFO files if they're
   actually present (old pkgs don't have them!)
1998-11-07 23:16:50 +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
3fdf3a6fae Modify pkg_create to recognise Build Information and Version files, when
creating packages, and modify pkg_add to copy the files when a binary
package is added. This preserves the fine-grained version information in
a binary package, and also the options with which the binary package was
built.
1998-10-26 17:39:20 +00:00
hubertf
ee768386ba s/freebsd/netbsd/, pointed out by Heiko Rupp 1998-10-26 11:35:00 +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
e758d0c608 Make the new symlink relative to the name of the symlink, rather than
the target.
1998-10-19 20:15:24 +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
16ae233008 Some minor KNF.
Lots more to be done.
1998-10-09 11:16:57 +00:00
agc
3679178e31 Make pkg_info a tad more extensible by using a table to hold the strings
to be printed. Also, don't error out if any unexpected input is read -
just log the error, and keep on going.
Fix a slight bug along the way - if there was an @option in the package,
then pkg_info would die.
1998-10-09 11:05:58 +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
966a060e98 minor fixup for -e option 1998-09-12 21:59:18 +00:00
tron
63ef9847d5 Fix broken package dependence handling mentioned by Brook Milligan on
"tech-pkg@netbsd.org".
1998-09-08 21:54:01 +00:00
hubertf
e6c468e777 Make really sure to only nuke LogDir when it's been set. Fixes problem
described in PR 5308, code was contributed by Eivind Eklund <eivind@yes.no>.
1998-08-28 00:35:51 +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
ross
206d54f97f LP64 fixes for recently added code. (In LP64, ptrdiff_t != int.) 1998-08-27 20:11:31 +00:00
agc
8bdbb59a69 Add csh(1)-style alternates to pkg_info -e.
Add dewey-decimal relational number matching for package version numbers.
1998-08-27 12:54:03 +00:00
hubertf
2fb1caee16 Pass prefix for depending pkgs. 1998-08-25 01:16:03 +00:00
hubertf
d54f140300 Remove some trailing (extra) "."s. 1998-08-25 00:54:08 +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
tron
6986701b82 Sync manual page and usage() with reality, patches supplied by
Jim Bernard in PR pkg/6005.
1998-08-23 10:16:19 +00:00
hubertf
89f14c0f4e Prevent args of pkg_info -e from expansion (in case wildcard matching is requested) 1998-07-12 14:05:51 +00:00
hubertf
7a033bd0d4 Extend "pkg_info -e" to allow pkg-globbing, and allow using it. 1998-07-09 17:49:51 +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
tron
1ea9bb436f When adding a binary package from a locale file "pkg_add" fails now if
a dependence can't be resolved unless "-f" is used, fixes PR pkg/5625
by Jeremy Cooper.
1998-07-05 21:15:55 +00:00
lukem
fa0c2d578e everything has bugs; either document them or don't bother with a BUGS section 1998-06-08 12:36:55 +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
jeremy
52a7423256 Documented how the require and install scripts interact with the installation
process more clearly.
1998-05-28 02:30:39 +00:00
hubertf
c086a7443b No need to unpack file after fileGetURL(), which already did the work for us;
Fixes PR 5456 by "Heiko W.Rupp" <hwr@pilhuhn.de>
1998-05-18 23:47:23 +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
47f6bce353 Add a check (from FreeBSD) so that the removal of the temporary dir
takes place only once, if pkg_add is interrupted, and exit after the
cleanup is done.
1998-05-06 15:05:29 +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
frueauf
6326329eba Don't use "+CONTENTS" direct, use CONTENTS_FNAME instead. 1998-04-20 08:27:45 +00:00
hubertf
4ca037fe41 Fix handling of doubleclicking on installed packages.
With many thanks to Alistair Crooks for his TCL knowledge.
1998-03-30 21:37:47 +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
perry
34a98169f0 macroize BSD, NetBSD, FreeBSD and misc cleanup 1998-02-06 05:54:12 +00:00
christos
6efeed277f Don't hardcode 1900 1998-02-04 15:29:19 +00:00
hubertf
fdbf4d9eec Quote filenames handed off to tar, chmod, chown. (Fixes possible security
problem discovered while looking at pkgsrc/audio/tracker).
1998-01-19 00:24:03 +00:00
agc
5c0d2a645d Implement default -Ia arg to pkg_info a bit differently. 1997-11-17 12:08:59 +00:00
hubertf
793d82f785 Alter the default behaviour of pkg_info. With no options given, behave as
if -Ia was given, instead of showing usage.
1997-11-13 15:15:48 +00:00
hubertf
fa829ce599 Document $PKG_PATH and $PKG_DBDIR 1997-11-10 00:29:21 +00:00