History log of /freebsd-9.3-release/usr.sbin/pkg_install/lib/file.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 236462 02-Jun-2012 jpaetzel

MFC 236333,236336

Let pkg_add use the ENV variable PACKAGESUFFIX. This
can be used to override the default .tbz package extension to
.txz .tgz or .tar

Submitted by: kmoore
Obtained from: PC-BSD
Sponsored by: iXsystems


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 222035 17-May-2011 flz

Backout libinstall.a -> libpkg commit.

Discussed with: erwin, brooks, bapt


# 206043 01-Apr-2010 flz

Various fixes.

- Replace hardcoded INDEX version. [1]
- Fix a buffer overlap. [2]
- Remove empty package when fetching fails and -K is used. [3]
- Remove useless chmod2() after mkdtemp(3). [4]
- Replace mkdir(1) call with mkdir(2). [5]
- Get rid of some vsystem() calls.
- Switch from lstat(2) to open(2) in fexists().
- Try rename(2) in move_file() first.
- Bump PKG_INSTALL_VERSION to 20100401.

PR: bin/145101 [1], bin/139492 [2], bin/144919 [3]
bin/144920 [4], bin/144921 [5]
Submitted by: gcooper [1,2,3,4,5]


# 179835 16-Jun-2008 flz

Remove support for RELENG_4 (__FreeBSD_version < 500039).

MFC after: 1 day


# 132799 28-Jul-2004 stefanf

Use the length modifier 'll' instead of 'q' to print long longs.


# 131285 29-Jun-2004 eik

- pkg_add spawns itself as argv[0] when installing dependent packages, to
enable the use as a port on older systems

- use absolute paths in all calls to external programs, to account for strange
PATH settings

- use INDEX or INDEX-5 depending on FreeBSD version, to enable the use on
FreeBSD 4.x as a port.

- conditionalize all 4.x/5.x differences on __FreeBSD_version, so that the
pkg_install tools can be kept in sync on 4.x and 5.x

- Bump PKG_INSTALL_VERSION

Reviewed by: portmgr (bento run)
MFC after: 4 weeks


# 131280 29-Jun-2004 eik

- pkg_info: flag -r: (show packages this packages depends on (documentation change))

- pkg_info: new flag -j (show the requirements script)

- pkg_info: fix verbose output when used on packages

- better handling of corrupt entries in /var/db/pkg

- differ between corrupt entires and packages not installed

- various small fixes

PR: 56989, 57016, 57029, 26468


# 128026 08-Apr-2004 kientzle

When invoking tar, make sure the mode option (-x) is first.


# 108778 06-Jan-2003 jkh

Prevent buffer overflow in format_cmd() by properly tracking maximum
buffer size.
Reported by: Lionnel CHAPTAL <Lionnel.Chaptal@IPricot.com>
MFC after: 1 week


# 106923 14-Nov-2002 bmah

Assume that packages passed on stdin are in bzip2 format, not gzip.
(sysinstall depends on this feature for package addition.)

Comment on hard-coded bzip2 usage in the spirit of rev. 1.58.


# 106492 06-Nov-2002 obrien

Clean up a little. Don't need to include fetch.h any more, and I can't
find any consumers of HOSTNAME_MAX.


# 106491 06-Nov-2002 obrien

Break fileGetURL() out into its own file so that pkg_install/lib consumers
pkg_{create,delete} don't need to needlessly link with libfetch.


# 106136 29-Oct-2002 des

Whitespace cleanup


# 102430 26-Aug-2002 obrien

Grrr.... mumble.... a linger gzip'ism still existed.

Submitted by: Craig Rodrigues <rodrigc@attbi.com>


# 102383 24-Aug-2002 obrien

Find remaining hardcoded gzip bits and change to bzip2 bits.
Mark with XXX so someone that cares about being able to handle either
bziped or gziped packages knows where the remaining nits are.


# 102375 24-Aug-2002 lioux

Preserve suid/gid permissions when extracting packages remotelly
fetched with -r option

Reviewed by: will
Approved by: will


