Backout libinstall.a -> libpkg commit.

Discussed with:	erwin, brooks, bapt
This commit is contained in:
Florent Thoumie 2011-05-17 19:11:47 +00:00
parent 6ab7244a4d
commit 2eb4b00cbb
43 changed files with 211 additions and 251 deletions

View File

@ -1205,7 +1205,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} ${_kerberos5_lib_libheimntlm} \
${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \ ${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \
${_kerberos5_lib_libroken} \ ${_kerberos5_lib_libroken} \
lib/libbz2 lib/libcom_err lib/libcrypt \ lib/libbz2 lib/libcom_err lib/libcrypt \
lib/libexpat lib/libfetch \ lib/libexpat \
${_lib_libgssapi} ${_lib_libipx} \ ${_lib_libgssapi} ${_lib_libipx} \
lib/libkiconv lib/libkvm lib/liblzma lib/libmd \ lib/libkiconv lib/libkvm lib/liblzma lib/libmd \
lib/ncurses/ncurses lib/ncurses/ncursesw \ lib/ncurses/ncurses lib/ncurses/ncursesw \
@ -1238,7 +1238,6 @@ _cddl_lib= cddl/lib
_secure_lib_libcrypto= secure/lib/libcrypto _secure_lib_libcrypto= secure/lib/libcrypto
_secure_lib_libssl= secure/lib/libssl _secure_lib_libssl= secure/lib/libssl
lib/libradius__L secure/lib/libssl__L: secure/lib/libcrypto__L lib/libradius__L secure/lib/libssl__L: secure/lib/libcrypto__L
lib/libfetch__L: secure/lib/libcrypto__L secure/lib/libssl__L lib/libmd__L
.if ${MK_OPENSSH} != "no" .if ${MK_OPENSSH} != "no"
_secure_lib_libssh= secure/lib/libssh _secure_lib_libssh= secure/lib/libssh
secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L
@ -1274,7 +1273,7 @@ _lib_libypclnt= lib/libypclnt
.endif .endif
.if ${MK_OPENSSL} == "no" .if ${MK_OPENSSL} == "no"
lib/libfetch__L lib/libradius__L: lib/libmd__L lib/libradius__L: lib/libmd__L
.endif .endif
.for _lib in ${_prereq_libs} .for _lib in ${_prereq_libs}

View File

@ -89,7 +89,6 @@ SUBDIR= ${SUBDIR_ORDERED} \
libopie \ libopie \
libpam \ libpam \
libpcap \ libpcap \
${_libpkg} \
${_libpmc} \ ${_libpmc} \
${_libproc} \ ${_libproc} \
libprocstat \ libprocstat \
@ -215,10 +214,6 @@ _libmp= libmp
_libpmc= libpmc _libpmc= libpmc
.endif .endif
.if ${MK_PKGTOOLS} != "no"
_libpkg= libpkg
.endif
.if ${MK_SENDMAIL} != "no" .if ${MK_SENDMAIL} != "no"
_libmilter= libmilter _libmilter= libmilter
_libsm= libsm _libsm= libsm

View File

@ -1,47 +0,0 @@
# $FreeBSD$
.include <bsd.own.mk>
LIB= pkg
SHLIBDIR?= /usr/lib
SHLIB_MAJOR= 0
SRCS= deps.c \
exec.c \
file.c \
global.c \
match.c \
msg.c \
pen.c \
pkgwrap.c \
plist.c \
str.c \
url.c \
version.c
INCS= pkg.h
CFLAGS+= -DYES_I_KNOW_THE_API_IS_RUBBISH_AND_IS_DOOMED_TO_CHANGE
DPADD= ${LIBFETCH} ${LIBMD} ${LIBUTIL}
LDADD= -lfetch -lmd -lutil
.if ${MK_OPENSSL} != "no"
DPADD+= ${LIBSSL} ${LIBCRYPTO}
LDADD+= -lssl -lcrypto
.endif
WARNS?= 3
DATE!= grep LIBPKG_VERSION ${.CURDIR}/pkg.h | sed 's|.*[ ]||'
distfile: clean
@(cd ${.CURDIR}/..; \
cp -r libpkg libpkg-${DATE}; \
tar -czf libpkg/libpkg-${DATE}.tar.gz \
--exclude .#* --exclude *~ --exclude CVS \
--exclude .svn --exclude libpkg-*.tar.gz \
libpkg-${DATE}; \
rm -rf libpkg-${DATE})
.include <bsd.lib.mk>

View File

@ -1,90 +0,0 @@
/*
* FreeBSD install - a package for the installation and maintenance
* of non-core utilities.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* Maxim Sobolev
* 8 September 2002
*
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include "pkg.h"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
extern char **environ;
void
pkg_wrap(long curver, char **argv)
{
FILE* f;
char ver[9]; /* Format is: 'YYYYMMDD\0' */
char buffer[FILENAME_MAX+10]; /* Format is: 'YYYYMMDD <path>' */
char cmd[FILENAME_MAX+5]; /* Format is: '<path> -PPq' */
char *path, *cp;
long ptver, lpver;
if (getenv("PKG_NOWRAP") != NULL)
goto nowrap;
setenv("PKG_NOWRAP", "1", 1);
/* Get alternative location for package tools. */
if ((f = fopen(PKG_WRAPCONF_FNAME, "r")) == NULL) {
goto nowrap;
} else {
if (get_string(buffer, FILENAME_MAX+9, f) == NULL) {
goto nowrap;
} else {
if ((path = strrchr(buffer, ' ')) == NULL) {
goto nowrap;
} else {
*path++ = '\0';
}
}
}
if ((cp = strrchr(argv[0], '/')) == NULL) {
cp = argv[0];
} else {
cp++;
}
/* Get version of the other pkg_install and libpkg */
snprintf(cmd, FILENAME_MAX+10, "%s/%s -PPq", path, cp);
if ((f = popen(cmd, "r")) == NULL) {
perror("popen()");
goto nowrap;
} else {
if (get_string(ver, 9, f) == NULL)
goto nowrap;
else
ptver = strtol(ver, NULL, 10);
if (get_string(ver, 9, f) == NULL)
goto nowrap;
else
lpver = strtol(ver, NULL, 10);
pclose(f);
}
if ((lpver >= LIBPKG_VERSION) && (ptver > curver)) {
snprintf(cmd, FILENAME_MAX, "%s/%s", path, cp);
execve(cmd, argv, environ);
}
nowrap:
unsetenv("PKG_NOWRAP");
}

View File

@ -129,7 +129,6 @@ MINUSLPAM+= -lypclnt
LIBPANEL?= ${DESTDIR}${LIBDIR}/libpanel.a LIBPANEL?= ${DESTDIR}${LIBDIR}/libpanel.a
LIBPCAP?= ${DESTDIR}${LIBDIR}/libpcap.a LIBPCAP?= ${DESTDIR}${LIBDIR}/libpcap.a
LIBPKG?= ${DESTDIR}${LIBDIR}/libpkg.a
LIBPMC?= ${DESTDIR}${LIBDIR}/libpmc.a LIBPMC?= ${DESTDIR}${LIBDIR}/libpmc.a
LIBPROC?= ${DESTDIR}${LIBDIR}/libproc.a LIBPROC?= ${DESTDIR}${LIBDIR}/libproc.a
LIBPTHREAD?= ${DESTDIR}${LIBDIR}/libpthread.a LIBPTHREAD?= ${DESTDIR}${LIBDIR}/libpthread.a

View File

@ -2,11 +2,11 @@
.include <bsd.own.mk> .include <bsd.own.mk>
SUBDIR= add create delete info updating version SUBDIR= lib add create delete info updating version
.include <bsd.subdir.mk> .include <bsd.subdir.mk>
DATE!= grep PKG_INSTALL_VERSION ${.CURDIR}/Makefile.inc | sed 's|.*=||' DATE!= grep PKG_INSTALL_VERSION ${.CURDIR}/lib/lib.h | sed 's|.*[ ]||'
distfile: clean distfile: clean
@(cd ${.CURDIR}/..; \ @(cd ${.CURDIR}/..; \

View File

@ -2,11 +2,16 @@
.include <bsd.own.mk> .include <bsd.own.mk>
CFLAGS+= -DPKG_INSTALL_VERSION=20101012 LIBINSTALL= ${.OBJDIR}/../lib/libinstall.a
CFLAGS+= -DYES_I_KNOW_THE_API_IS_RUBBISH_AND_IS_DOOMED_TO_CHANGE
DPADD+= ${LIBPKG} DPADD+= ${LIBUTIL}
LDADD+= -lpkg LDADD+= -lutil
.if ${MK_OPENSSL} != "no" && \
defined(LDADD) && ${LDADD:M-lfetch} != ""
DPADD+= ${LIBSSL} ${LIBCRYPTO}
LDADD+= -lssl -lcrypto
.endif
# Inherit BINDIR from one level up. # Inherit BINDIR from one level up.
.include "../Makefile.inc" .include "../Makefile.inc"

View File

@ -1,11 +1,14 @@
# $FreeBSD$ # $FreeBSD$
.include <bsd.own.mk>
PROG= pkg_add PROG= pkg_add
SRCS= main.c perform.c futil.c extract.c SRCS= main.c perform.c futil.c extract.c
CFLAGS+= -I${.CURDIR}/../lib
WARNS?= 3 WARNS?= 3
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
.include <bsd.prog.mk> .include <bsd.prog.mk>

View File

@ -23,7 +23,7 @@ __FBSDID("$FreeBSD$");
#include <ctype.h> #include <ctype.h>
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "add.h" #include "add.h"

View File

@ -22,7 +22,7 @@
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "add.h" #include "add.h"
/* /*

View File

@ -26,7 +26,7 @@ __FBSDID("$FreeBSD$");
#include <err.h> #include <err.h>
#include <getopt.h> #include <getopt.h>
#include <pkg.h> #include "lib.h"
#include "add.h" #include "add.h"
char *Prefix = NULL; char *Prefix = NULL;
@ -132,8 +132,6 @@ main(int argc, char **argv)
static char temppackageroot[MAXPATHLEN]; static char temppackageroot[MAXPATHLEN];
static char pkgaddpath[MAXPATHLEN]; static char pkgaddpath[MAXPATHLEN];
pkg_wrap(PKG_INSTALL_VERSION, argv);
if (*argv[0] != '/' && strchr(argv[0], '/') != NULL) if (*argv[0] != '/' && strchr(argv[0], '/') != NULL)
PkgAddCmd = realpath(argv[0], pkgaddpath); PkgAddCmd = realpath(argv[0], pkgaddpath);
else else

View File

@ -23,7 +23,7 @@ __FBSDID("$FreeBSD$");
#include <err.h> #include <err.h>
#include <paths.h> #include <paths.h>
#include <pkg.h> #include "lib.h"
#include "add.h" #include "add.h"
#include <libgen.h> #include <libgen.h>

View File

@ -3,10 +3,12 @@
PROG= pkg_create PROG= pkg_create
SRCS= main.c perform.c pl.c SRCS= main.c perform.c pl.c
CFLAGS+= -I${.CURDIR}/../lib
WARNS?= 3 WARNS?= 3
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBMD} DPADD= ${LIBINSTALL} ${LIBMD}
LDADD= -lmd LDADD= ${LIBINSTALL} -lmd
.include <bsd.prog.mk> .include <bsd.prog.mk>

View File

@ -15,7 +15,7 @@ __FBSDID("$FreeBSD$");
#include <getopt.h> #include <getopt.h>
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "create.h" #include "create.h"
match_t MatchType = MATCH_GLOB; match_t MatchType = MATCH_GLOB;
@ -72,8 +72,6 @@ main(int argc, char **argv)
int ch; int ch;
char **pkgs, **start, *tmp; char **pkgs, **start, *tmp;
pkg_wrap(PKG_INSTALL_VERSION, argv);
pkgs = start = argv; pkgs = start = argv;
while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1) while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1)
switch(ch) { switch(ch) {

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <pkg.h> #include "lib.h"
#include "create.h" #include "create.h"
#include <err.h> #include <err.h>

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <pkg.h> #include "lib.h"
#include "create.h" #include "create.h"
#include <errno.h> #include <errno.h>
#include <err.h> #include <err.h>

View File

@ -3,6 +3,11 @@
PROG= pkg_delete PROG= pkg_delete
SRCS= main.c perform.c SRCS= main.c perform.c
CFLAGS+= -I${.CURDIR}/../lib
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBINSTALL} ${LIBMD}
LDADD= ${LIBINSTALL} -lmd
.include <bsd.prog.mk> .include <bsd.prog.mk>

View File

@ -27,7 +27,7 @@ __FBSDID("$FreeBSD$");
#include <getopt.h> #include <getopt.h>
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "delete.h" #include "delete.h"
char *Prefix = NULL; char *Prefix = NULL;
@ -67,8 +67,6 @@ main(int argc, char **argv)
const char *tmp; const char *tmp;
struct stat stat_s; struct stat stat_s;
pkg_wrap(PKG_INSTALL_VERSION, argv);
pkgs = start = argv; pkgs = start = argv;
while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1) while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1)
switch(ch) { switch(ch) {

View File

@ -22,7 +22,7 @@
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "delete.h" #include "delete.h"
static int pkg_do(char *); static int pkg_do(char *);

View File

@ -3,9 +3,11 @@
PROG= pkg_info PROG= pkg_info
SRCS= main.c perform.c show.c SRCS= main.c perform.c show.c
CFLAGS+= -I${.CURDIR}/../lib
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBMD} DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= -lmd LDADD= ${LIBINSTALL} -lfetch -lmd
.include <bsd.prog.mk> .include <bsd.prog.mk>

View File

@ -33,26 +33,25 @@
#define MAXNAMESIZE 20 #define MAXNAMESIZE 20
#endif #endif
#define SHOW_COMMENT 0x000001 #define SHOW_COMMENT 0x00001
#define SHOW_DESC 0x000002 #define SHOW_DESC 0x00002
#define SHOW_PLIST 0x000004 #define SHOW_PLIST 0x00004
#define SHOW_INSTALL 0x000008 #define SHOW_INSTALL 0x00008
#define SHOW_DEINSTALL 0x000010 #define SHOW_DEINSTALL 0x00010
#define SHOW_REQUIRE 0x000020 #define SHOW_REQUIRE 0x00020
#define SHOW_PREFIX 0x000040 #define SHOW_PREFIX 0x00040
#define SHOW_INDEX 0x000080 #define SHOW_INDEX 0x00080
#define SHOW_FILES 0x000100 #define SHOW_FILES 0x00100
#define SHOW_DISPLAY 0x000200 #define SHOW_DISPLAY 0x00200
#define SHOW_REQBY 0x000400 #define SHOW_REQBY 0x00400
#define SHOW_MTREE 0x000800 #define SHOW_MTREE 0x00800
#define SHOW_SIZE 0x001000 #define SHOW_SIZE 0x01000
#define SHOW_ORIGIN 0x002000 #define SHOW_ORIGIN 0x02000
#define SHOW_CKSUM 0x004000 #define SHOW_CKSUM 0x04000
#define SHOW_FMTREV 0x008000 #define SHOW_FMTREV 0x08000
#define SHOW_PTREV 0x010000 #define SHOW_PTREV 0x10000
#define SHOW_DEPEND 0x020000 #define SHOW_DEPEND 0x20000
#define SHOW_PKGNAME 0x040000 #define SHOW_PKGNAME 0x40000
#define SHOW_LPREV 0x100000
struct which_entry { struct which_entry {
TAILQ_ENTRY(which_entry) next; TAILQ_ENTRY(which_entry) next;

View File

@ -25,7 +25,7 @@ __FBSDID("$FreeBSD$");
#include <getopt.h> #include <getopt.h>
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "info.h" #include "info.h"
int Flags = 0; int Flags = 0;
@ -68,8 +68,6 @@ main(int argc, char **argv)
char **pkgs, **start; char **pkgs, **start;
char *pkgs_split; char *pkgs_split;
pkg_wrap(PKG_INSTALL_VERSION, argv);
whead = malloc(sizeof(struct which_head)); whead = malloc(sizeof(struct which_head));
if (whead == NULL) if (whead == NULL)
err(2, NULL); err(2, NULL);
@ -227,10 +225,7 @@ main(int argc, char **argv)
} }
case 'P': case 'P':
if (Flags & SHOW_PTREV) Flags = SHOW_PTREV;
Flags |= SHOW_LPREV;
else
Flags = SHOW_PTREV;
break; break;
case 'h': case 'h':
@ -247,11 +242,6 @@ main(int argc, char **argv)
if (!Quiet) if (!Quiet)
printf("Package tools revision: "); printf("Package tools revision: ");
printf("%d\n", PKG_INSTALL_VERSION); printf("%d\n", PKG_INSTALL_VERSION);
if (Flags & SHOW_LPREV) {
if (!Quiet)
printf("Libpkg revision: ");
printf("%d\n", libpkg_version());
}
exit(0); exit(0);
} }

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <pkg.h> #include "lib.h"
#include "info.h" #include "info.h"
#include <err.h> #include <err.h>
#include <signal.h> #include <signal.h>

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <pkg.h> #include "lib.h"
#include "info.h" #include "info.h"
#include <err.h> #include <err.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -0,0 +1,11 @@
# $FreeBSD$
LIB= install
INTERNALLIB=
SRCS= file.c msg.c plist.c str.c exec.c global.c pen.c match.c \
deps.c version.c pkgwrap.c url.c
WARNS?= 3
WFORMAT?= 1
.include <bsd.lib.mk>

View File

@ -22,7 +22,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <stdio.h> #include <stdio.h>

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
/* /*

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <pwd.h> #include <pwd.h>
#include <time.h> #include <time.h>

View File

@ -22,7 +22,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
/* These are global for all utils */ /* These are global for all utils */
Boolean Quiet = FALSE; Boolean Quiet = FALSE;

View File

@ -23,10 +23,6 @@
#ifndef _INST_LIB_LIB_H_ #ifndef _INST_LIB_LIB_H_
#define _INST_LIB_LIB_H_ #define _INST_LIB_LIB_H_
#ifndef YES_I_KNOW_THE_API_IS_RUBBISH_AND_IS_DOOMED_TO_CHANGE
#error "You obviously have no idea what you're doing."
#endif
/* Includes */ /* Includes */
#include <sys/param.h> #include <sys/param.h>
#include <sys/file.h> #include <sys/file.h>
@ -100,12 +96,13 @@
#define PKG_PREFIX_VNAME "PKG_PREFIX" #define PKG_PREFIX_VNAME "PKG_PREFIX"
/* /*
* Version of the package library - increase whenever you make a change * Version of the package tools - increase whenever you make a change
* in the code that is not cosmetic only. * in the code that is not cosmetic only.
*/ */
#define LIBPKG_VERSION 20100423 #define PKG_INSTALL_VERSION 20100403
#define PKG_WRAPCONF_FNAME "/var/db/pkg_install.conf" #define PKG_WRAPCONF_FNAME "/var/db/pkg_install.conf"
#define main(argc, argv) real_main(argc, argv)
/* Version numbers to assist with changes in package file format */ /* Version numbers to assist with changes in package file format */
#define PLIST_FMT_VER_MAJOR 1 #define PLIST_FMT_VER_MAJOR 1
@ -217,7 +214,7 @@ Boolean make_preserve_name(char *, int, const char *, const char *);
/* For all */ /* For all */
int pkg_perform(char **); int pkg_perform(char **);
void pkg_wrap(long, char **); int real_main(int, char **);
/* Query installed packages */ /* Query installed packages */
char **matchinstalled(match_t, char **, int *); char **matchinstalled(match_t, char **, int *);
@ -232,7 +229,6 @@ int chkifdepends(const char *, const char *);
int requiredby(const char *, struct reqr_by_head **, Boolean, Boolean); int requiredby(const char *, struct reqr_by_head **, Boolean, Boolean);
/* Version */ /* Version */
int libpkg_version(void);
int verscmp(Package *, int, int); int verscmp(Package *, int, int);
int version_cmp(const char *, const char *); int version_cmp(const char *, const char *);

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <fnmatch.h> #include <fnmatch.h>
#include <fts.h> #include <fts.h>
@ -292,7 +292,7 @@ matchallbyorigin(const char **origins, int *retval)
break; break;
} }
} }
if (cmd != PLIST_ORIGIN && 0 != strncmp("bsdpan-", installed[i], 7)) if (cmd != PLIST_ORIGIN && ( Verbose || 0 != strncmp("bsdpan-", installed[i], 7 ) ) )
warnx("package %s has no origin recorded", installed[i]); warnx("package %s has no origin recorded", installed[i]);
fclose(fp); fclose(fp);
} }

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <paths.h> #include <paths.h>
@ -61,7 +61,12 @@ y_or_n(Boolean def, const char *msg, ...)
else else
fprintf(stderr, " [no]? "); fprintf(stderr, " [no]? ");
fflush(stderr); fflush(stderr);
ch = toupper(fgetc(tty)); if (AutoAnswer) {
ch = (AutoAnswer == YES) ? 'Y' : 'N';
fprintf(stderr, "%c\n", ch);
}
else
ch = toupper(fgetc(tty));
if (ch == '\n') if (ch == '\n')
ch = (def) ? 'Y' : 'N'; ch = (def) ? 'Y' : 'N';
} }

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <libutil.h> #include <libutil.h>
#include <libgen.h> #include <libgen.h>
@ -103,7 +103,7 @@ popPen(char *pen)
const char * const char *
make_playpen(char *pen, off_t sz) make_playpen(char *pen, off_t sz)
{ {
char humbuf[6]; char humbuf1[6], humbuf2[6];
char cwd[FILENAME_MAX]; char cwd[FILENAME_MAX];
if (!find_play_pen(pen, sz)) if (!find_play_pen(pen, sz))
@ -114,15 +114,22 @@ make_playpen(char *pen, off_t sz)
errx(2, "%s: can't mktemp '%s'", __func__, pen); errx(2, "%s: can't mktemp '%s'", __func__, pen);
} }
humanize_number(humbuf, sizeof humbuf, sz, "", HN_AUTOSCALE, HN_NOSPACE); if (Verbose) {
if (sz) {
humanize_number(humbuf1, sizeof humbuf1, sz, "", HN_AUTOSCALE,
HN_NOSPACE);
humanize_number(humbuf2, sizeof humbuf2, min_free(pen),
"", HN_AUTOSCALE, HN_NOSPACE);
fprintf(stderr, "Requested space: %s bytes, free space: %s bytes in %s\n", humbuf1, humbuf2, pen);
}
}
if (min_free(pen) < sz) { if (min_free(pen) < sz) {
rmdir(pen); rmdir(pen);
cleanup(0); cleanup(0);
errx(2, "%s: not enough free space to create '%s'.\n" errx(2, "%s: not enough free space to create '%s'.\n"
"Please set your PKG_TMPDIR environment variable to a location\n" "Please set your PKG_TMPDIR environment variable to a location\n"
"with at least %s and try the command again", "with more space and\ntry the command again", __func__, pen);
__func__, humbuf, pen);
} }
if (!getcwd(cwd, FILENAME_MAX)) { if (!getcwd(cwd, FILENAME_MAX)) {

View File

@ -0,0 +1,89 @@
/*
* FreeBSD install - a package for the installation and maintenance
* of non-core utilities.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* Maxim Sobolev
* 8 September 2002
*
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include "lib.h"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#undef main
#define SEPARATORS " \t"
extern char **environ;
int
main(int argc, char **argv)
{
FILE *f;
char buffer[FILENAME_MAX], *cp, *verstr;
int len;
if (getenv("PKG_NOWRAP") != NULL)
goto nowrap;
f = fopen(PKG_WRAPCONF_FNAME, "r");
if (f == NULL)
goto nowrap;
cp = fgets(buffer, 256, f);
fclose(f);
if (cp == NULL)
goto nowrap;
len = strlen(cp);
if (cp[len - 1] == '\n')
cp[len - 1] = '\0';
while (strchr(SEPARATORS, *cp) != NULL)
cp++;
verstr = cp;
cp = strpbrk(cp, SEPARATORS);
if (cp == NULL)
goto nowrap;
*cp = '\0';
for (cp = verstr; *cp != '\0'; cp++)
if (isdigit(*cp) == 0)
goto nowrap;
if (atoi(verstr) < PKG_INSTALL_VERSION)
goto nowrap;
cp++;
while (*cp != '\0' && strchr(SEPARATORS, *cp) != NULL)
cp++;
if (*cp == '\0')
goto nowrap;
bcopy(cp, buffer, strlen(cp) + 1);
cp = strpbrk(buffer, SEPARATORS);
if (cp != NULL)
*cp = '\0';
if (!isdir(buffer))
goto nowrap;
cp = strrchr(argv[0], '/');
if (cp == NULL)
cp = argv[0];
else
cp++;
strlcat(buffer, "/", sizeof(buffer));
strlcat(buffer, cp, sizeof(buffer));
setenv("PKG_NOWRAP", "1", 1);
execve(buffer, argv, environ);
nowrap:
unsetenv("PKG_NOWRAP");
return(real_main(argc, argv));
}

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <md5.h> #include <md5.h>

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
char * char *
strconcat(const char *s1, const char *s2) strconcat(const char *s1, const char *s2)

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
#include <fetch.h> #include <fetch.h>
#include <libgen.h> #include <libgen.h>
@ -109,7 +109,7 @@ fileGetURL(const char *base, const char *spec, int keep_package)
printf("Error: Unable to get %s: %s\n", printf("Error: Unable to get %s: %s\n",
fname, fetchLastErrString); fname, fetchLastErrString);
/* If the fetch fails, yank the package. */ /* If the fetch fails, yank the package. */
if (keep_package && unlink(pkg) < 0) { if (keep_package && unlink(pkg) < 0 && Verbose) {
warnx("failed to remove partially fetched package: %s", pkg); warnx("failed to remove partially fetched package: %s", pkg);
} }
return NULL; return NULL;

View File

@ -19,19 +19,9 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include "pkg.h" #include "lib.h"
#include <err.h> #include <err.h>
/*
* This routine could easily go somewhere else.
*
*/
int
libpkg_version(void)
{
return LIBPKG_VERSION;
}
/* /*
* Routines to assist with PLIST_FMT_VER numbers in the packing * Routines to assist with PLIST_FMT_VER numbers in the packing
* lists. * lists.
@ -76,7 +66,7 @@ split_version(const char *pkgname, const char **endname, unsigned long *epoch, u
if (pkgname == NULL) if (pkgname == NULL)
errx(2, "%s: Passed NULL pkgname.", __func__); errx(2, "%s: Passed NULL pkgname.", __func__);
/* Look for the last '-' the pkgname */ /* Look for the last '-' the the pkgname */
ch = strrchr(pkgname, '-'); ch = strrchr(pkgname, '-');
/* Cheat if we are just passed a version, not a valid package name */ /* Cheat if we are just passed a version, not a valid package name */
versionstr = ch ? ch + 1 : pkgname; versionstr = ch ? ch + 1 : pkgname;

View File

@ -3,6 +3,11 @@
PROG= pkg_updating PROG= pkg_updating
SRCS= main.c SRCS= main.c
CFLAGS+= -I${.CURDIR}/../lib
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
.include <bsd.prog.mk> .include <bsd.prog.mk>

View File

@ -19,7 +19,7 @@ __FBSDID("$FreeBSD$");
#include <sysexits.h> #include <sysexits.h>
#include <getopt.h> #include <getopt.h>
#include <pkg.h> #include "lib.h"
#include "pathnames.h" #include "pathnames.h"
typedef struct installedport { typedef struct installedport {
@ -87,8 +87,6 @@ main(int argc, char *argv[])
DIR *dir; DIR *dir;
FILE *fd; FILE *fd;
pkg_wrap(PKG_INSTALL_VERSION, argv);
while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1) { while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1) {
switch (ch) { switch (ch) {
case 'd': case 'd':

View File

@ -3,8 +3,13 @@
PROG= pkg_version PROG= pkg_version
SRCS= main.c perform.c SRCS= main.c perform.c
CFLAGS+= -I${.CURDIR}/../lib
WFORMAT?= 1 WFORMAT?= 1
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
test: test:
sh ${.CURDIR}/test-pkg_version.sh sh ${.CURDIR}/test-pkg_version.sh

View File

@ -25,7 +25,7 @@ __FBSDID("$FreeBSD$");
#include <getopt.h> #include <getopt.h>
#include <err.h> #include <err.h>
#include <pkg.h> #include "lib.h"
#include "version.h" #include "version.h"
char *LimitChars = NULL; char *LimitChars = NULL;
@ -58,8 +58,6 @@ main(int argc, char **argv)
{ {
int ch, cmp = 0; int ch, cmp = 0;
pkg_wrap(PKG_INSTALL_VERSION, argv);
if (argc == 4 && !strcmp(argv[1], "-t")) { if (argc == 4 && !strcmp(argv[1], "-t")) {
cmp = version_cmp(argv[2], argv[3]); cmp = version_cmp(argv[2], argv[3]);
printf(cmp > 0 ? ">\n" : (cmp < 0 ? "<\n" : "=\n")); printf(cmp > 0 ? ">\n" : (cmp < 0 ? "<\n" : "=\n"));

View File

@ -21,7 +21,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
__FBSDID("$FreeBSD$"); __FBSDID("$FreeBSD$");
#include <pkg.h> #include "lib.h"
#include "version.h" #include "version.h"
#include <err.h> #include <err.h>
#include <fetch.h> #include <fetch.h>