From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Nov 15 00:30:38 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 94FCC16A41F for ; Tue, 15 Nov 2005 00:30:38 +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 354E443D77 for ; Tue, 15 Nov 2005 00:30:21 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id jAF0UL8J007237 for ; Tue, 15 Nov 2005 00:30:21 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id jAF0ULwQ007235; Tue, 15 Nov 2005 00:30:21 GMT (envelope-from gnats) Resent-Date: Tue, 15 Nov 2005 00:30:21 GMT Resent-Message-Id: <200511150030.jAF0ULwQ007235@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, "Michael C. Shultz" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3ED1916A41F for ; Tue, 15 Nov 2005 00:22:16 +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 604BA43D60 for ; Tue, 15 Nov 2005 00:22:05 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from ringworm.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 <0IPY007KFZOQM0TB@vms040.mailsrvcs.net> for FreeBSD-gnats-submit@freebsd.org; Mon, 14 Nov 2005 18:22:05 -0600 (CST) Received: by ringworm.mechee.com (Postfix, from userid 1001) id A7FA7130C21; Mon, 14 Nov 2005 16:12:36 -0800 (PST) Message-Id: <20051115001236.A7FA7130C21@ringworm.mechee.com> Date: Mon, 14 Nov 2005 16:12:36 -0800 (PST) From: "Michael C. Shultz" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/89040: [MAINTAINER] update sysutils/portmanager X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Michael C. Shultz" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2005 00:30:38 -0000 >Number: 89040 >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: Tue Nov 15 00:30:20 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Michael C. Shultz >Release: FreeBSD 5.4-STABLE i386 >Organization: >Environment: System: FreeBSD ringworm.mechee.com 5.4-STABLE FreeBSD 5.4-STABLE #0: Fri Nov 4 06:35:37 PST 2005 root@ringworm.mechee.com:/usr5/obj/usr5/src/sys/RINGWORM5 i386 >Description: update sysutils/portmanager to 0.3.5 1. Fixes occasional rebuilding due to an old build dependency ie: rebuilding a port that doesn't need to be 2. If a port's Makefile contains errors, portmanager will now identify the Makefile instead of just seg faulting 3. Log header now contains uname -a, version and settings info so I don't have to keep begging users for these. Note to comitter: New tarball, please remove files/ and all patches within >How-To-Repeat: N/A >Fix: --- portmanager-0.3.5.diff begins here --- diff -ruN portmanager/Makefile portmanager-0.3.5/Makefile --- portmanager/Makefile Sun Nov 13 14:14:04 2005 +++ portmanager-0.3.5/Makefile Mon Nov 14 15:00:44 2005 @@ -6,8 +6,7 @@ # PORTNAME= portmanager -PORTVERSION= 0.3.4 -PORTREVISION= 2 +PORTVERSION= 0.3.5 CATEGORIES= sysutils MASTER_SITES= http://portmanager.sunsite.dk/distfiles/ \ ${MASTER_SITE_SOURCEFORGE} diff -ruN portmanager/distinfo portmanager-0.3.5/distinfo --- portmanager/distinfo Fri Nov 11 08:24:13 2005 +++ portmanager-0.3.5/distinfo Mon Nov 14 15:00:54 2005 @@ -1,3 +1,3 @@ -MD5 (portmanager-0.3.4.tar.gz) = 9dcb56c7bfe8041486d8741e6b2cf9bf -SHA256 (portmanager-0.3.4.tar.gz) = 2a1281a2a36b6c4623c05ef4e656319895bdc0511d633ee26396ce8d4bafad21 -SIZE (portmanager-0.3.4.tar.gz) = 435628 +MD5 (portmanager-0.3.5.tar.gz) = b19edf48625ba3565a2b60a0a3f681b0 +SHA256 (portmanager-0.3.5.tar.gz) = e9713a0fd223fb942dca06378f8199b6c5f1e58375201097e55c7ec38fdf2434 +SIZE (portmanager-0.3.5.tar.gz) = 437330 diff -ruN portmanager/files/patch-0.3.4_1 portmanager-0.3.5/files/patch-0.3.4_1 --- portmanager/files/patch-0.3.4_1 Sat Nov 12 11:27:27 2005 +++ portmanager-0.3.5/files/patch-0.3.4_1 Wed Dec 31 16:00:00 1969 @@ -1,830 +0,0 @@ -diff -ruN ../0.3.4/externVars.h.in ./externVars.h.in ---- ../0.3.4/externVars.h.in Fri Nov 11 06:31:14 2005 -+++ ./externVars.h.in Fri Nov 11 19:38:50 2005 -@@ -78,13 +78,13 @@ - #define PACKAGE_NAME "portmanager" - - /* Define to the full name and version of this package. */ --#define PACKAGE_STRING "portmanager 0.3.4" -+#define PACKAGE_STRING "portmanager 0.3.5" - - /* Define to the one symbol short name of this package. */ - #define PACKAGE_TARNAME "portmanager" - - /* Define to the version of this package. */ --#define PACKAGE_VERSION "0.3.4" -+#define PACKAGE_VERSION "0.3.5" - - /* location of ports registry, default is /var/db/pkg */ - #define PKGDBDIR "@PKGDBDIR@" -diff -ruN ../0.3.4/libMG/src/MGdbAdd.c ./libMG/src/MGdbAdd.c ---- ../0.3.4/libMG/src/MGdbAdd.c Mon Nov 7 16:46:00 2005 -+++ ./libMG/src/MGdbAdd.c Fri Nov 11 17:23:26 2005 -@@ -58,6 +58,14 @@ - { - break; - } -+ -+ /* -+ * prevent null data from being placed into record fields -+ */ -+ if( strlen( paramPtr ) < 1 ) -+ { -+ assert(0); -+ } - fprintf( dbFileStream, "%s%c", paramPtr, 0 ); - - /* -diff -ruN ../0.3.4/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c ---- ../0.3.4/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Thu Nov 10 16:12:52 2005 -+++ ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Fri Nov 11 19:30:42 2005 -@@ -32,7 +32,6 @@ - int rrDependencyParse( structProperty* property, char* buffer, char* availablePortName, char* availablePortDir, char* dependType, int* counterPtr ); - int rrFillDependencies( structProperty* property, char* availablePortName, char* availablePortDir, int* counterPtr ); - int rrFindDepends( structProperty* property, char* availablePortDir, char* availablePortName, int* counterPtr ); --int rrGetPortName( structProperty* property, char* portDir, char* portName ); - int rrParse( structProperty* property, char* availablePortName, char* availablePortDir, char* dependType, char* buffer, int* counterPtr ); - - int MGPMrCreateAllUpdateStatusDb( structProperty* property ) -@@ -116,7 +115,7 @@ - strcpy( availablePortDir, installedPortsDbPortDirPtr ); - if( ( errorCode = rrFindDepends( property, availablePortDir, availablePortName, counterPtr ) ) == 100 ) - { -- MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); -+ property->installedPortsDb = MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); - installedPortsDbQTY--; - } - installedPortsDbIDX++; -@@ -137,10 +136,10 @@ - int errorCode = 0; - int availablePortsDbQTY = 0; - -- if( ( errorCode = rrGetPortName( property, availablePortDir, availablePortName ) ) ) -+ if( ( errorCode = MGPMrGetPortName( property, availablePortDir, availablePortName ) ) ) - { - /* -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "rrGetPortName", errorCode ); -+ fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrGetPortName", errorCode ); - */ - return( 100 ); - } -@@ -174,12 +173,12 @@ - return( 0 ); - } - --int rrGetPortName( structProperty* property, char* portDir, char* portName ) -+int MGPMrGetPortName( structProperty* property, char* portDir, char* portName ) - { -- DIR* dirStream = NULL; -+ FILE* fileStream = NULL; - FILE* makeStream = NULL; - char exact[] = "exact"; -- char id[] = "rrGetPortName"; -+ char id[] = "MGPMrGetPortName"; - char* availablePortsDbPortNamePtr = NULL; - char* charPtr = NULL; - char* command = NULL; -@@ -195,22 +194,27 @@ - - if( availablePortsDbPortNamePtr == NULL ) - { -- /* -- * see if this port has anything special in configDb -- */ -- MGdbGoTop( property->configDb ); -- optionsPtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, portDir, property->fieldConfigDbValue, exact ); -+ MGdbGoTop( property->installedPortsDb ); -+ if( MGdbSeek( property->installedPortsDb, -+ property->fieldInstalledPortsDbPortDir, -+ portDir, -+ property->fieldInstalledPortsDbPortName, -+ exact ) ) -+ { -+ strcpy( portName, MGdbGet( property->installedPortsDb, -+ MGdbGetRecno( property->installedPortsDb ) - 1, -+ property->fieldInstalledPortsDbPortName ) ); -+ } -+ else -+ { -+ portName[0] = 0; -+ } - strcpy( command, PORTSDIR ); - strcat( command, portDir ); -- dirStream = opendir( command ); -- if( dirStream == 0 ) /* bad dir */ -+ strcat( command, "/Makefile" ); -+ fileStream = fopen( command, "r" ); -+ if( fileStream == NULL || ( MGrFileSize( command ) < 10 ) ) /* no or empty Makefile */ - { -- MGdbGoTop( property->installedPortsDb ); -- strcpy( portName, MGdbSeek( property->installedPortsDb, -- property->fieldInstalledPortsDbPortDir, -- portDir, -- property->fieldInstalledPortsDbPortName, -- exact ) ); - fprintf( stdout,"%s\n", SINGLE_LINES ); - fprintf( stdout, - "%s %s is no longer in the ports collection, see /usr/ports/MOVED\nthis port must be removed for portmanager to continue\nis it OK to remove %s from your system? (yes/no/auto yes to all) [y/n/a] [y]\n", -@@ -275,16 +279,30 @@ - strcpy( command, "pkg_delete -f " ); - strcat( command, portName ); - fprintf( stdout,"%s\n", command ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); - while( fflush( stdout ) ); - system( command ); -+ -+ strcpy( command, "rm -r " ); -+ strcat( command, PORTSDIR ); -+ strcat( command, portDir ); -+ fprintf( stdout, "executing: %s\n", command ); -+ while( fflush( stdout ) ); -+ system( command ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ - free( command ); - return( 100 ); - } - else - { -- closedir( dirStream ); -+ fclose( fileStream ); - } -+ -+ /* -+ * see if this port has anything special in configDb -+ */ -+ MGdbGoTop( property->configDb ); -+ optionsPtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, portDir, property->fieldConfigDbValue, exact ); - strcpy( command, "cd " ); - strcat( command, PORTSDIR ); - strcat( command, portDir ); -@@ -493,7 +511,7 @@ - { - assert(0); - } -- rrGetPortName( property, dependencyPortDir, dependencyPortName ); -+ MGPMrGetPortName( property, dependencyPortDir, dependencyPortName ); - /* - * add dependency to availableDependenciesDb may contain dupes - */ -diff -ruN ../0.3.4/libMGPM/src/MGPMrMakeDescribe.c ./libMGPM/src/MGPMrMakeDescribe.c ---- ../0.3.4/libMGPM/src/MGPMrMakeDescribe.c Mon Nov 7 16:46:00 2005 -+++ ./libMGPM/src/MGPMrMakeDescribe.c Fri Nov 11 19:36:11 2005 -@@ -90,11 +90,7 @@ - if( MGdbSeek( property->cacheDb, property->fieldCacheDbPortDir, installedPortDir, property->fieldCacheDbPortDir, exact ) ) - { - cacheIdx = MGdbGetRecno( property->cacheDb ) - 1; -- if( ( errorCode = MGdbDelete( property->cacheDb, cacheIdx ) ) ) -- { -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode ); -- return( 1 ); -- } -+ property->cacheDb = MGdbDelete( property->cacheDb, cacheIdx ); - MGdbDestroy( property->cacheDb ); - free( strMakeFile ); - free( strMakeFileSize ); -@@ -135,11 +131,7 @@ - else - { - /* if here then Makefile time is wrong so delete the cache db record */ -- if( ( errorCode = MGdbDelete( property->cacheDb, cacheIdx ) ) ) -- { -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode ); -- return( 1 ); -- } -+ property->cacheDb = MGdbDelete( property->cacheDb, cacheIdx ); - cacheIdx = cacheQty; - break; - } -@@ -147,11 +139,7 @@ - else - { - /* if here then Makefile size is wrong so delete the record */ -- if( ( errorCode = MGdbDelete( property->cacheDb, cacheIdx ) ) ) -- { -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode ); -- return( 1 ); -- } -+ property->cacheDb = MGdbDelete( property->cacheDb, cacheIdx ); - cacheIdx = cacheQty; - break; - } -diff -ruN ../0.3.4/libMGPM/src/MGPMrShowLeavesDelete.c ./libMGPM/src/MGPMrShowLeavesDelete.c ---- ../0.3.4/libMGPM/src/MGPMrShowLeavesDelete.c Thu Nov 10 19:38:55 2005 -+++ ./libMGPM/src/MGPMrShowLeavesDelete.c Fri Nov 11 19:18:14 2005 -@@ -31,7 +31,7 @@ - #include - - int nuke( char* leafPortDir ); --int rebuildDb( structProperty* property, int* installedPortsDbQTY ); -+int rebuildDb( structProperty* property ); - int removePort( structProperty* property, char* leafPortName, int installedPortsDbIDX ); - - int MGPMrShowLeavesDelete( structProperty* property ) -@@ -42,8 +42,6 @@ - char* leafPortDir = NULL; - char* leafPortName = NULL; - char* pkgDescFile = NULL; -- char* portDirPtr = NULL; -- char* portTypePtr = NULL; - int bufferSize = 0xffff; - int installedPortsDbIDX = 0; - int installedPortsDbQTY = 0; -@@ -68,13 +66,6 @@ - return( 1 ); - } - -- if( ( property->dependencyPortsDb = MGdbOpen( property->dependencyPortsDbFileName ) ) == NULL ) -- { -- fprintf( stdout, "%s %s error: failed to open %s\n", id, PACKAGE_VERSION, property->dependencyPortsDbFileName ); -- perror( "system" ); -- return( 1 ); -- } -- - if( ( property->availableDependenciesDb = MGdbOpen( property->availableDependenciesDbFileName ) ) == NULL ) - { - fprintf( stdout, "%s %s error: failed to open %s\n", id, PACKAGE_VERSION, property->availableDependenciesDbFileName ); -@@ -104,145 +95,124 @@ - } - - /* -- * check for no run depends -+ * check for no dependencies - */ -- MGdbGoTop( property->dependencyPortsDb ); -- portDirPtr = MGdbSeek( property->dependencyPortsDb, -- property->fieldDependencyDbDependencyPortDir, -- leafPortDir, -- property->fieldDependencyDbDependencyPortDir, -- exact ); -- -- /* -- * check for no build depends -- */ -- if( !portDirPtr ) -+ MGdbGoTop( property->availableDependenciesDb ); -+ if( MGdbSeek( property->availableDependenciesDb, -+ property->fieldAvailableDependenciesDbDependencyDir, -+ leafPortDir, -+ property->fieldAvailableDependenciesDbDependencyDir, -+ exact ) ) -+ { -+ installedPortsDbIDX++; -+ continue; -+ } -+ if( key != KEY_ENTER ) - { -- MGdbGoTop( property->availableDependenciesDb ); -- portTypePtr = MGdbSeek( property->availableDependenciesDb, -- property->fieldAvailableDependenciesDbDependencyDir, -- leafPortDir, -- property->fieldAvailableDependenciesDbDependType, -- exact ); -- -- while( portTypePtr && strcmp( portTypePtr, "BUILD_DEPENDS" ) ) -- { -- portTypePtr = MGdbSeek( property->availableDependenciesDb, -- property->fieldAvailableDependenciesDbDependencyDir, -- leafPortDir, -- property->fieldAvailableDependenciesDbDependType, -- exact ); -+ system( "clear" ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "*** for safety run portmanager -u after using this feature for deletion ***\n" ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -+ fprintf( stdout, "These ports may be deinstalled because no other ports rely on them to run;\"\n" ); -+ if( property->buildDependsAreLeaves ) -+ { -+ fprintf( stdout, "however, other ports may rely on these to build.\"\n" ); -+ } -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ -+ fprintf( stdout, "%s dir -=> %s\n\n", leafPortName, leafPortDir ); -+ while( fflush( stdout ) ); -+ -+ strcpy( pkgDescFile, PORTSDIR ); -+ strcat( pkgDescFile, leafPortDir ); -+ strcat( pkgDescFile, "/pkg-descr" ); -+ -+ if( MGrIfFileExist( pkgDescFile ) ) -+ { -+ strcpy( command, "cat " ); -+ strcat( command, pkgDescFile ); -+ system( command ); -+ fprintf( stdout, "\n" ); -+ } -+ else -+ { -+ strcpy( command, "grep COMMENT " ); -+ strcat( command, PORTSDIR ); -+ strcat( command, leafPortDir ); -+ strcat( command, "/Makefile" ); -+ 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,"%s\n", SINGLE_LINES ); - } -- -- if( !portTypePtr && !portDirPtr ) -+ key = getc( stdin ); -+ switch( key ) - { -- if( key != KEY_ENTER ) -+ case KEY_ENTER: -+ { -+ continue; -+ } -+ case KEY_SPACE: -+ { -+ 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: - { -- system( "clear" ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "*** for safety run portmanager -u after using this feature for deletion ***\n" ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -- fprintf( stdout, "These ports may be deinstalled because no other ports rely on them to run;\"\n" ); -- if( property->buildDependsAreLeaves ) -- { -- fprintf( stdout, "however, other ports may rely on these to build.\"\n" ); -- } -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- -- fprintf( stdout, "%s dir -=> %s\n\n", leafPortName, leafPortDir ); -- while( fflush( stdout ) ); -- -- strcpy( pkgDescFile, PORTSDIR ); -- strcat( pkgDescFile, leafPortDir ); -- strcat( pkgDescFile, "/pkg-descr" ); -- -- if( MGrIfFileExist( pkgDescFile ) ) -- { -- strcpy( command, "cat " ); -- strcat( command, pkgDescFile ); -- system( command ); -- fprintf( stdout, "\n" ); -- } -- else -- { -- strcpy( command, "grep COMMENT " ); -- strcat( command, PORTSDIR ); -- strcat( command, leafPortDir ); -- strcat( command, "/Makefile" ); -- 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,"%s\n", SINGLE_LINES ); -+ /* delete() */ -+ fprintf( stdout, " Removing %s\n\n", leafPortName ); -+ removePort( property, leafPortName, installedPortsDbIDX ); -+ rebuildDb( property ); -+ installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -+ installedPortsDbIDX = 1; -+ break; - } -- key = getc( stdin ); -- switch( key ) -+ default: - { -- case KEY_ENTER: -- { -- continue; -- } -- case KEY_SPACE: -- { -- 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 ); -- break; -- } -- case KEY_N: -- { -- /* nuke() */ -- fprintf( stdout, " Nuking %s\n\n", leafPortName ); -- removePort( property, leafPortName, installedPortsDbIDX ); -- nuke( leafPortDir ); -- rebuildDb( property, &installedPortsDbQTY ); -- 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 ); -- 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 ); -- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); -- installedPortsDbIDX = 1; -- break; -- } -- default: -- { -- MGdbAdd( property->ignoreDb, leafPortDir, "-slid skipped", NULL ); -- fprintf( stdout, "Skipping %s\n\n", leafPortName ); -- break; -- } -+ MGdbAdd( property->ignoreDb, leafPortDir, "-slid skipped", NULL ); -+ fprintf( stdout, "Skipping %s\n\n", leafPortName ); -+ break; - } -- fprintf( stdout, "\n" ); - } -+ fprintf( stdout, "\n" ); - installedPortsDbIDX++; - } - MGdbDestroy( property->availableDependenciesDb ); -- MGdbDestroy( property->dependencyPortsDb ); - MGdbDestroy( property->ignoreDb ); - MGdbDestroy( property->installedPortsDb ); - free( command ); -@@ -260,18 +230,7 @@ - - command = (char*)calloc( 0xffff, 1 ); - -- MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); -- -- MGdbGoTop( property->dependencyPortsDb ); -- while( MGdbSeek( property->dependencyPortsDb, -- property->fieldDependencyDbPortName, -- leafPortNamePtr, -- property->fieldDependencyDbPortName, -- exact ) ) -- { -- MGdbDelete( property->dependencyPortsDb, MGdbGetRecno( property->dependencyPortsDb ) - 1 ); -- MGdbGoTop( property->dependencyPortsDb ); -- } -+ property->installedPortsDb = MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); - - MGdbGoTop( property->availableDependenciesDb ); - while( MGdbSeek( property->availableDependenciesDb, -@@ -280,7 +239,8 @@ - property->fieldAvailableDependenciesDbPortName, - exact ) ) - { -- MGdbDelete( property->availableDependenciesDb, MGdbGetRecno( property->availableDependenciesDb ) - 1 ); -+ property->availableDependenciesDb = MGdbDelete( property->availableDependenciesDb, -+ MGdbGetRecno( property->availableDependenciesDb ) - 1 ); - MGdbGoTop( property->availableDependenciesDb ); - } - -@@ -312,7 +272,7 @@ - } - - /***********************************************************************/ --int rebuildDb( structProperty* property, int* installedPortsDbQTY ) -+int rebuildDb( structProperty* property ) - { - char id[] = "rebuildDb"; - -@@ -321,7 +281,6 @@ - fprintf( stdout,"%s\n", SINGLE_LINES ); - while( fflush( stdout ) ); - -- MGdbDestroy( property->dependencyPortsDb ); - MGdbDestroy( property->installedPortsDb ); - if( MGPMrCreateInstalledDb( property ) ) - { -@@ -335,12 +294,5 @@ - return( 1 ); - } - -- if( ( property->dependencyPortsDb = MGdbOpen( property->dependencyPortsDbFileName ) ) == NULL ) -- { -- fprintf( stdout, "%s %s error: failed to open %s\n", id, PACKAGE_VERSION, property->dependencyPortsDbFileName ); -- perror( "system" ); -- return( 1 ); -- } -- *installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); - return( 0 ); - } -diff -ruN ../0.3.4/libMGPM/src/MGPMrSinglePortCreateStatusDb.c ./libMGPM/src/MGPMrSinglePortCreateStatusDb.c ---- ../0.3.4/libMGPM/src/MGPMrSinglePortCreateStatusDb.c Thu Nov 10 16:13:20 2005 -+++ ./libMGPM/src/MGPMrSinglePortCreateStatusDb.c Fri Nov 11 18:28:43 2005 -@@ -32,7 +32,7 @@ - int rSinglePortUpgrade( structProperty* property, int forced ); - int rDependencyParse( structProperty* property, char* buffer, char* availablePortName, char* availablePortDir, char* dependType, int* counterPtr ); - int rFillDependencies( structProperty* property, char* availablePortName, char* availablePortDir, int* counterPtr ); --int rGetPortName( structProperty* property, char* portDir, char* portName ); -+int MGPMrGetPortName( structProperty* property, char* portDir, char* portName ); - int rParse( structProperty* property, char* availablePortName, char* availablePortDir, char* dependType, char* buffer, int* counterPtr ); - - int MGPMrSinglePortCreateStatusDb( structProperty* property, char* portDir ) -@@ -100,11 +100,12 @@ - - property->availableDependenciesDb = MGdbOpen( property->availableDependenciesDbFileName ); - property->configDb = MGdbOpen( property->configDbFileName ); -+ property->installedPortsDb = MGdbOpen( property->installedPortsDbFileName ); - } - -- if( ( errorCode = rGetPortName( property, availablePortDir, availablePortName ) ) ) -+ if( ( errorCode = MGPMrGetPortName( property, availablePortDir, availablePortName ) ) ) - { -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "rGetPortName", errorCode ); -+ fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrGetPortName", errorCode ); - return( 1 ); - } - -@@ -148,6 +149,7 @@ - } - if( property->optionsChanged == 0 ) /* set by MGPMrUpdate for example to indicate a ports's options just changed */ - { -+ MGdbDestroy( property->installedPortsDb ); - MGdbDestroy( property->availablePortsDb ); - MGdbDestroy( property->availableDependenciesDb ); - MGdbDestroy( property->configDb ); -@@ -157,76 +159,6 @@ - return( 0 ); - } - --int rGetPortName( structProperty* property, char* portDir, char* portName ) --{ -- FILE* makeStream = NULL; -- char exact[] = "exact"; -- char id[] = "rGetPortName"; -- char* availablePortsDbPortNamePtr = NULL; -- char* charPtr = NULL; -- char* command = NULL; -- char* optionsPtr = NULL; -- int bufferSize = 0xffff; -- -- command = (char*)calloc( bufferSize, 1 ); -- -- MGdbGoTop( property->availablePortsDb ); -- availablePortsDbPortNamePtr = MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, portDir, -- property->fieldAvailablePortsDbPortName, exact ); -- -- if( availablePortsDbPortNamePtr == NULL ) -- { -- /* -- * see if this port has anything special in configDb -- */ -- MGdbGoTop( property->configDb ); -- optionsPtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, portDir, property->fieldConfigDbValue, exact ); -- strcpy( command, "cd " ); -- strcat( command, PORTSDIR ); -- strcat( command, portDir ); -- strcat( command, "; make " ); -- strcat( command, " -V PKGNAME " ); -- if( optionsPtr ) -- { -- strcat( command, optionsPtr ); -- } -- makeStream = popen( command, "r" ); -- if( makeStream == 0 ) -- { -- fprintf( stdout, "%s error: reading make -V PKGNAME into availablePortName\n", id ); -- perror( "system message" ); -- return( 1 ); -- } -- portName[0] = 0; -- fread( portName, bufferSize-1, 1, makeStream ); -- if( portName == NULL ) -- { -- fprintf( stdout, "%s error: reading make -V PKGNAME into availablePortName\n", id ); -- perror( "system message" ); -- return( 1 ); -- } -- charPtr = portName; -- while( charPtr < portName + (bufferSize-1) ) -- { -- if( charPtr[0] == SPACE || charPtr[0] == TAB || charPtr[0] == LINEFEED || charPtr[0] == ':' ) -- { -- charPtr[0] = 0; -- break; -- } -- charPtr++; -- } -- pclose( makeStream ); -- } -- else -- { -- MGdbGoTop( property->availablePortsDb ); -- strcpy( portName, MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, portDir, -- property->fieldAvailablePortsDbPortName, exact ) ); -- } -- free( command ); -- return( 0 ); --} -- - int rFillDependencies( structProperty* property, char* availablePortName, char* availablePortDir, int* counterPtr ) - { - char BUILD_DEPENDS[] = "BUILD_DEPENDS"; -@@ -382,7 +314,7 @@ - { - assert(0); - } -- rGetPortName( property, dependencyPortDir, dependencyPortName ); -+ MGPMrGetPortName( property, dependencyPortDir, dependencyPortName ); - /* - * add dependency to availableDependenciesDb may contain dupes - */ -diff -ruN ../0.3.4/libMGPM/src/MGPMrStatus.c ./libMGPM/src/MGPMrStatus.c ---- ../0.3.4/libMGPM/src/MGPMrStatus.c Mon Nov 7 16:46:00 2005 -+++ ./libMGPM/src/MGPMrStatus.c Fri Nov 11 19:37:57 2005 -@@ -110,12 +110,7 @@ - /* - * since installedPortName is no longer in ports collection need to delete record and restart - */ -- if( ( errorCode = MGdbDelete( property->installedPortsDb, installedPortsDbIDX ) ) ) -- { -- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode ); -- return( 1 ); -- } -- -+ property->installedPortsDb = MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); - installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb ); - installedPortsDbIDX = 1; - while( fflush( stdout ) ); -diff -ruN ../0.3.4/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c ---- ../0.3.4/libMGPM/src/MGPMrUpdate.c Thu Nov 10 18:58:41 2005 -+++ ./libMGPM/src/MGPMrUpdate.c Fri Nov 11 19:34:03 2005 -@@ -461,7 +461,8 @@ - MGdbGetRecno( property->availableDependenciesDb ) - 1, - property->fieldAvailableDependenciesDbDependencyName ) ); - while( fflush( stdout ) ); -- MGdbDelete( property->availableDependenciesDb, MGdbGetRecno( property->availableDependenciesDb ) - 1 ); -+ property->availableDependenciesDb = MGdbDelete( property->availableDependenciesDb, -+ MGdbGetRecno( property->availableDependenciesDb ) - 1 ); - MGdbGoTop( property->availableDependenciesDb ); - } - /* -@@ -1521,7 +1522,7 @@ - strcat( curDir, "; make -V .CURDIR" ); - buffer[0] = 0; - pHandle = popen( curDir, "r" ); -- fread( buffer, 255, 1, pHandle ); -+ fread( buffer, bufferSize, 1, pHandle ); - pclose( pHandle ); - idx = 0; - while( idx < 255 ) -@@ -1535,18 +1536,21 @@ - } - strcpy( curDir, buffer ); - -- strcpy( command, "rm -r " ); -+ strcpy( command, "/bin/rm -r " ); - strcat( command, workDir ); - strcat( command, curDir ); -+ -+ strcat( command, "/work 2>&1" ); - /* -- strcat( command, "/work >/dev/null 2>&1" ); -+ strcat( command, "/work" ); - */ --strcat( command, "/work" ); - fprintf( stdout, "===> Cleaning for %s\n", portDir ); --fprintf( stdout, " %s\n", command ); - while( fflush( stdout ) ); -- system( command ); - -+ buffer[0] = 0; -+ pHandle = popen( command, "r" ); -+ fread( buffer, bufferSize, 1, pHandle ); -+ pclose( pHandle ); - free( buffer ); - free( command ); - free( curDir ); -diff -ruN ../0.3.4/libMGPM/src/libMGPM.h ./libMGPM/src/libMGPM.h ---- ../0.3.4/libMGPM/src/libMGPM.h Thu Nov 10 15:19:26 2005 -+++ ./libMGPM/src/libMGPM.h Fri Nov 11 18:01:02 2005 -@@ -181,6 +181,7 @@ - - } structProperty; - -+int MGPMrGetPortName( structProperty* property, char* portDir, char* portName ); /* located in MGPMrCreateAllUpdateStatusDb.c */ - int MGPMrBestOldPort( structProperty* property, char* oldPortDir, char* oldPortName ); - int MGPMrCleanUp( structProperty* property ); - int MGPMrCommandLine( int argc, char** argv ); -diff -ruN ../0.3.4/portmanager/pkgtools-to-portmanager.rb ./portmanager/pkgtools-to-portmanager.rb ---- ../0.3.4/portmanager/pkgtools-to-portmanager.rb Wed Dec 31 16:00:00 1969 -+++ ./portmanager/pkgtools-to-portmanager.rb Fri Nov 11 20:54:26 2005 -@@ -0,0 +1,59 @@ -+#!/usr/local/bin/ruby -+ -+require "pkgtools" -+ -+puts "CATEGORY/PORT|OPTION=| # do not delete this line!" -+ -+load_config -+ -+ -+# held packages -+ -+puts "" -+puts "# Ignored packages from HOLD_PKGS" -+puts "" -+ -+config_value(:HOLD_PKGS).each do |pkg| -+ -+ puts "IGNORE|" + pkg + "|" -+ -+end -+ -+ -+# beforebuild becomes stop -+ -+puts "" -+puts "# STOP entries come from BEFOREBUILD" -+puts "" -+ -+config_value(:BEFOREBUILD).each do |pkg| -+ -+ puts "STOP|/" + pkg[0] + " " + pkg[1] + "|" -+ -+end -+ -+# afterinstall becomes start -+ -+puts "" -+puts "# START entries come from AFTERINSTALL" -+puts "" -+ -+config_value(:AFTERINSTALL).each do |pkg| -+ -+ 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| -+ -+ puts pkg[0] + "|" + pkg[1] + "|" -+ -+end -diff -ruN ../0.3.4/programmer-notes.txt ./programmer-notes.txt ---- ../0.3.4/programmer-notes.txt Fri Nov 11 05:41:28 2005 -+++ ./programmer-notes.txt Fri Nov 11 20:56:23 2005 -@@ -2,6 +2,8 @@ - - TODO list - -+ add pkgtools-to-portmanager.rb to tarball -+ move MGPMrGetPortName from MGPMrCreateAllUpdateStatusDb.c next new tarball to its own file - move database files to /var/db/portmanager - test in 6.0 - use signal to abort only current build? diff -ruN portmanager/files/patch-0.3.4_2 portmanager-0.3.5/files/patch-0.3.4_2 --- portmanager/files/patch-0.3.4_2 Sun Nov 13 14:14:04 2005 +++ portmanager-0.3.5/files/patch-0.3.4_2 Wed Dec 31 16:00:00 1969 @@ -1,77 +0,0 @@ -diff -ruN ../0.3.4_1/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c ---- ../0.3.4_1/libMGPM/src/MGPMrController.c Sat Nov 12 15:33:52 2005 -+++ ./libMGPM/src/MGPMrController.c Sat Nov 12 18:57:48 2005 -@@ -428,6 +428,24 @@ - */ - if( property->resume == 0 ) /* skip this if --resume */ - { -+ if( ( errorCode = MGPMrCreateInstalledDb( property ) ) ) -+ { -+ fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode ); -+ free( command ); -+ free( oldPortDir ); -+ free( oldPortName ); -+ free( xtermTitle ); -+ if( property->log ) -+ { -+ strcpy( command, "echo \" end of log \" " ); -+ strcat( command, " >> /var/log/portmanager.log" ); -+ system( command ); -+ strcpy( command, "date >> /var/log/portmanager.log" ); -+ system( command ); -+ } -+ return( 1 ); -+ } -+ - if( ( errorCode = MGPMrSinglePortCreateStatusDb( property, path ) ) ) - { - fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrSinglePortCreateStatusDb", errorCode ); -diff -ruN ../0.3.4_1/portmanager/portmanager.1 ./portmanager/portmanager.1 ---- ../0.3.4_1/portmanager/portmanager.1 Sat Nov 12 15:33:52 2005 -+++ ./portmanager/portmanager.1 Sun Nov 13 08:08:10 2005 -@@ -198,6 +198,33 @@ - #START\&|/mail/postfix /usr/local/sbin/postfix start\&| - .sp - .\"======================================================================= -+.Sh KNOBS -+.sp -+Portmanager may be built in various configurations by setting certain -+\&"knobs\&" on or off. -+.sp -+WITH_DEBUG -+.sp -+ a) set with either make config from sysutils/portmanager or -+by adding \fBsysutils/portmanager|WITH_DEBUG=1|\fR to pm-020.conf -+.sp -+ b) effects: when portmanager is built all warnings are enabled -+and is built with -ggdb option so symbols may be seen with gdb debugger. -+.sp -+WITH_BUILD_DEPENDS_ARE_LEAVES -+.sp -+ a) portmanager normally tries to keep ports that are only build dependencies -+for other ports installed and current, some people have expressed a dislike -+of tracking build dependencies this close. By setting -+WITH_BUILD_DEPENDS_ARE_LEAVES=1 in pm-020.conf or through make config, build -+dependencies that are missing won't be tracked and -sl -slid will list these -+type of ports as leaves. -+.sp -+ b) ports/java, ports in this category are allowed to build even if build -+dependencies are missing in normal mode, all though in normal mode build -+dependencies will still get identified as missing. -+.sp -+.\"======================================================================= - .Sh DIAGNOSTICS - Detail of how portmanager upgrade cycle works: - .sp -Binary files ../0.3.4_1/portmanager-0.3.5.tar.gz and ./portmanager-0.3.5.tar.gz differ -diff -ruN ../0.3.4_1/programmer-notes.txt ./programmer-notes.txt ---- ../0.3.4_1/programmer-notes.txt Sat Nov 12 15:33:53 2005 -+++ ./programmer-notes.txt Sun Nov 13 03:05:41 2005 -@@ -2,6 +2,7 @@ - - TODO list - -+ PICK up all paths through make -V's if possible - add pkgtools-to-portmanager.rb to tarball - move MGPMrGetPortName from MGPMrCreateAllUpdateStatusDb.c next new tarball to its own file - move database files to /var/db/portmanager --- portmanager-0.3.5.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: