Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Nov 2005 12:02:22 -0800 (PST)
From:      "Michael C. Shultz" <ringworm01@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        craig@yekse.gank.org
Subject:   ports/89084: [MAINTAINER] update sysutils/portmanager
Message-ID:  <20051115200222.41D8C130C21@ringworm.mechee.com>
Resent-Message-ID: <200511152020.jAFKKHo8000409@freefall.freebsd.org>

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

>Number:         89084
>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 20:20:16 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 ver 0.3.5_1

	1. Craig Boston <craig@yekse.gank.org> brought to my attention a problem
	with how dependency information is gathered in +CONTENT files. 

	portmanager -s (status report) uses port +CONTENT files to generate its
	report and now that is proven as not 100% accurate.  This patch modifies
	the data source for status reports from +CONTENT files to the results 
	obtained when running make -V *_DEPENDS in each port directory.

>How-To-Repeat:

	Install databases/p5-BerkeleyDB WITH_BDB_VER=42
	then install security/amavisd-new
	+CONTENT for amavisd-new will list the wrong 
	databases/db* for it's dependency because whatever
	generates +CONTENT files upon port registration
	is failing to consider WITH_* switches comming
	from dependent ports.

>Fix:

	This is just a work around to the real problem
	wich resides in port infrastructure.

--- portmanager-0.3.5_1.diff begins here ---
diff -ruN portmanager/Makefile portmanager-0.3.5_1/Makefile
--- portmanager/Makefile	Tue Nov 15 11:14:03 2005
+++ portmanager-0.3.5_1/Makefile	Tue Nov 15 11:14:45 2005
@@ -7,6 +7,7 @@
 
 PORTNAME=	portmanager
 PORTVERSION=	0.3.5
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	http://portmanager.sunsite.dk/distfiles/ \
 		${MASTER_SITE_SOURCEFORGE}
diff -ruN portmanager/files/patch-0.3.5_1 portmanager-0.3.5_1/files/patch-0.3.5_1
--- portmanager/files/patch-0.3.5_1	Wed Dec 31 16:00:00 1969
+++ portmanager-0.3.5_1/files/patch-0.3.5_1	Tue Nov 15 11:14:25 2005
@@ -0,0 +1,93 @@
+diff -ruN ../0.3.5/libMGPM/src/MGPMlogAdd.c ./libMGPM/src/MGPMlogAdd.c
+--- ../0.3.5/libMGPM/src/MGPMlogAdd.c	Mon Nov 14 13:55:34 2005
++++ ./libMGPM/src/MGPMlogAdd.c	Mon Nov 14 23:17:47 2005
+@@ -48,7 +48,7 @@
+ 	}
+ 
+ 	logFileStream	= fopen(  property->logFile->parent.path, "a" );
+-	fprintf( logFileStream, "%-25s %-25s\n\t%-25s %-25s %-25s\n", victemName, victemDir, crime, suspectName, suspectDir );
++	fprintf( logFileStream, "%-35s %-30s\n    %-35s %-35s %-30s\n\n", victemName, victemDir, crime, suspectName, suspectDir );
+ 	fclose( logFileStream );
+ 	return( 0 );
+ }
+diff -ruN ../0.3.5/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c
+--- ../0.3.5/libMGPM/src/MGPMrController.c	Mon Nov 14 14:46:52 2005
++++ ./libMGPM/src/MGPMrController.c	Tue Nov 15 10:04:32 2005
+@@ -270,6 +270,46 @@
+ 
+ 	if( path && ( strcmp( path, "PMSTATUS" ) == 0 ) )
+ 	{
++		property->pmMode	= 1; /* fake like we are in single port update */
++		if( property->resume == 0 )
++		{
++			property->cacheDb	= MGdbCreate(
++							property->cacheDbFileName,
++							property->fieldCacheDbPortDir,
++							property->fieldCacheDbAvailablePortName,
++							property->fieldCacheDbMakeFileSize,
++							property->fieldCacheDbMakeFileTime,
++							NULL );
++			MGdbDestroy( property->cacheDb );
++			if( ( errorCode	= MGPMrCreateInstalledDb( property ) ) )
++			{
++				fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION,
++					"MGPMrCreateInstalledDb", errorCode );
++				return( 1 );
++			}
++			if( ( errorCode	= MGPMrCreateAllUpdateStatusDb( property ) ) )
++			{
++				fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION,
++					"MGPMrCreateAllUpdateStatusDb", errorCode );
++				return( 1 );
++			}
++		}
++		if( ( errorCode	= MGPMrCreateInstalledDb( property ) ) )
++		{
++			fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
++			return( 1 );
++		}
++
++		if( ( errorCode	= MGPMrSinglePortStatus( property ) ) )
++		{
++			fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrSinglePortStatus", errorCode );
++			return( 1 );
++		}
++		return( 0 );
++	}
++/*
++ * old way of doing things
++ *
+ 		if( ( errorCode	= MGPMrCreateInstalledDb( property ) ) )
+ 		{
+ 			fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
+@@ -308,7 +348,7 @@
+ 		free( xtermTitle );
+ 		MGPMlogDestroy( property );
+ 		return(0);
+-	}
++*/
+ 
+ 	if( path && strcmp( path, "PMUPGRADE" ) == 0 )
+ 	{
+diff -ruN ../0.3.5/libMGPM/src/MGPMrSinglePortStatus.c ./libMGPM/src/MGPMrSinglePortStatus.c
+--- ../0.3.5/libMGPM/src/MGPMrSinglePortStatus.c	Mon Nov 14 14:54:02 2005
++++ ./libMGPM/src/MGPMrSinglePortStatus.c	Mon Nov 14 19:10:08 2005
+@@ -159,7 +159,7 @@
+ 				MGdbAdd( property->oldPortsDb,
+ 					installedPortsDbPortDir,
+ 					installedPortsDbPortName,
+-					"1 built with OLD dependency",
++					"built with OLD dependency",
+ 					oldDependencyName,
+ 					oldDependencyDir,
+ 					NULL );
+@@ -226,7 +226,7 @@
+ 							MGdbAdd( property->oldPortsDb,
+ 								installedPortsDbPortDir,
+ 								installedPortsDbPortName,
+-								"2 built with OLD dependency",
++								"built with OLD dependency",
+ 								MGdbGet( property->dependencyPortsDb,
+ 									MGdbGetRecno( property->dependencyPortsDb ) - 1,
+ 									property->fieldDependencyDbDependencyPortName ),
+Binary files ../0.3.5/portmanager-0.3.6.tar.gz and ./portmanager-0.3.6.tar.gz differ
--- portmanager-0.3.5_1.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?20051115200222.41D8C130C21>