From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Dec 12 16:20:39 2005 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1F1316A41F for ; Mon, 12 Dec 2005 16:20:39 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 37FD043D55 for ; Mon, 12 Dec 2005 16:20:03 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id jBCGK3CA090884 for ; Mon, 12 Dec 2005 16:20:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id jBCGK3As090882; Mon, 12 Dec 2005 16:20:03 GMT (envelope-from gnats) Resent-Date: Mon, 12 Dec 2005 16:20:03 GMT Resent-Message-Id: <200512121620.jBCGK3As090882@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mike Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B892016A41F for ; Mon, 12 Dec 2005 16:10:21 +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 AD9C443D4C for ; Mon, 12 Dec 2005 16:10:05 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from FreeBSD70.mechee.com ([71.102.14.129]) by vms040.mailsrvcs.net (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPA id <0IRE00FRV7KJOHO0@vms040.mailsrvcs.net> for FreeBSD-gnats-submit@freebsd.org; Mon, 12 Dec 2005 10:10:02 -0600 (CST) Received: by FreeBSD70.mechee.com (Postfix, from userid 0) id BDF90B93F; Mon, 12 Dec 2005 07:39:02 -0800 (PST) Message-Id: <20051212153902.BDF90B93F@FreeBSD70.mechee.com> Date: Mon, 12 Dec 2005 07:39:02 -0800 (PST) From: Mike To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/90283: [MAINTAINER] update sysutils/portmanager X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Mike List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2005 16:20:40 -0000 >Number: 90283 >Category: ports >Synopsis: [MAINTAINER] update sysutils/portmanager >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Mon Dec 12 16:20:02 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Michael C. Shultz >Release: FreeBSD 7.0-CURRENT i386 >Organization: >Environment: System: FreeBSD FreeBSD70.mechee.com 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Thu Dec 8 11:29:19 PST 2005 mike@FreeBSD70.mechee.com:/usr/obj/usr/src/sys/FREEBSD70 i386 >Description: update sysutils/portmanager to 0.4.0 1. Reduces security flaws found with security/flawfinder from 777 to 98 in source. 0.4.* releases will be dedicated to security and bug fixes 2. Fixes bug where if portmanager is used to install portupgrade +CONTENTS files for portupgrade get corrupted Note to comitter: New tarball, please remove files/ and all patches >How-To-Repeat: N/A >Fix: --- portmanager-0.4.0.diff begins here --- diff -ruN portmanager/Makefile portmanager-0.4.0/Makefile --- portmanager/Makefile Sat Dec 3 22:16:40 2005 +++ portmanager-0.4.0/Makefile Mon Dec 12 07:31:20 2005 @@ -6,8 +6,7 @@ # PORTNAME= portmanager -PORTVERSION= 0.3.9 -PORTREVISION= 7 +PORTVERSION= 0.4.0 CATEGORIES= sysutils MASTER_SITES= http://portmanager.sunsite.dk/distfiles/ \ ${MASTER_SITE_SOURCEFORGE} diff -ruN portmanager/distinfo portmanager-0.4.0/distinfo --- portmanager/distinfo Fri Nov 25 12:14:23 2005 +++ portmanager-0.4.0/distinfo Mon Dec 12 07:17:13 2005 @@ -1,3 +1,3 @@ -MD5 (portmanager-0.3.9.tar.gz) = ced2fed7ba75a664f030f8d4bd72b976 -SHA256 (portmanager-0.3.9.tar.gz) = 34063846fbf86d16cf42a8f3aa4a37c522e6e234b314721f22dab391ca8aca69 -SIZE (portmanager-0.3.9.tar.gz) = 490606 +MD5 (portmanager-0.4.0.tar.gz) = 4d59ab82de1f593cfece1b2dd600f86e +SHA256 (portmanager-0.4.0.tar.gz) = 088b0a393ffa31a5c67bfda3e298dd54c7039b09ee7dd636411d061b98efddd2 +SIZE (portmanager-0.4.0.tar.gz) = 491058 diff -ruN portmanager/files/patch-0.3.9_1 portmanager-0.4.0/files/patch-0.3.9_1 --- portmanager/files/patch-0.3.9_1 Fri Nov 25 12:14:23 2005 +++ portmanager-0.4.0/files/patch-0.3.9_1 Wed Dec 31 16:00:00 1969 @@ -1,222 +0,0 @@ -diff -ruN ../0.3.9/libMGPM/src/MGPMrCommandLine.c ./libMGPM/src/MGPMrCommandLine.c ---- ../0.3.9/libMGPM/src/MGPMrCommandLine.c Wed Nov 23 19:35:36 2005 -+++ ./libMGPM/src/MGPMrCommandLine.c Fri Nov 25 10:38:28 2005 -@@ -57,7 +57,7 @@ - /* - fprintf( stdout, "MGPMrTimer received signal -=>%d\n", signalId ); - */ -- fclose( globalProperty->stdin ); -+ fclose( globalProperty->STDIN ); - globalProperty->timeOut = 1; - } - -diff -ruN ../0.3.9/libMGPM/src/MGPMrGetPortName.c ./libMGPM/src/MGPMrGetPortName.c ---- ../0.3.9/libMGPM/src/MGPMrGetPortName.c Thu Nov 24 09:28:49 2005 -+++ ./libMGPM/src/MGPMrGetPortName.c Fri Nov 25 11:22:07 2005 -@@ -84,11 +84,11 @@ - /* - * set timeout default to Y - */ -- property->stdin = fopen( "/dev/stdin", "r" ); -- property->timeOut = 0; -- signal( SIGALRM, MGPMrTimer ); - alarm( property->timeout ); -- answer = getc( property->stdin ); -+ signal( SIGALRM, MGPMrTimer ); -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ property->timeOut = 0; -+ answer = getc( property->STDIN ); - - switch(answer) - { -@@ -98,36 +98,36 @@ - } - case KEY_A: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - property->autoMoved = 1; - break; - } - case KEY_a: - { - property->autoMoved = 1; -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_Y: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_y: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_N: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); - while( fflush( stdout ) ); - exit(0); - } - case KEY_n: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); - while( fflush( stdout ) ); - exit(0); -@@ -143,7 +143,7 @@ - { - fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); - while( fflush( stdout ) ); -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - } - } - } -@@ -156,7 +156,7 @@ - if( property->timeOut == 1 ) - { - /* -- * reset alarm, reopen stdin after timeout -+ * reset alarm, reopen STDIN after timeout - */ - alarm(0); - property->timeOut = 0; -@@ -165,7 +165,7 @@ - } - else - { -- fclose( property->stdin ); -+ fclose( property->STDIN ); - MGPMlogAdd( property, "installed ", portName, - " removed from system: no longer in ports tree: see /usr/ports/MOVED", " ", " " ); - } -diff -ruN ../0.3.9/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.9/libMGPM/src/MGPMrUpdate.c Thu Nov 24 10:01:19 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Fri Nov 25 11:21:55 2005 -@@ -617,11 +617,11 @@ - /* - * set timeout default to Y - */ -- property->stdin = fopen( "/dev/stdin", "r" ); -- property->timeOut = 0; -- signal( SIGALRM, MGPMrTimer ); - alarm( property->timeout ); -- answer = getc( property->stdin ); -+ signal( SIGALRM, MGPMrTimer ); -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ property->timeOut = 0; -+ answer = getc( property->STDIN ); - - switch(answer) - { -@@ -631,24 +631,24 @@ - } - case KEY_A: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - property->autoConflicts = 1; - break; - } - case KEY_a: - { - property->autoConflicts = 1; -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_Y: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_y: - { -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - break; - } - case KEY_N: -@@ -656,7 +656,7 @@ - fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); - while( fflush( stdout ) ); - MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - rCleanUp( property, &localProperty ); - return(0); - } -@@ -665,7 +665,7 @@ - fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); - while( fflush( stdout ) ); - MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - rCleanUp( property, &localProperty ); - return(0); - } -@@ -680,7 +680,7 @@ - { - fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); - while( fflush( stdout ) ); -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - } - } - } -@@ -691,7 +691,7 @@ - if( property->timeOut == 1 ) - { - /* -- * reset alarm, reopen stdin after timeout -+ * reset alarm, reopen STDIN after timeout - */ - alarm(0); - property->timeOut = 0; -@@ -701,7 +701,7 @@ - } - else - { -- fclose( property->stdin ); -+ fclose( property->STDIN ); - MGPMlogAdd( property, "conflicting installed ", localProperty.installedPortName, - " removed from system: conflicted with ", oldPortName, " " ); - } -@@ -1249,12 +1249,12 @@ - * 5 second time delay - */ - /* -- property->stdin = fopen( "/dev/stdin", "r" ); -+ property->STDIN = fopen( "/dev/STDIN", "r" ); - signal( SIGALRM, MGPMrTimer ); - alarm( 5 ); -- answer = getc( property->stdin ); -+ answer = getc( property->STDIN ); - alarm(0); -- fclose( property->stdin ); -+ fclose( property->STDIN ); - */ - - strcpy( localProperty.command, "cp /tmp/*.db " ); -diff -ruN ../0.3.9/libMGPM/src/libMGPM.h ./libMGPM/src/libMGPM.h ---- ../0.3.9/libMGPM/src/libMGPM.h Fri Nov 25 05:50:16 2005 -+++ ./libMGPM/src/libMGPM.h Fri Nov 25 10:38:39 2005 -@@ -139,7 +139,7 @@ - int timeout; /* default timeout in seconds */ - int verbose; - -- FILE* stdin; -+ FILE* STDIN; - /* - * misc - */ diff -ruN portmanager/files/patch-0.3.9_2 portmanager-0.4.0/files/patch-0.3.9_2 --- portmanager/files/patch-0.3.9_2 Fri Nov 25 23:19:59 2005 +++ portmanager-0.4.0/files/patch-0.3.9_2 Wed Dec 31 16:00:00 1969 @@ -1,81 +0,0 @@ -diff -ruN ../0.3.9_1/libMGPM/src/MGPMrCommandLine.c ./libMGPM/src/MGPMrCommandLine.c ---- ../0.3.9_1/libMGPM/src/MGPMrCommandLine.c Fri Nov 25 11:47:19 2005 -+++ ./libMGPM/src/MGPMrCommandLine.c Fri Nov 25 18:58:23 2005 -@@ -96,6 +96,7 @@ - property.pristine = 0; /* 1 = run in pristine mode */ - property.resume = 0; /* 1 = portmanager updated itself, don't rebuild databases in -u -f mode */ - property.timeout = 300; /* default timeout in seconds */ -+ property.NoPkgtools = 0; /* 1 = pkgtools.conf or ruby not installed */ - - if( argv[2] && strcmp( "package-depends", argv[2] ) == 0 ) - { -diff -ruN ../0.3.9_1/libMGPM/src/MGPMrReadConfigure.c ./libMGPM/src/MGPMrReadConfigure.c ---- ../0.3.9_1/libMGPM/src/MGPMrReadConfigure.c Fri Nov 25 11:47:19 2005 -+++ ./libMGPM/src/MGPMrReadConfigure.c Fri Nov 25 19:06:25 2005 -@@ -164,16 +164,27 @@ - strcat( command, "/pkgtools.db" ); - rReadConfigureAwkConfigure( property, configFileNameOld, command ); - } -+ else -+ { -+ property->NoPkgtools = 1; -+ } -+ } -+ else -+ { -+ property->NoPkgtools = 1; - } -- - strcpy( command, SHAREDIR ); - strcat( command, "/pkgtools.db" ); -- rReadConfigureCleanPkgToolsDb( property, command ); -- strcpy( command, "cat " ); -- strcat( command, SHAREDIR ); -- strcat( command, "/pkgtools.db >>" ); -- strcat( command, property->configDbFileName ); -- system( command ); -+ -+ if( property->NoPkgtools == 0 ) -+ { -+ rReadConfigureCleanPkgToolsDb( property, command ); -+ strcpy( command, "cat " ); -+ strcat( command, SHAREDIR ); -+ strcat( command, "/pkgtools.db >>" ); -+ strcat( command, property->configDbFileName ); -+ system( command ); -+ } - - /* - strcpy( command, "rm -f " ); -@@ -441,8 +452,16 @@ - - value = calloc( 0xfff, 1 ); - -- pkgtoolsDb = MGdbOpen( pkgtoolsFileName ); -- pkgtoolsQTY = MGdbGetRecordQty( pkgtoolsDb ); -+ if( MGrIfFileExist( pkgtoolsFileName ) ) -+ { -+ pkgtoolsDb = MGdbOpen( pkgtoolsFileName ); -+ pkgtoolsQTY = MGdbGetRecordQty( pkgtoolsDb ); -+ } -+ else -+ { -+ free( value ); -+ return( 1 ); -+ } - - while( pkgtoolsIDX < pkgtoolsQTY ) - { -diff -ruN ../0.3.9_1/libMGPM/src/libMGPM.h ./libMGPM/src/libMGPM.h ---- ../0.3.9_1/libMGPM/src/libMGPM.h Fri Nov 25 11:47:19 2005 -+++ ./libMGPM/src/libMGPM.h Fri Nov 25 18:57:49 2005 -@@ -146,7 +146,8 @@ - char* configConfFileName; - char* helpFile; - int timeOut; /* see MGPMrGetPortName.c */ -- -+ int NoPkgtools; /* 1 = pkgtools.conf or ruby not installed */ -+ - /* - * data base structures/file names/fieldnames - */ diff -ruN portmanager/files/patch-0.3.9_3 portmanager-0.4.0/files/patch-0.3.9_3 --- portmanager/files/patch-0.3.9_3 Sun Nov 27 12:28:16 2005 +++ portmanager-0.4.0/files/patch-0.3.9_3 Wed Dec 31 16:00:00 1969 @@ -1,58 +0,0 @@ -diff -ruN ../0.3.9_2/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.9_2/libMGPM/src/MGPMrUpdate.c Sat Nov 26 04:48:47 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Sat Nov 26 13:43:36 2005 -@@ -78,16 +78,6 @@ - int installedPortsDbQTY = 0; - - structLocalProperty localProperty; --/* --fprintf( stdout, "%s debug: oldPortDir-=>%s\n", id, oldPortDir ); --while( fflush( stdout ) ); --*/ -- if( ( strcmp( "/sysutils/portmanager", oldPortDir ) == 0 || strcmp( "/local/sysutils/portmanager", oldPortDir ) == 0 ) && property->forced ) -- { -- fprintf( stdout, "skipping portmanager, will not self update in forced mode by design\n" ); -- while( fflush( stdout ) ); -- return( 0 ); -- } - - property->optionsChanged = 0; - -@@ -118,6 +108,19 @@ - property->installedPortsDb = MGdbOpen( property->installedPortsDbFileName ); - property->strikesDb = MGdbOpen( property->strikesDbFileName ); - -+ -+ if( ( strcmp( "/sysutils/portmanager", oldPortDir ) == 0 || strcmp( "/local/sysutils/portmanager", oldPortDir ) == 0 ) && property->forced ) -+ { -+ fprintf( stdout, "ignoring portmanager, will not self update in forced mode by design\n" ); -+ MGPMlogAdd( property, "ignoring portmanager ", "will not self update in forced mode by design", -+ oldPortDir, "added to ignore.db", " " ); -+ -+ MGdbAdd( property->ignoreDb, oldPortDir, "skipping portmanager, will not self update in forced mode by design\n", NULL ); -+ while( fflush( stdout ) ); -+ rCleanUp( property, &localProperty ); -+ return( 0 ); -+ } -+ - /* - * test for bsd.ports.mk patch - */ -@@ -418,16 +421,7 @@ - * options changed so need to purge oldPortDir's records - * from availablePortsDb and availableDependenciesDb - */ -- if( property->log ) -- { -- strcpy( localProperty.command, "echo \" options changed so returning " ); -- strcat( localProperty.command, oldPortName ); -- strcat( localProperty.command, " " ); -- strcat( localProperty.command, oldPortDir ); -- strcat( localProperty.command, " to out of date pool " ); -- strcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ MGPMlogAdd( property, "options changed so returning ", oldPortName, oldPortDir, " to out of date pool ", " " ); - property->optionsChanged = 1; - MGdbGoTop( property->availablePortsDb ); - while( MGdbSeek( property->availablePortsDb, diff -ruN portmanager/files/patch-0.3.9_4 portmanager-0.4.0/files/patch-0.3.9_4 --- portmanager/files/patch-0.3.9_4 Sun Nov 27 22:20:16 2005 +++ portmanager-0.4.0/files/patch-0.3.9_4 Wed Dec 31 16:00:00 1969 @@ -1,574 +0,0 @@ -diff -ruN ../0.3.9_3/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c ---- ../0.3.9_3/libMGPM/src/MGPMrController.c Sat Nov 26 14:30:47 2005 -+++ ./libMGPM/src/MGPMrController.c Sun Nov 27 05:58:44 2005 -@@ -155,6 +155,7 @@ - { - property->pristine = 1; - } -+ - MGdbDestroy( property->commandLineDb ); - - property->logFile = MGPMlogCreate( property ); -diff -ruN ../0.3.9_3/libMGPM/src/MGPMrCreateInstalledDb.c ./libMGPM/src/MGPMrCreateInstalledDb.c ---- ../0.3.9_3/libMGPM/src/MGPMrCreateInstalledDb.c Sat Nov 26 14:30:47 2005 -+++ ./libMGPM/src/MGPMrCreateInstalledDb.c Sun Nov 27 07:06:23 2005 -@@ -167,6 +167,7 @@ - buffer = (char*)calloc( bufferSize + 1, 1 ); - buffer[bufferSize-1] = 0; - fread(buffer, 1, bufferSize, contentsFileStream ); -+ fclose( contentsFileStream ); - buffPtr = buffer; - portDependencyName = buffer; - if( ( dependencyDbStream = fopen( property->dependencyPortsDbFileName, "a" ) ) == 0 ) -@@ -209,6 +210,7 @@ - fprintf( stdout, "pkg_delete -f %s/%s then find it in /usr/ports/{category}/{portname} and reinstall\n", - PKGDBDIR, installedPortNamePtr ); - */ -+ fclose( dependencyDbStream ); - return( 1 ); - } - -@@ -251,13 +253,6 @@ - return( 1 ); - } - free(buffer); -- if( fclose( contentsFileStream ) ) -- { -- fprintf( stderr, "%s %s error: can not close %s\n", id, PACKAGE_VERSION, contentsFileName ); -- perror( "system message" ); -- while( fflush( stderr ) ); -- return( 1 ); -- } - free(contentsFileName); - return(0); - } -@@ -292,14 +287,12 @@ - { - if( property->pmMode == 2 ) - { --fprintf( stderr, "%s %s DEBUG(1): could not open %s pmMode-=>%d\n", id, PACKAGE_VERSION, contentsFileName, property->pmMode ); --perror( "system message" ); --while( fflush( stderr ) ); - free( contentsFileName ); - return(1); - } - fprintf( stderr, "%s %s error: could not open %s pmMode-=>%d\n", id, PACKAGE_VERSION, contentsFileName, property->pmMode ); - perror( "system message" ); -+ free( contentsFileName ); - while( fflush( stderr ) ); - return( 1 ); - } -@@ -314,6 +307,7 @@ - fprintf( stderr, "\t\t%s installation is corrupt!\n", installedPortNamePtr ); - fprintf( stderr, "\t\trecomend running \"pkg_delete -f %s\" then manually reinstalling this port\n", installedPortNamePtr ); - while( fflush( stderr ) ); -+ free( buffer ); - return( 1 ); - } - -@@ -324,6 +318,7 @@ - fprintf( stderr, "\t\t%s installation is corrupt!\n", installedPortNamePtr ); - fprintf( stderr, "\t\trecomend running \"pkg_delete -f %s\" then manually reinstalling this port\n", installedPortNamePtr ); - while( fflush( stderr ) ); -+ free( buffer ); - return( 1 ); - } - portDirTemp[address-portDirTemp] = 0; -@@ -404,6 +399,8 @@ - fprintf( stderr, "\t\t%s installation is corrupt!\n", installedPortNamePtr ); - fprintf( stderr, "\t\trecomend running \"pkg_delete -f %s\" then manually reinstalling this port\n", installedPortNamePtr ); - while( fflush( stderr ) ); -+ free( buffer ); -+ free( contentsFileName ); - return( 1 ); - } - -@@ -416,11 +413,12 @@ - fprintf( stderr, "\t\t%s installation is corrupt!\n", installedPortNamePtr ); - fprintf( stderr, "\t\trecomend running \"pkg_delete -f %s\" then manually reinstalling this port\n", installedPortNamePtr ); - while( fflush( stderr ) ); -+ free( buffer ); -+ free( contentsFileName ); - return( 1 ); - } - - free( contentsFileName ); -- - free( buffer ); - - return( 0 ); -diff -ruN ../0.3.9_3/libMGPM/src/MGPMrGetPortName.c ./libMGPM/src/MGPMrGetPortName.c ---- ../0.3.9_3/libMGPM/src/MGPMrGetPortName.c Sat Nov 26 14:30:47 2005 -+++ ./libMGPM/src/MGPMrGetPortName.c Sun Nov 27 19:21:34 2005 -@@ -41,6 +41,7 @@ - char* optionsPtr = NULL; - int answer = 0; - int bufferSize = 0xffff; -+ int doubleBreak = 0; - - command = (char*)calloc( bufferSize, 1 ); - -@@ -88,63 +89,72 @@ - signal( SIGALRM, MGPMrTimer ); - property->STDIN = fopen( "/dev/stdin", "r" ); - property->timeOut = 0; -- answer = getc( property->STDIN ); -- -- switch(answer) -+ doubleBreak = 0; -+ while( 1 == 1 ) - { -- case KEY_ENTER: -+ answer = getc( property->STDIN ); -+ fclose( property->STDIN ); -+ switch(answer) - { -- break; -- } -- case KEY_A: -- { -- answer = getc( property->STDIN ); -- property->autoMoved = 1; -- break; -- } -- case KEY_a: -- { -- property->autoMoved = 1; -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_Y: -- { -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_y: -- { -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_N: -- { -- answer = getc( property->STDIN ); -- fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); -- while( fflush( stdout ) ); -- exit(0); -- } -- case KEY_n: -- { -- answer = getc( property->STDIN ); -- fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); -- while( fflush( stdout ) ); -- exit(0); -- } -- default: -- { -- if( property->timeOut ) -+ case KEY_ENTER: - { -- fprintf( stdout, "5 minute timeout, defaulting to [Y]\n"); -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_A: -+ { -+ property->autoMoved = 1; -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_a: -+ { -+ property->autoMoved = 1; -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_Y: -+ { -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_y: -+ { -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_N: -+ { -+ fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); - while( fflush( stdout ) ); -+ exit(0); - } -- else -+ case KEY_n: - { -- fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); -+ fprintf( stdout, "you will have to deal with this manually then, portmanager shutting down\n" ); - while( fflush( stdout ) ); -- answer = getc( property->STDIN ); -+ exit(0); -+ } -+ default: -+ { -+ if( property->timeOut ) -+ { -+ fprintf( stdout, "5 minute timeout, defaulting to [Y]\n"); -+ while( fflush( stdout ) ); -+ doubleBreak = 1; -+ break; -+ } -+ else -+ { -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); -+ while( fflush( stdout ) ); -+ } - } -+ } -+ if( doubleBreak ) -+ { -+ break; - } - } - } -diff -ruN ../0.3.9_3/libMGPM/src/MGPMrShowLeavesDelete.c ./libMGPM/src/MGPMrShowLeavesDelete.c ---- ../0.3.9_3/libMGPM/src/MGPMrShowLeavesDelete.c Sat Nov 26 14:30:47 2005 -+++ ./libMGPM/src/MGPMrShowLeavesDelete.c Sun Nov 27 20:42:14 2005 -@@ -42,10 +42,11 @@ - char* leafPortDir = NULL; - char* leafPortName = NULL; - char* pkgDescFile = NULL; -+ int answer = 1; - int bufferSize = 0xffff; -+ int doubleBreak = 0; - int installedPortsDbIDX = 0; - int installedPortsDbQTY = 0; -- int key = 1; - - command = calloc( bufferSize, 1 ); - leafPortDir = calloc( bufferSize, 1 ); -@@ -107,8 +108,10 @@ - installedPortsDbIDX++; - continue; - } -- if( key != KEY_ENTER ) -+/* -+ if( answer != KEY_ENTER ) - { -+*/ - system( "clear" ); - fprintf( stdout,"%s\n", SINGLE_LINES ); - fprintf( stdout, "*** for safety run portmanager -u after using this feature for deletion ***\n" ); -@@ -144,73 +147,87 @@ - system( command ); - } - fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "\n to skip\n removes port\n *Nuke it*, removes distribution files\n\n" ); -+ fprintf( stdout, "\n to skip\n removes port\n *Nuke it*, removes distribution files\n\n" ); - fprintf( stdout,"%s\n", SINGLE_LINES ); -+/* - } -- key = getc( stdin ); -- switch( key ) -+*/ -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ doubleBreak = 0; -+ while( 1 == 1 ) - { -- case KEY_ENTER: -- { -- continue; -+ answer = getc( property->STDIN ); -+ fclose( property->STDIN ); -+ switch(answer) -+ { -+ case KEY_ENTER: -+ { -+ doubleBreak = 1; -+ MGdbAdd( property->ignoreDb, leafPortDir, "-slid skipped", NULL ); -+ fprintf( stdout, "Skipping %s\n\n", leafPortName ); -+ break; -+ } -+ case KEY_n: -+ { -+ doubleBreak = 1; -+ /* nuke() */ -+ fprintf( stdout, " Nuking %s\n\n", leafPortName ); -+ removePort( property, leafPortName, installedPortsDbIDX ); -+ nuke( leafPortDir ); -+ rebuildDb( property ); -+ installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -+ installedPortsDbIDX = 1; -+ break; -+ } -+ case KEY_N: -+ { -+ doubleBreak = 1; -+ /* nuke() */ -+ fprintf( stdout, " Nuking %s\n\n", leafPortName ); -+ removePort( property, leafPortName, installedPortsDbIDX ); -+ nuke( leafPortDir ); -+ rebuildDb( property ); -+ installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -+ installedPortsDbIDX = 1; -+ break; -+ } -+ case KEY_x: -+ { -+ doubleBreak = 1; -+ /* delete() */ -+ fprintf( stdout, " Removing %s\n\n", leafPortName ); -+ removePort( property, leafPortName, installedPortsDbIDX ); -+ rebuildDb( property ); -+ installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -+ installedPortsDbIDX = 1; -+ break; -+ } -+ case KEY_X: -+ { -+ doubleBreak = 1; -+ /* delete() */ -+ fprintf( stdout, " Removing %s\n\n", leafPortName ); -+ removePort( property, leafPortName, installedPortsDbIDX ); -+ rebuildDb( property ); -+ installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -+ installedPortsDbIDX = 1; -+ break; -+ } -+ default: -+ { -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); -+ while( fflush( stdout ) ); -+ } - } -- case KEY_SPACE: -+ if( doubleBreak ) - { -- MGdbAdd( property->ignoreDb, leafPortDir, "-slid skipped", NULL ); -- fprintf( stdout, " Skipping %s\n\n", leafPortName ); -- break; -- } -- case KEY_n: -- { -- /* nuke() */ -- fprintf( stdout, " Nuking %s\n\n", leafPortName ); -- removePort( property, leafPortName, installedPortsDbIDX ); -- nuke( leafPortDir ); -- rebuildDb( property ); -- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -- installedPortsDbIDX = 1; -- break; -- } -- case KEY_N: -- { -- /* nuke() */ -- fprintf( stdout, " Nuking %s\n\n", leafPortName ); -- removePort( property, leafPortName, installedPortsDbIDX ); -- nuke( leafPortDir ); -- rebuildDb( property ); -- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -- installedPortsDbIDX = 1; -- break; -- } -- case KEY_x: -- { -- /* delete() */ -- fprintf( stdout, " Removing %s\n\n", leafPortName ); -- removePort( property, leafPortName, installedPortsDbIDX ); -- rebuildDb( property ); -- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -- installedPortsDbIDX = 1; -- break; -- } -- case KEY_X: -- { -- /* delete() */ -- fprintf( stdout, " Removing %s\n\n", leafPortName ); -- removePort( property, leafPortName, installedPortsDbIDX ); -- rebuildDb( property ); -- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -- installedPortsDbIDX = 1; -- break; -- } -- default: -- { -- MGdbAdd( property->ignoreDb, leafPortDir, "-slid skipped", NULL ); -- fprintf( stdout, "Skipping %s\n\n", leafPortName ); - break; - } - } - fprintf( stdout, "\n" ); - installedPortsDbIDX++; -+ - } - MGdbDestroy( property->availableDependenciesDb ); - MGdbDestroy( property->ignoreDb ); -diff -ruN ../0.3.9_3/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.9_3/libMGPM/src/MGPMrUpdate.c Sat Nov 26 14:30:47 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Sun Nov 27 18:54:47 2005 -@@ -72,6 +72,7 @@ - int availableDependenciesDbQTY = 0; - int availablePortsDbIDX = 0; - int bufferSize = 0xffff; -+ int doubleBreak = 0; - int errorCode = 0; - int idx = 0; - int installedPortsDbIDX = 0; -@@ -615,67 +616,77 @@ - signal( SIGALRM, MGPMrTimer ); - property->STDIN = fopen( "/dev/stdin", "r" ); - property->timeOut = 0; -- answer = getc( property->STDIN ); -- -- switch(answer) -+ doubleBreak = 0; -+ while( 1 == 1 ) - { -- case KEY_ENTER: -- { -- break; -- } -- case KEY_A: -- { -- answer = getc( property->STDIN ); -- property->autoConflicts = 1; -- break; -- } -- case KEY_a: -- { -- property->autoConflicts = 1; -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_Y: -- { -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_y: -- { -- answer = getc( property->STDIN ); -- break; -- } -- case KEY_N: -- { -- fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); -- while( fflush( stdout ) ); -- MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -- answer = getc( property->STDIN ); -- rCleanUp( property, &localProperty ); -- return(0); -- } -- case KEY_n: -- { -- fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); -- while( fflush( stdout ) ); -- MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -- answer = getc( property->STDIN ); -- rCleanUp( property, &localProperty ); -- return(0); -- } -- default: -+ answer = getc( property->STDIN ); -+ fclose( property->STDIN ); -+ switch(answer) - { -- if( property->timeOut ) -+ case KEY_ENTER: -+ { -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_A: -+ { -+ doubleBreak = 1; -+ property->autoConflicts = 1; -+ break; -+ } -+ case KEY_a: - { -- fprintf( stdout, "5 minute timeout, defaulting to [Y]\n"); -+ doubleBreak = 1; -+ property->autoConflicts = 1; -+ break; -+ } -+ case KEY_Y: -+ { -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_y: -+ { -+ doubleBreak = 1; -+ break; -+ } -+ case KEY_N: -+ { -+ fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); - while( fflush( stdout ) ); -+ MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -+ rCleanUp( property, &localProperty ); -+ return(0); - } -- else -+ case KEY_n: - { -- fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); -+ fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); - while( fflush( stdout ) ); -- answer = getc( property->STDIN ); -+ MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); -+ rCleanUp( property, &localProperty ); -+ return(0); -+ } -+ default: -+ { -+ if( property->timeOut ) -+ { -+ fprintf( stdout, "5 minute timeout, defaulting to [Y]\n"); -+ while( fflush( stdout ) ); -+ doubleBreak = 1; -+ break; -+ } -+ else -+ { -+ property->STDIN = fopen( "/dev/stdin", "r" ); -+ fprintf( stdout, "Invalid option. Please enter either Y to upgrade or N\n"); -+ while( fflush( stdout ) ); -+ } - } -+ -+ } -+ if( doubleBreak ) -+ { -+ break; - } - } - } -@@ -695,7 +706,6 @@ - } - else - { -- fclose( property->STDIN ); - MGPMlogAdd( property, "conflicting installed ", localProperty.installedPortName, - " removed from system: conflicted with ", oldPortName, " " ); - } -@@ -1573,17 +1583,7 @@ - strcpy( comment, "port marked " ); - strcat( comment, brokeCheckType ); - MGdbAdd( property->ignoreDb, oldPortDir, comment, NULL ); -- if( property->log ) -- { -- strcpy( command, "echo \" " ); -- strcat( command, oldPortName ); -- strcat( command, " " ); -- strcat( command, oldPortDir ); -- strcat( command, " marked " ); -- strcat( command, brokeCheckType ); -- strcat( command, " port not installed/updated\" >> /var/log/portmanager.log" ); -- system( command ); -- } -+ MGPMlogAdd( property, oldPortName, oldPortDir, " marked ", brokeCheckType, " port not installed/updated" ); - pclose( pHandle ); - free( buffer ); - free( command ); diff -ruN portmanager/files/patch-0.3.9_5 portmanager-0.4.0/files/patch-0.3.9_5 --- portmanager/files/patch-0.3.9_5 Tue Nov 29 07:18:28 2005 +++ portmanager-0.4.0/files/patch-0.3.9_5 Wed Dec 31 16:00:00 1969 @@ -1,232 +0,0 @@ -diff -ruN ../0.3.9_4/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c ---- ../0.3.9_4/libMGPM/src/MGPMrController.c Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/MGPMrController.c Tue Nov 29 03:03:01 2005 -@@ -163,7 +163,7 @@ - /* - * Need to check configDb for ignored ports and add them to ignoreDb here - */ -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - - while( fflush( stdout ) ); - if( property->buildDependsAreLeaves ) -@@ -180,7 +180,7 @@ - { - if( property->resume == 0 ) /* skip this if portmanager has upgraded/rebuilt its self */ - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrCreateAllUpdateStatusDb( property ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, -@@ -241,7 +241,7 @@ - property->pmMode = 1; /* fake like we are in single port update */ - if( property->resume == 0 ) - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrCreateAllUpdateStatusDb( property ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, -@@ -284,7 +284,7 @@ - */ - if( property->resume == 0 ) /* skip this if --resume */ - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrSinglePortCreateStatusDb( property, path ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrSinglePortCreateStatusDb", errorCode ); -@@ -296,7 +296,7 @@ - } - while( 1 ) - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrStatus( property ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrStatus", errorCode ); -@@ -492,7 +492,7 @@ - property->pmMode = 1; /* fake like we are in single port update */ - if( property->resume == 0 ) /* skip this if portmanager has upgraded/rebuilt its self */ - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrCreateAllUpdateStatusDb( property ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, -@@ -502,7 +502,7 @@ - } - while( 1 ) - { -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, " " ); - if( ( errorCode = MGPMrStatus( property ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrStatus", errorCode ); -diff -ruN ../0.3.9_4/libMGPM/src/MGPMrPackageDepends.c ./libMGPM/src/MGPMrPackageDepends.c ---- ../0.3.9_4/libMGPM/src/MGPMrPackageDepends.c Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/MGPMrPackageDepends.c Tue Nov 29 03:25:59 2005 -@@ -58,7 +58,7 @@ - - pkgDb = MGdbCreate( pkgDbFileName, "fieldPortName", "fieldPortDir", NULL ); - -- MGPMrReadConfigure( property ); -+ MGPMrReadConfigure( property, path ); - - if( ( errorCode = MGPMrSinglePortCreateStatusDb( property, path ) ) ) - { -@@ -101,11 +101,21 @@ - * Gaurentee that we get the name from /var/db/pkg/{port name} - */ - MGdbGoTop( property->installedPortsDb ); -- strcpy( portName, MGdbSeek( property->installedPortsDb, -- property->fieldInstalledPortsDbPortDir, -- portDir, -- property->fieldInstalledPortsDbPortName, -- exact ) ); -+ if( MGdbSeek( property->installedPortsDb, -+ property->fieldInstalledPortsDbPortDir, -+ portDir, -+ property->fieldInstalledPortsDbPortName, -+ exact ) ) -+ { -+ strcpy( portName, MGdbGet( property->installedPortsDb, -+ MGdbGetRecno( property->installedPortsDb ) - 1, -+ property->fieldInstalledPortsDbPortName ) ); -+ } -+ else -+ { -+ continue; -+ } -+ - /* - * Below is to prevent dupes instead of just fprinting portName & portDir - */ -diff -ruN ../0.3.9_4/libMGPM/src/MGPMrReadConfigure.c ./libMGPM/src/MGPMrReadConfigure.c ---- ../0.3.9_4/libMGPM/src/MGPMrReadConfigure.c Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/MGPMrReadConfigure.c Tue Nov 29 03:26:30 2005 -@@ -56,7 +56,7 @@ - int rReadConfigureMergeRecords( structProperty* property, char* configDbFileName ); - int rReadConfigureParse( structProperty* property, char* configDbFileName, int flags ); - --int MGPMrReadConfigure( structProperty* property ) -+int MGPMrReadConfigure( structProperty* property, char* newPortDir ) - { - FILE* fHandle = NULL; - FILE* pHandle = NULL; -@@ -130,6 +130,17 @@ - } - - rReadConfigureAwkConfigure( property, property->configConfFileName, property->configDbFileName ); -+ -+ /* -+ * Create a record for port that isn't installed yet if portmanager -+ * is being used to add a new port -+ */ -+ if( strlen( newPortDir ) > 1 ) -+ { -+ configDb = MGdbOpen( property->configDbFileName ); -+ MGdbAdd( configDb, newPortDir, " ", NULL ); -+ MGdbDestroy( configDb ); -+ } - - /* - * Is ruby installed? -diff -ruN ../0.3.9_4/libMGPM/src/MGPMrStatus.c ./libMGPM/src/MGPMrStatus.c ---- ../0.3.9_4/libMGPM/src/MGPMrStatus.c Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/MGPMrStatus.c Mon Nov 28 14:00:00 2005 -@@ -328,13 +328,35 @@ - availablePortsDbPortDirPtr ); - while( fflush( stdout ) ); - -- MGdbAdd( property->oldPortsDb, -- availablePortsDbPortDirPtr, -- availablePortsDbPortNamePtr, -- "MISSING", -- availablePortsDbPortNamePtr, -- availablePortsDbPortDirPtr, -- NULL ); -+ MGdbGoTop( property->availableDependenciesDb ); -+ if( MGdbSeek( property->availableDependenciesDb, -+ property->fieldAvailableDependenciesDbDependencyDir, -+ availablePortsDbPortDirPtr, -+ property->fieldAvailableDependenciesDbDependencyDir, -+ exact ) ) -+ { -+ MGdbAdd( property->oldPortsDb, -+ availablePortsDbPortDirPtr, -+ availablePortsDbPortNamePtr, -+ "MISSING dependency of", -+ MGdbGet( property->availableDependenciesDb, -+ MGdbGetRecno( property->availableDependenciesDb ) - 1, -+ property->fieldAvailableDependenciesDbPortName ), -+ MGdbGet( property->availableDependenciesDb, -+ MGdbGetRecno( property->availableDependenciesDb ) - 1, -+ property->fieldAvailableDependenciesDbPortDir ), -+ NULL ); -+ } -+ else -+ { -+ MGdbAdd( property->oldPortsDb, -+ availablePortsDbPortDirPtr, -+ availablePortsDbPortNamePtr, -+ "MISSING", -+ availablePortsDbPortNamePtr, -+ availablePortsDbPortDirPtr, -+ NULL ); -+ } - } - } - availablePortsDbIDX++; -diff -ruN ../0.3.9_4/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.9_4/libMGPM/src/MGPMrUpdate.c Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Mon Nov 28 08:50:05 2005 -@@ -652,16 +652,32 @@ - } - case KEY_N: - { -- fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); -+ fprintf( stdout, -+ "\nAdding %s %s conflicts with installed port %s added to ignore list\n", -+ oldPortName, oldPortDir, localProperty.installedPortName ); - while( fflush( stdout ) ); -+ MGPMlogAdd( property, -+ oldPortName, -+ oldPortDir, -+ "conflicts with installed port ", -+ localProperty.installedPortName, -+ " added to ignore.db" ); - MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); - rCleanUp( property, &localProperty ); - return(0); - } - case KEY_n: - { -- fprintf( stdout, "\nAdding %s %s to ignore list\n", oldPortName, oldPortDir ); -+ fprintf( stdout, -+ "\nAdding %s %s conflicts with installed port %s added to ignore list\n", -+ oldPortName, oldPortDir, localProperty.installedPortName ); - while( fflush( stdout ) ); -+ MGPMlogAdd( property, -+ oldPortName, -+ oldPortDir, -+ "conflicts with installed port ", -+ localProperty.installedPortName, -+ " added to ignore.db" ); - MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another port", NULL ); - rCleanUp( property, &localProperty ); - return(0); -diff -ruN ../0.3.9_4/libMGPM/src/libMGPM.h ./libMGPM/src/libMGPM.h ---- ../0.3.9_4/libMGPM/src/libMGPM.h Sun Nov 27 21:47:15 2005 -+++ ./libMGPM/src/libMGPM.h Tue Nov 29 02:59:21 2005 -@@ -238,7 +238,7 @@ - int MGPMrMissingDependencies( structProperty* property ); - int MGPMrPackageDepends( structProperty* property , char* path ); - int MGPMrParse( structProperty* property, char* availablePortName, char* availablePortDir, char* dependType, char* buffer, int* counterPtr ); --int MGPMrReadConfigure( structProperty* property ); -+int MGPMrReadConfigure( structProperty* property, char* newPortDir ); - int MGPMrShowLeaves( structProperty* property ); - int MGPMrShowLeavesDelete( structProperty* property ); - int MGPMrSinglePortCreateStatusDb( structProperty* property, char* path ); -Binary files ../0.3.9_4/portmanager-0.3.10.tar.gz and ./portmanager-0.3.10.tar.gz differ diff -ruN portmanager/files/patch-0.3.9_6 portmanager-0.4.0/files/patch-0.3.9_6 --- portmanager/files/patch-0.3.9_6 Sat Dec 3 13:56:37 2005 +++ portmanager-0.4.0/files/patch-0.3.9_6 Wed Dec 31 16:00:00 1969 @@ -1,143 +0,0 @@ -diff -ruN ../0.3.9_5/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c ---- ../0.3.9_5/libMGPM/src/MGPMrController.c Tue Nov 29 18:31:42 2005 -+++ ./libMGPM/src/MGPMrController.c Sat Dec 3 14:01:34 2005 -@@ -165,17 +165,6 @@ - */ - MGPMrReadConfigure( property, " " ); - -- while( fflush( stdout ) ); -- if( property->buildDependsAreLeaves ) -- { -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- fprintf( stdout, "%s\n", "running in WITH_BUILD_DEPENDS_ARE_LEAVES mode" ); -- fprintf( stdout, "%s\n", "using this mode is not endorsed by author, if ports" ); -- fprintf( stdout, "%s\n", "fail building due to missing build dependencies" ); -- fprintf( stdout, "%s\n", "in sysutils/portmanager run \"make config\" and shut this mode off" ); -- fprintf( stdout, "%s\n", "then rebuild/reinstall portmanager before contacting author/maintainer" ); -- fprintf( stdout, "%s\n", DOUBLE_LINES ); -- } - if( path && ( strcmp( path, "SHOWLEAVES" ) == 0 ) ) - { - if( property->resume == 0 ) /* skip this if portmanager has upgraded/rebuilt its self */ -@@ -273,7 +262,21 @@ - */ - if( argv[2] && strcmp( "package-depends", argv[2] ) == 0 ) - { -- errorCode = MGPMrPackageDepends( property, path ); -+ property->pmMode = 2; -+ -+ if( property->buildDependsAreLeaves && property->pmMode != 2 ) -+ { -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ fprintf( stdout, "%s\n", "running in WITH_BUILD_DEPENDS_ARE_LEAVES mode" ); -+ fprintf( stdout, "%s\n", "using this mode is not endorsed by author, if ports" ); -+ fprintf( stdout, "%s\n", "fail building due to missing build dependencies" ); -+ fprintf( stdout, "%s\n", "in sysutils/portmanager run \"make config\" and shut this mode off" ); -+ fprintf( stdout, "%s\n", "then rebuild/reinstall portmanager before contacting author/maintainer" ); -+ fprintf( stdout, "%s\n", DOUBLE_LINES ); -+ while( fflush( stdout ) ); -+ } -+ -+ errorCode = MGPMrPackageDepends( property, path ); - rControllerCleanUp( &localProperty ); - MGPMlogDestroy( property ); - return( 0 ); -diff -ruN ../0.3.9_5/libMGPM/src/MGPMrStatus.c ./libMGPM/src/MGPMrStatus.c ---- ../0.3.9_5/libMGPM/src/MGPMrStatus.c Tue Nov 29 18:31:42 2005 -+++ ./libMGPM/src/MGPMrStatus.c Fri Dec 2 12:06:43 2005 -@@ -305,7 +305,7 @@ - property->fieldInstalledPortsDbPortName ) ); - - -- fprintf( stdout, "%05d have:%-35s %-35s OLD avalable: %s\n", -+ fprintf( stdout, "%05d have:%-35s %-35s OLD available: %s\n", - counter, - installedPortsDbPortName, - installedPortsDbPortDir, -diff -ruN ../0.3.9_5/portmanager/pkgtools-to-portmanager.rb ./portmanager/pkgtools-to-portmanager.rb ---- ../0.3.9_5/portmanager/pkgtools-to-portmanager.rb Tue Nov 29 18:31:42 2005 -+++ ./portmanager/pkgtools-to-portmanager.rb Sat Dec 3 12:53:50 2005 -@@ -27,6 +27,11 @@ - # - # jan - # -+# -+# if .. end added by patch provided by: -+# Daniel Bye -+# fixes not reading pkgtools.conf args when in array format -+# - #!/usr/local/bin/ruby - - require "pkgtools" -@@ -35,7 +40,6 @@ - - load_config - -- - # held packages - - puts "" -@@ -43,9 +47,10 @@ - puts "" - - config_value(:HOLD_PKGS).each do |pkg| -- -- puts "IGNORE|" + pkg + "|" -- -+ if pkg.empty? -+ pkg = " " -+ end -+ puts pkg + "|" + "#{pkg}" + "|" - end - - -@@ -56,9 +61,10 @@ - puts "" - - config_value(:BEFOREBUILD).each do |pkg| -- -- puts "STOP|/" + pkg[0] + " " + pkg[1] + "|" -- -+ if pkg[1].instance_of?(Array) -+ pkg[1] = pkg[1].join(" ") -+ end -+ puts "STOP|/" + pkg[0] + " " + "#{pkg[1]}" + "|" - end - - # afterinstall becomes start -@@ -68,24 +74,25 @@ - puts "" - - config_value(:AFTERINSTALL).each do |pkg| -- -- puts "START|/" + pkg[0] + " " + pkg[1] + "|" -- -+ if pkg[1].instance_of?(Array) -+ pkg[1] = pkg[1].join(" ") -+ end -+ puts "START|/" + pkg[0] + " " + "#{pkg[1]}" + "|" - end - - # package options. - -- - puts "" - puts "# Package options from MAKE_ARGS" - puts "# Note: pkgtools.conf will use the UNION of all matching lines" - puts "" - - config_value(:MAKE_ARGS).each do |pkg| -- --##mcs mod## --# puts pkg[0] + "|" + pkg[1] + "|" --# -- puts pkg[0] + "|" + pkg[1] + " " + "|" -- -+ if pkg[1].instance_of?(Array) -+ pkg[1] = pkg[1].join(" ") -+ end -+ if pkg[1].empty? -+ pkg[1] = " " -+ end -+ puts pkg[0] + "|" + "#{pkg[1]}" + "|" - end diff -ruN portmanager/files/patch-0.3.9_7 portmanager-0.4.0/files/patch-0.3.9_7 --- portmanager/files/patch-0.3.9_7 Sat Dec 3 22:16:40 2005 +++ portmanager-0.4.0/files/patch-0.3.9_7 Wed Dec 31 16:00:00 1969 @@ -1,172 +0,0 @@ -diff -ruN ../0.3.9_6/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.9_6/libMGPM/src/MGPMrUpdate.c Sat Dec 3 14:45:00 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Sat Dec 3 17:50:47 2005 -@@ -203,17 +203,20 @@ - property->fieldConfigDbKey, - STOP, - property->fieldConfigDbKey, -- exact ) -- && -- strncmp( oldPortDir, -- MGdbGet( property->configDb, -- MGdbGetRecno( property->configDb ) - 1, -- property->fieldConfigDbValue ), -- strlen( oldPortDir ) ) == 0 ) -+ exact ) ) - { - stopPortDirPtr = MGdbGet( property->configDb, - MGdbGetRecno( property->configDb ) - 1, - property->fieldConfigDbValue ); -+ -+ if( strncmp( oldPortDir, MGdbGet( property->configDb, -+ MGdbGetRecno( property->configDb ) - 1, -+ property->fieldConfigDbValue ), -+ strlen( oldPortDir ) ) ) -+ { -+ continue; -+ } -+ - if( stopPortDirPtr[strlen( oldPortDir )] == SPACE ) - { - strncpy( localProperty.stopPortDir, stopPortDirPtr, strlen( oldPortDir ) ); -@@ -230,17 +233,21 @@ - property->fieldConfigDbKey, - START, - property->fieldConfigDbKey, -- exact ) -- && -- strncmp( oldPortDir, -- MGdbGet( property->configDb, -- MGdbGetRecno( property->configDb ) - 1, -- property->fieldConfigDbValue ), -- strlen( oldPortDir ) ) == 0 ) -+ exact ) ) -+ - { - startPortDirPtr = MGdbGet( property->configDb, - MGdbGetRecno( property->configDb ) - 1, - property->fieldConfigDbValue ); -+ -+ if( strncmp( oldPortDir, MGdbGet( property->configDb, -+ MGdbGetRecno( property->configDb ) - 1, -+ property->fieldConfigDbValue ), -+ strlen( oldPortDir ) ) ) -+ { -+ continue; -+ } -+ - if( startPortDirPtr[strlen( oldPortDir )] == SPACE ) - { - strncpy( localProperty.startPortDir, startPortDirPtr, strlen( oldPortDir ) ); -@@ -1082,33 +1089,9 @@ - pHandle = popen( localProperty.stopPortCmd, "r" ); - fread( localProperty.buffer, bufferSize, 1, pHandle ); - pclose( pHandle ); --/* -- idx = 0; -- while( idx < bufferSize ) -- { -- if( localProperty.buffer[idx] == LINEFEED -- || -- localProperty.buffer[idx] == TAB -- || -- localProperty.buffer[idx] == SPACE ) -- { -- localProperty.buffer[idx] = 0; -- break; -- } -- idx++; -- } --*/ -- if( property->log ) -- { -- strcpy( localProperty.command, "echo \" stopping " ); -- strcat( localProperty.command, oldPortName ); -- strcat( localProperty.command, " " ); -- strcat( localProperty.command, oldPortDir ); -- strcat( localProperty.command, " execution by running " ); -- strcat( localProperty.command, localProperty.stopPortCmd ); -- strcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ -+ MGPMlogAdd( property, "stopping ", oldPortName, oldPortDir, " execution by running ", localProperty.stopPortCmd ); -+ - fprintf( stdout, "%s reply: %s\n", localProperty.stopPortCmd, localProperty.buffer ); - while( fflush( stdout ) ); - } -@@ -1264,19 +1247,6 @@ - system( localProperty.command ); - } - } -- -- /* -- * 5 second time delay -- */ --/* -- property->STDIN = fopen( "/dev/STDIN", "r" ); -- signal( SIGALRM, MGPMrTimer ); -- alarm( 5 ); -- answer = getc( property->STDIN ); -- alarm(0); -- fclose( property->STDIN ); --*/ -- - strcpy( localProperty.command, "cp /tmp/*.db " ); - strcat( localProperty.command, SHAREDIR ); - fprintf( stdout, "restoring databases localProperty.command:%s\n", localProperty.command ); -@@ -1298,33 +1268,8 @@ - pHandle = popen( localProperty.startPortCmd, "r" ); - fread( localProperty.buffer, bufferSize, 1, pHandle ); - pclose( pHandle ); --/* -- idx = 0; -- while( idx < bufferSize ) -- { -- if( localProperty.buffer[idx] == LINEFEED -- || -- localProperty.buffer[idx] == TAB -- || -- localProperty.buffer[idx] == SPACE ) -- { -- localProperty.buffer[idx] = 0; -- break; -- } -- idx++; -- } --*/ -- if( property->log ) -- { -- strcpy( localProperty.command, "echo \" starting " ); -- strcat( localProperty.command, oldPortName ); -- strcat( localProperty.command, " " ); -- strcat( localProperty.command, oldPortDir ); -- strcat( localProperty.command, " execution by running " ); -- strcat( localProperty.command, localProperty.startPortCmd ); -- strcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ -+ MGPMlogAdd( property, "starting ", oldPortName, oldPortDir, " execution by running ", localProperty.startPortCmd ); - - fprintf( stdout, "%s reply: %s\n", localProperty.startPortCmd, localProperty.buffer ); - while( fflush( stdout ) ); -@@ -1362,8 +1307,6 @@ - fprintf( stdout, "restoring databases localProperty.command:%s\n", localProperty.command ); - while( fflush( stdout ) ); - system( localProperty.command ); -- -- - } - else - { -@@ -1656,9 +1599,6 @@ - strcat( command, curDir ); - - strcat( command, "/work 2>&1" ); --/* -- strcat( command, "/work" ); --*/ - fprintf( stdout, "===> Cleaning for %s\n", portDir ); - while( fflush( stdout ) ); - --- portmanager-0.4.0.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: