Commit graph

47 commits

Author SHA1 Message Date
Florent Thoumie
2eb4b00cbb Backout libinstall.a -> libpkg commit.
Discussed with:	erwin, brooks, bapt
2011-05-17 19:11:47 +00:00
Florent Thoumie
762c7db2e8 - Take libinstall.a out of pkg_install and make it a proper shared library.
- Rework the wrapper support to check libpkg version as well as pkg_install
version.
- Add libfetch to _prebuild_libs.
- There are no new features introduced.

Notes: the API is not stable, so basically, do not use libpkg in your
projects for now. Also there's no manpage for libpkg yet, because the API
will change drastically. I repeat, do not use libpkg for now.
2010-04-23 11:07:43 +00:00
Florent Thoumie
094f117522 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]
2010-04-01 14:27:29 +00:00
Brian Somers
f345b422d1 When running pkg_add -r, check & install our dependencies for each
package rather than expecting our top level package to get all of
the dependencies correct.

Previously, the code depended on the top level package having all
of the pkgdep lines in +CONTENTS correct and in the right order,
but that doesn't always happen due to code such as this (in
security/gnutls/Makefile):

    .if (defined(WITH_LZO) || exists(${LOCALBASE}/lib/liblzo2.so)) && !defined(WITHOUT_LZO)
    LIB_DEPENDS+=           lzo2:${PORTSDIR}/archivers/lzo2
    ....

With such conditional dependencies, my 'sophox-packages' package won't
install.  The dependency tree looks like this:

    sophox-packages
      ...
      x11/gnome2
        x11/gnome-applets
          net/libgweather
            devel/libsoup
              security/gnutls
                security/libgcrypt
                  security/libgpg-error
      ...
      x11/gnome2
        archivers/file-roller
          archivers/gtar
            archivers/lzop
              archivers/lzo2
      ...

gnutls doesn't depend on lzo2 initially, but lzo2 is dragged into the
mix via other dependencies and is built by the initial 'make'.  The
subsequent package generation for gnutls adds a pkgdep line for lzo2
to gnutls' +CONTENTS but the pkgdeps in sophox-packages' +CONTENTS
has gnutls *before* lzo2.

As a result, sophox-packages cannot install; gnutls fails because lzo2
is missing, 82 more packages fail because gnutls is missing and the
whole thing spirals into a super-confusing mess!

MFC after:	3 weeks
2009-06-19 17:07:38 +00:00
Poul-Henning Kamp
419859bd08 Use humanize_number to report pen-sizes so people don't have to count
the digits when trying to install openoffice.
2008-08-07 14:48:35 +00:00
Stefan Farfeleder
14cc87e479 Use the length modifier 'll' instead of 'q' to print long longs. 2004-07-28 16:03:13 +00:00
Oliver Eikemeier
b9ba84598d - 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
2004-06-29 19:06:42 +00:00
Alfred Perlstein
f7bb25f702 replace __FUNCTION__ with standardized __func__.
Requested by: jhb
2002-05-11 04:17:55 +00:00
Alfred Perlstein
a2bcd1a09f fix build:
you may not use string concatination with __FUNCTION__, replace all occurances
of:
__FUNCTION__ ": error string"
with:
"%s: error string"
2002-05-11 03:48:49 +00:00
David E. O'Brien
0d8875ff46 Fix SCM ID's. 2002-04-01 09:39:07 +00:00
Jordan K. Hubbard
fe7283fc23 Choose more paranoid modes for the temporary directory so the user can't
easily browse its contents.

