Commit graph

20 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
Simon L. B. Nielsen
387f26f9e1 If the INDEX file cannot be opened, print the actual filename / path
pkg_version tried to open instead of just "INDEX" to make the actual
problem more clear (e.g. missing INDEX-8).

MFC after:	3 days
Reviewed by:	portmgr (pav)
2007-10-26 10:12:26 +00:00
Kirill Ponomarev
b041cda4ed Fix "pkg_version -Io" coredump, if some packages have no origin at
all.

PR:		bin/101932
Submitted by:	novel, sat
MFC after:	5 days
2006-08-12 18:32:51 +00:00
Kirill Ponomarev
863c9a46b4 Fix pkg_version with the -o argument to print the origin.
Submitted by:	Sebastian Stach <sebsta AT t-online DOT de>
MFC after:	3 days
2006-02-12 16:09:33 +00:00
Kirill Ponomarev
8fcd9854d1 * pkg_version(1) exits if INDEX files is not found and -I is not
specified.  The result is that the package will be listed with a '?'
  as if it was not found within the INDEX file, so fix this behaviour.
* Remove trailing spaces.

PR:		bin/87136
Submitted by:	Sean Farley <sean-freebsd at farley dot org>
MFC after:	3 days
2005-10-10 12:35:31 +00:00
Kirill Ponomarev
cf53630f66 Add -o/-O options to pkg_version:
-o  Show the origin recorded on package generation instead of the
       package name.

   -O  Only list packages whose registered origin is origin.

Based on PR:	bin/78640
Submitted by:	Marcus Grando <marcus at corp dot grupos.com.br>, flz
2005-07-27 07:55:12 +00:00
Colin Percival
4f1178e76c Add an -I option to pkg_version:
-I  Use only the index file for determining if a package is out of
      date.  This is much faster than using the version number from a
      port's Makefile, at the expense of potentially giving an incor-
      rect result if the index file is out of date.

Without this option, the index file is only consulted if "make -V PKGNAME"
cannot be used.

Approved by:	portmgr (krion)
2005-05-24 08:26:44 +00:00
David E. O'Brien
f4a324ac51 Add a -q flag to pkg_version. It suppresses the output of <,=,>.
This makes it possible to "portupgrade `pkg_version -q -l '<'`".
2004-10-18 05:34:54 +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
Oliver Eikemeier
43b4652a71 - 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
2004-06-29 18:59:19 +00:00
Oliver Eikemeier
6372c5ec85 - match package version numbers with relational operators
- use glob patterns when matching packages by origin

- csh-style {...} choices in glob matching

- pkg_info: new flag -E (list matching package names only)

- pkg_version: new flag -T (test if a given name matches a pattern)

- new flag -X (interpret pattern as an extended regular expression)

PR:		56961
2004-06-29 18:54:47 +00:00
Oliver Eikemeier
136b0d0b52 - complete rewrite of the version number parsing code, restoring compatibiliy of 5.x with 4.x and portupgrade
- parse version numbers of ports containing an underscore followed by a number correctly

- handle special strings pl, alpha, beta, pre and rc

PR:		56961
2004-06-29 18:52:13 +00:00
Robert Drehmel
b61ee45f0e - Print out an error message instead of dereferencing a NULL pointer
if matchinstalled() found no packages, which happens to be the
   case after fresh installations.
 - Instead of using strstr(3) to match the package name, depend on
   matchinstalled()'s MATCH_REGEX package matching.

PR:		bin/50384
MFC after:	2 weeks
2003-04-04 14:40:49 +00:00
Kris Kennaway
cc865772a5 Minimal change to cause pkg_version to examine the new INDEX-5 file
instead of INDEX.  This should be done better since this file name will
depend on the FreeBSD major version.
2002-12-04 17:22:48 +00:00
Maxim Sobolev
7f5231e4f3 Kill debugging line occasionally slipped into rev.1.3.
Submitted by:	reg
2002-09-09 11:13:00 +00:00
Maxim Sobolev
d4f82fcf34 Vastly decrease amount of memory comsumed in the case when we have to read
ports/INDEX, by allocating eactly amount of memory necessary for storing
each particular entry, insdead of 4K per entry (more than 7000 entries -
go figure). Memory consumption went down to some 500K from some 30M.
2002-09-09 08:00:32 +00:00
Jeremy Lea
dd1d26511d Don't dump core on packages with an invalid or empty PLIST.
Reviewed by:	markm
2002-08-26 13:25:48 +00:00
Mark Murray
8360b6af14 C replacement for the Perl5 code.
Submitted by:	reg
2002-06-24 16:03:24 +00:00