# 101339 04-Aug-2002 knu

Another .tbz2 -> .tbz leftover. Properly look for pkgname.tbz.

MFC after: 1 day


# 96392 11-May-2002 alfred

replace __FUNCTION__ with standardized __func__.

Requested by: jhb


# 96388 11-May-2002 alfred

fix build:
you may not use string concatination with __FUNCTION__, replace all occurances
of:
__FUNCTION__ ": error string"
with:
"%s: error string"


# 93520 01-Apr-2002 obrien

Fix SCM ID's.


# 84745 10-Oct-2001 sobomax

WARNS=2 cleanup.

Tested on: i386, alpha
MFC after: 2 weeks


# 81058 02-Aug-2001 jon

fix for pkg_add to symlinked prefix directories that are more than 1 link deep.

PR: bin/28274
Submitted by: John Hein <jhein@timing.com>
MFC after: 1 month


# 79452 09-Jul-2001 brian

Fix the type of the NULL arg to execl()

Idea from: Theo de Raadt <deraadt@openbsd.org>


# 78162 13-Jun-2001 des

Use getdtablesize() instead of OPEN_MAX.

Submitted by: bde


# 78072 11-Jun-2001 des

Pass on the verbose option to fetchGetURL().
In the child that's set up to run tar(1), close all file descriptors except
stdin, stdout and stderr.

PR: bin/27760


# 76739 17-May-2001 sobomax

Style policy: reformat multiline comments to conform to style(9).


# 71373 22-Jan-2001 sobomax

- 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


# 67886 29-Oct-2000 des

Insetad of using fileno(ftp) as stdin for tar, use a pipe and have the
parent pass the data received from the server to the child.


# 67429 22-Oct-2000 jkh

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>


# 66021 18-Sep-2000 sobomax

Fix symlink-to-a-dir handling in pkg_delete.

Reviewed by: -ports
Tested by: bento


# 62154 27-Jun-2000 des

Use libfetch instead of libftpio. This adds support for http and IPv6.


# 58092 15-Mar-2000 sheldonh

Do not preserve UIDs, permissions nor flags of package system files in
tar files. This fixes clean-up problems during package creation and
does not affect the actual files to be included in the package.

The fix submitted on the attributed PR was identical to the one
obtained from NetBSD.

PR: 17386
Reported by: Adrian Filipi-Martin <adrian@ubergeeks.com>
Obtained from: NetBSD


# 57331 19-Feb-2000 jkh

1. If checking for directory-ness, check "dir" and "dir/" to catch
the case where we have a symlink pointing at a dir.

2. Restore stomped character before returning in make_hierarchy()


# 57034 08-Feb-2000 obrien

Use lstat(2) rather than stat(2) in isdir(), so that a symlink to a
directory is not considered a directory. I have a feeling all the other
stat(2) calls should instead be lstat(2) calls, but I have not suffiently
determined that the current behavior [especially in isfile()] isn't
depended upon by someone.

Ok'ed by: JKH


# 55395 04-Jan-2000 jkh

Deal with package filenames which contain spaces.

Submitted by: Ming-I Hsieh <mihs@wm28.csie.ncu.edu.tw>
PR: 15667


# 50479 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 47039 12-May-1999 jkh

Revive the PKG_ADD_BASE stuff a bit.


# 41530 05-Dec-1998 asami

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.


# 40354 14-Oct-1998 jkh

Revert 1.33; lstat() is indeed the wrong thing to do here. I'll
revisit this after release.


# 40085 08-Oct-1998 jkh

Use lstat() rather than stat in determining whether a file exists,
otherwise we'll miss the "symlink exists but points nowhere" case.
Submitted by: asami and/or possibly <ru@ucb.crimea.ua>


# 39068 11-Sep-1998 jkh

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>


# 38942 08-Sep-1998 jkh

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.


# 30533 18-Oct-1997 jkh

- 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)
- document $PKG_PATH
- use -v on pkg_add for dependent packages

Submitted by: hubertf@NetBSD.ORG
Obtained from: NetBSD


# 30221 08-Oct-1997 charnier

