From 4d2a53df4fd604b64921e847960c9b2774cd3ae1 Mon Sep 17 00:00:00 2001 From: joerg Date: Mon, 16 Apr 2007 12:55:34 +0000 Subject: Sync with NetBSD base: Some FTP server don't expand [] in NLIST, most noticable is vsftpd. Avoid this by splitting the wildcard search pattern into two commands. Sync some other minor changes. Bump to 20070416. --- pkgtools/pkg_install/files/add/extract.c | 6 +++--- pkgtools/pkg_install/files/add/perform.c | 5 ++--- pkgtools/pkg_install/files/bpm/bpm.1 | 2 +- pkgtools/pkg_install/files/configure | 18 +++++++++--------- pkgtools/pkg_install/files/configure.ac | 2 +- pkgtools/pkg_install/files/create/perform.c | 6 +++--- pkgtools/pkg_install/files/info/show.c | 5 ++--- pkgtools/pkg_install/files/lib/defs.h | 2 +- pkgtools/pkg_install/files/lib/dewey.h | 2 +- pkgtools/pkg_install/files/lib/file.c | 6 +++--- pkgtools/pkg_install/files/lib/ftpio.c | 27 ++++++++++++++++++++------- pkgtools/pkg_install/files/lib/pkg_summary.5 | 2 +- pkgtools/pkg_install/files/lib/version.h | 4 ++-- 13 files changed, 49 insertions(+), 38 deletions(-) (limited to 'pkgtools') diff --git a/pkgtools/pkg_install/files/add/extract.c b/pkgtools/pkg_install/files/add/extract.c index 79c7e960b21..beb329869f7 100644 --- a/pkgtools/pkg_install/files/add/extract.c +++ b/pkgtools/pkg_install/files/add/extract.c @@ -1,4 +1,4 @@ -/* $NetBSD: extract.c,v 1.14 2006/11/03 09:35:14 joerg Exp $ */ +/* $NetBSD: extract.c,v 1.15 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -14,7 +14,7 @@ #if 0 static const char *rcsid = "FreeBSD - Id: extract.c,v 1.17 1997/10/08 07:45:35 charnier Exp"; #else -__RCSID("$NetBSD: extract.c,v 1.14 2006/11/03 09:35:14 joerg Exp $"); +__RCSID("$NetBSD: extract.c,v 1.15 2007/04/16 12:55:35 joerg Exp $"); #endif #endif @@ -62,7 +62,7 @@ pushout(char *todir) int count; /* set up arguments to run "pax -r -w -p e" */ - file_args[0] = strrchr(PAX_CMD, '/'); + file_args[0] = (char *)strrchr(PAX_CMD, '/'); if (file_args[0] == NULL) file_args[0] = PAX_CMD; else diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c index 0ab5f8e16d4..a35b3551f90 100644 --- a/pkgtools/pkg_install/files/add/perform.c +++ b/pkgtools/pkg_install/files/add/perform.c @@ -1,4 +1,4 @@ -/* $NetBSD: perform.c,v 1.44 2007/03/11 22:05:03 joerg Exp $ */ +/* $NetBSD: perform.c,v 1.45 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -14,7 +14,7 @@ #if 0 static const char *rcsid = "from FreeBSD Id: perform.c,v 1.44 1997/10/13 15:03:46 jkh Exp"; #else -__RCSID("$NetBSD: perform.c,v 1.44 2007/03/11 22:05:03 joerg Exp $"); +__RCSID("$NetBSD: perform.c,v 1.45 2007/04/16 12:55:35 joerg Exp $"); #endif #endif @@ -47,7 +47,6 @@ __RCSID("$NetBSD: perform.c,v 1.44 2007/03/11 22:05:03 joerg Exp $"); #if HAVE_ERRNO_H #include #endif -#include "defs.h" #include "lib.h" #include "add.h" #include "verify.h" diff --git a/pkgtools/pkg_install/files/bpm/bpm.1 b/pkgtools/pkg_install/files/bpm/bpm.1 index 8da4ee2f623..af952fc4bb2 100644 --- a/pkgtools/pkg_install/files/bpm/bpm.1 +++ b/pkgtools/pkg_install/files/bpm/bpm.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: bpm.1,v 1.2 2004/03/30 15:28:08 tv Exp $ */ +.\" $NetBSD: bpm.1,v 1.3 2007/04/16 12:55:35 joerg Exp $ */ .\" .\" .\" Copyright (c) 2003 Alistair G. Crooks. All rights reserved. diff --git a/pkgtools/pkg_install/files/configure b/pkgtools/pkg_install/files/configure index f5eeb61c53d..a8236b21331 100755 --- a/pkgtools/pkg_install/files/configure +++ b/pkgtools/pkg_install/files/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for pkg_install 20050607. +# Generated by GNU Autoconf 2.59 for pkg_install 20070416. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='pkg_install' PACKAGE_TARNAME='pkg_install' -PACKAGE_VERSION='20050607' -PACKAGE_STRING='pkg_install 20050607' +PACKAGE_VERSION='20070414' +PACKAGE_STRING='pkg_install 20070416' PACKAGE_BUGREPORT='grant@NetBSD.org' ac_unique_file="lib/plist.c" @@ -780,7 +780,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pkg_install 20050607 to adapt to many kinds of systems. +\`configure' configures pkg_install 20070416 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -841,7 +841,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pkg_install 20050607:";; + short | recursive ) echo "Configuration of pkg_install 20070416:";; esac cat <<\_ACEOF @@ -962,7 +962,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -pkg_install configure 20050607 +pkg_install configure 20070416 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -976,7 +976,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pkg_install $as_me 20050607, which was +It was created by pkg_install $as_me 20070416, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -6368,7 +6368,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by pkg_install $as_me 20050607, which was +This file was extended by pkg_install $as_me 20070416, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6428,7 +6428,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -pkg_install config.status 20050607 +pkg_install config.status 20070416 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/pkgtools/pkg_install/files/configure.ac b/pkgtools/pkg_install/files/configure.ac index a20d1c98f01..85338224cd2 100644 --- a/pkgtools/pkg_install/files/configure.ac +++ b/pkgtools/pkg_install/files/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) -AC_INIT([pkg_install], [20050607], [grant@NetBSD.org]) +AC_INIT([pkg_install], [20070416], [grant@NetBSD.org]) AC_CONFIG_SRCDIR([lib/plist.c]) AC_CONFIG_HEADER(lib/config.h) diff --git a/pkgtools/pkg_install/files/create/perform.c b/pkgtools/pkg_install/files/create/perform.c index f6b4265967c..b45af4a666c 100644 --- a/pkgtools/pkg_install/files/create/perform.c +++ b/pkgtools/pkg_install/files/create/perform.c @@ -1,4 +1,4 @@ -/* $NetBSD: perform.c,v 1.11 2007/03/11 22:05:03 joerg Exp $ */ +/* $NetBSD: perform.c,v 1.12 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -11,7 +11,7 @@ #if 0 static const char *rcsid = "from FreeBSD Id: perform.c,v 1.38 1997/10/13 15:03:51 jkh Exp"; #else -__RCSID("$NetBSD: perform.c,v 1.11 2007/03/11 22:05:03 joerg Exp $"); +__RCSID("$NetBSD: perform.c,v 1.12 2007/04/16 12:55:35 joerg Exp $"); #endif #endif @@ -65,7 +65,7 @@ make_dist(const char *home, const char *pkg, const char *suffix, const package_t FILE *totar; pipe_to_system_t *to_pipe; - if ((args[0] = strrchr(TAR_CMD, '/')) == NULL) + if ((args[0] = (char *)strrchr(TAR_CMD, '/')) == NULL) args[0] = TAR_CMD; else args[0]++; diff --git a/pkgtools/pkg_install/files/info/show.c b/pkgtools/pkg_install/files/info/show.c index 0f402c4012b..b220551145e 100644 --- a/pkgtools/pkg_install/files/info/show.c +++ b/pkgtools/pkg_install/files/info/show.c @@ -1,4 +1,4 @@ -/* $NetBSD: show.c,v 1.11 2006/05/10 04:25:30 jlam Exp $ */ +/* $NetBSD: show.c,v 1.12 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -11,7 +11,7 @@ #if 0 static const char *rcsid = "from FreeBSD Id: show.c,v 1.11 1997/10/08 07:47:38 charnier Exp"; #else -__RCSID("$NetBSD: show.c,v 1.11 2006/05/10 04:25:30 jlam Exp $"); +__RCSID("$NetBSD: show.c,v 1.12 2007/04/16 12:55:35 joerg Exp $"); #endif #endif @@ -68,7 +68,6 @@ __RCSID("$NetBSD: show.c,v 1.11 2006/05/10 04:25:30 jlam Exp $"); #include #endif -#include "defs.h" #include "lib.h" #include "info.h" diff --git a/pkgtools/pkg_install/files/lib/defs.h b/pkgtools/pkg_install/files/lib/defs.h index 964b7c5f717..c35f325cf76 100644 --- a/pkgtools/pkg_install/files/lib/defs.h +++ b/pkgtools/pkg_install/files/lib/defs.h @@ -1,4 +1,4 @@ -/* $NetBSD: defs.h,v 1.5 2006/04/24 13:52:05 dillo Exp $ */ +/* $NetBSD: defs.h,v 1.6 2007/04/16 12:55:35 joerg Exp $ */ /* * Copyright (c) 1999-2000 Alistair G. Crooks. All rights reserved. diff --git a/pkgtools/pkg_install/files/lib/dewey.h b/pkgtools/pkg_install/files/lib/dewey.h index 14f2b413212..ed3e8e4affe 100644 --- a/pkgtools/pkg_install/files/lib/dewey.h +++ b/pkgtools/pkg_install/files/lib/dewey.h @@ -1,4 +1,4 @@ -/* $NetBSD: dewey.h,v 1.1 2005/11/05 13:20:09 wiz Exp $ */ +/* $NetBSD: dewey.h,v 1.2 2007/04/16 12:55:35 joerg Exp $ */ #ifndef _INST_LIB_DEWEY_H_ #define _INST_LIB_DEWEY_H_ diff --git a/pkgtools/pkg_install/files/lib/file.c b/pkgtools/pkg_install/files/lib/file.c index 75e9e3fb010..9817e5f688e 100644 --- a/pkgtools/pkg_install/files/lib/file.c +++ b/pkgtools/pkg_install/files/lib/file.c @@ -1,4 +1,4 @@ -/* $NetBSD: file.c,v 1.18 2006/04/04 06:31:22 wiz Exp $ */ +/* $NetBSD: file.c,v 1.19 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -17,7 +17,7 @@ #if 0 static const char *rcsid = "from FreeBSD Id: file.c,v 1.29 1997/10/08 07:47:54 charnier Exp"; #else -__RCSID("$NetBSD: file.c,v 1.18 2006/04/04 06:31:22 wiz Exp $"); +__RCSID("$NetBSD: file.c,v 1.19 2007/04/16 12:55:35 joerg Exp $"); #endif #endif @@ -651,7 +651,7 @@ unpack(const char *pkg, const lfile_head_t *filesp) } else decompress_cmd = GZIP_CMD; - up_argv[i] = strrchr(TAR_CMD, '/'); + up_argv[i] = (char *)strrchr(TAR_CMD, '/'); if (up_argv[i] == NULL) up_argv[i] = TAR_CMD; else diff --git a/pkgtools/pkg_install/files/lib/ftpio.c b/pkgtools/pkg_install/files/lib/ftpio.c index e06bd6d541b..43ec0c1a372 100644 --- a/pkgtools/pkg_install/files/lib/ftpio.c +++ b/pkgtools/pkg_install/files/lib/ftpio.c @@ -1,4 +1,4 @@ -/* $NetBSD: ftpio.c,v 1.20 2006/04/18 20:41:44 hubertf Exp $ */ +/* $NetBSD: ftpio.c,v 1.21 2007/04/16 12:55:35 joerg Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -8,7 +8,7 @@ #include #endif #ifndef lint -__RCSID("$NetBSD: ftpio.c,v 1.20 2006/04/18 20:41:44 hubertf Exp $"); +__RCSID("$NetBSD: ftpio.c,v 1.21 2007/04/16 12:55:35 joerg Exp $"); #endif /*- @@ -347,7 +347,7 @@ setupCoproc(const char *base) int answer_pipe[2]; int rc1, rc2; char buf[20]; - char *argv0 = strrchr(FTP_CMD, '/'); + char *argv0 = (char *)strrchr(FTP_CMD, '/'); if (argv0 == NULL) argv0 = FTP_CMD; else @@ -655,7 +655,10 @@ ftp_expand_URL(const char *base, char *pattern) char *s, buf[MaxPathSize]; char tmpname[MaxPathSize]; char best[MaxPathSize]; - int rc, tfd; + int rc, tfd, retry_tbz; + + retry_tbz = 0; + best[0]='\0'; rc = ftp_start(base); if (rc == -1) { @@ -684,8 +687,16 @@ ftp_expand_URL(const char *base, char *pattern) * we can't use the pkg wildcards here as dewey compare * and alternates won't be handled by ftp(1); sort * out later, using pmatch() */ - (void) snprintf(buf, sizeof(buf), "nlist %.*s*.t[bg]z %s\n", - (int)(s-pattern), pattern, tmpname); + if (retry_tbz) { +retry_with_tbz: + (void) snprintf(buf, sizeof(buf), "nlist %.*s*.tbz %s\n", + (int)(s-pattern), pattern, tmpname); + retry_tbz = 0; + } else { + (void) snprintf(buf, sizeof(buf), "nlist %.*s*.tgz %s\n", + (int)(s-pattern), pattern, tmpname); + retry_tbz = 1; + } } rc = ftp_cmd(buf, "\n(550|450|226).*\n"); /* catch errors */ @@ -704,7 +715,6 @@ ftp_expand_URL(const char *base, char *pattern) return NULL; } - best[0]='\0'; if (access(tmpname, R_OK)==0) { int matches; FILE *f; @@ -747,6 +757,9 @@ ftp_expand_URL(const char *base, char *pattern) warnx("nothing appropriate found"); } + if (retry_tbz) + goto retry_with_tbz; + unlink(tmpname); if (best[0] == '\0') diff --git a/pkgtools/pkg_install/files/lib/pkg_summary.5 b/pkgtools/pkg_install/files/lib/pkg_summary.5 index b92dfad0541..be3bf2bb720 100644 --- a/pkgtools/pkg_install/files/lib/pkg_summary.5 +++ b/pkgtools/pkg_install/files/lib/pkg_summary.5 @@ -1,4 +1,4 @@ -.\" $NetBSD: pkg_summary.5,v 1.5 2007/02/07 06:49:22 wiz Exp $ +.\" $NetBSD: pkg_summary.5,v 1.6 2007/04/16 12:55:35 joerg Exp $ .\" .\" Copyright (c) 2006 The NetBSD Foundation .\" diff --git a/pkgtools/pkg_install/files/lib/version.h b/pkgtools/pkg_install/files/lib/version.h index a4cce78cb57..9ccb5c54437 100644 --- a/pkgtools/pkg_install/files/lib/version.h +++ b/pkgtools/pkg_install/files/lib/version.h @@ -1,4 +1,4 @@ -/* $NetBSD: version.h,v 1.63 2007/03/11 22:05:03 joerg Exp $ */ +/* $NetBSD: version.h,v 1.64 2007/04/16 12:55:35 joerg Exp $ */ /* * Copyright (c) 2001 Thomas Klausner. All rights reserved. @@ -33,6 +33,6 @@ #ifndef _INST_LIB_VERSION_H_ #define _INST_LIB_VERSION_H_ -#define PKGTOOLS_VERSION "20070308" +#define PKGTOOLS_VERSION "20070416" #endif /* _INST_LIB_VERSION_H_ */ -- cgit v1.2.3