From ringworm01@gmail.com Sat Oct 15 21:48:14 2005 Return-Path: Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 18EFC16A41F for ; Sat, 15 Oct 2005 21:48:14 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from vms040pub.verizon.net (vms040pub.verizon.net [206.46.252.40]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CF5343D55 for ; Sat, 15 Oct 2005 21:47:56 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from ringworm.mechee.com ([71.102.45.234]) by vms040.mailsrvcs.net (Sun Java System Messaging Server 6.2 HotFix 0.04 (built Dec 24 2004)) with ESMTPA id <0IOF00LFK8J4L541@vms040.mailsrvcs.net> for FreeBSD-gnats-submit@freebsd.org; Sat, 15 Oct 2005 16:47:35 -0500 (CDT) Received: by ringworm.mechee.com (Postfix, from userid 1001) id 2C2BC130C21; Sat, 15 Oct 2005 14:49:06 -0700 (PDT) Message-Id: <20051015214906.2C2BC130C21@ringworm.mechee.com> Date: Sat, 15 Oct 2005 14:49:06 -0700 (PDT) From: ringworm01@gmail.com Reply-To: Michael C. Shultz To: FreeBSD-gnats-submit@freebsd.org Cc: Subject: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 X-Send-Pr-Version: 3.113 X-GNATS-Notify: >Number: 87497 >Category: ports >Synopsis: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: closed >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Oct 15 21:50:09 GMT 2005 >Closed-Date: Sun Oct 16 16:56:58 GMT 2005 >Last-Modified: Sun Oct 16 17:40:12 GMT 2005 >Originator: Michael C. Shultz >Release: FreeBSD 5.4-STABLE i386 >Organization: >Environment: System: FreeBSD ringworm.mechee.com 5.4-STABLE FreeBSD 5.4-STABLE #1: Fri Oct 14 12:41:40 PDT 2005 root@ringworm.mechee.com:/usr5/obj/usr5/src/sys/RINGWORM5 i386 >Description: New tarball, please remove all patches in /files. >How-To-Repeat: N/A >Fix: This version fixes most outstanding bugs and removes a few bottle necks in data base creation. Because PR-63216 is still open added a work around to handle ports marked BROKEN,IGNORED and FORBIDDEN --- portmanager-0.3.0.diff begins here --- diff -ruN portmanager/Makefile portmanager-0.3.0/Makefile --- portmanager/Makefile Sat Oct 15 11:21:17 2005 +++ portmanager-0.3.0/Makefile Sat Oct 15 14:23:08 2005 @@ -6,8 +6,8 @@ # PORTNAME= portmanager -PORTVERSION= 0.2.9 -PORTREVISION= 8 +PORTVERSION= 0.3.0 +PORTREVISION= 0 #----------------------------------------- #for local use, remove before submitting PR CATEGORIES= sysutils @@ -49,28 +49,41 @@ --with-sharedir=/share/portmanager \ --with-tempdir=/tmp +INSTALLS_SHLIB= yes +USE_REINPLACE= yes +INSTALL_TARGET= install info + +# Get __FreeBSD_version +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 600000 # -# In FreeBSD 6.0 dumps core when compiled WITHOUT debug symbols :( +# In FreeBSD 6.0 dumps core when compiled WITHOUT debug symbols # so for a temp fix just making the WITH_DEBUG non optional. # -#.if defined(WITH_DEBUG) -CONFIGURE_ARGS+= --with-debug=yes -#.endif +WITH_DEBUG= YES +.endif -INSTALLS_SHLIB= yes -USE_REINPLACE= yes -INSTALL_TARGET= install info +.if defined(WITH_DEBUG) +CONFIGURE_ARGS+= --with-debug=yes +.endif -#pre-fetch: -#.if !defined(WITH_DEBUG) -# @${ECHO} "***********************************************************************" -# @${ECHO} "* portmanager *" -# @${ECHO} "***********************************************************************" -# @${ECHO} "* *" -# @${ECHO} "* WITH_DEBUG=yes enables debug support and all compile warnings *" -# @${ECHO} "* *" -# @${ECHO} "***********************************************************************" -#.endif +pre-fetch: +.if !defined(WITH_DEBUG) + @${ECHO} "***********************************************************************" + @${ECHO} "* portmanager *" + @${ECHO} "***********************************************************************" + @${ECHO} "* *" + @${ECHO} "* WITH_DEBUG=yes enables debug support and all compile warnings *" + @${ECHO} "* *" + @${ECHO} "***********************************************************************" +.endif post-configure: @${REINPLACE_CMD} -e \ Binary files portmanager/csh.core and portmanager-0.3.0/csh.core differ diff -ruN portmanager/distinfo portmanager-0.3.0/distinfo --- portmanager/distinfo Thu Oct 13 15:09:43 2005 +++ portmanager-0.3.0/distinfo Sat Oct 15 14:14:28 2005 @@ -1,2 +1,2 @@ -MD5 (portmanager-0.2.9.tar.gz) = 785d47f82a64b438cfc9de253fbd6a9f -SIZE (portmanager-0.2.9.tar.gz) = 414994 +MD5 (portmanager-0.3.0.tar.gz) = 160a49044ea2e91e943a92bd1ade3346 +SIZE (portmanager-0.3.0.tar.gz) = 421183 diff -ruN portmanager/files/patch-0.2.9_1 portmanager-0.3.0/files/patch-0.2.9_1 --- portmanager/files/patch-0.2.9_1 Thu Mar 3 00:51:59 2005 +++ portmanager-0.3.0/files/patch-0.2.9_1 Wed Dec 31 16:00:00 1969 @@ -1,68 +0,0 @@ -diff -ruN --exclude=Makefile.in --exclude=externVars.h.in --exclude=config.h.in --exclude=config.h.in~ ./NEWS ../../0.2.9_1/portmanager/NEWS ---- ./NEWS Sun Feb 27 13:51:55 2005 -+++ ../../0.2.9_1/portmanager/NEWS Wed Mar 2 15:31:42 2005 -@@ -2,6 +2,10 @@ - - NOTE to self: Monitor from 0.2.1 to 0.2.2 item 3. - -+from 0.2.9 to 0.2.9_1 (March 2005) -+ -+ 1) Added warnings if portmanager is not run as root -+ - from 0.2.8 to 0.2.9 (February 2005) - - 1) Fixed %done reporting in xterm title bar -diff -ruN --exclude=Makefile.in --exclude=externVars.h.in --exclude=config.h.in --exclude=config.h.in~ ./libMG/src/MGdbCreate.c ../../0.2.9_1/portmanager/libMG/src/MGdbCreate.c ---- ./libMG/src/MGdbCreate.c Thu Feb 17 21:55:04 2005 -+++ ../../0.2.9_1/portmanager/libMG/src/MGdbCreate.c Wed Mar 2 15:34:11 2005 -@@ -68,7 +68,7 @@ - { - fprintf(stderr, "%s ERROR: unable to open %s\n", id, db->parent.path); - perror("error"); -- assert(0); -+ return( NULL ); - } - - /*zzzzzzzzzzzzzz*/ -diff -ruN --exclude=Makefile.in --exclude=externVars.h.in --exclude=config.h.in --exclude=config.h.in~ ./libPMGR/src/PMGRrDbCreate.c ../../0.2.9_1/portmanager/libPMGR/src/PMGRrDbCreate.c ---- ./libPMGR/src/PMGRrDbCreate.c Thu Feb 17 09:39:55 2005 -+++ ../../0.2.9_1/portmanager/libPMGR/src/PMGRrDbCreate.c Wed Mar 2 15:38:33 2005 -@@ -78,6 +78,12 @@ - NULL); - /*zzzzzzzzzzzzzz*/ - -+ if( !property->installedPortsDb ) -+ { -+ fprintf( stderr, "%s %s error: portmanager must be run as root\n", id, VERSION ); -+ exit(1); -+ } -+ - /*zzzzzzzzzzzzzz*/ - property->objIdx++; - property->dependencyPortsDb = MGdbCreate( -diff -ruN --exclude=Makefile.in --exclude=externVars.h.in --exclude=config.h.in --exclude=config.h.in~ ./libPMGR/src/PMGRrInitialize.c ../../0.2.9_1/portmanager/libPMGR/src/PMGRrInitialize.c ---- ./libPMGR/src/PMGRrInitialize.c Thu Feb 17 22:55:53 2005 -+++ ../../0.2.9_1/portmanager/libPMGR/src/PMGRrInitialize.c Wed Mar 2 15:55:57 2005 -@@ -38,6 +38,7 @@ - - int PMGRrInitialize( structProperty* property, int argc, char** argv ) - { -+ char id[] = "PMGRrInitialize"; - char* commandLineKey = NULL; - int errorCode = 0; - int idx = 0; -@@ -164,6 +165,14 @@ - */ - property->commandLineDb = MGdbCreate( property->commandLineDbFileName, property->fieldCommandLineKey, - property->fieldCommandLineValue, NULL ); -+ -+ if( !property->commandLineDb ) -+ { -+ fprintf( stderr, "%s %s error: portmanager must be run as root\n", id, VERSION ); -+ exit(1); -+ } -+ -+ - idx = 1; - while( idx < argc ) - { diff -ruN portmanager/files/patch-0.2.9_2 portmanager-0.3.0/files/patch-0.2.9_2 --- portmanager/files/patch-0.2.9_2 Fri Mar 4 01:29:37 2005 +++ portmanager-0.3.0/files/patch-0.2.9_2 Wed Dec 31 16:00:00 1969 @@ -1,80 +0,0 @@ -diff -ruN --exclude=Makefile.in --exclude=externVars.h.in --exclude=config.h.in --exclude=config.h.in~ --exclude=Makefile ./libPMGR/src/PMGRrDbCreate.c ../../0.2.9_2/portmanager/libPMGR/src/PMGRrDbCreate.c ---- ./libPMGR/src/PMGRrDbCreate.c Wed Mar 2 15:38:33 2005 -+++ ../../0.2.9_2/portmanager/libPMGR/src/PMGRrDbCreate.c Thu Mar 3 19:25:56 2005 -@@ -28,6 +28,7 @@ - char pkgDir[] = PKGDBDIR; - char* fieldKey = NULL; - char* fieldValue = NULL; -+ char* ignoredPortDir = NULL; - char* installedPortDir = NULL; - char* installedPortName = NULL; - classDir* dir = NULL; -@@ -35,39 +36,57 @@ - int QTY_configDb = 0; - int dirMode = 7; - int errorCode = 0; -+ int stringSize = 0; - signed int fopenIdx = 0; - signed int mallocIdx = 0; - - property->objIdx = 0; - -- /***************************************************************/ -- /* add any ignored ports in config.db to ignore.db */ -- /***************************************************************/ -+ /* -+ * add any ignored ports in config.db to ignore.db -+ */ - IDX_configDb = 1; - QTY_configDb = MGdbGetRecordQty( property->configDb ); - -- - while( IDX_configDb < QTY_configDb ) - { - fieldKey = MGdbGet( property->configDb, IDX_configDb, property->fieldKey ); -- if( !strcmp( fieldKey, "IGNORE" ) ) -+ if( strstr( fieldKey, "IGNORE" ) ) - { - fieldValue = MGdbGet( property->configDb, IDX_configDb, property->fieldValue ); -+ -+ if( fieldValue[0] != '/' ) -+ { -+ stringSize = 1 + strlen( fieldValue ) + 1; -+ ignoredPortDir = malloc( stringSize ); -+ ignoredPortDir[0] = 0; -+ strcat( ignoredPortDir, "/" ); -+ strcat( ignoredPortDir, fieldValue ); -+ } -+ else -+ { -+ stringSize = strlen( fieldValue ) + 1; -+ ignoredPortDir = malloc( stringSize ); -+ ignoredPortDir[0] = 0; -+ strcat( ignoredPortDir, fieldValue ); -+ } -+ - MGdbGoTop( property->ignoreDb ); -- if( !MGdbSeek( property->ignoreDb, property->fieldIgnorePortDir, fieldValue, -+ if( !MGdbSeek( property->ignoreDb, property->fieldIgnorePortDir, ignoredPortDir, - property->fieldIgnorePortDir ) ) - { - fprintf( stdout, "%s %s info: adding %s to ignore.db reason: pm-020.conf option\n", -- id, VERSION, fieldValue ); -- MGdbAdd( property->ignoreDb, fieldValue, "pm-020.conf option", NULL ); -+ id, VERSION, ignoredPortDir ); -+ MGdbAdd( property->ignoreDb, ignoredPortDir, "pm-020.conf option", NULL ); - } -+ free( ignoredPortDir ); - } - IDX_configDb++; - } - -- /***************************************************************/ -- /* create initial data bases */ -- /***************************************************************/ -+ /* -+ * create initial data bases -+ */ - - /*zzzzzzzzzzzzzz*/ - property->objIdx++; diff -ruN portmanager/files/patch-0.2.9_3 portmanager-0.3.0/files/patch-0.2.9_3 --- portmanager/files/patch-0.2.9_3 Mon Mar 14 11:40:12 2005 +++ portmanager-0.3.0/files/patch-0.2.9_3 Wed Dec 31 16:00:00 1969 @@ -1,833 +0,0 @@ -diff -bruN --exclude=HTML ./AUTHORS ../../0.2.9_3/portmanager/AUTHORS ---- ./AUTHORS Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/AUTHORS Sun Mar 13 10:26:54 2005 -@@ -1 +1,2 @@ - Michael C. Shultz ringworm01@gmail.com -+Alistair Sutton -diff -bruN --exclude=HTML ./NEWS ../../0.2.9_3/portmanager/NEWS ---- ./NEWS Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/NEWS Sun Mar 13 21:27:57 2005 -@@ -1,6 +1,19 @@ - change log - --NOTE to self: Monitor from 0.2.1 to 0.2.2 item 3. -+ -+from 0.2.9_2 to 0.2.9_3 (March 2005) -+ -+1) Added check for really old ports in PMGRrAddDependencies that -+aborts portmanager and provides suggestion on how to update manually. -+This is to fix a seg fault when @comment DEPORIGIN: is missing in -+a port's +CONTENTS file -+ -+2) Incorporated Alistair Sutton's -+code that adds interactive update option "portmanager -ui". -+ -+3) Slowly switching license from GNU to BSD. -+ -+from 0.2.9 to 0.2.9_2 (March 2005) - - from 0.2.9 to 0.2.9_1 (March 2005) - -diff -bruN --exclude=HTML ./libMG/src/libMG.h ../../0.2.9_3/portmanager/libMG/src/libMG.h ---- ./libMG/src/libMG.h Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libMG/src/libMG.h Fri Mar 11 02:34:09 2005 -@@ -67,6 +67,7 @@ - #define KEY_N 78 - #define KEY_SPACE 32 - #define KEY_X 88 -+#define KEY_Y 89 - #define KEY_n 110 - #define KEY_x 120 - #define LINEFEED 10 -@@ -74,6 +75,7 @@ - #define MAXPARAMETERS 256 - #define SPACE 32 - #define TAB 9 -+#define KEY_y 121 - - #define SINGLE_LINES "------------------------------------------------------------------------" - #define DOUBLE_LINES "========================================================================" -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrAddDependencies.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c ---- ./libPMGR/src/PMGRrAddDependencies.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c Mon Mar 14 10:56:06 2005 -@@ -1,25 +1,31 @@ --/************************************************************************/ --/* Copyright (C) 2005 Michael C. Shultz */ --/* */ --/* This program is free software; you can redistribute it and/or modify */ --/* it under the terms of the GNU General Public License as published by */ --/* the Free Software Foundation; either version 2 of the License, or (at*/ --/* your option) any later version. */ --/* */ --/* This program is distributed in the hope that it will be useful, */ --/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ --/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ --/* GNU General Public License for more details. */ --/* */ --/* You should have received a copy of the GNU General Public License */ --/* along with this program; if not, write to the Free Software */ --/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA */ --/* 02111-1307, USA. */ --/* */ --/* Michael C. Shultz */ --/* ringworm01@gmail.com */ --/* Box 3238 Landers, CA 92285 */ --/************************************************************************/ -+/* -+ Copyright (C) 2005 Michael C. Shultz -+ -+ 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. -+ -+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ Michael C. Shultz -+ ringworm01@gmail.com -+ Box 3238 Landers, CA 92285 -+*/ - #include - - int PMGRrAddDependencies( structProperty* property, char* portName ) -@@ -89,6 +95,7 @@ - assert(0); - } - buffer[0] = 0; -+ buffer[bufferSize-1] = 0; - fread(buffer, 1, bufferSize, contentsFileStream ); - buffPtr = buffer; - portDependency = buffer; -@@ -108,6 +115,17 @@ - portDependencyDir += strlen( "@comment DEPORIGIN:" ); - stringSize = strstr( portDependencyDir, "\n" ) - portDependencyDir; - portDependencyDir[stringSize] = 0; -+ -+ -+ if( strncmp( buffPtr, "@comment DEPORIGIN:", strlen( "@comment DEPORIGIN:" ) ) ) -+ { -+ fprintf( stdout, -+ "%s %s error: %s/%s \"@comment DEPORIGIN:\" is missing from +CONTENTS file, recommend you manually remove this port:\n", -+ id, VERSION, PKGDBDIR, portName ); -+ fprintf( stdout, "pkg_delete -f %s/%s then find it in /usr/ports/{category}/{portname} and reinstall\n", PKGDBDIR, portName ); -+ exit(0); -+ } -+ - - buffPtr = portDependencyDir + stringSize + 1; - -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrDoUpgrade.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrDoUpgrade.c ---- ./libPMGR/src/PMGRrDoUpgrade.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrDoUpgrade.c Fri Mar 11 13:08:35 2005 -@@ -1,39 +1,33 @@ --/************************************************************************/ --/* Copyright (C) 2004 Michael C. Shultz */ --/* */ --/* This program is free software; you can redistribute it and/or modify */ --/* it under the terms of the GNU General Public License as published by */ --/* the Free Software Foundation; either version 2 of the License, or (at*/ --/* your option) any later version. */ --/* */ --/* This program is distributed in the hope that it will be useful, */ --/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ --/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ --/* GNU General Public License for more details. */ --/* */ --/* You should have received a copy of the GNU General Public License */ --/* along with this program; if not, write to the Free Software */ --/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA */ --/* 02111-1307, USA. */ --/* */ --/* Michael C. Shultz */ --/* ringworm01@gmail.com */ --/* Box 3238 Landers, CA 92285 */ --/************************************************************************/ --#include -- - /* -- * $Author: mike $ -- * $Revision: 1.2 $ -- * $Date: 2005/02/21 17:35:40 $ -- * $Id: PMGRrDoUpgrade.c,v 1.2 2005/02/21 17:35:40 mike Exp $ -- * $Log: PMGRrDoUpgrade.c,v $ -- * Revision 1.2 2005/02/21 17:35:40 mike -- * PMGRrDoUpgrade: Added make check-conflicts so we no longer waste -- * time trying to build a port that is going to fail at installation -- * time. If there is a conflict port is pkg_delete -f'ed. -- * -- */ -+ Copyright (C) 2005 Michael C. Shultz -+ -+ 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. -+ -+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ Michael C. Shultz -+ ringworm01@gmail.com -+ Box 3238 Landers, CA 92285 -+*/ -+ -+#include - - int PMGRrDoUpgrade( structProperty* property, char* oldPortName ) - { -@@ -54,9 +48,18 @@ - int mallocIdx = 0; - int qty = 0; - int stringSize = 0; -+ int kkey = 1; -+ int proceed = 0; -+ -+ /* -+ * gdb shows kkey == 0 here, weird!!! -+ */ -+ - -- /* this is so we can signal that the entire portmanager program needs to -- terminate after updating this port*/ -+ /* -+ * this is so we can signal that the entire portmanager program needs to -+ * terminate after updating this port -+ */ - if( strstr( oldPortName, "portmanager" ) ) - { - property->portManagerUpdated = 1; -@@ -65,12 +68,10 @@ - while( fflush( stdout ) ); - - MGdbGoTop( property->outOfDatePortsDb ); -- oldPortDir = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortName, oldPortName, -- property->fieldOldPortDir ); -+ oldPortDir = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortName, oldPortName, property->fieldOldPortDir ); - if( !oldPortDir ) - { -- fprintf( stderr, "%s %s error(52): oldPortName %s not found in outOfDatePortsDb\n", -- id, VERSION, oldPortName ); -+ fprintf( stderr, "%s %s error(52): oldPortName %s not found in outOfDatePortsDb\n", id, VERSION, oldPortName ); - while( fflush( stderr ) ); - return(9); - } -@@ -79,14 +80,69 @@ - options = MGdbSeek( property->configDb, property->fieldKey, oldPortDir, property->fieldValue ); - - MGdbGoTop( property->outOfDatePortsDb ); -- reason = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortDir, oldPortDir, -- property->fieldReason ); -+ reason = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortDir, oldPortDir, property->fieldReason ); - - MGdbGoTop( property->outOfDatePortsDb ); -- reasonPortName = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortDir, oldPortDir, -- property->fieldNewPortName ); -+ reasonPortName = MGdbSeek( property->outOfDatePortsDb, property->fieldOldPortDir, oldPortDir, property->fieldNewPortName ); -+ -+ /* -+ * if interactive option was chosen, present prompt and get response -+ */ -+ if( property->interactive == 1 ) -+ { -+ while (!proceed) -+ { -+ fprintf( stdout, "Upgrade port %s reason: %s: Y/N [Y]? ", oldPortName, reasonPortName ); -+ -+ kkey = getc(stdin); -+ -+ switch(kkey) -+ { -+ case KEY_ENTER: -+ { -+ proceed = 1; -+ break; -+ } -+ case KEY_Y: -+ { -+ proceed = 1; -+ kkey = getc(stdin); -+ break; -+ } -+ case KEY_y: -+ { -+ proceed = 1; -+ kkey = getc(stdin); -+ break; -+ } -+ case KEY_N: -+ { -+ proceed = 1; -+ fprintf( stdout, "\nSkipping port: %s\n", oldPortName ); -+ MGdbAdd( property->ignoreDb, oldPortDir, "interactively skipped", NULL ); -+ kkey = getc(stdin); -+ return(0); -+ } -+ case KEY_n: -+ { -+ proceed = 1; -+ fprintf( stdout, "\nSkipping port: %s\n", oldPortName ); -+ MGdbAdd( property->ignoreDb, oldPortDir, "interactively skipped", NULL ); -+ kkey = getc(stdin); -+ return(0); -+ } -+ default: -+ { -+ fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N to skip\n"); -+ kkey = getc(stdin); -+ } -+ } -+ -+ } -+ } - - fprintf( stdout, "UPGRADING %s reason %s %s\n", oldPortName, reason, reasonPortName ); -+ - fprintf( stdout, "%s\n", SINGLE_LINES ); - while( fflush( stdout ) ); - /************************************************************************/ -@@ -248,8 +304,6 @@ - /************************************************************************/ - /* Command "2" " make clean " */ - /************************************************************************/ -- -- - if( options ) - { - stringSize = strlen( "cd " ) -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrMissingDependencies.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrMissingDependencies.c ---- ./libPMGR/src/PMGRrMissingDependencies.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrMissingDependencies.c Mon Mar 14 06:58:27 2005 -@@ -151,7 +151,7 @@ - strcat( command, "make " ); - strcat( command, " all-depends-list" ); - } -- fprintf( stdout, "verifing dependency status of %s (may take awhile) by executing command:\n%s\n", -+ fprintf( stdout, "verifying dependency status of %s (may take awhile) by executing command:\n%s\n", - dependencyPortName, command ); - while( fflush( stdout ) ); - /*zzzzzzzzzzzzzz*/ -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrShowLeavesDelete.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrShowLeavesDelete.c ---- ./libPMGR/src/PMGRrShowLeavesDelete.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrShowLeavesDelete.c Fri Mar 11 01:42:38 2005 -@@ -54,32 +54,26 @@ - while( idx ) - { - leafPortName = MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortName ); -- -- -- -- leafPortDirShort = MGdbGet( property->installedPortsDb, idx, -- property->fieldInstalledPortDir ); -+ leafPortDirShort = MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortDir ); - - /* - * Make sure port isn't in ignore.db - */ - MGdbGoTop( property->ignoreDb ); -- if( MGdbSeek( property->ignoreDb, property->fieldIgnorePortDir, leafPortDirShort, -- property->fieldIgnorePortDir ) ) -+ if( MGdbSeek( property->ignoreDb, property->fieldIgnorePortDir, leafPortDirShort, property->fieldIgnorePortDir ) ) - { --printf( " ignoring %s\n", leafPortDirShort ); -+ fprintf( stdout, " ignoring %s\n", leafPortDirShort ); - idx--; - continue; - } - - stringSize = strlen( PORTSDIR ) -- + strlen( MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortDir ) ) -- + 1; -+ + strlen( MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortDir ) ) + 1; - leafPortDir = (char*)malloc(stringSize); - leafPortDir[0] = 0; -- strcpy( leafPortDir, PORTSDIR ); -- -+ strcat( leafPortDir, PORTSDIR ); - strcat( leafPortDir, MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortDir ) ); -+ - MGdbGoTop( property->dependencyPortsDb ); - if( !MGdbSeek( property->dependencyPortsDb, property->fieldDependencyPortDir, - MGdbGet( property->installedPortsDb, idx, property->fieldInstalledPortDir ), -@@ -96,8 +90,7 @@ - fprintf( stdout, "%s %s\n\n", leafPortName, leafPortDir ); - - stringSize = strlen( leafPortDir ) -- + strlen( "/pkg-descr" ) -- + 1; -+ + strlen( "/pkg-descr" ) + 1; - pkgDescFile = (char*)malloc( stringSize ); - pkgDescFile[0] = 0; - strcat( pkgDescFile, leafPortDir ); -@@ -106,8 +99,7 @@ - if( MGrIfFileExist( pkgDescFile ) ) - { - stringSize = strlen( "cat " ) -- + strlen( pkgDescFile ) -- + 1; -+ + strlen( pkgDescFile ) + 1; - command = (char*)malloc( stringSize ); - command[0] = 0; - strcat( command, "cat " ); -@@ -121,8 +113,7 @@ - { - stringSize = strlen( "grep COMMENT " ) - + strlen( leafPortDir ) -- + strlen( "/Makefile" ) -- + 1; -+ + strlen( "/Makefile" ) + 1; - command = (char*)malloc( stringSize ); - command[0] = 0; - strcat( command, "grep COMMENT " ); -@@ -210,8 +201,7 @@ - int stringSize = 0; - - stringSize = strlen( "pkg_delete -f " ) -- + strlen( leafPortName ) -- + 1; -+ + strlen( leafPortName ) + 1; - command = (char*)malloc( stringSize ); - command[0] = 0; - strcat( command, "pkg_delete -f " ); -@@ -231,8 +221,7 @@ - - stringSize = strlen( "cd " ) - + strlen( leafPortDir ) -- + strlen( ";make distclean" ) -- + 1; -+ + strlen( ";make distclean" ) + 1; - command = (char*)malloc( stringSize ); - command[0] = 0; - strcat( command, "cd " ); -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrStatus.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrStatus.c ---- ./libPMGR/src/PMGRrStatus.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrStatus.c Fri Mar 11 07:40:17 2005 -@@ -1,26 +1,31 @@ --/************************************************************************/ --/* Copyright (C) 2005 Michael C. Shultz */ --/* */ --/* This program is free software; you can redistribute it and/or modify */ --/* it under the terms of the GNU General Public License as published by */ --/* the Free Software Foundation; either version 2 of the License, or (at*/ --/* your option) any later version. */ --/* */ --/* This program is distributed in the hope that it will be useful, */ --/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ --/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ --/* GNU General Public License for more details. */ --/* */ --/* You should have received a copy of the GNU General Public License */ --/* along with this program; if not, write to the Free Software */ --/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA */ --/* 02111-1307, USA. */ --/* */ --/* Michael C. Shultz */ --/* ringworm01@gmail.com */ --/* Box 3238 Landers, CA 92285 */ --/************************************************************************/ -+/* -+ Copyright (C) 2005 Michael C. Shultz - -+ 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. -+ -+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ Michael C. Shultz -+ ringworm01@gmail.com -+ Box 3238 Landers, CA 92285 -+*/ - #include - int PMGRrStatus(structProperty* property) - { -@@ -115,7 +120,7 @@ - fprintf( stdout, "portmanager shutting down\n" ); - exit(0); - } -- ungetc(answer, stdin); -+ answer = getc(stdin); - - fprintf( stdout, "removing: %s\n", installedPortName ); - stringSize = strlen("pkg_delete -f ") + strlen(installedPortName) + 1; -diff -bruN --exclude=HTML ./libPMGR/src/PMGRrUpgrade.c ../../0.2.9_3/portmanager/libPMGR/src/PMGRrUpgrade.c ---- ./libPMGR/src/PMGRrUpgrade.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/PMGRrUpgrade.c Fri Mar 11 07:39:07 2005 -@@ -1,25 +1,31 @@ --/************************************************************************/ --/* Copyright (C) 2004 Michael C. Shultz */ --/* */ --/* This program is free software; you can redistribute it and/or modify */ --/* it under the terms of the GNU General Public License as published by */ --/* the Free Software Foundation; either version 2 of the License, or (at*/ --/* your option) any later version. */ --/* */ --/* This program is distributed in the hope that it will be useful, */ --/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ --/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ --/* GNU General Public License for more details. */ --/* */ --/* You should have received a copy of the GNU General Public License */ --/* along with this program; if not, write to the Free Software */ --/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA */ --/* 02111-1307, USA. */ --/* */ --/* Michael C. Shultz */ --/* ringworm01@gmail.com */ --/* Box 3238 Landers, CA 92285 */ --/************************************************************************/ -+/* -+ Copyright (C) 2005 Michael C. Shultz -+ -+ 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. -+ -+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ Michael C. Shultz -+ ringworm01@gmail.com -+ Box 3238 Landers, CA 92285 -+*/ - #include "libPMGR.h" - - int checkForOldDepencies( structProperty* property, char* oldPortName); -@@ -68,7 +74,6 @@ - property->cacheDb = MGdbOpen( property->cacheDbFileName ); - /*zzzzzzzzzzzzzzzzz*/ - -- - /* - * Set xterm title bar indicator - */ -@@ -78,9 +83,10 @@ - TOTAL_outOfDatePortsDb = QTY_outOfDatePortsDb - 1; - } - percentDone = 100 - ( 100 * ( ( (float)QTY_outOfDatePortsDb - 1 ) / (float)TOTAL_outOfDatePortsDb ) ); --fprintf( stdout, "percentDone-=>%d = 100 - ( 100 * ( QTY_outOfDatePortsDb-=>%d / TOTAL_outOfDatePortsDb-=>%d ) ) \n", -+ fprintf( stdout, "percentDone-=>%d = 100 - ( 100 * ( QTY_outOfDatePortsDb-=>%d / TOTAL_outOfDatePortsDb-=>%d ) ) \n", - (int)percentDone, QTY_outOfDatePortsDb-1, TOTAL_outOfDatePortsDb ); --while( fflush( stdout ) ); -+ while( fflush( stdout ) ); -+ - if( !strncmp( getenv("TERM"), "xterm", 5 ) ) - { - stringSize = strlen( id ) -diff -bruN --exclude=HTML ./libPMGR/src/libPMGR.h ../../0.2.9_3/portmanager/libPMGR/src/libPMGR.h ---- ./libPMGR/src/libPMGR.h Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/libPMGR/src/libPMGR.h Fri Mar 11 00:46:10 2005 -@@ -136,6 +136,9 @@ - int objIdx; - int portManagerUpdated; /* 0=not updated 1=updated*/ - int verbose; -+ -+ int interactive; /* 0 = non, 1 = interactive */ -+ - } structProperty; - - typedef struct -diff -bruN --exclude=HTML ./portmanager/help.txt ../../0.2.9_3/portmanager/portmanager/help.txt ---- ./portmanager/help.txt Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/portmanager/help.txt Fri Mar 11 00:41:39 2005 -@@ -20,6 +20,9 @@ - -u or --upgrade - upgrade installed ports - -+ -ui or --upgrade-interactive -+ upgrade installed ports interactively -+ - -v or --version - portmanager VERSION information - -diff -bruN --exclude=HTML ./portmanager/portmanager.1 ../../0.2.9_3/portmanager/portmanager/portmanager.1 ---- ./portmanager/portmanager.1 Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/portmanager/portmanager.1 Fri Mar 11 00:56:46 2005 -@@ -1,10 +1,8 @@ --.\" $ 0.2.6_3 $ --.\" - .\" Process this file with - .\" groff -man -Tascii portmanager.1 | less - .\" - .\"======================================================================= --.Dd FEBRUARY 2005 -+.Dd MARCH 2005 - .Os FreeBSD - .Dt PORTMANAGER 1 URM - .\"======================================================================= -@@ -59,6 +57,8 @@ - .It - \fB\&-u\fR update installed ports - .It -+\fB\&-ui\fR upgrade installed ports interactively -+.It - \fB\&-v\fR portmanager version - .El - .sp -@@ -199,6 +199,17 @@ - .sp - Simply add a "local" directory to /usr/ports and install your local ports under that directory. Where a normal FreeBSD - port may be in "sysutils/{portname} the example above would reside in "local/sysutils/{portname}". -+.sp -+\fBSwitching from XFree86-4 to xorg\fR -+.sp -+ 1) change /etc/make.conf from X_WINDOW_SYSTEM=xfree86-4 -+ to X_WINDOW_SYSTEM=xorg -+.sp -+ 2) pkg_delete -f /var/db/pkg/XFree86* -+.sp -+ 3) pkg_delete -f /var/db/pkg/wrapper* -+.sp -+ 4) run portmanager -u - .sp - \fBalternative configuration\fR - .sp -diff -bruN --exclude=HTML ./portmanager/portmanager.c ../../0.2.9_3/portmanager/portmanager/portmanager.c ---- ./portmanager/portmanager.c Thu Mar 3 18:54:33 2005 -+++ ../../0.2.9_3/portmanager/portmanager/portmanager.c Sun Mar 13 10:49:37 2005 -@@ -1,25 +1,31 @@ --/************************************************************************/ --/* Copyright (C) 2004 Michael C. Shultz */ --/* */ --/* This program is free software; you can redistribute it and/or modify */ --/* it under the terms of the GNU General Public License as published by */ --/* the Free Software Foundation; either VER 2 of the License, or (at */ --/* your option) any later VER. */ --/* */ --/* This program is distributed in the hope that it will be useful, */ --/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ --/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ --/* GNU General Public License for more details. */ --/* */ --/* You should have received a copy of the GNU General Public License */ --/* along with this program; if not, write to the Free Software */ --/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA */ --/* 02111-1307, USA. */ --/* */ --/* Michael C. Shultz */ --/* ringworm01@gmail.com */ --/* Box 3238 Landers, CA 92285 */ --/************************************************************************/ -+/* -+ Copyright (C) 2005 Michael C. Shultz -+ -+ 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. -+ -+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ Michael C. Shultz -+ ringworm01@gmail.com -+ Box 3238 Landers, CA 92285 -+*/ - #include - - #define OFF -2 -@@ -55,6 +61,8 @@ - char status[] = "--status"; - char u[] = "-u"; - char upgrade[] = "--upgrade"; -+ char ui[] = "-ui"; -+ char upgradeInteractive[] = "--upgrade-interactive"; - char v[] = "-v"; - char version[] = "--version"; - char* buffer = NULL; -@@ -67,74 +75,6 @@ - int stringSize = 0; - structProperty property; - char* bufferIdx = NULL; --/* --Here is a code snipit from sendmail's alias.c about db locking: -- --rebuildaliases(map, automatic) -- register MAP *map; -- bool automatic; --{ -- SM_FILE_T *af; -- bool nolock = false; -- bool success = false; -- long sff = SFF_OPENASROOT|SFF_REGONLY|SFF_NOLOCK; -- sigfunc_t oldsigint, oldsigquit; --#ifdef SIGTSTP -- sigfunc_t oldsigtstp; --#endif // SIGTSTP -- -- -- // try to lock the source file -- if ((af = safefopen(map->map_file, O_RDWR, 0, sff)) == NULL) -- { -- struct stat stb; -- -- if ((errno != EACCES && errno != EROFS) || automatic || -- (af = safefopen(map->map_file, O_RDONLY, 0, sff)) == NULL) -- { -- int saveerr = errno; -- -- if (tTd(27, 1)) -- sm_dprintf("Can't open %s: %s\n", -- map->map_file, sm_errstring(saveerr)); -- if (!automatic && !bitset(MF_OPTIONAL, map->map_mflags)) -- message("newaliases: cannot open %s: %s", -- map->map_file, sm_errstring(saveerr)); -- errno = 0; -- return false; -- } -- nolock = true; -- if (tTd(27, 1) || -- fstat(sm_io_getinfo(af, SM_IO_WHAT_FD, NULL), &stb) < 0 || -- bitset(S_IWUSR|S_IWGRP|S_IWOTH, stb.st_mode)) -- message("warning: cannot lock %s: %s", -- map->map_file, sm_errstring(errno)); -- } -- -- -- // see if someone else is rebuilding the alias file -- if (!nolock && -- !lockfile(sm_io_getinfo(af, SM_IO_WHAT_FD, NULL), map->map_file, -- NULL, LOCK_EX|LOCK_NB)) -- { -- // yes, they are -- wait until done -- message("Alias file %s is locked (maybe being rebuilt)", -- map->map_file); -- if (OpMode != MD_INITALIAS) -- { -- // wait for other rebuild to complete -- (void) lockfile(sm_io_getinfo(af, SM_IO_WHAT_FD, NULL), -- map->map_file, NULL, LOCK_EX); -- } -- (void) sm_io_close(af, SM_TIME_DEFAULT); -- errno = 0; -- return false; -- } -- -- -- --*/ -- - - /* - * Insure only one instance of portmanager is running as there is no locking of -@@ -236,11 +176,9 @@ - exit( 0 ); - } - -- property.ignoreDb = MGdbCreate( property.ignoreDbFileName, property.fieldIgnorePortDir, property.fieldIgnoreReason, -- NULL ); -+ property.ignoreDb = MGdbCreate( property.ignoreDbFileName, property.fieldIgnorePortDir, property.fieldIgnoreReason, NULL ); -+ property.strikesDb = MGdbCreate( property.strikesDbFileName, property.field3strikesPortDir, property.fieldStrikes, NULL ); - -- property.strikesDb = MGdbCreate( property.strikesDbFileName, property.field3strikesPortDir, property.fieldStrikes, -- NULL ); - /* - * convert pm-020.conf to config.db - */ -@@ -303,8 +241,26 @@ - if( !strcmp( argv[idx], upgrade ) || !strcmp( argv[idx], u ) ) - { - stringSize = strlen( "rm -f " ) -- + strlen( property.cacheDbFileName ) -- + 1; -+ + strlen( property.cacheDbFileName ) + 1; -+ command = malloc( stringSize ); -+ command[0] = 0; -+ strcat( command, "rm -f " ); -+ strcat( command, property.cacheDbFileName ); -+ fprintf( stdout, "%s %s info: executing %s\n", id, VERSION, command ); -+ system( command ); -+ free( command ); -+ -+ property.interactive = 0; -+ -+ selection = PMUPGRADE; -+ break; -+ } -+ -+ if( !strcmp( argv[idx], upgradeInteractive ) || !strcmp( argv[idx], ui ) ) -+ { -+ -+ stringSize = strlen( "rm -f " ) -+ + strlen( property.cacheDbFileName ) + 1; - command = malloc( stringSize ); - command[0] = 0; - strcat( command, "rm -f " ); -@@ -312,6 +268,9 @@ - fprintf( stdout, "%s %s info: executing %s\n", id, VERSION, command ); - system( command ); - free( command ); -+ -+ property.interactive = 1; -+ - selection = PMUPGRADE; - break; - } diff -ruN portmanager/files/patch-0.2.9_4 portmanager-0.3.0/files/patch-0.2.9_4 --- portmanager/files/patch-0.2.9_4 Sat Apr 23 08:24:15 2005 +++ portmanager-0.3.0/files/patch-0.2.9_4 Wed Dec 31 16:00:00 1969 @@ -1,725 +0,0 @@ -diff -ruN ../../0.2.9_3/portmanager/ChangeLog ./ChangeLog ---- ../../0.2.9_3/portmanager/ChangeLog Wed Apr 6 19:50:14 2005 -+++ ./ChangeLog Fri Apr 22 12:32:22 2005 -@@ -1,6 +1,32 @@ - change log - --NOTE to self: Monitor from 0.2.1 to 0.2.2 item 3. -+from 0.2.9_3 to 0.2.9_4 (April 2005) -+ -+1) Improved warning message if a +CONTENTS file is missing in PMGRrVerifyContentsFile.c -+ -+2) PMGRrAddDependencies.c changed way stringSize is calculated for portDependency variable -+to eliminate a potential buffer over run. While I have never duplicated a buffer overrun -+the portmanager.core file received from "TJ Varghese" from a FreeBSD -+4.11 system proves it is possible. -+ -+ -+from 0.2.9_2 to 0.2.9_3 (March 2005) -+ -+1) Added check for really old ports in PMGRrAddDependencies that -+aborts portmanager and provides suggestion on how to update manually. -+This is to fix a seg fault when @comment DEPORIGIN: is missing in -+a port's +CONTENTS file -+ -+2) Incorporated Alistair Sutton's -+code that adds interactive update option "portmanager -ui". -+ -+3) Slowly switching license from GNU to BSD. -+ -+from 0.2.9 to 0.2.9_2 (March 2005) -+ -+from 0.2.9 to 0.2.9_1 (March 2005) -+ -+ 1) Added warnings if portmanager is not run as root - - from 0.2.8 to 0.2.9 (February 2005) - -@@ -23,7 +49,7 @@ - - 2) Added conflict handling when upgrading ports - -- 3) If running in xter, now indicates %done in title bar. -+ 3) If running in xterm, now indicates %done in title bar. - - from 0.2.6 to 0.2.7 (February 2005) - -@@ -33,7 +59,7 @@ - - from 0.2.5 to 0.2.6 (February 2005) - -- Added -sl and -slid options to help users safely remove uneeded -+ Added -sl and -slid options to help users safely remove unneeded - ports ports from their system. - - from 0.2.4 to 0.2.5 (February 2005) -@@ -51,7 +77,7 @@ - - from 0.2.2 to 0.2.3 (January 2005) - -- Major rewrite of libMG routines. Now most datbase related code is -+ Major rewrite of libMG routines. Now most database related code is - object oriented, this will simplify adding user requested features - in future releases. - -@@ -63,7 +89,7 @@ - for an index to the others. Be warned, many still need to be written, - I'll try to add a few with each new version of portmanager. - -- One final thing, found a major openfile leak while running pmstatus -+ One final thing, found a major open file leak while running pmstatus - which is run once with portmanager -s or several times with - portmanager -u. In this version (0.2.3) pmstatus and pmupgrade were - merged into portmanager and the open files grew to: -@@ -73,7 +99,7 @@ - After tracking down the problem and fixing it individual ports seem - to build faster. It is likely that previous versions of portmanager - caused a few ports to fail to build because it was hogging too many -- open file handles, if so I appologize and promise to tighly monitor -+ open file handles, if so I apologize and promise to tightly monitor - memory leaks and open files in future versions. BTW, this version under - extensive monitoring with top and fstat -p shows no leakage at all in my - initial tests. -@@ -97,10 +123,10 @@ - - 5) pmupgrade.c fixed hard coded paths - -- 6) pmupgrade.c Major cleanup of code, seperated upgrade routine into -+ 6) pmupgrade.c Major cleanup of code, separated upgrade routine into - upgrade, checkForOldDepencies, and doUpgrade routines. - -- 7) fixed portmanager seg faulting when it selfupdates. (thanks to -+ 7) fixed portmanager seg faulting when it self updates. (thanks to - "Noah" for reporting - - from 0.2.0 to 0.2.1 (December 2004) -@@ -110,7 +136,7 @@ - - 2) Replaced html docs with a portmanager.1 man page. - -- 3) Eleminated several useless header files -+ 3) Eliminated several useless header files - - 4) Added better error checking or /var/db/{portname}/+CONTENTS - files -@@ -120,13 +146,13 @@ - from 0.1.9 to 0.2.0 - - added patches (with some mods) provided by Gudin Francis to -- pmupgrade.c (add error checking durring make) and -+ pmupgrade.c (add error checking during make) and - PMGRrMakeDescribe (modify's how make describe is called by - placing options before target) - - reworked config file, now renamed to pm-020.conf - -- added -pkgadd switch though this may not be a permament change -+ added -pkgadd switch though this may not be a permanent change - yet. - - from 0.1.8 to 0.1.9 -@@ -155,9 +181,9 @@ - - from 0.1.4 to 0.1.5 - -- if pmStatus receives a segfault it will reset the cache -- automatically. pmUpgrade and portmanager -s will automatically -- retry pmStatus one time after a cache reset. -+ if pmstatus receives a seg fault it will reset the cache -+ automatically. pmupgrade and portmanager -s will automatically -+ retry pmstatus one time after a cache reset. - - from 0.1.3 to 0.1.4 - -@@ -202,10 +228,10 @@ - - April 20, 2004 - -- 1 Added portmanager the executable which serves to run pmUpgrade -- and pmStatus. -+ 1 Added portmanager the executable which serves to run pmupgrade -+ and pmstatus. - -- 2 Renamed port from portManager to portmanager because the cap -+ 2 Renamed port from portmanager to portmanager because the cap - in the middle may be annoying to remember for users running it - from the command line. - -diff -ruN ../../0.2.9_3/portmanager/NEWS ./NEWS ---- ../../0.2.9_3/portmanager/NEWS Wed Apr 6 19:50:14 2005 -+++ ./NEWS Fri Apr 22 12:31:39 2005 -@@ -1,5 +1,14 @@ - change log - -+from 0.2.9_3 to 0.2.9_4 (April 2005) -+ -+1) Improved warning message if a +CONTENTS file is missing in PMGRrVerifyContentsFile.c -+ -+2) PMGRrAddDependencies.c changed way stringSize is calculated for portDependency variable -+to eliminate a potential buffer over run. While I have never duplicated a buffer overrun -+the portmanager.core file received from "TJ Varghese" from a FreeBSD -+4.11 system proves it is possible. -+ - - from 0.2.9_2 to 0.2.9_3 (March 2005) - -@@ -40,7 +49,7 @@ - - 2) Added conflict handling when upgrading ports - -- 3) If running in xter, now indicates %done in title bar. -+ 3) If running in xterm, now indicates %done in title bar. - - from 0.2.6 to 0.2.7 (February 2005) - -@@ -50,7 +59,7 @@ - - from 0.2.5 to 0.2.6 (February 2005) - -- Added -sl and -slid options to help users safely remove uneeded -+ Added -sl and -slid options to help users safely remove unneeded - ports ports from their system. - - from 0.2.4 to 0.2.5 (February 2005) -@@ -68,7 +77,7 @@ - - from 0.2.2 to 0.2.3 (January 2005) - -- Major rewrite of libMG routines. Now most datbase related code is -+ Major rewrite of libMG routines. Now most database related code is - object oriented, this will simplify adding user requested features - in future releases. - -@@ -80,7 +89,7 @@ - for an index to the others. Be warned, many still need to be written, - I'll try to add a few with each new version of portmanager. - -- One final thing, found a major openfile leak while running pmstatus -+ One final thing, found a major open file leak while running pmstatus - which is run once with portmanager -s or several times with - portmanager -u. In this version (0.2.3) pmstatus and pmupgrade were - merged into portmanager and the open files grew to: -@@ -90,7 +99,7 @@ - After tracking down the problem and fixing it individual ports seem - to build faster. It is likely that previous versions of portmanager - caused a few ports to fail to build because it was hogging too many -- open file handles, if so I appologize and promise to tighly monitor -+ open file handles, if so I apologize and promise to tightly monitor - memory leaks and open files in future versions. BTW, this version under - extensive monitoring with top and fstat -p shows no leakage at all in my - initial tests. -@@ -114,10 +123,10 @@ - - 5) pmupgrade.c fixed hard coded paths - -- 6) pmupgrade.c Major cleanup of code, seperated upgrade routine into -+ 6) pmupgrade.c Major cleanup of code, separated upgrade routine into - upgrade, checkForOldDepencies, and doUpgrade routines. - -- 7) fixed portmanager seg faulting when it selfupdates. (thanks to -+ 7) fixed portmanager seg faulting when it self updates. (thanks to - "Noah" for reporting - - from 0.2.0 to 0.2.1 (December 2004) -@@ -127,7 +136,7 @@ - - 2) Replaced html docs with a portmanager.1 man page. - -- 3) Eleminated several useless header files -+ 3) Eliminated several useless header files - - 4) Added better error checking or /var/db/{portname}/+CONTENTS - files -@@ -137,13 +146,13 @@ - from 0.1.9 to 0.2.0 - - added patches (with some mods) provided by Gudin Francis to -- pmupgrade.c (add error checking durring make) and -+ pmupgrade.c (add error checking during make) and - PMGRrMakeDescribe (modify's how make describe is called by - placing options before target) - - reworked config file, now renamed to pm-020.conf - -- added -pkgadd switch though this may not be a permament change -+ added -pkgadd switch though this may not be a permanent change - yet. - - from 0.1.8 to 0.1.9 -@@ -172,9 +181,9 @@ - - from 0.1.4 to 0.1.5 - -- if pmStatus receives a segfault it will reset the cache -- automatically. pmUpgrade and portmanager -s will automatically -- retry pmStatus one time after a cache reset. -+ if pmstatus receives a seg fault it will reset the cache -+ automatically. pmupgrade and portmanager -s will automatically -+ retry pmstatus one time after a cache reset. - - from 0.1.3 to 0.1.4 - -@@ -219,10 +228,10 @@ - - April 20, 2004 - -- 1 Added portmanager the executable which serves to run pmUpgrade -- and pmStatus. -+ 1 Added portmanager the executable which serves to run pmupgrade -+ and pmstatus. - -- 2 Renamed port from portManager to portmanager because the cap -+ 2 Renamed port from portmanager to portmanager because the cap - in the middle may be annoying to remember for users running it - from the command line. - -diff -ruN ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c ./libPMGR/src/PMGRrAddDependencies.c ---- ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c Wed Apr 6 19:50:14 2005 -+++ ./libPMGR/src/PMGRrAddDependencies.c Fri Apr 22 12:30:40 2005 -@@ -102,11 +102,20 @@ - while( ( portDependency = strnstr( buffPtr, "@pkgdep ", bufferSize - (buffPtr - buffer) ) ) ) - { - portDependency += strlen( "@pkgdep " ); -+ -+/* - stringSize = strstr( portDependency, "\n" ) - portDependency; - if(stringSize < 1) - { - break; - } -+*/ -+ stringSize = 0; -+ while( portDependency[stringSize] != LINEFEED && stringSize < 256 ) -+ { -+ stringSize++; -+ } -+ - portDependency[stringSize] = 0; - - buffPtr = portDependency + stringSize + 1; -@@ -173,4 +182,5 @@ - } - return(0); - } -+ - -diff -ruN ../../0.2.9_3/portmanager/libPMGR/src/PMGRrVerifyContentsFile.c ./libPMGR/src/PMGRrVerifyContentsFile.c ---- ../../0.2.9_3/portmanager/libPMGR/src/PMGRrVerifyContentsFile.c Wed Apr 6 19:50:14 2005 -+++ ./libPMGR/src/PMGRrVerifyContentsFile.c Fri Apr 22 12:09:41 2005 -@@ -34,6 +34,7 @@ - int stringSize = 0; - signed int fopenIdx = 0; - signed int mallocIdx = 0; -+ pid_t pid; - - stringSize = strlen(PKGDBDIR) - + strlen("/") -@@ -72,7 +73,15 @@ - { - fprintf( stderr, "%s %s error: could not open %s\n", id, VERSION, contentsFileName ); - perror( "system message" ); -- assert(0); -+ pid = fork(); -+ if( !pid ) -+ { -+ execl( "/usr/sbin/pkg_info", "pkg_info", portName, 0 ); -+ } -+ wait( pid ); -+ fprintf( stderr, "%s %s error: portmanager cannot continue, recommend you manually reinstall %s\n", id, VERSION, portName ); -+ free( contentsFileName ); -+ exit( 1 ); - } - - bufferSize = MGrFileSize( contentsFileName ); -diff -ruN ../../0.2.9_3/portmanager/patch-0.2.9_4 ./patch-0.2.9_4 ---- ../../0.2.9_3/portmanager/patch-0.2.9_4 Wed Dec 31 16:00:00 1969 -+++ ./patch-0.2.9_4 Fri Apr 22 12:32:26 2005 -@@ -0,0 +1,333 @@ -+diff -ruN ../../0.2.9_3/portmanager/ChangeLog ./ChangeLog -+--- ../../0.2.9_3/portmanager/ChangeLog Wed Apr 6 19:50:14 2005 -++++ ./ChangeLog Fri Apr 22 12:32:22 2005 -+@@ -1,6 +1,32 @@ -+ change log -+ -+-NOTE to self: Monitor from 0.2.1 to 0.2.2 item 3. -++from 0.2.9_3 to 0.2.9_4 (April 2005) -++ -++1) Improved warning message if a +CONTENTS file is missing in PMGRrVerifyContentsFile.c -++ -++2) PMGRrAddDependencies.c changed way stringSize is calculated for portDependency variable -++to eliminate a potential buffer over run. While I have never duplicated a buffer overrun -++the portmanager.core file received from "TJ Varghese" from a FreeBSD -++4.11 system proves it is possible. -++ -++ -++from 0.2.9_2 to 0.2.9_3 (March 2005) -++ -++1) Added check for really old ports in PMGRrAddDependencies that -++aborts portmanager and provides suggestion on how to update manually. -++This is to fix a seg fault when @comment DEPORIGIN: is missing in -++a port's +CONTENTS file -++ -++2) Incorporated Alistair Sutton's -++code that adds interactive update option "portmanager -ui". -++ -++3) Slowly switching license from GNU to BSD. -++ -++from 0.2.9 to 0.2.9_2 (March 2005) -++ -++from 0.2.9 to 0.2.9_1 (March 2005) -++ -++ 1) Added warnings if portmanager is not run as root -+ -+ from 0.2.8 to 0.2.9 (February 2005) -+ -+@@ -23,7 +49,7 @@ -+ -+ 2) Added conflict handling when upgrading ports -+ -+- 3) If running in xter, now indicates %done in title bar. -++ 3) If running in xterm, now indicates %done in title bar. -+ -+ from 0.2.6 to 0.2.7 (February 2005) -+ -+@@ -33,7 +59,7 @@ -+ -+ from 0.2.5 to 0.2.6 (February 2005) -+ -+- Added -sl and -slid options to help users safely remove uneeded -++ Added -sl and -slid options to help users safely remove unneeded -+ ports ports from their system. -+ -+ from 0.2.4 to 0.2.5 (February 2005) -+@@ -51,7 +77,7 @@ -+ -+ from 0.2.2 to 0.2.3 (January 2005) -+ -+- Major rewrite of libMG routines. Now most datbase related code is -++ Major rewrite of libMG routines. Now most database related code is -+ object oriented, this will simplify adding user requested features -+ in future releases. -+ -+@@ -63,7 +89,7 @@ -+ for an index to the others. Be warned, many still need to be written, -+ I'll try to add a few with each new version of portmanager. -+ -+- One final thing, found a major openfile leak while running pmstatus -++ One final thing, found a major open file leak while running pmstatus -+ which is run once with portmanager -s or several times with -+ portmanager -u. In this version (0.2.3) pmstatus and pmupgrade were -+ merged into portmanager and the open files grew to: -+@@ -73,7 +99,7 @@ -+ After tracking down the problem and fixing it individual ports seem -+ to build faster. It is likely that previous versions of portmanager -+ caused a few ports to fail to build because it was hogging too many -+- open file handles, if so I appologize and promise to tighly monitor -++ open file handles, if so I apologize and promise to tightly monitor -+ memory leaks and open files in future versions. BTW, this version under -+ extensive monitoring with top and fstat -p shows no leakage at all in my -+ initial tests. -+@@ -97,10 +123,10 @@ -+ -+ 5) pmupgrade.c fixed hard coded paths -+ -+- 6) pmupgrade.c Major cleanup of code, seperated upgrade routine into -++ 6) pmupgrade.c Major cleanup of code, separated upgrade routine into -+ upgrade, checkForOldDepencies, and doUpgrade routines. -+ -+- 7) fixed portmanager seg faulting when it selfupdates. (thanks to -++ 7) fixed portmanager seg faulting when it self updates. (thanks to -+ "Noah" for reporting -+ -+ from 0.2.0 to 0.2.1 (December 2004) -+@@ -110,7 +136,7 @@ -+ -+ 2) Replaced html docs with a portmanager.1 man page. -+ -+- 3) Eleminated several useless header files -++ 3) Eliminated several useless header files -+ -+ 4) Added better error checking or /var/db/{portname}/+CONTENTS -+ files -+@@ -120,13 +146,13 @@ -+ from 0.1.9 to 0.2.0 -+ -+ added patches (with some mods) provided by Gudin Francis to -+- pmupgrade.c (add error checking durring make) and -++ pmupgrade.c (add error checking during make) and -+ PMGRrMakeDescribe (modify's how make describe is called by -+ placing options before target) -+ -+ reworked config file, now renamed to pm-020.conf -+ -+- added -pkgadd switch though this may not be a permament change -++ added -pkgadd switch though this may not be a permanent change -+ yet. -+ -+ from 0.1.8 to 0.1.9 -+@@ -155,9 +181,9 @@ -+ -+ from 0.1.4 to 0.1.5 -+ -+- if pmStatus receives a segfault it will reset the cache -+- automatically. pmUpgrade and portmanager -s will automatically -+- retry pmStatus one time after a cache reset. -++ if pmstatus receives a seg fault it will reset the cache -++ automatically. pmupgrade and portmanager -s will automatically -++ retry pmstatus one time after a cache reset. -+ -+ from 0.1.3 to 0.1.4 -+ -+@@ -202,10 +228,10 @@ -+ -+ April 20, 2004 -+ -+- 1 Added portmanager the executable which serves to run pmUpgrade -+- and pmStatus. -++ 1 Added portmanager the executable which serves to run pmupgrade -++ and pmstatus. -+ -+- 2 Renamed port from portManager to portmanager because the cap -++ 2 Renamed port from portmanager to portmanager because the cap -+ in the middle may be annoying to remember for users running it -+ from the command line. -+ -+diff -ruN ../../0.2.9_3/portmanager/NEWS ./NEWS -+--- ../../0.2.9_3/portmanager/NEWS Wed Apr 6 19:50:14 2005 -++++ ./NEWS Fri Apr 22 12:31:39 2005 -+@@ -1,5 +1,14 @@ -+ change log -+ -++from 0.2.9_3 to 0.2.9_4 (April 2005) -++ -++1) Improved warning message if a +CONTENTS file is missing in PMGRrVerifyContentsFile.c -++ -++2) PMGRrAddDependencies.c changed way stringSize is calculated for portDependency variable -++to eliminate a potential buffer over run. While I have never duplicated a buffer overrun -++the portmanager.core file received from "TJ Varghese" from a FreeBSD -++4.11 system proves it is possible. -++ -+ -+ from 0.2.9_2 to 0.2.9_3 (March 2005) -+ -+@@ -40,7 +49,7 @@ -+ -+ 2) Added conflict handling when upgrading ports -+ -+- 3) If running in xter, now indicates %done in title bar. -++ 3) If running in xterm, now indicates %done in title bar. -+ -+ from 0.2.6 to 0.2.7 (February 2005) -+ -+@@ -50,7 +59,7 @@ -+ -+ from 0.2.5 to 0.2.6 (February 2005) -+ -+- Added -sl and -slid options to help users safely remove uneeded -++ Added -sl and -slid options to help users safely remove unneeded -+ ports ports from their system. -+ -+ from 0.2.4 to 0.2.5 (February 2005) -+@@ -68,7 +77,7 @@ -+ -+ from 0.2.2 to 0.2.3 (January 2005) -+ -+- Major rewrite of libMG routines. Now most datbase related code is -++ Major rewrite of libMG routines. Now most database related code is -+ object oriented, this will simplify adding user requested features -+ in future releases. -+ -+@@ -80,7 +89,7 @@ -+ for an index to the others. Be warned, many still need to be written, -+ I'll try to add a few with each new version of portmanager. -+ -+- One final thing, found a major openfile leak while running pmstatus -++ One final thing, found a major open file leak while running pmstatus -+ which is run once with portmanager -s or several times with -+ portmanager -u. In this version (0.2.3) pmstatus and pmupgrade were -+ merged into portmanager and the open files grew to: -+@@ -90,7 +99,7 @@ -+ After tracking down the problem and fixing it individual ports seem -+ to build faster. It is likely that previous versions of portmanager -+ caused a few ports to fail to build because it was hogging too many -+- open file handles, if so I appologize and promise to tighly monitor -++ open file handles, if so I apologize and promise to tightly monitor -+ memory leaks and open files in future versions. BTW, this version under -+ extensive monitoring with top and fstat -p shows no leakage at all in my -+ initial tests. -+@@ -114,10 +123,10 @@ -+ -+ 5) pmupgrade.c fixed hard coded paths -+ -+- 6) pmupgrade.c Major cleanup of code, seperated upgrade routine into -++ 6) pmupgrade.c Major cleanup of code, separated upgrade routine into -+ upgrade, checkForOldDepencies, and doUpgrade routines. -+ -+- 7) fixed portmanager seg faulting when it selfupdates. (thanks to -++ 7) fixed portmanager seg faulting when it self updates. (thanks to -+ "Noah" for reporting -+ -+ from 0.2.0 to 0.2.1 (December 2004) -+@@ -127,7 +136,7 @@ -+ -+ 2) Replaced html docs with a portmanager.1 man page. -+ -+- 3) Eleminated several useless header files -++ 3) Eliminated several useless header files -+ -+ 4) Added better error checking or /var/db/{portname}/+CONTENTS -+ files -+@@ -137,13 +146,13 @@ -+ from 0.1.9 to 0.2.0 -+ -+ added patches (with some mods) provided by Gudin Francis to -+- pmupgrade.c (add error checking durring make) and -++ pmupgrade.c (add error checking during make) and -+ PMGRrMakeDescribe (modify's how make describe is called by -+ placing options before target) -+ -+ reworked config file, now renamed to pm-020.conf -+ -+- added -pkgadd switch though this may not be a permament change -++ added -pkgadd switch though this may not be a permanent change -+ yet. -+ -+ from 0.1.8 to 0.1.9 -+@@ -172,9 +181,9 @@ -+ -+ from 0.1.4 to 0.1.5 -+ -+- if pmStatus receives a segfault it will reset the cache -+- automatically. pmUpgrade and portmanager -s will automatically -+- retry pmStatus one time after a cache reset. -++ if pmstatus receives a seg fault it will reset the cache -++ automatically. pmupgrade and portmanager -s will automatically -++ retry pmstatus one time after a cache reset. -+ -+ from 0.1.3 to 0.1.4 -+ -+@@ -219,10 +228,10 @@ -+ -+ April 20, 2004 -+ -+- 1 Added portmanager the executable which serves to run pmUpgrade -+- and pmStatus. -++ 1 Added portmanager the executable which serves to run pmupgrade -++ and pmstatus. -+ -+- 2 Renamed port from portManager to portmanager because the cap -++ 2 Renamed port from portmanager to portmanager because the cap -+ in the middle may be annoying to remember for users running it -+ from the command line. -+ -+diff -ruN ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c ./libPMGR/src/PMGRrAddDependencies.c -+--- ../../0.2.9_3/portmanager/libPMGR/src/PMGRrAddDependencies.c Wed Apr 6 19:50:14 2005 -++++ ./libPMGR/src/PMGRrAddDependencies.c Fri Apr 22 12:30:40 2005 -+@@ -102,11 +102,20 @@ -+ while( ( portDependency = strnstr( buffPtr, "@pkgdep ", bufferSize - (buffPtr - buffer) ) ) ) -+ { -+ portDependency += strlen( "@pkgdep " ); -++ -++/* -+ stringSize = strstr( portDependency, "\n" ) - portDependency; -+ if(stringSize < 1) -+ { -+ break; -+ } -++*/ -++ stringSize = 0; -++ while( portDependency[stringSize] != LINEFEED && stringSize < 256 ) -++ { -++ stringSize++; -++ } -++ -+ portDependency[stringSize] = 0; -+ -+ buffPtr = portDependency + stringSize + 1; -+@@ -173,4 +182,5 @@ -+ } -+ return(0); -+ } -++ -+ -+diff -ruN ../../0.2.9_3/portmanager/libPMGR/src/PMGRrVerifyContentsFile.c ./libPMGR/src/PMGRrVerifyContentsFile.c -+--- ../../0.2.9_3/portmanager/libPMGR/src/PMGRrVerifyContentsFile.c Wed Apr 6 19:50:14 2005 -++++ ./libPMGR/src/PMGRrVerifyContentsFile.c Fri Apr 22 12:09:41 2005 -+@@ -34,6 +34,7 @@ -+ int stringSize = 0; -+ signed int fopenIdx = 0; -+ signed int mallocIdx = 0; -++ pid_t pid; -+ -+ stringSize = strlen(PKGDBDIR) -+ + strlen("/") -+@@ -72,7 +73,15 @@ -+ { -+ fprintf( stderr, "%s %s error: could not open %s\n", id, VERSION, contentsFileName ); -+ perror( "system message" ); -+- assert(0); -++ pid = fork(); -++ if( !pid ) -++ { -++ execl( "/usr/sbin/pkg_info", "pkg_info", portName, 0 ); -++ } -++ wait( pid ); -++ fprintf( stderr, "%s %s error: portmanager cannot continue, recommend you manually reinstall %s\n", id, VERSION, portName ); -++ free( contentsFileName ); -++ exit( 1 ); -+ } -+ -+ bufferSize = MGrFileSize( contentsFileName ); -diff -ruN ../../0.2.9_3/portmanager/rePackage.sh ./rePackage.sh ---- ../../0.2.9_3/portmanager/rePackage.sh Wed Apr 6 19:50:14 2005 -+++ ./rePackage.sh Mon Apr 18 12:15:09 2005 -@@ -1,31 +1,35 @@ - #!/bin/sh - --echo /usr/local/bin/autoheader259 -+echo "sh cleanUp.sh" -+ sh cleanUp.sh -+ -+echo "touch NEWS README AUTHORS ChangeLog THANKS" -+ touch NEWS README AUTHORS ChangeLog THANKS -+ -+echo "/usr/local/bin/autoheader259" - /usr/local/bin/autoheader259 - --echo /usr/local/bin/aclocal19 -- /usr/local/bin/aclocal19 -+echo "/usr/local/bin/aclocal15" -+ /usr/local/bin/aclocal15 -+ -+echo "cat /usr/local/share/aclocal/libtool15.m4 >> acinclude.m4" -+ cat /usr/local/share/aclocal/libtool15.m4 >> acinclude.m4 - - echo "cat acinclude.m4 >> aclocal.m4" - cat acinclude.m4 >> aclocal.m4 - --echo /usr/local/bin/libtoolize15 --force --copy -+echo "/usr/local/bin/libtoolize15 --force --copy" - /usr/local/bin/libtoolize15 --force --copy - --echo /usr/local/bin/automake19 --add-missing --copy -- /usr/local/bin/automake19 --add-missing --copy -+echo "/usr/local/bin/automake15 --add-missing --copy" -+ /usr/local/bin/automake15 --add-missing --copy - --echo /usr/local/bin/autoconf259 -+echo "/usr/local/bin/autoconf259" - /usr/local/bin/autoconf259 - --#echo ./configure --# ./configure -+echo "./configure --with-debug" -+ ./configure --with-debug - --#echo make --# make -+echo "make" -+ make - --#echo make dist --# make dist -- --#echo make clean --# make clean diff -ruN portmanager/files/patch-0.2.9_5 portmanager-0.3.0/files/patch-0.2.9_5 --- portmanager/files/patch-0.2.9_5 Thu Jul 28 15:31:21 2005 +++ portmanager-0.3.0/files/patch-0.2.9_5 Wed Dec 31 16:00:00 1969 @@ -1,11 +0,0 @@ ---- portmanager/portmanager.c.orig Fri Jul 29 00:26:53 2005 -+++ portmanager/portmanager.c Fri Jul 29 00:27:47 2005 -@@ -134,7 +134,7 @@ - /* - * set xterm title - */ -- if( !strncmp( getenv("TERM"), "xterm", 5 ) ) -+ if( getenv("TERM") && !strncmp( getenv("TERM"), "xterm", 5 ) ) - { - stringSize = strlen( id ) - + 1 diff -ruN portmanager/files/patch-0.2.9_6 portmanager-0.3.0/files/patch-0.2.9_6 --- portmanager/files/patch-0.2.9_6 Sat Sep 17 09:35:00 2005 +++ portmanager-0.3.0/files/patch-0.2.9_6 Wed Dec 31 16:00:00 1969 @@ -1,10 +0,0 @@ ---- ../0.2.9_5/libPMGR/src/PMGRrReadConfigure.c Fri Jul 29 12:55:01 2005 -+++ libPMGR/src/PMGRrReadConfigure.c Sat Sep 17 07:54:36 2005 -@@ -189,6 +189,7 @@ - /*zzzzzzzzzzzzzz*/ - - fread( buffer, configDbFileSize, 1, configDbStream ); -+ buffer[configDbFileSize] = 0; /* so buffer may be treated as a string */ - - /*zzzzzzzzzzzzzz*/ - fopenIdx--; diff -ruN portmanager/files/patch-0.2.9_8 portmanager-0.3.0/files/patch-0.2.9_8 --- portmanager/files/patch-0.2.9_8 Tue Sep 20 04:58:59 2005 +++ portmanager-0.3.0/files/patch-0.2.9_8 Wed Dec 31 16:00:00 1969 @@ -1,306 +0,0 @@ -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrDoUpgrade.c ./libPMGR/src/PMGRrDoUpgrade.c ---- ../0.2.9_7/libPMGR/src/PMGRrDoUpgrade.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrDoUpgrade.c Sun Sep 18 17:11:12 2005 -@@ -249,6 +249,7 @@ - idx, property->fieldInstalledPortName ) ); - - fprintf( stdout, "executing: %s\n", command ); -+ while( fflush( stdout ) ); - errorCode = system( command ); - while( fflush( stdout ) ); - } -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrReadConfigure.c ./libPMGR/src/PMGRrReadConfigure.c ---- ../0.2.9_7/libPMGR/src/PMGRrReadConfigure.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrReadConfigure.c Sun Sep 18 17:14:46 2005 -@@ -96,6 +96,7 @@ - fprintf( stdout, "moving %s to %s%s\n", configFileNameOld, configFileNameOld, "_OLD" ); - fprintf( stdout, "portmanager configuration file is now called %s. Please review %s%s and %s and make any nessesary changes.\n", - property->configConfFileName, property->configConfFileName, ".SAMPLE", configFileNameOld); -+ while( fflush( stdout ) ); - system( command ); - - /*zzzzzzzzzzzzzz*/ -@@ -131,6 +132,7 @@ - strcat( command, property->configConfFileName ); - strcat( command, ".SAMPLE " ); - strcat( command, property->configConfFileName ); -+ while( fflush( stdout ) ); - system( command ); - - /*zzzzzzzzzzzzzz*/ -@@ -172,8 +174,9 @@ - - if(DEBUG_PMGRrReadConfigure) - { -- fprintf( stdout, "%s %s DEBUG (54): command = %s\n", id, VERSION, command ); -+ fprintf( stdout, "%s %s DEBUG (54): command = %s\n", id, VERSION, command ); - } -+ while( fflush( stdout ) ); - system( command ); - - configDbFileSize = MGrFileSize( property->configDbFileName ); -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrShowLeaves.c ./libPMGR/src/PMGRrShowLeaves.c ---- ../0.2.9_7/libPMGR/src/PMGRrShowLeaves.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrShowLeaves.c Sun Sep 18 17:17:25 2005 -@@ -74,6 +74,7 @@ - strcpy( command, "grep COMMENT " ); - strcat( command, leafPortDir ); - strcat( command, "/Makefile" ); -+ while( fflush( stdout ) ); - system( command ); - free(command); - fprintf( stdout, "\n" ); -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrShowLeavesDelete.c ./libPMGR/src/PMGRrShowLeavesDelete.c ---- ../0.2.9_7/libPMGR/src/PMGRrShowLeavesDelete.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrShowLeavesDelete.c Sun Sep 18 17:19:05 2005 -@@ -81,6 +81,7 @@ - { - if( key != 10 ) - { -+ while( fflush( stdout ) ); - system( "clear" ); - fprintf( stdout,"%s\n", SINGLE_LINES ); - fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -@@ -104,6 +105,7 @@ - command[0] = 0; - strcat( command, "cat " ); - strcat( command, pkgDescFile ); -+ while( fflush( stdout ) ); - system( command ); - free( pkgDescFile ); - free( command ); -@@ -119,6 +121,7 @@ - strcat( command, "grep COMMENT " ); - strcat( command, leafPortDir ); - strcat( command, "/Makefile" ); -+ while( fflush( stdout ) ); - system( command ); - free(command); - } -@@ -207,6 +210,7 @@ - strcat( command, "pkg_delete -f " ); - strcat( command, leafPortName ); - fprintf( stdout, "\nexecuting: %s\n", command ); -+ while( fflush( stdout ) ); - system( command ); - free(command); - -@@ -228,6 +232,7 @@ - strcat( command, leafPortDir ); - strcat( command, ";make distclean" ); - fprintf( stdout, "\nexecuting: %s\n", command ); -+ while( fflush( stdout ) ); - system( command ); - free(command); - -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrStatus.c ./libPMGR/src/PMGRrStatus.c ---- ../0.2.9_7/libPMGR/src/PMGRrStatus.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrStatus.c Sun Sep 18 17:20:06 2005 -@@ -130,6 +130,7 @@ - strcat( command, installedPortName ); - fprintf( stdout,"%s\n", command ); - fprintf( stdout,"%s\n", SINGLE_LINES ); -+ while( fflush( stdout ) ); - system( command ); - free( command ); - /* since installedPortName is no longer in ports collection need to delete record and restart */ -diff -ruN ../0.2.9_7/libPMGR/src/PMGRrUpgrade.c ./libPMGR/src/PMGRrUpgrade.c ---- ../0.2.9_7/libPMGR/src/PMGRrUpgrade.c Sun Sep 18 17:07:55 2005 -+++ ./libPMGR/src/PMGRrUpgrade.c Sun Sep 18 17:23:05 2005 -@@ -86,8 +86,12 @@ - fprintf( stdout, "percentDone-=>%d = 100 - ( 100 * ( QTY_outOfDatePortsDb-=>%d / TOTAL_outOfDatePortsDb-=>%d ) ) \n", - (int)percentDone, QTY_outOfDatePortsDb-1, TOTAL_outOfDatePortsDb ); - while( fflush( stdout ) ); -- -- if( !strncmp( getenv("TERM"), "xterm", 5 ) ) -+/* -+pr 81481 -+To fix the modification of xterm title, even when redirecting, one can -+test isatty(fileno(stdout)) before printing the escape sequence. -+*/ -+ if( !strncmp( getenv("TERM"), "xterm", 5 ) && isatty(fileno(stdout)) ) - { - stringSize = strlen( id ) - + strlen( " done:%" ) -@@ -109,7 +113,13 @@ - /* - * Set xterm title bar indicator - */ -- if( !strncmp( getenv("TERM"), "xterm", 5 ) ) -+ -+/* -+pr 81481 -+To fix the modification of xterm title, even when redirecting, one can -+test isatty(fileno(stdout)) before printing the escape sequence. -+*/ -+ if( !strncmp( getenv("TERM"), "xterm", 5 ) && isatty(fileno(stdout)) ) - { - stringSize = strlen( id ) - + strlen( " finished" ) -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrDoUpgrade.c ./libPMGR/src/PMGRrDoUpgrade.c -+--- ../0.2.9_7/libPMGR/src/PMGRrDoUpgrade.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrDoUpgrade.c Sun Sep 18 17:11:12 2005 -+@@ -249,6 +249,7 @@ -+ idx, property->fieldInstalledPortName ) ); -+ -+ fprintf( stdout, "executing: %s\n", command ); -++ while( fflush( stdout ) ); -+ errorCode = system( command ); -+ while( fflush( stdout ) ); -+ } -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrReadConfigure.c ./libPMGR/src/PMGRrReadConfigure.c -+--- ../0.2.9_7/libPMGR/src/PMGRrReadConfigure.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrReadConfigure.c Sun Sep 18 17:14:46 2005 -+@@ -96,6 +96,7 @@ -+ fprintf( stdout, "moving %s to %s%s\n", configFileNameOld, configFileNameOld, "_OLD" ); -+ fprintf( stdout, "portmanager configuration file is now called %s. Please review %s%s and %s and make any nessesary changes.\n", -+ property->configConfFileName, property->configConfFileName, ".SAMPLE", configFileNameOld); -++ while( fflush( stdout ) ); -+ system( command ); -+ -+ /*zzzzzzzzzzzzzz*/ -+@@ -131,6 +132,7 @@ -+ strcat( command, property->configConfFileName ); -+ strcat( command, ".SAMPLE " ); -+ strcat( command, property->configConfFileName ); -++ while( fflush( stdout ) ); -+ system( command ); -+ -+ /*zzzzzzzzzzzzzz*/ -+@@ -172,8 +174,9 @@ -+ -+ if(DEBUG_PMGRrReadConfigure) -+ { -+- fprintf( stdout, "%s %s DEBUG (54): command = %s\n", id, VERSION, command ); -++ fprintf( stdout, "%s %s DEBUG (54): command = %s\n", id, VERSION, command ); -+ } -++ while( fflush( stdout ) ); -+ system( command ); -+ -+ configDbFileSize = MGrFileSize( property->configDbFileName ); -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrShowLeaves.c ./libPMGR/src/PMGRrShowLeaves.c -+--- ../0.2.9_7/libPMGR/src/PMGRrShowLeaves.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrShowLeaves.c Sun Sep 18 17:17:25 2005 -+@@ -74,6 +74,7 @@ -+ strcpy( command, "grep COMMENT " ); -+ strcat( command, leafPortDir ); -+ strcat( command, "/Makefile" ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free(command); -+ fprintf( stdout, "\n" ); -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrShowLeavesDelete.c ./libPMGR/src/PMGRrShowLeavesDelete.c -+--- ../0.2.9_7/libPMGR/src/PMGRrShowLeavesDelete.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrShowLeavesDelete.c Sun Sep 18 17:19:05 2005 -+@@ -81,6 +81,7 @@ -+ { -+ if( key != 10 ) -+ { -++ while( fflush( stdout ) ); -+ system( "clear" ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -+@@ -104,6 +105,7 @@ -+ command[0] = 0; -+ strcat( command, "cat " ); -+ strcat( command, pkgDescFile ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free( pkgDescFile ); -+ free( command ); -+@@ -119,6 +121,7 @@ -+ strcat( command, "grep COMMENT " ); -+ strcat( command, leafPortDir ); -+ strcat( command, "/Makefile" ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free(command); -+ } -+@@ -207,6 +210,7 @@ -+ strcat( command, "pkg_delete -f " ); -+ strcat( command, leafPortName ); -+ fprintf( stdout, "\nexecuting: %s\n", command ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free(command); -+ -+@@ -228,6 +232,7 @@ -+ strcat( command, leafPortDir ); -+ strcat( command, ";make distclean" ); -+ fprintf( stdout, "\nexecuting: %s\n", command ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free(command); -+ -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrStatus.c ./libPMGR/src/PMGRrStatus.c -+--- ../0.2.9_7/libPMGR/src/PMGRrStatus.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrStatus.c Sun Sep 18 17:20:06 2005 -+@@ -130,6 +130,7 @@ -+ strcat( command, installedPortName ); -+ fprintf( stdout,"%s\n", command ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -++ while( fflush( stdout ) ); -+ system( command ); -+ free( command ); -+ /* since installedPortName is no longer in ports collection need to delete record and restart */ -+diff -ruN ../0.2.9_7/libPMGR/src/PMGRrUpgrade.c ./libPMGR/src/PMGRrUpgrade.c -+--- ../0.2.9_7/libPMGR/src/PMGRrUpgrade.c Sun Sep 18 17:07:55 2005 -++++ ./libPMGR/src/PMGRrUpgrade.c Sun Sep 18 17:23:05 2005 -+@@ -86,8 +86,12 @@ -+ fprintf( stdout, "percentDone-=>%d = 100 - ( 100 * ( QTY_outOfDatePortsDb-=>%d / TOTAL_outOfDatePortsDb-=>%d ) ) \n", -+ (int)percentDone, QTY_outOfDatePortsDb-1, TOTAL_outOfDatePortsDb ); -+ while( fflush( stdout ) ); -+- -+- if( !strncmp( getenv("TERM"), "xterm", 5 ) ) -++/* -++pr 81481 -++To fix the modification of xterm title, even when redirecting, one can -++test isatty(fileno(stdout)) before printing the escape sequence. -++*/ -++ if( !strncmp( getenv("TERM"), "xterm", 5 ) && isatty(fileno(stdout)) ) -+ { -+ stringSize = strlen( id ) -+ + strlen( " done:%" ) -+@@ -109,7 +113,13 @@ -+ /* -+ * Set xterm title bar indicator -+ */ -+- if( !strncmp( getenv("TERM"), "xterm", 5 ) ) -++ -++/* -++pr 81481 -++To fix the modification of xterm title, even when redirecting, one can -++test isatty(fileno(stdout)) before printing the escape sequence. -++*/ -++ if( !strncmp( getenv("TERM"), "xterm", 5 ) && isatty(fileno(stdout)) ) -+ { -+ stringSize = strlen( id ) -+ + strlen( " finished" ) -diff -ruN ../0.2.9_7/portmanager/portmanager.c ./portmanager/portmanager.c ---- ../0.2.9_7/portmanager/portmanager.c Sun Sep 18 17:07:55 2005 -+++ ./portmanager/portmanager.c Sun Sep 18 17:25:45 2005 -@@ -134,7 +134,7 @@ - /* - * set xterm title - */ -- if( getenv("TERM") && !strncmp( getenv("TERM"), "xterm", 5 ) ) -+ if( !strncmp( getenv("TERM"), "xterm", 5 ) && isatty(fileno(stdout)) ) - { - stringSize = strlen( id ) - + 1 -@@ -247,6 +247,7 @@ - strcat( command, "rm -f " ); - strcat( command, property.cacheDbFileName ); - fprintf( stdout, "%s %s info: executing %s\n", id, VERSION, command ); -+ while( fflush( stdout ) ); - system( command ); - free( command ); - -@@ -266,6 +267,7 @@ - strcat( command, "rm -f " ); - strcat( command, property.cacheDbFileName ); - fprintf( stdout, "%s %s info: executing %s\n", id, VERSION, command ); -+ while( fflush( stdout ) ); - system( command ); - free( command ); - diff -ruN portmanager/pkg-message portmanager-0.3.0/pkg-message --- portmanager/pkg-message Wed Feb 23 17:29:14 2005 +++ portmanager-0.3.0/pkg-message Sat Oct 15 14:14:28 2005 @@ -13,6 +13,3 @@ * * see man portmanager(1) or http://portmanager.sunsite.dk * -* all feedback is welcome, send to: -* Michael C. Shultz ringworm01@gmail.com -* diff -ruN portmanager/pkg-plist portmanager-0.3.0/pkg-plist --- portmanager/pkg-plist Wed Feb 23 17:29:14 2005 +++ portmanager-0.3.0/pkg-plist Sat Oct 15 14:14:28 2005 @@ -12,9 +12,9 @@ bin/portmanager etc/portmanager/pm-020.conf.SAMPLE include/libMG.h -lib/libMG -lib/libMG.1 -lib/libPMGR -lib/libPMGR.1 +lib/libMG.so +lib/libMG.so.1 +lib/libPMGR.so +lib/libPMGR.so.1 @unexec rmdir %D/etc/portmanager 2>/dev/null || true @unexec rmdir %D/share/portmanager 2>/dev/null || true --- portmanager-0.3.0.diff ends here --- >Release-Note: >Audit-Trail: From: "Volker Stolz" To: bug-followup@freebsd.org, ringworm01@gmail.com Cc: Subject: Re: ports/87497: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 Date: Sun, 16 Oct 2005 15:56:48 +0200 How about using OPTIONS instead of pre-fetch? Volker From: "Michael C. Shultz" To: "Volker Stolz" , bug-followup@freebsd.org Cc: Subject: Re: ports/87497: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 Date: Sun, 16 Oct 2005 08:54:28 -0700 On Sunday 16 October 2005 06:56, you wrote: > How about using OPTIONS instead of pre-fetch? > > Volker I don't care for OPTIONS, there are much better ways to handle WITH_* variables, read man (1) portmanager for a few suggestions. -Mike State-Changed-From-To: open->closed State-Changed-By: flz State-Changed-When: Sun Oct 16 16:56:57 GMT 2005 State-Changed-Why: Committed. Thanks! http://www.freebsd.org/cgi/query-pr.cgi?pr=87497 From: Volker Stolz To: "Michael C. Shultz" Cc: bug-followup@freebsd.org Subject: Re: ports/87497: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 Date: Sun, 16 Oct 2005 19:01:59 +0200 --k1lZvvs/B4yU6o8G Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Am 16. Oct 2005 um 17:54 CEST schrieb Michael C. Shultz: > On Sunday 16 October 2005 06:56, you wrote: > > How about using OPTIONS instead of pre-fetch? > > > > Volker >=20 > I don't care for OPTIONS, there are much better ways > to handle WITH_* variables, read man (1) portmanager > for a few suggestions. OPTIONS is the only way of providing meta-data that a port has any options at all. Quoting the Porter's Handbook: "...the ports system provides hooks that the port author can use to control which configuration should be built. Supporting these properly will make users happy..." Volker --=20 http://www-i2.informatik.rwth-aachen.de/stolz/ *** PGP *** S/MIME It's a million to one chance, but it just might work. --k1lZvvs/B4yU6o8G Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iQCVAwUBQ1KHhhLpPok/0ba1AQLw2gP6AvRwpDAgu0Ks1NXTX4DtTc0L4C+s8DW4 YKOZ4DgTBUut7c3dtj1r5A5zo5+yfpbGPv95szUlhbmyK03HOPerK64Qj8FEsxh1 eESsH9zHJ2nyLSrSdWIobVVc7tHiHAhAJXLu7DmQOkS2L0QJ4IzCYkNa5SHFzpNr gTkfVqspBw0= =HhW7 -----END PGP SIGNATURE----- --k1lZvvs/B4yU6o8G-- From: "Michael C. Shultz" To: Volker Stolz , bug-followup@freebsd.org Cc: Subject: Re: ports/87497: [NON-MAINTAINER] sysutils/portmanager update to 0.3.0 Date: Sun, 16 Oct 2005 10:35:47 -0700 On Sunday 16 October 2005 10:01, you wrote: > Am 16. Oct 2005 um 17:54 CEST schrieb Michael C. Shultz: > > On Sunday 16 October 2005 06:56, you wrote: > > > How about using OPTIONS instead of pre-fetch? > > > > > > Volker > > > > I don't care for OPTIONS, there are much better ways > > to handle WITH_* variables, read man (1) portmanager > > for a few suggestions. > > OPTIONS is the only way of providing meta-data that a port has > any options at all. Personally I do this: cat Makefile: grep WITH > Quoting the Porter's Handbook: "...the ports system provides hooks that > the port author can use to control which configuration should be built. > Supporting these properly will make users happy..." > > Volker I think you may be missing the context, in your example is'nt the author refering to proper use of "WITH_*" and "WITHOUT_* variables? The author then seems to recommend OPTIONS as a way to manage these variables, I have no problem with that recommendation, its just I choose to manage WITH_*, and WITHOUT_* in a different manner that works better with portmanager. ref: 5.11 Makefile Options Some large applications can be built in a number of configurations, adding functionality if one of a number of libraries or applications is available. Examples include choice of natural (human) language, GUI versus command-line, or type of database to support. Since not all users want those libraries or applications, the ports system provides hooks that the port author can use to control which configuration should be built. Supporting these properly will make users happy, and effectively provide 2 or more ports for the price of one. 5.11.1 WITH_* and WITHOUT_* These variables are designed to be set by the system administrator. There are many that are standardized in ports/Mk/bsd.*.mk; others are not, which can be confusing. If you need to add such a configuration variable, please consider using one of the ones from the following list. Note: You should not assume that a WITH_* necessarily has a corresponding WITHOUT_* variable and vice versa. In general, the default is simply assumed. Note: Unless otherwise specified, these variables are only tested for being set or not set, rather than being set to some kind of variable such as YES or NO. >Unformatted: