Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Nov 2005 16:12:36 -0800 (PST)
From:      "Michael C. Shultz" <ringworm01@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/89040: [MAINTAINER] update sysutils/portmanager
Message-ID:  <20051115001236.A7FA7130C21@ringworm.mechee.com>
Resent-Message-ID: <200511150030.jAF0ULwQ007235@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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	<sgtty.h>
- 
- 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<SPACE><ENTER> to skip\n<X><ENTER> removes port\n<N><ENTER> *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 <SPACE> skipped", NULL );
-+				fprintf( stdout, "<SPACE> Skipping %s\n\n", leafPortName );
-+				break;
-+			}
-+			case	KEY_n:
-+			{
-+				/* nuke() */
-+				fprintf( stdout, "<n> 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, "<N> 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, "<x> 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<SPACE><ENTER> to skip\n<X><ENTER> removes port\n<N><ENTER> *Nuke it*, removes distribution files\n\n" ); 
--				fprintf( stdout,"%s\n", SINGLE_LINES );
-+				/* delete() */
-+				fprintf( stdout, "<X> 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 <SPACE> skipped", NULL );
--					fprintf( stdout, "<SPACE> Skipping %s\n\n", leafPortName );
--					break;
--				}
--				case	KEY_n:
--				{
--					/* nuke() */
--					fprintf( stdout, "<n> Nuking %s\n\n", leafPortName );
--					removePort( property, leafPortName, installedPortsDbIDX );
--					nuke( leafPortDir );
--					rebuildDb( property, &installedPortsDbQTY );
--					break;
--				}
--				case	KEY_N:
--				{
--					/* nuke() */
--					fprintf( stdout, "<N> 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, "<x> 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, "<X> 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 <DEFAULT> skipped", NULL );
--					fprintf( stdout, "Skipping %s\n\n", leafPortName );
--					break;
--				}
-+				MGdbAdd( property->ignoreDb, leafPortDir, "-slid <DEFAULT> 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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051115001236.A7FA7130C21>