Commit Graph

89 Commits

Author SHA1 Message Date
ben ed4b2f6172 Reduce the use of the system() function in pkg_install to avoid quoting
problems.  Instead, use exec*() functions.

Replace PUSHOUT() macro and string buffers with a function that
operates on data structures.

If it is necessary to copy files into place from staging area, then use
pax to copy them.

Add functions in pexec.c to create a pipe for sending data to a child
process.  Replace pipe code in create/perform.c with these functions.
Use these functions instead of command-line arguments when copying files
into place from staging area.

Three system() references remain: @exec, @unexec, and vsystem().
2005-11-23 04:59:14 +00:00
wiz 752535d165 Replace wait(2) with equivalent waitpid(2); for Linux, reported by wulf@
on tech-pkg.
2005-11-07 22:57:07 +00:00
wiz f0f9d6a437 Add compat #ifdefs from pkgsrc, to make syncing easier between the
two versions.
2005-11-05 13:11:02 +00:00
agc 6e58e2a640 Introduce a new abstraction in the C code, called MaxPathSize. All
previous occurrences of MAXPATHLEN and FILENAME_MAX have been changed
to use MaxPathSize instead.

If MAXPATHLEN is not defined, then assume a default value of 1024
(this is primarily for use on the Hurd).

The reason for this is that some older platforms define FILENAME_MAX
to be 14, although MAXPATHLEN is 1024. On BSD-derived systems,
FILENAME_MAX And MAXPATHLEN are both 1024.

Bump pkg_install version to 20041226.

These modifications have been tested so far on a NetBSD-current bulk
build.
2004-12-29 11:34:59 +00:00
kleink 48c51a151e Ensure readlink(2) result termination within buffer bounds. 2004-05-10 19:59:59 +00:00
simonb 9bc855a931 s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
2004-04-23 02:58:27 +00:00
tv 94b8c2cf60 Re-add umask() setting, and parameterize it so that pkgsrc/bootstrap based
pkgsrc platforms can override the value.
2004-04-09 18:27:48 +00:00
agc 478a76b17a At package creation time, record the targets of symbolic links which
are installed as part of the package.

Enable the verification of the integrity of any symbolic links
in the package in "pkg_admin check".

Add a check to pkg_delete to verify the integrity of the symbolic link
before deletion, and to act in the same way as an MD5 failure if the
symbolic link has been modified since package creation time.

Bump version number.

Addresses PR 23048 from Klaus Klein.
2004-01-15 09:33:38 +00:00
wiz c87a7072e8 Replace strnncpy calls with strlcpy calls. Remove strnncpy.
Ok'ed by agc and hubertf. Verified working with editors/mule package.
2003-10-04 00:50:34 +00:00
wiz b897232ac9 Sort options; use Fl x instead of Ar -x; use Pq/Sq. 2003-09-08 09:11:12 +00:00
wiz 255fb463e6 Bump date for previous. 2003-09-08 08:57:56 +00:00
jlam 1a174cde55 Merge src/usr.sbin/pkg_install on the pkgviews branch into the HEAD by
running:

        cd src/usr.sbin/pkg_install
        cvs update -Pd -A
        cvs update -Pd -j pkgviews-base -j pkgviews
2003-09-02 07:34:47 +00:00
grant 3319bc243a we already print "creating package ..." in pkg_perform(), no need to
say it twice :)
2003-08-10 12:27:08 +00:00
itojun 49a751869e use bounded string op as much as possible 2003-07-14 06:17:54 +00:00
wiz 16562717af Quote % characters in macro lines. 2003-06-26 10:09:05 +00:00
agc bc4c2ec6be Avoid one more annoying duplicated slash when prefix is "/" in pkg_create(1),
and one in the db cache file, which was causing pkg_info -F to produce the
wrong results with a prefix of "/".
2003-06-12 13:29:32 +00:00
agc 582cc64a31 Set the program name via setprogname(3). 2003-06-05 13:15:43 +00:00
grant 680230355c improve a message 2003-04-11 19:57:06 +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 295b90edfd order the getopt options alphabetically. 2003-01-10 10:43:50 +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
provos 32b88027c7 use readlink with bufsize - 1; approved thorpej. 2002-10-19 20:33:17 +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
wiz 5e977f5ead Ispell. Begin new sentences on a new line. 2002-09-26 01:41:51 +00:00
uebayasi 6a49247a32 Sprinkle .Xrs to packages(7). 2002-09-24 03:18:00 +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 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
agc dae19d20ed Output @blddep directives before @pkgdep directives. 2002-03-05 14:16:11 +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
hubertf 5ce6294f7b 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.

XXX#1: This was not tested with DESTDIR set
XXX#2: @cwd is still needed twice
2002-02-18 00:57:54 +00:00
wiz ddb67af4bb Drop superfluous .Pp. 2002-02-02 01:31:50 +00:00
hubertf f990f4a5a2 * Bugfix: if PLIST_SRC directly follows PLIST_CWD, ignore
the PLIST_CWD in creating the tar pipe.

   This takes care of pkg_create -p PREFIX -L FAKE
   where PREFIX does not exist at pkg creation time.

   From OpenBSD's rev. 1.9->1.10

 * Register PLIST_SRC before dependencies and conflicts so that the
   PLIST_CWD != PLIST_SRC hack works with dependencies present.

   From OpenBSD's rev. 1.10->1.11

 * improve error message to tell full path of exec() that failed
2001-07-15 00:23:14 +00:00
wiz d422b80ea9 Uppercase Dt argument. 2001-06-05 11:58:55 +00:00
joda 073d0b6122 (usage): correct number of arguments to fprintf 2001-05-28 07:59:53 +00:00
agc 8f6a8bb131 When adding the checksums for the individual file entries in the generated
+CONTENTS file, if the entry is also the last in the package's list, adjust
the tail pointer accordingly.
2001-05-21 12:05:20 +00:00
agc 83dc57abd5 Display the correct directory for the @src directive if -I has been
specified.
2001-05-21 12:03:53 +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
wiz b5f78004d1 Whitespace fixes. 2001-04-09 12:47:37 +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
hubertf 4b8c25f151 Prevent some minor descriptor leaks. 2001-03-04 18:16:42 +00:00
hubertf f4f6931307 Alphabetize options. 2001-01-07 01:39:20 +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 6cc0c78181 Remove unneeded header <sys/syslimits.h> 2000-10-09 19:06:08 +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
msaitoh f6f00e2615 remove extra period in SEE ALL section 2000-07-05 15:45:28 +00:00
soren 89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +00:00