Noted by:	Antoine
2001-11-22 01:54:33 +00:00
Maxim Sobolev
0a811cbf0c Improve recently committed fix for -t bug.
Submitted by:	"Andrew L. Neporada" <andr@dgap.mipt.ru>
MFC after:	3 days
2001-11-15 15:13:24 +00:00
Maxim Sobolev
77b90d2a0e Make `-t' flag in pkg_*(1) tools actually working.
PR:		30843
Submitted by:	Vladimir B. Grebenschikov <vova@express.ru>
MFC after:	2 weeks
2001-10-11 11:29:12 +00:00
Maxim Sobolev
d100deb8cc WARNS=2 cleanup.
Tested on:	i386, alpha
MFC after:	2 weeks
2001-10-10 06:58:42 +00:00
Maxim Sobolev
c805813625 - Add which(1)-like functionality into pkg_info;
- fix a harmless bug in match_installed() function introduced in my last
  commit;
- uniformely reorder includes across files.

Submitted by:		Garrett Rooney <rooneg@electricjellyfish.net>
Not objected by:	jkh, -ports
2001-03-23 18:45:24 +00:00
Jordan K. Hubbard
aed4d2d137 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>
2000-10-22 09:53:27 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Jordan K. Hubbard
375ca45770 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>
1998-09-11 07:26:58 +00:00
Jacques Vidrine
dd123c1609 Paranoia: use mkdtemp instead of mktemp
PR:		bin/3212
Reviewed by:	jkh@FreeBSD.ORG
1998-07-28 01:18:02 +00:00
Jordan K. Hubbard
90b14d4761 Fix dependent-package loading when pkg_adding with an FTP URL. I broke
this when I changed the playpen code to disallow recursion.  I know
this fixes a PR someplace but I can't seem to find it with the GNATs
search tool.
1998-04-12 16:01:10 +00:00
Jordan K. Hubbard
79af7eafa8 Eliminate the idea of nested "playpens" entirely - it just obfuscated
the code and, in at least one case, made it more dangerous to no gain.
1998-02-16 17:16:51 +00:00
Jordan K. Hubbard
cac1743203 MF22: Additional paranoia in cleanup. 1998-01-09 14:52:18 +00:00
Philippe Charnier
6fed414929 Use err(3). Cosmetics in usage string and man page. 1997-10-08 07:48:21 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
1130b656e5 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.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
a9ef0b2904 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.
1996-06-20 18:33:55 +00:00
Alexander Langer
3f8b85263c Change min_free to return free space as an off_t instead of a size_t. 1996-06-08 00:46:33 +00:00
Jordan K. Hubbard
dab396ba99 Fix to catch a stupid oversight on my part which allowed this thing
to remove the current directory under certain circumstances.
Submitted by:	Richard J Kuhns <rjk@watson.grauel.com>
1996-02-09 12:05:26 +00:00
Jordan K. Hubbard
36b7319742 Bring forward my changes from 2.1 1995-10-25 15:38:37 +00:00
Jordan K. Hubbard
5ceffd88de Don't be needlessly verbose in the pkg_create. 1995-08-28 14:47:30 +00:00
Jordan K. Hubbard
58ab1c7453 Make the play-pen searching routine even more agile in trying
to create a /usr/tmp dir if it makes sense to do so.
1995-08-26 18:36:27 +00:00
Jordan K. Hubbard
a50f9f1dfc Use size_t properly in all fs size ops. This kills a bug
encountered by someone who had his /tmp on a partition with 3.7GB of
free space!
Spotted by:	Francisco Rosich Viana <rosich@power.ci.uv.es>
1995-08-26 10:15:18 +00:00
Jordan K. Hubbard
3122afe4bd Some fixes to make this "TMPDIR agile".
Submitted by:	jmacd + some of my own fixes.
1995-08-17 00:36:06 +00:00
Jordan K. Hubbard
5da01a55fc Make "out of space in ${PKG_TMPDIR}" handling a bit more robust.
Print the right thing, do the right thing.  Back to you, Satoshi!
1995-08-06 03:21:04 +00:00
Jordan K. Hubbard
8d006a838c Check dependencies BEFORE doing final extraction of package.
Fix a bug where direct-extract mode would have still invoked the
packing list reordering commands.
1995-04-26 07:43:35 +00:00
Jordan K. Hubbard
3e1a18606d Export the min_free() function. 1995-04-22 13:58:44 +00:00
Jordan K. Hubbard
36034afc79 Correct a bogusly formatted printf(). 1995-04-21 06:30:41 +00:00
Jordan K. Hubbard
4b96fa37b0 Use a more nicely formatted message when we run out of space. 1995-04-18 13:04:34 +00:00
Jordan K. Hubbard
87e4e7246c Rename TMPDIR to PKG_TMPDIR, just to make Jeff happy.. :-) 1995-02-16 12:43:00 +00:00
Jordan K. Hubbard
6fc1110b71 Make pkg_install use /var/tmp instead of /tmp
Suggested by:	hsu
1995-02-15 03:48:13 +00:00
Jordan K. Hubbard
1593f21e50 Print a better verbose message when creating packages. 1994-10-14 05:56:15 +00:00
Jordan K. Hubbard
ae38c11f2d Fix bug in home directory calculation that I introduced with the free space
checking code.  Fix the free space checking code, while I'm at it! ;)
Thanks to Garrett for spotting the home dir problem.
1994-10-14 05:42:24 +00:00
Jordan K. Hubbard
90c00ca832 Be optionally verbose about free-space checking. I need this to ascertian
whether or not this always works.
1994-10-08 23:55:36 +00:00
Jordan K. Hubbard
46f5c7be76 Add the ability to verify that a package won't extract in the space
available.  Thanks to Michael Elbel for pushing me in the right direction.
1994-10-04 16:07:50 +00:00
Jordan K. Hubbard
e0ab6cb9c7 Made staging area configurable rather than assuming /tmp (-t) 1993-09-05 04:54:24 +00:00
Jordan K. Hubbard
a9c42a2388 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).
1993-09-03 23:01:17 +00:00
Jordan K. Hubbard
6d946b2e52 The release version of my package install suite. Please see man pages
for info.
1993-08-26 01:19:55 +00:00