Subject: CVS commit: src/usr.sbin/pkg_install
To: None <source-changes@NetBSD.org>
From: Ben Collver <ben@netbsd.org>
List: source-changes
Date: 11/23/2005 04:59:15
Module Name:	src
Committed By:	ben
Date:		Wed Nov 23 04:59:15 UTC 2005

Modified Files:
	src/usr.sbin/pkg_install/add: add.h extract.c futil.c perform.c
	src/usr.sbin/pkg_install/create: perform.c
	src/usr.sbin/pkg_install/info: perform.c
	src/usr.sbin/pkg_install/lib: Makefile fexec.c file.c lib.h version.h
Added Files:
	src/usr.sbin/pkg_install/lib: pexec.c

Log Message:
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().


To generate a diff of this commit:
cvs rdiff -r1.8 -r1.9 src/usr.sbin/pkg_install/add/add.h
cvs rdiff -r1.36 -r1.37 src/usr.sbin/pkg_install/add/extract.c
cvs rdiff -r1.15 -r1.16 src/usr.sbin/pkg_install/add/futil.c
cvs rdiff -r1.113 -r1.114 src/usr.sbin/pkg_install/add/perform.c
cvs rdiff -r1.42 -r1.43 src/usr.sbin/pkg_install/create/perform.c
cvs rdiff -r1.66 -r1.67 src/usr.sbin/pkg_install/info/perform.c
cvs rdiff -r1.25 -r1.26 src/usr.sbin/pkg_install/lib/Makefile
cvs rdiff -r1.8 -r1.9 src/usr.sbin/pkg_install/lib/fexec.c
cvs rdiff -r1.74 -r1.75 src/usr.sbin/pkg_install/lib/file.c
cvs rdiff -r1.78 -r1.79 src/usr.sbin/pkg_install/lib/lib.h
cvs rdiff -r0 -r1.1 src/usr.sbin/pkg_install/lib/pexec.c
cvs rdiff -r1.72 -r1.73 src/usr.sbin/pkg_install/lib/version.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.