Use err(3). Cosmetics in usage string and man page.


# 27137 01-Jul-1997 jkh

Change the naming conventions for preserve'd files and also document
the option in pkg_create. Now preserved files start with a . and are
named .<filename>.<pkgname>.backup so that their purpose is more clear.

Note that just using the preserve option without proper pkg_deps
is also foolish since packages being deleted in the incorrect order with
preserve on can generate some odd results.


# 22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

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.


# 19733 14-Nov-1996 ache

Use new ftpGetURL interface, as result, report FTP error
via ftpErrString or net error via hstrerror(h_errno)


# 18929 14-Oct-1996 jkh

Fix PR#1557 - chained package dependencies using URLs didn't work.


# 17378 01-Aug-1996 jkh

Put verbosity in the right place.


# 16549 20-Jun-1996 jkh

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.


# 14582 12-Mar-1996 jkh

Fix a couple of miscellaneous bugs and make pkg_add also support reading
from stdin.


# 14155 19-Feb-1996 mpp

Initialize the argument list in the unpack() routine to zero.
This prevents a core dump due to the stack being trashed if pkg_add
is asked to process something that really isn't a package file.


# 12219 12-Nov-1995 jkh

Bring my pkg_install improvements forward from 2.1.


# 11971 31-Oct-1995 jkh

Fix the `pkg_add relative to .' bug. Thank you, Ville!
Submitted by: Ville Eerola <ville@vlsi.fi>


# 11780 25-Oct-1995 jkh

Bring forward my changes from 2.1


# 9838 01-Aug-1995 jkh

Round this out. Now seems to transfer packages properly over ftp
as it was supposed to. PKG_PATH more sorely needed than ever now..
Hmmmm.


# 9837 01-Aug-1995 jkh

Argh! I hate my life! I can't seem to do anything right here today.
This should restore functionality to the pkg_install suite.


# 9789 30-Jul-1995 jkh

Change the environment variable this looks for from FTP_PASSIVE to
FTP_PASSIVE_MODE. It would be really nice if we could standardise on
this name so that all tools (like ncftp) that offer passive/active
ftp selection would work seamlessly with one user environment variable
setting.


# 9787 30-Jul-1995 jkh

Totally eliminate the dependency on libftp (which will be removed from the
FreeBSD source tree) and switch to the internal ftp routines developed
by Poul-Henning and used in sysinstall.


# 9782 29-Jul-1995 ache

You can run pkg_info everywhere expect /var/db/pkg directory :-)
Running there you got any kind of strange errors from tar caused
by treating directories as tar files!
Fix it by adding new isfile(name) (check for reg. files) to simple fexists(name) calls.


# 9291 24-Jun-1995 asami

Use lstat() instead of access() for checking file existence. It works
for symlinks too, and according to Rod, access() is evil anyway.

Reviewed by: jkh


# 8857 30-May-1995 rgrimes

Remove trailing whitespace.


# 8424 10-May-1995 jkh

Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.


# 8087 26-Apr-1995 jkh

Add code for dealing with URLs.


# 7999 22-Apr-1995 jkh

Export the min_free() function.


# 4996 05-Dec-1994 jkh

Many of John T. Kohl's patches from NetBSD. Thanks, John!
Submitted by: jkohl


# 479 18-Sep-1993 jkh

Added code for doing % sequence expansion, added new @unexec command.


# 404 06-Sep-1993 jkh

Fixed bug in copying script files from absolute locations


# 383 05-Sep-1993 jkh

Made staging area configurable rather than assuming /tmp (-t)


# 379 03-Sep-1993 jkh

Lots of misc tweaks, support for arbitrary separators in pkg_info, more
intelligent name handling in pkg_create. Most of these files are changed
because of rcsid's being different in my cvs tree and freefall's (foo).


# 328 25-Aug-1993 jkh

This commit was generated by cvs2svn to compensate for changes in r327,
which included commits to RCS files with non-trunk default branches.


# 327 25-Aug-1993 jkh

The release version of my package install suite. Please see man pages
for info.