summaryrefslogtreecommitdiff
path: root/ports-mgmt/portmanager
diff options
context:
space:
mode:
authorMarcus Alves Grando <mnag@FreeBSD.org>2005-11-11 16:24:13 +0000
committerMarcus Alves Grando <mnag@FreeBSD.org>2005-11-11 16:24:13 +0000
commit154de1f79283c1bedc1ffcedf6575eaf0b220447 (patch)
treede5cdc0b06ffed4798cb14262452665975ce3b0b /ports-mgmt/portmanager
parent- Update to 0.9.5 (diff)
Update to 0.3.4
Add WITH_BUILD_DEPENDS_ARE_LEAVES in OPTIONS PR: 88847 Submitted by: Michael C. Shultz <ringworm01@gmail.com> (maintainer)
Notes
Notes: svn path=/head/; revision=147955
Diffstat (limited to 'ports-mgmt/portmanager')
-rw-r--r--ports-mgmt/portmanager/Makefile10
-rw-r--r--ports-mgmt/portmanager/distinfo6
-rw-r--r--ports-mgmt/portmanager/files/patch-0.3.3_1877
-rw-r--r--ports-mgmt/portmanager/files/patch-0.3.3_21042
-rw-r--r--ports-mgmt/portmanager/files/patch-0.3.3_3719
5 files changed, 10 insertions, 2644 deletions
diff --git a/ports-mgmt/portmanager/Makefile b/ports-mgmt/portmanager/Makefile
index 58745119eaee..cba5ecb7e3bc 100644
--- a/ports-mgmt/portmanager/Makefile
+++ b/ports-mgmt/portmanager/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= portmanager
-PORTVERSION= 0.3.3
-PORTREVISION= 3
+PORTVERSION= 0.3.4
CATEGORIES= sysutils
MASTER_SITES= http://portmanager.sunsite.dk/distfiles/ \
${MASTER_SITE_SOURCEFORGE}
@@ -38,7 +37,8 @@ CONFIGURE_ARGS= --with-prefix=${PREFIX} --with-bindir=/bin \
--with-portsdir=${PORTSDIR} --with-sharedir=/share/portmanager \
--with-tempdir=/tmp
-OPTIONS= DEBUG "Enables debug support and all compile warning" off
+OPTIONS= DEBUG "Enable debug support and warnings" off \
+ BUILD_DEPENDS_ARE_LEAVES "Treat build dependencies as leaves" off
.include <bsd.port.pre.mk>
@@ -46,6 +46,10 @@ OPTIONS= DEBUG "Enables debug support and all compile warning" off
CONFIGURE_ARGS+= --with-debug=yes
.endif
+.if defined(WITH_BUILD_DEPENDS_ARE_LEAVES)
+CONFIGURE_ARGS+= --with-treatBuildDependsAsLeaves=yes
+.endif
+
# Keep this in post-configure. After run configure, he change this value.
post-configure:
@${REINPLACE_CMD} -e \
diff --git a/ports-mgmt/portmanager/distinfo b/ports-mgmt/portmanager/distinfo
index 74e0333ba3db..1b82291f7f08 100644
--- a/ports-mgmt/portmanager/distinfo
+++ b/ports-mgmt/portmanager/distinfo
@@ -1,3 +1,3 @@
-MD5 (portmanager-0.3.3.tar.gz) = 4d2377a4d3f760335f1f63f5b41bcdc6
-SHA256 (portmanager-0.3.3.tar.gz) = 93390d715929f12a2bf0d0762f1f360263665fd8edb1ee7124b3e9817636ad7c
-SIZE (portmanager-0.3.3.tar.gz) = 432705
+MD5 (portmanager-0.3.4.tar.gz) = 9dcb56c7bfe8041486d8741e6b2cf9bf
+SHA256 (portmanager-0.3.4.tar.gz) = 2a1281a2a36b6c4623c05ef4e656319895bdc0511d633ee26396ce8d4bafad21
+SIZE (portmanager-0.3.4.tar.gz) = 435628
diff --git a/ports-mgmt/portmanager/files/patch-0.3.3_1 b/ports-mgmt/portmanager/files/patch-0.3.3_1
deleted file mode 100644
index f17f9b23f52b..000000000000
--- a/ports-mgmt/portmanager/files/patch-0.3.3_1
+++ /dev/null
@@ -1,877 +0,0 @@
-diff -ruN ../0.3.3/libMG/src/MGdbDelete.c ./libMG/src/MGdbDelete.c
---- ../0.3.3/libMG/src/MGdbDelete.c Sat Nov 5 05:43:08 2005
-+++ ./libMG/src/MGdbDelete.c Tue Nov 8 11:38:35 2005
-@@ -23,18 +23,19 @@
- #include <libMG.h>
- #include <libMG.ph>
-
--int MGdbDelete( classDb* db, int recordIdx )
-+classDb* MGdbDelete( classDb* db, int recordIdx )
- {
- FILE* dbFileStream;
- char id[] = "MGdbDelete";
- static char* newPath = NULL;
- int stringSize = 0;
-+ static classDb* newDb;
-
- /* check if we have a valid object */
- if(db == NULL || db->parent.type != CLASS_TYPE_DB)
- {
- fprintf( stderr, "%s error: invalid object type\n", id);
-- return( 1 );
-+ return( NULL );
- }
-
- db->parent.recordIdx = 0;
-@@ -50,7 +51,7 @@
- {
- fprintf( stderr, "%s error: unable to open %s mode \"w\"\n", id, db->parent.path );
- perror( "system message" );
-- return( 1 );
-+ return( NULL );
- }
- /*zzzzzzzzzzzzzz*/
-
-@@ -91,14 +92,15 @@
- newPath = (char*)calloc( stringSize, 1 );
- strcpy( newPath, db->parent.path );
- MGdbDestroy( db );
-- if( ( db = MGdbOpen( newPath ) ) == NULL )
-+ if( ( newDb = MGdbOpen( newPath ) ) == NULL )
- {
- fprintf( stderr, "%s error: unable to MGdbOpen %s\n", id, newPath );
- perror( "system message" );
-- return( 1 );
-+ return( NULL );
- }
-+ db = newDb;
- free( newPath );
-- return( 0 );
-+ return( newDb );
- }
-
-
-diff -ruN ../0.3.3/libMG/src/MGdbOpen.c ./libMG/src/MGdbOpen.c
---- ../0.3.3/libMG/src/MGdbOpen.c Sat Nov 5 05:43:08 2005
-+++ ./libMG/src/MGdbOpen.c Tue Nov 8 08:20:40 2005
-@@ -26,11 +26,10 @@
- classDb* MGdbOpen( char* dbFileName )
- {
- char id[] = "MGdbOpen";
-- int errorCode = 0;
- static classDb* db;
-
- /*zzzzzzzzzzzzzz*/
-- db = ( classDb* )malloc( sizeof(classDb) + 1 );
-+ db = ( classDb* )calloc( sizeof(classDb), 1 );
- db->parent.mallocIdx = 1;
- /*zzzzzzzzzzzzzz*/
-
-@@ -48,13 +47,6 @@
- db->parent.recordIdx = 0;
- db->parent.recordQty = 0;
- db->parent.type = CLASS_TYPE_DB;
--
--
-- if(errorCode)
-- {
-- fprintf( stderr, "%s error: %s returned errorCode %d\n", id, "MGmSetString", errorCode );
-- assert(0);
-- }
-
- MGdbRead( db );
-
-diff -ruN ../0.3.3/libMG/src/libMG.h ./libMG/src/libMG.h
---- ../0.3.3/libMG/src/libMG.h Sat Nov 5 05:43:08 2005
-+++ ./libMG/src/libMG.h Tue Nov 8 11:37:11 2005
-@@ -106,7 +106,7 @@
- classDb* MGdbCreate( char* dbFileName, ... );
- classDb* MGdbOpen( char* dbFileName );
- int MGdbAdd(classDb* db, ...);
--int MGdbDelete(classDb* db, int recordIdx );
-+classDb* MGdbDelete(classDb* db, int recordIdx );
- int MGdbDestroy(classDb* db);
- int MGdbGetRecno(classDb* db );
- int MGdbGetRecordQty(classDb* db);
-diff -ruN ../0.3.3/libMGPM/src/MGPMrBestOldPort.c ./libMGPM/src/MGPMrBestOldPort.c
---- ../0.3.3/libMGPM/src/MGPMrBestOldPort.c Mon Nov 7 14:51:35 2005
-+++ ./libMGPM/src/MGPMrBestOldPort.c Tue Nov 8 00:16:52 2005
-@@ -121,7 +121,7 @@
- property->fieldOldPortsDbOldPortDir,
- exact ) )
- {
-- fprintf( stdout, "skipping %s %s old dependency: %s\n",
-+ fprintf( stdout, "skipping %s %s until dependency %s updated\n",
- oldPortName,
- oldPortDir,
- MGdbGet( property->availableDependenciesDb,
-@@ -156,7 +156,7 @@
- property->fieldOldPortsDbOldPortDir,
- exact ) )
- {
-- fprintf( stdout, "skipping %s %s old dependency: %s\n",
-+ fprintf( stdout, "skipping %s %s until dependency %s updated\n",
- oldPortName,
- oldPortDir,
- MGdbGet( property->availableDependenciesDb,
-diff -ruN ../0.3.3/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c
---- ../0.3.3/libMGPM/src/MGPMrController.c Sat Nov 5 05:43:08 2005
-+++ ./libMGPM/src/MGPMrController.c Tue Nov 8 12:29:47 2005
-@@ -30,9 +30,18 @@
- #include <libMGPM.h>
-
- int rPmUpgradeNewMethod( structProperty* property );
--int rPmUpgradeOriginalMethod( structProperty* property );
- int MGPMrController( structProperty* property, char* path )
- {
-+ char ignore[] = "/IGNORE";
-+ char upgradeInteractive[] = "--upgrade-interactive";
-+ char resume[] = "--resume";
-+ char ui[] = "-ui";
-+ char backUp[] = "--back-up";
-+ char yes[] = "--yes";
-+ char y[] = "-y";
-+ char f[] = "-f";
-+ char fix[] = "--fix";
-+ char bu[] = "-bu";
- char exact[] = "exact";
- char id[] = "MGPMrController";
- char* command = NULL;
-@@ -52,8 +61,8 @@
- int oldPortsDbTOTALIZER = 0;
-
- command = (char*)calloc( bufferSize,1);
-- oldPortDir = (char*)calloc(255,1);
-- oldPortName = (char*)calloc(255,1);
-+ oldPortDir = (char*)calloc(512,1);
-+ oldPortName = (char*)calloc(512,1);
- xtermTitle = (char*)calloc( bufferSize,1 );
-
- property->cacheDb = MGdbCreate(
-@@ -71,14 +80,14 @@
- property->commandLineDb = MGdbOpen( property->commandLineDbFileName );
-
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "-f", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, f, property->fieldCommandLineDbKey, exact ) )
- {
- property->forced = 1;
- fprintf( stdout, "%s %s info: running in forced update mode\n", id, PACKAGE_VERSION );
- while( fflush( stdout ) );
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "--fix", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, fix, property->fieldCommandLineDbKey, exact ) )
- {
- property->forced = 1;
- fprintf( stdout, "%s %s info: running in forced update mode\n", id, PACKAGE_VERSION );
-@@ -86,37 +95,37 @@
- }
-
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "-bu", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, bu, property->fieldCommandLineDbKey, exact ) )
- {
- property->backUp = 1;
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "--back-up", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, backUp, property->fieldCommandLineDbKey, exact ) )
- {
- property->backUp = 1;
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "-y", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, y, property->fieldCommandLineDbKey, exact ) )
- {
- property->autoConflicts = 1;
- property->autoMoved = 1;
- }
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "--yes", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, yes, property->fieldCommandLineDbKey, exact ) )
- {
- property->autoConflicts = 1;
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "--resume", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, resume, property->fieldCommandLineDbKey, exact ) )
- {
- property->resume = 1;
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "-ui", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, ui, property->fieldCommandLineDbKey, exact ) )
- {
- property->interactive = 1;
- }
- MGdbGoTop( property->commandLineDb );
-- if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, "--upgrade-interactive", property->fieldCommandLineDbKey, exact ) )
-+ if( MGdbSeek( property->commandLineDb, property->fieldCommandLineDbKey, upgradeInteractive, property->fieldCommandLineDbKey, exact ) )
- {
- property->interactive = 1;
- }
-@@ -128,7 +137,7 @@
- property->configDb = MGdbOpen( property->configDbFileName );
- property->ignoreDb = MGdbOpen( property->ignoreDbFileName );
- MGdbGoTop( property->configDb );
-- while( ( configDbValuePtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, "/IGNORE", property->fieldConfigDbValue, exact ) ) )
-+ while( ( configDbValuePtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, ignore, property->fieldConfigDbValue, exact ) ) )
- {
- MGdbAdd( property->ignoreDb, configDbValuePtr, "set to ignore in pm-020.conf", NULL );
- fprintf( stdout, "%s %s info: Adding %s to ignoreDB reason: %s\n", id, PACKAGE_VERSION, configDbValuePtr, "set to ignore in pm-020.conf" );
-@@ -146,6 +155,7 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateInstalledDb", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
-@@ -155,11 +165,13 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrShowLeaves", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 0 );
- }
-@@ -190,6 +202,7 @@
- "MGPMrCreateInstalledDb", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
-@@ -197,6 +210,10 @@
- {
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION,
- "MGPMrCreateAllUpdateStatusDb", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
- }
-@@ -206,6 +223,10 @@
- {
- fprintf( stdout, "%s %s error: failed to open %s\n", id, PACKAGE_VERSION, property->ignoreDbFileName );
- perror( "system" );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
- MGdbDestroy( property->ignoreDb );
-@@ -215,11 +236,13 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrShowLeavesDelete", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 0 );
- }
-@@ -231,6 +254,7 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
-@@ -238,6 +262,10 @@
- if( ( errorCode = MGPMrMissingDependencies( property ) ) )
- {
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrMissingDependencies", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
-
-@@ -246,11 +274,13 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return(0);
- }
-@@ -258,9 +288,10 @@
- if( path && strcmp( path, "PMUPGRADE" ) == 0 )
- {
- rPmUpgradeNewMethod( property );
--/*
-- rPmUpgradeOriginalMethod( property );
--*/
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 0 );
- }
-
-@@ -274,6 +305,10 @@
- if( ( errorCode = MGPMrSinglePortCreateStatusDb( property, path ) ) )
- {
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrSinglePortCreateStatusDb", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
-
-@@ -293,6 +328,7 @@
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
- free( command );
- free( oldPortDir );
-+ free( oldPortName );
- free( xtermTitle );
- return( 1 );
- }
-@@ -300,6 +336,10 @@
- if( ( errorCode = MGPMrSinglePortStatus( property ) ) )
- {
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrSinglePortStatus", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
- oldPortDir[0] = 0;
-@@ -319,6 +359,10 @@
- else
- {
- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrBestOldPort", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
- return( 1 );
- }
- }
-@@ -448,236 +492,9 @@
- }
- free( command );
- free( oldPortDir );
-- free( xtermTitle );
-- return( errorCode );
--}
--
--/*******************************************************/
--int rPmUpgradeOriginalMethod( structProperty* property )
--/*******************************************************/
--{
-- char exact[] = "exact";
-- char id[] = "rPmUpgradeOriginalMethod";
-- char* command = NULL;
-- char* configDbValuePtr = NULL;
-- char* oldPortDir = NULL;
-- char* oldPortName = NULL;
-- char* oldPortsDbNewPortDirPtr = NULL;
-- char* oldPortsDbNewPortNamePtr = NULL;
-- char* oldPortsDbReasonPtr = NULL;
-- char* term = NULL;
-- char* xtermTitle = NULL;
-- float percentDone = 0;
-- int bufferSize = 0xffff;
-- int errorCode = 0;
-- int oldPortsDbIDX = 0;
-- int oldPortsDbQTY = 0;
-- int oldPortsDbTOTALIZER = 0;
--
-- command = (char*)calloc( bufferSize,1);
-- oldPortDir = (char*)calloc(255,1);
-- oldPortName = (char*)calloc(255,1);
-- xtermTitle = (char*)calloc( bufferSize,1 );
--
-- property->cacheDb = MGdbCreate(
-- property->cacheDbFileName,
-- property->fieldCacheDbPortDir,
-- property->fieldCacheDbAvailablePortName,
-- property->fieldCacheDbMakeFileSize,
-- property->fieldCacheDbMakeFileTime,
-- NULL );
-- MGdbDestroy( property->cacheDb );
-- if( property->log )
-- {
-- strcpy( command, "echo \"portmanager.log\" " );
-- strcat( command, " > /var/log/portmanager.log" );
-- system( command );
-- strcpy( command, "date >> /var/log/portmanager.log" );
-- system( command );
-- }
-- while( 1 )
-- {
-- if( ( errorCode = MGPMrCreateInstalledDb( property ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateInstalledDb", errorCode );
-- free( command );
-- free( oldPortDir );
-- free( oldPortName );
-- free( xtermTitle );
-- return( 1 );
-- }
--
-- if( ( errorCode = MGPMrMissingDependencies( property ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrMissingDependencies", errorCode );
-- free( command );
-- free( oldPortDir );
-- free( oldPortName );
-- free( xtermTitle );
-- return( 1 );
-- }
-- if( ( errorCode = MGPMrStatus( property ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateStatusDb", errorCode );
-- free( command );
-- free( oldPortDir );
-- free( oldPortName );
-- free( xtermTitle );
-- return( 1 );
-- }
-- oldPortDir[0] = 0;
-- oldPortName[0] = 0;
-- if( ( errorCode = MGPMrBestOldPort( property, oldPortDir, oldPortName ) ) )
-- {
-- if( errorCode == 100 )
-- {
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- fprintf( stdout, "%s %s INFO: finished with some ports not updated if --log was used see /var/log/portmanager.log\n",
-- "portmanager", PACKAGE_VERSION );
-- while( fflush( stdout ) );
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- errorCode = 0;
-- break;
-- }
-- else
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrBestOldPort", errorCode );
-- free( command );
-- free( oldPortDir );
-- free( oldPortName );
-- free( xtermTitle );
-- return( 1 );
-- }
-- }
-- if( strlen(oldPortDir) > 1 )
-- {
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- fprintf( stdout, "updating %s %s\n", oldPortName, oldPortDir );
--
-- /*
-- * Set xterm title bar indicator
-- */
-- property->oldPortsDb = MGdbOpen( property->oldPortsDbFileName );
-- oldPortsDbQTY = MGdbGetRecordQty( property->oldPortsDb );
--
-- if( oldPortsDbQTY - 1 > oldPortsDbTOTALIZER )
-- {
-- oldPortsDbTOTALIZER = oldPortsDbQTY - 1;
-- }
-- percentDone = 100 - ( 100 * ( ( (float)oldPortsDbQTY - 1 ) / (float)oldPortsDbTOTALIZER ) );
-- fprintf( stdout, "percentDone-=>%d = 100 - ( 100 * ( oldPortsDbQTY-=>%d / oldPortsDbTOTALIZER-=>%d ) ) \n",
-- (int)percentDone, oldPortsDbQTY-1, oldPortsDbTOTALIZER );
-- while( fflush( stdout ) );
--
-- term = getenv("TERM");
-- if( term && strncmp( term, "xterm", 5 ) == 0 && isatty(fileno(stdout)) )
-- {
-- /*
-- pr 81481
-- To fix the modification of xterm title, even when redirecting, one can
-- test isatty(fileno(stdout)) before printing the escape sequence.
-- */
-- strcpy( xtermTitle, "portmanager" );
-- strcat( xtermTitle, " done:% " );
-- strcat( xtermTitle, MGrIntToString( (long)percentDone ) );
-- strcat( xtermTitle, " updating " );
-- strcat( xtermTitle, oldPortName );
-- strcat( xtermTitle, " " );
-- strcat( xtermTitle, oldPortDir );
-- printf( "%c]0;%s%c", '\033', xtermTitle, '\007' );
-- }
-- if( property->log )
-- {
-- property->configDb = MGdbOpen( property->configDbFileName );
-- MGdbGoTop( property->configDb );
-- configDbValuePtr = MGdbSeek( property->configDb, property->fieldConfigDbKey, oldPortDir,
-- property->fieldConfigDbValue, exact );
--
-- MGdbGoTop( property->oldPortsDb );
-- oldPortsDbReasonPtr = MGdbSeek( property->oldPortsDb, property->fieldOldPortsDbOldPortDir, oldPortDir,
-- property->fieldOldPortsDbReason, exact );
-- if( oldPortsDbReasonPtr )
-- {
-- oldPortsDbIDX = MGdbGetRecno( property->oldPortsDb ) - 1;
-- oldPortsDbNewPortNamePtr = MGdbGet( property->oldPortsDb, oldPortsDbIDX,
-- property->fieldOldPortsDbNewPortName );
-- oldPortsDbNewPortDirPtr = MGdbGet( property->oldPortsDb, oldPortsDbIDX,
-- property->fieldOldPortsDbNewPortDir );
-- }
-- strcpy( command, "echo \" " );
-- if( strcmp( oldPortName, "not installed" ) == 0 )
-- {
-- strcat( command, "adding " );
-- strcat( command, oldPortName );
-- strcat( command, " " );
-- strcat( command, oldPortDir );
-- strcat( command, " " );
-- }
-- else
-- {
-- strcat( command, "updating " );
-- strcat( command, oldPortName );
-- strcat( command, " " );
-- strcat( command, oldPortDir );
-- strcat( command, " " );
-- }
-- if( configDbValuePtr )
-- {
-- strcat( command, " options " );
-- strcat( command, configDbValuePtr );
-- }
-- if( oldPortsDbReasonPtr )
-- {
-- strcat( command, " " );
-- strcat( command, oldPortsDbReasonPtr );
-- strcat( command, " " );
-- strcat( command, oldPortsDbNewPortNamePtr );
-- strcat( command, " " );
-- strcat( command, oldPortsDbNewPortDirPtr );
-- strcat( command, " " );
-- }
-- strcat( command, "\" >> /var/log/portmanager.log" );
-- system( command );
-- MGdbDestroy( property->configDb );
-- }
-- MGdbDestroy( property->oldPortsDb );
-- }
-- else
-- {
-- /*
-- * Set xterm title bar indicator
-- *
-- * pr 81481
-- * To fix the modification of xterm title, even when redirecting, one can
-- * test isatty(fileno(stdout)) before printing the escape sequence.
-- */
-- if( term && strncmp( term, "xterm", 5 ) == 0 && isatty(fileno(stdout)) )
-- {
-- strcpy( xtermTitle, "portmanager" );
-- strcat( xtermTitle, " " );
-- strcat( xtermTitle, " finished" );
-- printf( "%c]0;%s%c", '\033', xtermTitle, '\007' );
-- }
-- fprintf( stdout, "%s %s INFO: all ports are up to date\n", "portmanager", PACKAGE_VERSION );
-- while( fflush( stdout ) );
-- break;
-- }
-- MGPMrUpdate( property, oldPortDir, oldPortName );
-- }
--
-- 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 );
-- }
-- free( command );
-- free( oldPortDir );
- free( oldPortName );
- free( xtermTitle );
-- return( 0 );
-+ return( errorCode );
- }
-
- /*******************************************************/
-@@ -901,6 +718,7 @@
- strcpy( command, "date >> /var/log/portmanager.log" );
- system( command );
- }
-+ free( oldPortName );
- free( command );
- free( oldPortDir );
- free( xtermTitle );
-diff -ruN ../0.3.3/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c
---- ../0.3.3/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Sun Nov 6 19:26:26 2005
-+++ ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Tue Nov 8 15:49:01 2005
-@@ -52,7 +52,7 @@
-
- counterPtr = &counter;
-
-- availablePortDir = (char*)calloc( 510, 1 );
-+ availablePortDir = (char*)calloc( bufferSize, 1 );
- availablePortName = (char*)calloc( bufferSize, 1 );
-
- fprintf( stdout,"%s\n", SINGLE_LINES );
-@@ -122,6 +122,7 @@
- installedPortsDbIDX++;
- }
- MGdbDestroy( property->availablePortsDb );
-+ MGdbDestroy( property->installedPortsDb );
- MGdbDestroy( property->availableDependenciesDb );
- MGdbDestroy( property->configDb );
- free( availablePortDir );
-@@ -132,10 +133,9 @@
- int rrFindDepends( structProperty* property, char* availablePortDir, char* availablePortName, int* counterPtr )
- {
- char id[] = "rrFindDepends";
-- char* availablePortsDbFlagPtr = NULL;
- int availablePortsDbIDX = 0;
- int errorCode = 0;
-- int idx = 0;
-+ int availablePortsDbQTY = 0;
-
- if( ( errorCode = rrGetPortName( property, availablePortDir, availablePortName ) ) )
- {
-@@ -155,20 +155,19 @@
- /*
- * fill dependencies for each record in property->availablePortsDb
- */
-- availablePortsDbIDX = MGdbGetRecordQty( property->availablePortsDb );
-- idx = 1;
-- while( idx < availablePortsDbIDX )
-+ availablePortsDbQTY = MGdbGetRecordQty( property->availablePortsDb );
-+ availablePortsDbIDX = 1;
-+ while( availablePortsDbIDX < availablePortsDbQTY )
- {
-- availablePortsDbFlagPtr = MGdbGet( property->availablePortsDb, idx, property->fieldAvailablePortsDbFlag );
-- if( availablePortsDbFlagPtr && strncmp( availablePortsDbFlagPtr, "0", 1 ) == 0 )
-+ if( strncmp( MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbFlag ), "0", 1 ) == 0 )
- {
-- strcpy( availablePortDir, MGdbGet( property->availablePortsDb, idx, property->fieldAvailablePortsDbPortDir ) );
-- strcpy( availablePortName, MGdbGet( property->availablePortsDb, idx, property->fieldAvailablePortsDbPortName ) );
-+ strcpy( availablePortDir, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortDir ) );
-+ strcpy( availablePortName, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortName ) );
- rrFillDependencies( property, availablePortName, availablePortDir, counterPtr );
-- availablePortsDbIDX = MGdbGetRecordQty( property->availablePortsDb );
-- idx = 0;
-+ availablePortsDbQTY = MGdbGetRecordQty( property->availablePortsDb );
-+ availablePortsDbIDX = 0;
- }
-- idx++;
-+ availablePortsDbIDX++;
- }
- return( 0 );
- }
-@@ -340,7 +339,6 @@
- char* buffer = NULL;
- int availablePortsDbIDX = 0;
- int bufferSize = 0xffff;
-- int errorCode = 0;
-
- buffer = calloc( bufferSize + 1, 1 );
-
-@@ -361,14 +359,10 @@
- return( 1 );
- }
- MGdbGoTop( property->availablePortsDb );
-- availablePortDirPtr = MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, availablePortDir,
-- property->fieldAvailablePortsDbPortDir, exact );
-- availablePortsDbIDX = MGdbGetRecno( property->availablePortsDb ) - 1;
-- if( ( errorCode = MGdbDelete( property->availablePortsDb, availablePortsDbIDX ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode );
-- return( 1 );
-- }
-+ availablePortDirPtr = MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, availablePortDir,
-+ property->fieldAvailablePortsDbPortDir, exact );
-+ availablePortsDbIDX = MGdbGetRecno( property->availablePortsDb ) - 1;
-+ property->availablePortsDb = MGdbDelete( property->availablePortsDb, availablePortsDbIDX );
- MGdbAdd( property->availablePortsDb, availablePortName, availablePortDir, "1", NULL);
-
- return( 0 );
-@@ -435,8 +429,8 @@
- int idx1 = 0;
- int idx2 = 0;
-
-- dependencyPortDir = (char*)calloc( 255, 1 );
-- dependencyPortName = (char*)calloc( 255, 1 );
-+ dependencyPortDir = (char*)calloc( bufferSize, 1 );
-+ dependencyPortName = (char*)calloc( bufferSize, 1 );
-
- bufferSize = strlen( buffer );
- idx1 = 0;
-diff -ruN ../0.3.3/libMGPM/src/MGPMrSinglePortCreateStatusDb.c ./libMGPM/src/MGPMrSinglePortCreateStatusDb.c
---- ../0.3.3/libMGPM/src/MGPMrSinglePortCreateStatusDb.c Sat Nov 5 21:12:54 2005
-+++ ./libMGPM/src/MGPMrSinglePortCreateStatusDb.c Tue Nov 8 15:53:41 2005
-@@ -52,7 +52,7 @@
-
- counterPtr = &counter;
-
-- availablePortDir = (char*)calloc( 255, 1 );
-+ availablePortDir = (char*)calloc( bufferSize, 1 );
- availablePortName = (char*)calloc( bufferSize, 1 );
-
- /*.............................................................*/
-@@ -237,7 +237,6 @@
- char* buffer = NULL;
- int availablePortsDbIDX = 0;
- int bufferSize = 0xffff;
-- int errorCode = 0;
-
- buffer = calloc( bufferSize + 1, 1 );
- rDependencyParse( property, buffer, availablePortName, availablePortDir, BUILD_DEPENDS, counterPtr );
-@@ -257,13 +256,8 @@
- availablePortDirPtr = MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, availablePortDir,
- property->fieldAvailablePortsDbPortDir, exact );
- availablePortsDbIDX = MGdbGetRecno( property->availablePortsDb ) - 1;
-- if( ( errorCode = MGdbDelete( property->availablePortsDb, availablePortsDbIDX ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode );
-- return( 1 );
-- }
-+ property->availablePortsDb = MGdbDelete( property->availablePortsDb, availablePortsDbIDX );
- MGdbAdd( property->availablePortsDb, availablePortName, availablePortDir, "1", NULL);
--
- return( 0 );
- }
-
-@@ -328,8 +322,8 @@
- int idx1 = 0;
- int idx2 = 0;
-
-- dependencyPortDir = (char*)calloc( 255, 1 );
-- dependencyPortName = (char*)calloc( 255, 1 );
-+ dependencyPortDir = (char*)calloc( bufferSize, 1 );
-+ dependencyPortName = (char*)calloc( bufferSize, 1 );
-
- bufferSize = strlen( buffer );
- idx1 = 0;
-diff -ruN ../0.3.3/libMGPM/src/MGPMrSinglePortStatus.c ./libMGPM/src/MGPMrSinglePortStatus.c
---- ../0.3.3/libMGPM/src/MGPMrSinglePortStatus.c Mon Nov 7 09:48:20 2005
-+++ ./libMGPM/src/MGPMrSinglePortStatus.c Tue Nov 8 11:18:04 2005
-@@ -333,6 +333,7 @@
- char* oldDependencyDir,
- int* counterPtr )
- {
-+ char* availableDependenciesDbDependencyTypePtr = NULL;
- char id[] = "rCheckForOldDependencies";
- char exact[] = "exact";
- char* availableDependenciesDbDependencyNamePtr = NULL;
-@@ -351,19 +352,20 @@
- * is a BUILD_DEPENDS desired out come is installedPortsDbPortDir with
- * a RUN_DEPENDS at finish time
- */
-- while( ( availableDependenciesDbDependencyNamePtr = MGdbSeek( property->availableDependenciesDb,
-- property->fieldAvailableDependenciesDbPortDir,
-- installedPortsDbPortDir,
-- property->fieldAvailableDependenciesDbDependencyName,
-- exact ) ) )
-+ while( ( availableDependenciesDbDependencyNamePtr = MGdbSeek( property->availableDependenciesDb,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ installedPortsDbPortDir,
-+ property->fieldAvailableDependenciesDbDependencyName,
-+ exact ) ) )
- {
-- if( strcmp( MGdbGet( property->availableDependenciesDb,
-- MGdbGetRecno( property->availableDependenciesDb ) -1,
-- property->fieldAvailableDependenciesDbDependType ), "BUILD_DEPENDS" ) == 0 )
-+ availableDependenciesDbDependencyTypePtr = MGdbGet( property->availableDependenciesDb,
-+ MGdbGetRecno( property->availableDependenciesDb ) -1,
-+ property->fieldAvailableDependenciesDbDependType );
-+
-+ if( availableDependenciesDbDependencyTypePtr && strcmp( availableDependenciesDbDependencyTypePtr, "BUILD_DEPENDS" ) == 0 )
- {
- continue;
- }
--
- break;
- }
-
-diff -ruN ../0.3.3/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c
---- ../0.3.3/libMGPM/src/MGPMrUpdate.c Sun Nov 6 05:17:31 2005
-+++ ./libMGPM/src/MGPMrUpdate.c Tue Nov 8 16:34:59 2005
-@@ -69,7 +69,6 @@
- char yes[] = "--yes";
- char* availableDependenciesDbDependencyDirPtr = NULL;
- char* availableDependenciesDbDependencyNamePtr = NULL;
-- char* availablePortsFlagPtr = NULL;
- char* bufferBase = NULL;
- char* dependencyDbDependencyPortDirPtr = NULL;
- char* dependencyDbDependencyPortNamePtr = NULL;
-@@ -272,14 +271,12 @@
- fprintf( stdout, "one more attempt and it will be marked as ignore.\n\n" );
- while( fflush( stdout ) );
- MGdbGoTop( property->strikesDb );
-- strikePtr = MGdbSeek( property->strikesDb, property->fieldStrikesDbPortDir, oldPortDir, property->fieldStrikesIDX, exact );
-- if( ( errorCode = MGdbDelete( property->strikesDb, MGdbGetRecno( property->strikesDb ) - 1 ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode );
-- while( fflush( stdout ) );
-- rCleanUp( property, &localProperty );
-- return( 1 );
-- }
-+ strikePtr = MGdbSeek( property->strikesDb,
-+ property->fieldStrikesDbPortDir,
-+ oldPortDir,
-+ property->fieldStrikesIDX,
-+ exact );
-+ property->strikesDb = MGdbDelete( property->strikesDb, MGdbGetRecno( property->strikesDb ) - 1 );
- MGdbAdd( property->strikesDb, oldPortDir, "2", NULL );
- if( property->log )
- {
-@@ -779,7 +776,8 @@
- MGdbGetRecno( property->availablePortsDb ) - 1,
- property->fieldAvailablePortsDbPortName ) );
- while( fflush( stdout ) );
-- MGdbDelete( property->availablePortsDb, MGdbGetRecno( property->availablePortsDb ) - 1 );
-+ property->availablePortsDb = MGdbDelete( property->availablePortsDb,
-+ MGdbGetRecno( property->availablePortsDb ) - 1 );
- MGdbGoTop( property->availablePortsDb );
- }
-
-@@ -1262,19 +1260,17 @@
- if( property->pmMode || property->forced )
- {
- MGdbGoTop( property->availablePortsDb );
-- availablePortsFlagPtr = MGdbSeek( property->availablePortsDb, property->fieldAvailablePortsDbPortDir, oldPortDir,
-- property->fieldAvailablePortsDbFlag, exact );
-- if( availablePortsFlagPtr && strncmp( availablePortsFlagPtr, "2", 1 ) )
-+ if( strncmp( MGdbSeek( property->availablePortsDb,
-+ property->fieldAvailablePortsDbPortDir,
-+ oldPortDir,
-+ property->fieldAvailablePortsDbFlag,
-+ exact ),
-+ "2", 1 ) )
- {
- availablePortsDbIDX = MGdbGetRecno( property->availablePortsDb ) - 1;
- strcpy( localProperty.newPortName, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortName ) );
- strcpy( localProperty.newPortDir, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortDir ) );
-- if( ( errorCode = MGdbDelete( property->availablePortsDb, availablePortsDbIDX ) ) )
-- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGdbDelete", errorCode );
-- rCleanUp( property, &localProperty );
-- return( 1 );
-- }
-+ property->availablePortsDb = MGdbDelete( property->availablePortsDb, availablePortsDbIDX );
- MGdbAdd( property->availablePortsDb, localProperty.newPortName, localProperty.newPortDir, "2", NULL );
- }
- }
diff --git a/ports-mgmt/portmanager/files/patch-0.3.3_2 b/ports-mgmt/portmanager/files/patch-0.3.3_2
deleted file mode 100644
index ffd21978cf57..000000000000
--- a/ports-mgmt/portmanager/files/patch-0.3.3_2
+++ /dev/null
@@ -1,1042 +0,0 @@
-diff -ruN ../0.3.3_1/libMGPM/src/MGPMrController.c ./libMGPM/src/MGPMrController.c
---- ../0.3.3_1/libMGPM/src/MGPMrController.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrController.c Tue Nov 8 20:37:08 2005
-@@ -150,14 +150,28 @@
-
- if( path && ( strcmp( path, "SHOWLEAVES" ) == 0 ) )
- {
-- if( ( errorCode = MGPMrCreateInstalledDb( property ) ) )
-+ if( property->resume == 0 ) /* skip this if portmanager has upgraded/rebuilt its self */
- {
-- fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION, "MGPMrCreateInstalledDb", errorCode );
-- free( command );
-- free( oldPortDir );
-- free( oldPortName );
-- free( xtermTitle );
-- return( 1 );
-+ if( ( errorCode = MGPMrCreateInstalledDb( property ) ) )
-+ {
-+ fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION,
-+ "MGPMrCreateInstalledDb", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
-+ return( 1 );
-+ }
-+ if( ( errorCode = MGPMrCreateAllUpdateStatusDb( property ) ) )
-+ {
-+ fprintf( stdout, "%s %s error: %s returned errorCode %d\n", id, PACKAGE_VERSION,
-+ "MGPMrCreateAllUpdateStatusDb", errorCode );
-+ free( command );
-+ free( oldPortDir );
-+ free( oldPortName );
-+ free( xtermTitle );
-+ return( 1 );
-+ }
- }
-
- if( ( errorCode = MGPMrShowLeaves( property ) ) )
-@@ -217,7 +231,6 @@
- return( 1 );
- }
- }
--
-
- if( ( property->ignoreDb = MGdbCreate( property->ignoreDbFileName, property->fieldignoreDbPortDir, property->fieldIgnoreDbReason, NULL ) ) == NULL )
- {
-diff -ruN ../0.3.3_1/libMGPM/src/MGPMrShowLeaves.c ./libMGPM/src/MGPMrShowLeaves.c
---- ../0.3.3_1/libMGPM/src/MGPMrShowLeaves.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrShowLeaves.c Tue Nov 8 21:32:18 2005
-@@ -31,16 +31,22 @@
-
- int MGPMrShowLeaves( structProperty* property )
- {
-+ FILE* pHandle = NULL;
- char exact[] = "exact";
- char id[] = "MGPMrShowLeaves";
-+ char* buffer = NULL;
- char* command = NULL;
-- char* leafPortDirPtr = NULL;
-- char* leafPortNamePtr = NULL;
-+ char* leafPortDir = NULL;
-+ char* leafPortName = NULL;
-+ int bufferIdx = 0;
- int bufferSize = 0xffff;
- int installedPortsDbIDX = 0;
- int installedPortsDbQTY = 0;
-
-- command = (char*)calloc( bufferSize, 1 );
-+ command = (char*)calloc( bufferSize, 1 );
-+ buffer = (char*)calloc( bufferSize, 1 );
-+ leafPortDir = (char*)calloc( bufferSize, 1 );
-+ leafPortName = (char*)calloc( bufferSize, 1 );
-
- if( ( property->installedPortsDb = MGdbOpen( property->installedPortsDbFileName ) ) == NULL )
- {
-@@ -49,7 +55,7 @@
- return( 1 );
- }
-
-- if( ( property->dependencyPortsDb = MGdbOpen( property->dependencyPortsDbFileName ) ) == NULL )
-+ if( ( property->availableDependenciesDb = MGdbOpen( property->availableDependenciesDbFileName ) ) == NULL )
- {
- fprintf( stdout, "%s %s error: failed to open %s\n", id, PACKAGE_VERSION, property->dependencyPortsDbFileName );
- perror( "system" );
-@@ -57,9 +63,8 @@
- }
-
- fprintf( stdout,"%s\n", SINGLE_LINES );
-- fprintf( stdout, "Ports with no ports depending on them as run dependencies AKA \"leaf ports.\"\n" );
-- fprintf( stdout, "These ports may be deinstalled because no other ports rely on them.to run;\"\n" );
-- fprintf( stdout, "however, other ports may rely on these.to build;\"\n" );
-+ fprintf( stdout, "Ports with no ports depending on them to run or build AKA \"leaf ports.\"\n" );
-+ fprintf( stdout, "These ports may be deinstalled because no other ports rely on them.\"\n" );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
-
-@@ -67,28 +72,47 @@
- installedPortsDbIDX = 1;
- while( installedPortsDbIDX < installedPortsDbQTY )
- {
--
-- leafPortDirPtr = MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortDir );
-- leafPortNamePtr = MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortName );
-- MGdbGoTop( property->dependencyPortsDb );
-- if( MGdbSeek( property->dependencyPortsDb, property->fieldDependencyDbPortDir, leafPortDirPtr, property->fieldDependencyDbPortDir,
-+ strcpy( leafPortDir, MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortDir ) );
-+ strcpy( leafPortName, MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortName ) );
-+ MGdbGoTop( property->availableDependenciesDb );
-+ if( MGdbSeek( property->availableDependenciesDb,
-+ property->fieldAvailableDependenciesDbDependencyDir,
-+ leafPortDir,
-+ property->fieldAvailableDependenciesDbDependencyDir,
- exact ) == NULL )
- {
-- fprintf( stdout, "%s dir -=> %s\n", leafPortNamePtr, leafPortDirPtr );
-+ fprintf( stdout, "%-30s %-30s ", leafPortName, leafPortDir );
- while( fflush( stdout ) );
- strcpy( command, "grep COMMENT " );
- strcat( command, PORTSDIR );
-- strcat( command, leafPortDirPtr );
-+ strcat( command, leafPortDir );
- strcat( command, "/Makefile" );
-- system( command );
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-+ pHandle = popen( command, "r" );
-+ buffer[0] = 0;
-+ fread( buffer, bufferSize - 1, 1, pHandle );
-+ pclose( pHandle );
-+ bufferIdx = 0;
-+ while( bufferIdx < bufferSize )
-+ {
-+ if( buffer[bufferIdx] == LINEFEED )
-+ {
-+ buffer[bufferIdx] = 0;
-+ break;
-+ }
-+ bufferIdx++;
-+ }
-+ fprintf( stdout, "%-25s\n", buffer+9 );
-+ while( fflush( stdout ) );
- }
- installedPortsDbIDX++;
- }
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-+ fprintf( stdout, "%s\n", DOUBLE_LINES );
- while( fflush( stdout ) );
-+ free( buffer );
- free( command );
-+ free( leafPortDir );
-+ free( leafPortName );
- MGdbDestroy( property->installedPortsDb );
-- MGdbDestroy( property->dependencyPortsDb );
-+ MGdbDestroy( property->availableDependenciesDb );
- return(0);
- }
-diff -ruN ../0.3.3_1/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c
---- ../0.3.3_1/libMGPM/src/MGPMrUpdate.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrUpdate.c Wed Nov 9 10:37:20 2005
-@@ -35,6 +35,7 @@
- {
- char* afterOptionsFileSize;
- char* afterOptionsFileTime;
-+ char* batchCheck;
- char* beforeOptionsFileSize;
- char* beforeOptionsFileTime;
- char* buffer;
-@@ -70,8 +71,6 @@
- char* availableDependenciesDbDependencyDirPtr = NULL;
- char* availableDependenciesDbDependencyNamePtr = NULL;
- char* bufferBase = NULL;
-- char* dependencyDbDependencyPortDirPtr = NULL;
-- char* dependencyDbDependencyPortNamePtr = NULL;
- char* installedPortsDbPortNamePtr = NULL;
- char* ipPtr = NULL;
- char* oldPortDirPtr = NULL;
-@@ -82,8 +81,6 @@
- int availableDependenciesDbQTY = 0;
- int availablePortsDbIDX = 0;
- int bufferSize = 0xffff;
-- int dependencyPortsDbIDX = 0;
-- int dependencyPortsDbQTY = 0;
- int errorCode = 0;
- int idx = 0;
- int installedPortsDbIDX = 0;
-@@ -96,6 +93,7 @@
-
- localProperty.afterOptionsFileSize = (char*)calloc( 511, 1 );
- localProperty.afterOptionsFileTime = (char*)calloc( 511, 1 );
-+ localProperty.batchCheck = (char*)calloc( 511, 1 );
- localProperty.beforeOptionsFileSize = (char*)calloc( 511, 1 );
- localProperty.beforeOptionsFileTime = (char*)calloc( 511, 1 );
- localProperty.buffer = (char*)calloc( bufferSize, 1 );
-@@ -111,13 +109,12 @@
- property->availablePortsDb = MGdbOpen( property->availablePortsDbFileName );
- property->commandLineDb = MGdbOpen( property->commandLineDbFileName );
- property->configDb = MGdbOpen( property->configDbFileName );
-- property->dependencyPortsDb = MGdbOpen( property->dependencyPortsDbFileName );
- property->ignoreDb = MGdbOpen( property->ignoreDbFileName );
- property->installedPortsDb = MGdbOpen( property->installedPortsDbFileName );
- property->strikesDb = MGdbOpen( property->strikesDbFileName );
-
- /*
-- * store work directoy base
-+ * store localProperty.workDir
- */
- strcpy( localProperty.workDir, "cd " );
- strcat( localProperty.workDir, PORTSDIR );
-@@ -163,9 +160,8 @@
- strcpy( localProperty.optionsDir, localProperty.buffer );
-
- /*
-- * BEFORE check for /var/db/ports/{oldPortDir} less sub dir
-- * if it exists get size/time of options file for later comparison
-- *
-+ * BEFORE check for /var/db/ports/{port dir name}/options
-+ * get size/time of file for later comparison
- *
- */
-
-@@ -182,6 +178,9 @@
- strcpy( localProperty.beforeOptionsFileTime, MGrIntToString( (int)MGrFileTime( localProperty.optionsDir ) ) );
- strcpy( localProperty.beforeOptionsFileSize, MGrIntToString( MGrFileSize( localProperty.optionsDir ) ) );
-
-+ /*
-+ * Do update in interactive mode (command line switch -ui )
-+ */
- if( property->interactive )
- {
- fprintf( stdout, "ok to update/rebuild %s %s (yes/no/auto yes to all) [y/n/a] [y]?\n", oldPortDir, oldPortName );
-@@ -241,9 +240,166 @@
- }
- }
-
-- /*
-- * 3 strikes check
-- */
-+ /************************************************************************/
-+ /* Command "1" " make -V OPTIONS" */
-+ /************************************************************************/
-+
-+ strcpy( localProperty.batchCheck, "cd " );
-+ strcat( localProperty.batchCheck, PORTSDIR );
-+ strcat( localProperty.batchCheck, oldPortDir );
-+ strcat( localProperty.batchCheck, "; make -V BATCH" );
-+
-+ pHandle = popen( localProperty.batchCheck, "r" );
-+ localProperty.buffer[0] = 0;
-+ fread( localProperty.buffer, bufferSize, 1, pHandle );
-+ pclose( pHandle );
-+ idx = 0;
-+ while( idx < bufferSize )
-+ {
-+ if( localProperty.buffer[idx] == LINEFEED )
-+ {
-+ localProperty.buffer[idx] = 0;
-+ break;
-+ }
-+ idx++;
-+ }
-+ if( strlen( localProperty.buffer ) > 0 ) /* BATCH is defined */
-+ {
-+ fprintf( stdout, "%s\n", SINGLE_LINES );
-+ fprintf( stdout, "%s %s:\n\t commands 1 & 2 of 14 OPTIONS check and \"make config\" skipped because BATCH is defined\n",
-+ id, PACKAGE_VERSION );
-+ fprintf( stdout, "\t recommend not defining BATCH so options may at least be set to their defaults\n" );
-+ while( fflush( stdout ) );
-+ }
-+ else
-+ {
-+ /*
-+ * If no /var/db/ports/{port dir name}/options file exists
-+ * yet make -V OPTIONS shows OPTIONS as being defined
-+ * make is going to bluescreen, we need to handle that here
-+ */
-+
-+ strcpy( localProperty.optionsCheck, "cd " );
-+ strcat( localProperty.optionsCheck, PORTSDIR );
-+ strcat( localProperty.optionsCheck, oldPortDir );
-+ strcat( localProperty.optionsCheck, "; make -V OPTIONS" );
-+
-+ fprintf( stdout, "%s\n", SINGLE_LINES );
-+ fprintf( stdout, "%s %s command: #1 of 14 %s\n", id, PACKAGE_VERSION, localProperty.optionsCheck );
-+ fprintf( stdout, "%s\n", SINGLE_LINES );
-+ while( fflush( stdout ) );
-+
-+ pHandle = popen( localProperty.optionsCheck, "r" );
-+ localProperty.buffer[0] = 0;
-+ fread( localProperty.buffer, bufferSize, 1, pHandle );
-+ pclose( pHandle );
-+ /************************************************************************/
-+ /* Command "2" " make conf" */
-+ /************************************************************************/
-+ if( strlen( localProperty.buffer ) > 4 )
-+ {
-+ /*
-+ * If here we know OPTIONS is defined, now need to know if
-+ * /var/db/ports/{package name}/options exists
-+ */
-+ fileStream = fopen( localProperty.optionsDir, "r" );
-+ if( fileStream == NULL ) /* no file */
-+ {
-+ if( options )
-+ {
-+ strcpy( localProperty.command, "cd " );
-+ strcat( localProperty.command, PORTSDIR );
-+ strcat( localProperty.command, oldPortDir );
-+ strcat( localProperty.command, "; make config " );
-+ strcat( localProperty.command, options );
-+ }
-+ else
-+ {
-+ strcpy( localProperty.command, "cd " );
-+ strcat( localProperty.command, PORTSDIR );
-+ strcat( localProperty.command, oldPortDir );
-+ strcat( localProperty.command, "; make config " );
-+ }
-+ fprintf( stdout, "%s\n", SINGLE_LINES );
-+ fprintf( stdout, "update %s \n", oldPortName );
-+ fprintf( stdout, "%s %s command: #2 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s\n", SINGLE_LINES );
-+ while( fflush( stdout ) );
-+ system(localProperty.command);
-+ }
-+ else
-+ {
-+ fclose( fileStream );
-+ }
-+ strcpy( localProperty.afterOptionsFileTime, MGrIntToString( (int)MGrFileTime( localProperty.optionsDir ) ) );
-+ strcpy( localProperty.afterOptionsFileSize, MGrIntToString( MGrFileSize( localProperty.optionsDir ) ) );
-+
-+ /*
-+ * test to see if any options changed
-+ */
-+ if( strlen( localProperty.beforeOptionsFileTime ) != strlen( localProperty.afterOptionsFileTime ) ||
-+ strlen( localProperty.beforeOptionsFileSize ) != strlen( localProperty.afterOptionsFileSize ) ||
-+ strcmp( localProperty.beforeOptionsFileTime, localProperty.afterOptionsFileTime ) ||
-+ strcmp( localProperty.beforeOptionsFileSize, localProperty.afterOptionsFileSize ) )
-+ {
-+ /*
-+ * options changed so need to purge oldPortDir's records
-+ * from availablePortsDb and availableDependenciesDb
-+ */
-+ property->optionsChanged = 1;
-+ MGdbGoTop( property->availablePortsDb );
-+ while( MGdbSeek( property->availablePortsDb,
-+ property->fieldAvailablePortsDbPortDir,
-+ oldPortDir,
-+ property->fieldAvailablePortsDbPortDir,
-+ exact ) )
-+ {
-+ fprintf( stdout, "%s info: purging availablePortsDb of old %s record\n",
-+ id,
-+ MGdbGet( property->availablePortsDb,
-+ MGdbGetRecno( property->availablePortsDb ) - 1,
-+ property->fieldAvailablePortsDbPortName ) );
-+ while( fflush( stdout ) );
-+ property->availablePortsDb = MGdbDelete( property->availablePortsDb,
-+ MGdbGetRecno( property->availablePortsDb ) - 1 );
-+ MGdbGoTop( property->availablePortsDb );
-+ }
-+
-+ MGdbGoTop( property->availableDependenciesDb );
-+ while( MGdbSeek( property->availableDependenciesDb,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ oldPortDir,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ exact ) )
-+ {
-+ fprintf( stdout, "%s info: purging availableDependenciesDb of old %s dependency records %s\n",
-+ id,
-+ MGdbGet( property->availableDependenciesDb,
-+ MGdbGetRecno( property->availableDependenciesDb ) - 1,
-+ property->fieldAvailableDependenciesDbPortName ),
-+ MGdbGet( property->availableDependenciesDb,
-+ MGdbGetRecno( property->availableDependenciesDb ) - 1,
-+ property->fieldAvailableDependenciesDbDependencyName ) );
-+ while( fflush( stdout ) );
-+ MGdbDelete( property->availableDependenciesDb, MGdbGetRecno( property->availableDependenciesDb ) - 1 );
-+ MGdbGoTop( property->availableDependenciesDb );
-+ }
-+ /*
-+ * add oldPortDir's new records back into availablePortsDb
-+ * and availableDependenciesDb
-+ */
-+ fprintf( stdout, "%s info: adding new/modified %s records\n", id, oldPortDir );
-+ MGPMrSinglePortCreateStatusDb( property, oldPortDir );
-+ rCleanUp( property, &localProperty );
-+ return( 0 );
-+ }
-+ }
-+
-+ }
-+
-+ /************************************************************************/
-+ /* 3 strikes check */
-+ /************************************************************************/
- MGdbGoTop( property->strikesDb );
- strikePtr = MGdbSeek( property->strikesDb, property->fieldStrikesDbPortDir, oldPortDir, property->fieldStrikesIDX, exact );
- if( strikePtr )
-@@ -288,8 +444,9 @@
- system( localProperty.command );
- }
- /*
--dualOriginCheck( property, oldPortName );
--*/
-+ * dualOriginCheck( property, oldPortName ); used to be here in old portmanager ver < 0.3.1, seems to be no longer
-+ * needed, keep this note just in case
-+ */
- }
- }
- else
-@@ -301,7 +458,7 @@
- options = MGdbSeek( property->configDb, property->fieldConfigDbKey, oldPortDir, property->fieldConfigDbValue, exact );
-
- /************************************************************************/
-- /* Command "1" " make check-conflicts " */
-+ /* Command "3" " make check-conflicts " */
- /************************************************************************/
- if( options )
- {
-@@ -320,7 +477,7 @@
- }
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "checking for conflicts before building %s\n", oldPortName );
-- fprintf( stdout, "%s %s command: #1 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #3 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( errorCode = system(localProperty.command) ) )
-@@ -492,7 +649,7 @@
- return( 0 );
- }
- /************************************************************************/
-- /* Command "1.1" " make -V FORBIDDEN " */
-+ /* Command "4" " make -V FORBIDDEN " */
- /************************************************************************/
- if( ( errorCode = rPortBrokeCheck( property, options, oldPortDir, oldPortName, FORBIDDEN ) ) )
- {
-@@ -511,8 +668,9 @@
- }
-
- }
-+
- /************************************************************************/
-- /* Command "1.2" " make -V BROKEN " */
-+ /* Command "5" " make -V BROKEN " */
- /************************************************************************/
- if( ( errorCode = rPortBrokeCheck( property, options, oldPortDir, oldPortName, BROKEN ) ) )
- {
-@@ -531,8 +689,9 @@
- }
-
- }
-+
- /************************************************************************/
-- /* Command "1.3" " make -V IGNORE " */
-+ /* Command "6" " make -V IGNORE " */
- /************************************************************************/
- if( ( errorCode = rPortBrokeCheck( property, options, oldPortDir, oldPortName, IGNORE ) ) )
- {
-@@ -551,99 +710,53 @@
- }
-
- }
-+
- /************************************************************************/
-- /* Command "2" " make clean " */
-+ /* Command "7" " make clean " */
- /************************************************************************/
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "intitial clean of work directories \n" );
-- fprintf( stdout, "%s %s command: #2 of 8: \n", id, PACKAGE_VERSION );
-+ fprintf( stdout, "%s %s command: #7 of 14: \n", id, PACKAGE_VERSION );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
-
-- if( property->pmMode == SINGLE )
-- {
-- availableDependenciesDbQTY = MGdbGetRecordQty( property->availableDependenciesDb );
-- MGdbGoTop( property->availableDependenciesDb );
-- oldPortDirPtr = MGdbSeek( property->availableDependenciesDb,
-- property->fieldAvailableDependenciesDbPortDir,
-- oldPortDir,
-- property->fieldAvailableDependenciesDbPortDir,
-- exact );
-+ availableDependenciesDbQTY = MGdbGetRecordQty( property->availableDependenciesDb );
-+ MGdbGoTop( property->availableDependenciesDb );
-+ oldPortDirPtr = MGdbSeek( property->availableDependenciesDb,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ oldPortDir,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ exact );
-
-- availableDependenciesDbIDX = MGdbGetRecno( property->availableDependenciesDb )-1;
-+ availableDependenciesDbIDX = MGdbGetRecno( property->availableDependenciesDb )-1;
-+
-+ availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbDependencyDir );
-+
-+ availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbDependencyName );
-
-+ while( oldPortDirPtr && availableDependenciesDbIDX < availableDependenciesDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-+ {
-+ rCleanDir( availableDependenciesDbDependencyDirPtr, localProperty.workDir );
-+
-+ oldPortDirPtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbPortDir );
- availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
- availableDependenciesDbIDX,
- property->fieldAvailableDependenciesDbDependencyDir );
--
- availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
- availableDependenciesDbIDX,
- property->fieldAvailableDependenciesDbDependencyName );
--
-- while( oldPortDirPtr && availableDependenciesDbIDX < availableDependenciesDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-- {
-- rCleanDir( availableDependenciesDbDependencyDirPtr, localProperty.workDir );
--
-- oldPortDirPtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbPortDir );
-- availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbDependencyDir );
-- availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbDependencyName );
-- availableDependenciesDbIDX++;
-- }
-- rCleanDir( oldPortDir, localProperty.workDir );
-- }
-- else
-- {
-- dependencyPortsDbQTY = MGdbGetRecordQty( property->dependencyPortsDb );
--
-- MGdbGoTop( property->dependencyPortsDb );
--
-- oldPortDirPtr = MGdbSeek( property->dependencyPortsDb,
-- property->fieldDependencyDbPortDir,
-- oldPortDir,
-- property->fieldDependencyDbPortDir,
-- exact );
--
-- dependencyPortsDbIDX = MGdbGetRecno( property->dependencyPortsDb )-1;
--
-- dependencyDbDependencyPortDirPtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortDir );
--
-- dependencyDbDependencyPortNamePtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortName );
--
-- while( oldPortDirPtr && dependencyPortsDbIDX < dependencyPortsDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-- {
-- rCleanDir( dependencyDbDependencyPortDirPtr, localProperty.workDir );
--
-- oldPortDirPtr = MGdbSeek( property->dependencyPortsDb,
-- property->fieldDependencyDbPortDir,
-- oldPortDir,
-- property->fieldDependencyDbPortDir,
-- exact );
--
-- dependencyDbDependencyPortDirPtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortDir );
--
-- dependencyDbDependencyPortNamePtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortName );
--
-- dependencyPortsDbIDX++;
-- }
-- rCleanDir( oldPortDir, localProperty.workDir );
-+ availableDependenciesDbIDX++;
- }
-+ rCleanDir( oldPortDir, localProperty.workDir );
-
- /************************************************************************/
-- /* Command "3.1" " make fetch" */
-+ /* Command "8" make fetch */
- /************************************************************************/
- strcpy( localProperty.command, "cd " );
- strcat( localProperty.command, PORTSDIR );
-@@ -655,7 +768,7 @@
- }
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "fetch %s \n", oldPortName );
-- fprintf( stdout, "%s %s command: #3.1 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #8 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( errorCode = system(localProperty.command) ) )
-@@ -676,143 +789,8 @@
- return(0);
- }
-
--
-- /************************************************************************/
-- /* Command "3.2" " make -V OPTIONS" */
-- /************************************************************************/
--
-- /*
-- * If no /var/db/ports/{package name}/options file exists
-- * yet make -V OPTIONS shows OPTIONS as being defined
-- * make is going to bluescreen, we need to handle that here
-- */
--
-- strcpy( localProperty.optionsCheck, "cd " );
-- strcat( localProperty.optionsCheck, PORTSDIR );
-- strcat( localProperty.optionsCheck, oldPortDir );
-- strcat( localProperty.optionsCheck, "; make -V OPTIONS" );
--
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- fprintf( stdout, "%s %s command: #3.2 of 8 %s\n", id, PACKAGE_VERSION, localProperty.optionsCheck );
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- while( fflush( stdout ) );
--
-- pHandle = popen( localProperty.optionsCheck, "r" );
-- localProperty.buffer[0] = 0;
-- fread( localProperty.buffer, bufferSize, 1, pHandle );
-- pclose( pHandle );
- /************************************************************************/
-- /* Command "3.3" " make conf" */
-- /************************************************************************/
-- if( strlen( localProperty.buffer ) > 4 )
-- {
-- /*
-- * If here we know OPTIONS is defined, now need to know if
-- * /var/db/ports/{package name}/options exists
-- */
-- fileStream = fopen( localProperty.optionsDir, "r" );
-- if( fileStream == NULL ) /* no file */
-- {
-- if( options )
-- {
-- strcpy( localProperty.command, "cd " );
-- strcat( localProperty.command, PORTSDIR );
-- strcat( localProperty.command, oldPortDir );
-- strcat( localProperty.command, "; make config " );
-- strcat( localProperty.command, options );
-- }
-- else
-- {
-- strcpy( localProperty.command, "cd " );
-- strcat( localProperty.command, PORTSDIR );
-- strcat( localProperty.command, oldPortDir );
-- strcat( localProperty.command, "; make config " );
-- }
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- fprintf( stdout, "update %s \n", oldPortName );
-- fprintf( stdout, "%s %s command: #3.3 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-- fprintf( stdout, "%s\n", SINGLE_LINES );
-- while( fflush( stdout ) );
-- system(localProperty.command);
-- }
-- else
-- {
-- fclose( fileStream );
-- }
-- strcpy( localProperty.afterOptionsFileTime, MGrIntToString( (int)MGrFileTime( localProperty.optionsDir ) ) );
-- strcpy( localProperty.afterOptionsFileSize, MGrIntToString( MGrFileSize( localProperty.optionsDir ) ) );
--
-- /*
-- * test to see if any options changed
-- */
-- if( strlen( localProperty.beforeOptionsFileTime ) != strlen( localProperty.afterOptionsFileTime ) ||
-- strlen( localProperty.beforeOptionsFileSize ) != strlen( localProperty.afterOptionsFileSize ) ||
-- strcmp( localProperty.beforeOptionsFileTime, localProperty.afterOptionsFileTime ) ||
-- strcmp( localProperty.beforeOptionsFileSize, localProperty.afterOptionsFileSize ) )
-- {
--fprintf( stdout, "%s debug 01: beforeOptionsFileTime-=>%s afterOptionsFileTime-=>%s beforeOptionsFileSize-=>%s afterOptionsFileSize-=>%s\n",
-- id,
-- localProperty.beforeOptionsFileTime,
-- localProperty.afterOptionsFileTime,
-- localProperty.beforeOptionsFileSize,
-- localProperty.afterOptionsFileSize );
--while( fflush( stdout ) );
--
-- /*
-- * options changed so need to purge oldPortDir's records
-- * from availablePortsDb and availableDependenciesDb
-- */
-- property->optionsChanged = 1;
-- MGdbGoTop( property->availablePortsDb );
-- while( MGdbSeek( property->availablePortsDb,
-- property->fieldAvailablePortsDbPortDir,
-- oldPortDir,
-- property->fieldAvailablePortsDbPortDir,
-- exact ) )
-- {
-- fprintf( stdout, "%s info: purging availablePortsDb of old %s record\n",
-- id,
-- MGdbGet( property->availablePortsDb,
-- MGdbGetRecno( property->availablePortsDb ) - 1,
-- property->fieldAvailablePortsDbPortName ) );
-- while( fflush( stdout ) );
-- property->availablePortsDb = MGdbDelete( property->availablePortsDb,
-- MGdbGetRecno( property->availablePortsDb ) - 1 );
-- MGdbGoTop( property->availablePortsDb );
-- }
--
-- MGdbGoTop( property->availableDependenciesDb );
-- while( MGdbSeek( property->availableDependenciesDb,
-- property->fieldAvailableDependenciesDbPortDir,
-- oldPortDir,
-- property->fieldAvailableDependenciesDbPortDir,
-- exact ) )
-- {
-- fprintf( stdout, "%s info: purging availableDependenciesDb of old %s dependency records %s\n",
-- id,
-- MGdbGet( property->availableDependenciesDb,
-- MGdbGetRecno( property->availableDependenciesDb ) - 1,
-- property->fieldAvailableDependenciesDbPortName ),
-- MGdbGet( property->availableDependenciesDb,
-- MGdbGetRecno( property->availableDependenciesDb ) - 1,
-- property->fieldAvailableDependenciesDbDependencyName ) );
-- while( fflush( stdout ) );
-- MGdbDelete( property->availableDependenciesDb, MGdbGetRecno( property->availableDependenciesDb ) - 1 );
-- MGdbGoTop( property->availableDependenciesDb );
-- }
-- /*
-- * add oldPortDir's new records back into availablePortsDb
-- * and availableDependenciesDb
-- */
-- fprintf( stdout, "%s info: adding new/modified %s records\n", id, oldPortDir );
-- MGPMrSinglePortCreateStatusDb( property, oldPortDir );
-- rCleanUp( property, &localProperty );
-- return( 0 );
-- }
-- }
--
-- /************************************************************************/
-- /* Command "3.4" " make" */
-+ /* Command "9" " make" */
- /************************************************************************/
- if( options )
- {
-@@ -831,7 +809,7 @@
- }
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "update %s \n", oldPortName );
-- fprintf( stdout, "%s %s command: #3.4 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #9 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( errorCode = system(localProperty.command) ) )
-@@ -852,13 +830,13 @@
- return(0);
- }
- /************************************************************************/
-- /* Command "4" " pkg_create -b " */
-+ /* Command "10" pkg_create -b */
- /************************************************************************/
- if( strcmp( oldPortName, "not installed" ) == 0 )
- {
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "backing up installed %s before removing it \n", oldPortName );
-- fprintf( stdout, "%s %s command: #4 of 8 N/A - new port\n", id, PACKAGE_VERSION );
-+ fprintf( stdout, "%s %s command: #10 of 14 N/A - new port\n", id, PACKAGE_VERSION );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- }
-@@ -871,13 +849,13 @@
-
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "backing up installed %s before removing it \n", oldPortName );
-- fprintf( stdout, "%s %s command: #4 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #10 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- system(localProperty.command);
- }
- /************************************************************************/
-- /* Command "5" " make deinstall " */
-+ /* Command "11" " make deinstall " */
- /************************************************************************/
- /*
- * inforced mass update mode portmanager CANNOT loose its databases
-@@ -934,7 +912,7 @@
- {
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "removing old %s \n", oldPortName );
-- fprintf( stdout, "%s %s command: #5 of 8 N/A new port\n", id, PACKAGE_VERSION );
-+ fprintf( stdout, "%s %s command: #11 of 14 N/A new port\n", id, PACKAGE_VERSION );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- }
-@@ -944,7 +922,7 @@
- strcat( localProperty.command, oldPortName);
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "removing old %s \n", oldPortName );
-- fprintf( stdout, "%s %s command: #5 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #11 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( system(localProperty.command) ) )
-@@ -957,7 +935,7 @@
-
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "trying one more way to remove %s...\n", oldPortName );
-- fprintf( stdout, "%s %s command: #5 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #11 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- system(localProperty.command);
-@@ -965,7 +943,7 @@
- }
- }
- /************************************************************************/
-- /* Command "6" " make reinstall " */
-+ /* Command "12" make reinstall */
- /************************************************************************/
- if( options )
- {
-@@ -984,7 +962,7 @@
- }
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stdout, "installing updated %s \n", oldPortDir );
-- fprintf( stdout, "%s %s command: #6 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #12 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( errorCode = system( localProperty.command ) ) )
-@@ -1007,7 +985,7 @@
- strcat(localProperty.command, ".tgz");
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stderr, "restoring original port from backup \n" );
-- fprintf( stderr, "%s %s command: #6!! ***Emergancy restore*** %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stderr, "%s %s command: #12 of 14!! ***Emergancy restore*** %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- if( ( errorCode = system( localProperty.command ) ) )
-@@ -1057,14 +1035,14 @@
- strcat( localProperty.command, ".tgz" );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stderr, "deleting backup copy, installation of updated %s successful\n", oldPortDir );
-- fprintf( stdout, "%s %s command: #6 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #12 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- system( localProperty.command );
- }
- }
- /************************************************************************/
-- /* Command "7" " make package " */
-+ /* Command "13" make package */
- /************************************************************************/
- if( property->backUp )
- {
-@@ -1085,7 +1063,7 @@
- }
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stderr, "making package of updated %s \n", oldPortDir );
-- fprintf( stdout, "%s %s command: #7 of 8 %s\n", id, PACKAGE_VERSION, localProperty.command );
-+ fprintf( stdout, "%s %s command: #13 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
- system(localProperty.command);
-@@ -1098,11 +1076,11 @@
- while( fflush( stdout ) );
- }
- /************************************************************************/
-- /* Command "8" " make clean " */
-+ /* Command "14" make clean */
- /************************************************************************/
- fprintf( stdout, "%s\n", SINGLE_LINES );
- fprintf( stderr, "terminal clean of work directories\n" );
-- fprintf( stdout, "%s %s command: #8 of 8\n", id, PACKAGE_VERSION );
-+ fprintf( stdout, "%s %s command: #14 of 14\n", id, PACKAGE_VERSION );
- fprintf( stdout, "%s\n", SINGLE_LINES );
- while( fflush( stdout ) );
-
-@@ -1116,87 +1094,40 @@
- }
- else
- {
-- if( property->pmMode == SINGLE )
-- {
-- availableDependenciesDbQTY = MGdbGetRecordQty( property->availableDependenciesDb );
-- MGdbGoTop( property->availableDependenciesDb );
-- oldPortDirPtr = MGdbSeek( property->availableDependenciesDb,
-- property->fieldAvailableDependenciesDbPortDir,
-- oldPortDir,
-- property->fieldAvailableDependenciesDbPortDir,
-- exact );
-+ availableDependenciesDbQTY = MGdbGetRecordQty( property->availableDependenciesDb );
-+ MGdbGoTop( property->availableDependenciesDb );
-+ oldPortDirPtr = MGdbSeek( property->availableDependenciesDb,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ oldPortDir,
-+ property->fieldAvailableDependenciesDbPortDir,
-+ exact );
-+
-+ availableDependenciesDbIDX = MGdbGetRecno( property->availableDependenciesDb )-1;
-+
-+ availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbDependencyDir );
-+
-+ availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbDependencyName );
-
-- availableDependenciesDbIDX = MGdbGetRecno( property->availableDependenciesDb )-1;
-+ while( oldPortDirPtr && availableDependenciesDbIDX < availableDependenciesDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-+ {
-+ rCleanDir( availableDependenciesDbDependencyDirPtr, localProperty.workDir );
-
-+ oldPortDirPtr = MGdbGet( property->availableDependenciesDb,
-+ availableDependenciesDbIDX,
-+ property->fieldAvailableDependenciesDbPortDir );
- availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
- availableDependenciesDbIDX,
- property->fieldAvailableDependenciesDbDependencyDir );
--
- availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
- availableDependenciesDbIDX,
- property->fieldAvailableDependenciesDbDependencyName );
--
-- while( oldPortDirPtr && availableDependenciesDbIDX < availableDependenciesDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-- {
-- rCleanDir( availableDependenciesDbDependencyDirPtr, localProperty.workDir );
--
-- oldPortDirPtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbPortDir );
-- availableDependenciesDbDependencyDirPtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbDependencyDir );
-- availableDependenciesDbDependencyNamePtr = MGdbGet( property->availableDependenciesDb,
-- availableDependenciesDbIDX,
-- property->fieldAvailableDependenciesDbDependencyName );
-- availableDependenciesDbIDX++;
-- }
-- rCleanDir( oldPortDir, localProperty.workDir );
-- }
-- else
-- {
-- dependencyPortsDbQTY = MGdbGetRecordQty( property->dependencyPortsDb );
--
-- MGdbGoTop( property->dependencyPortsDb );
--
-- oldPortDirPtr = MGdbSeek( property->dependencyPortsDb,
-- property->fieldDependencyDbPortDir,
-- oldPortDir,
-- property->fieldDependencyDbPortDir,
-- exact );
--
-- dependencyPortsDbIDX = MGdbGetRecno( property->dependencyPortsDb )-1;
--
-- dependencyDbDependencyPortDirPtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortDir );
--
-- dependencyDbDependencyPortNamePtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortName );
--
-- while( oldPortDirPtr && dependencyPortsDbIDX < dependencyPortsDbQTY && strcmp( oldPortDir, oldPortDirPtr ) == 0 )
-- {
-- rCleanDir( dependencyDbDependencyPortDirPtr, localProperty.workDir );
--
-- oldPortDirPtr = MGdbSeek( property->dependencyPortsDb,
-- property->fieldDependencyDbPortDir,
-- oldPortDir,
-- property->fieldDependencyDbPortDir,
-- exact );
--
-- dependencyDbDependencyPortDirPtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortDir );
--
-- dependencyDbDependencyPortNamePtr = MGdbGet( property->dependencyPortsDb,
-- dependencyPortsDbIDX,
-- property->fieldDependencyDbDependencyPortName );
--
-- dependencyPortsDbIDX++;
-- }
-- rCleanDir( oldPortDir, localProperty.workDir );
-+ availableDependenciesDbIDX++;
- }
-+ rCleanDir( oldPortDir, localProperty.workDir );
- }
-
- /*
-@@ -1286,13 +1217,13 @@
- MGdbDestroy( property->availablePortsDb );
- MGdbDestroy( property->commandLineDb );
- MGdbDestroy( property->configDb );
-- MGdbDestroy( property->dependencyPortsDb );
- MGdbDestroy( property->ignoreDb );
- MGdbDestroy( property->installedPortsDb );
- MGdbDestroy( property->strikesDb );
-
- free( localProperty->afterOptionsFileSize );
- free( localProperty->afterOptionsFileTime );
-+ free( localProperty->batchCheck );
- free( localProperty->beforeOptionsFileSize );
- free( localProperty->beforeOptionsFileTime );
- free( localProperty->buffer );
-diff -ruN ../0.3.3_1/programmer-notes.txt ./programmer-notes.txt
---- ../0.3.3_1/programmer-notes.txt Tue Nov 8 17:05:25 2005
-+++ ./programmer-notes.txt Wed Nov 9 10:46:58 2005
-@@ -1,13 +1,13 @@
- portmanager program overview
-
--Must do before releasing
-+TODO list
-
- auto stop/start of programs?
-- dual origin
- move database files to /var/db/portmanager
- test in 6.0
-+ use signal to abort only current build?
-+ use signal to off/on inteactive mode?
- use signal to shutdown with <ctl> c
-- valgrind clean
- c/w (yes/no/auto yes to all) [y/n/a] [y]
- c/w --resume option for forced modes
- c/w -sl
-@@ -20,12 +20,14 @@
- c/w get ignored ports from pm-020.conf working
- c/w no packages option
- c/w put an inkeys on conflicting port removal
-+c/w respect a defined BATCH=1
- c/w seperate make/make fetch for better logging of errors
- c/w test emergency restore
- c/w test moved ports
- c/w three strikes
- c/w update man pages
- c/w update web site
-+inw valgrind clean
-
- portmanager.c - passes argv, arc to MGPMrCommandLine.c
-
diff --git a/ports-mgmt/portmanager/files/patch-0.3.3_3 b/ports-mgmt/portmanager/files/patch-0.3.3_3
deleted file mode 100644
index f4893c3dbae3..000000000000
--- a/ports-mgmt/portmanager/files/patch-0.3.3_3
+++ /dev/null
@@ -1,719 +0,0 @@
-diff -ruN ../0.3.3_2/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c
---- ../0.3.3_2/libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrCreateAllUpdateStatusDb.c Thu Nov 10 07:57:49 2005
-@@ -159,7 +159,9 @@
- availablePortsDbIDX = 1;
- while( availablePortsDbIDX < availablePortsDbQTY )
- {
-- if( strncmp( MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbFlag ), "0", 1 ) == 0 )
-+ if( MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbFlag )
-+ &&
-+ strncmp( MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbFlag ), "0", 1 ) == 0 )
- {
- strcpy( availablePortDir, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortDir ) );
- strcpy( availablePortName, MGdbGet( property->availablePortsDb, availablePortsDbIDX, property->fieldAvailablePortsDbPortName ) );
-diff -ruN ../0.3.3_2/libMGPM/src/MGPMrReadConfigure.c ./libMGPM/src/MGPMrReadConfigure.c
---- ../0.3.3_2/libMGPM/src/MGPMrReadConfigure.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrReadConfigure.c Wed Nov 9 20:01:21 2005
-@@ -93,6 +93,24 @@
- strcat( command, property->configConfFileName );
- system( command );
- }
-+ strcpy( command, "chmod 0600 " );
-+ strcat( command, property->configConfFileName );
-+ system( command );
-+
-+ strcpy( command, "chmod 0600 " );
-+ strcat( command, property->configConfFileName );
-+ strcat( command, ".SAMPLE " );
-+ system( command );
-+
-+ strcpy( command, "chown root:wheel " );
-+ strcat( command, property->configConfFileName );
-+ system( command );
-+
-+ strcpy( command, "chown root:wheel " );
-+ strcat( command, property->configConfFileName );
-+ strcat( command, ".SAMPLE " );
-+ system( command );
-+
- /*********************/
- /* parse pm-020.conf */
- /*********************/
-diff -ruN ../0.3.3_2/libMGPM/src/MGPMrShowLeavesDelete.c ./libMGPM/src/MGPMrShowLeavesDelete.c
---- ../0.3.3_2/libMGPM/src/MGPMrShowLeavesDelete.c Tue Nov 8 17:05:25 2005
-+++ ./libMGPM/src/MGPMrShowLeavesDelete.c Thu Nov 10 01:03:17 2005
-@@ -30,17 +30,17 @@
- #include <libMGPM.h>
- #include <sgtty.h>
-
--int nuke( char* leafPortDirPtr );
-+int nuke( char* leafPortDir );
- int rebuildDb( structProperty* property, int* installedPortsDbQTY );
--int removePort( structProperty* property, char* leafPortNamePtr, int installedPortsDbIDX );
-+int removePort( structProperty* property, char* leafPortName, int installedPortsDbIDX );
-
- int MGPMrShowLeavesDelete( structProperty* property )
- {
- char exact[] = "exact";
- char id[] = "MGPMrShowLeavesDelete";
- char* command = NULL;
-- char* leafPortDirPtr = NULL;
-- char* leafPortNamePtr = NULL;
-+ char* leafPortDir = NULL;
-+ char* leafPortName = NULL;
- char* pkgDescFile = NULL;
- char* portDirPtr = NULL;
- char* portTypePtr = NULL;
-@@ -49,8 +49,10 @@
- int installedPortsDbQTY = 0;
- int key = 1;
-
-- pkgDescFile = (char*)calloc( bufferSize, 1 );
-- command = (char*)calloc( bufferSize, 1 );
-+ command = calloc( bufferSize, 1 );
-+ leafPortDir = calloc( bufferSize, 1 );
-+ leafPortName = calloc( bufferSize, 1 );
-+ pkgDescFile = calloc( bufferSize, 1 );
-
- if( ( property->ignoreDb = MGdbOpen( property->ignoreDbFileName ) ) == NULL )
- {
-@@ -84,8 +86,8 @@
- installedPortsDbIDX = 1;
- while( installedPortsDbIDX < installedPortsDbQTY )
- {
-- leafPortDirPtr = MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortDir );
-- leafPortNamePtr = MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortName );
-+ strcpy( leafPortDir, MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortDir ) );
-+ strcpy( leafPortName, MGdbGet( property->installedPortsDb, installedPortsDbIDX, property->fieldInstalledPortsDbPortName ) );
-
- /*
- * check for no run depends
-@@ -93,7 +95,7 @@
- MGdbGoTop( property->dependencyPortsDb );
- portDirPtr = MGdbSeek( property->dependencyPortsDb,
- property->fieldDependencyDbDependencyPortDir,
-- leafPortDirPtr,
-+ leafPortDir,
- property->fieldDependencyDbDependencyPortDir,
- exact );
-
-@@ -105,7 +107,7 @@
- MGdbGoTop( property->availableDependenciesDb );
- portTypePtr = MGdbSeek( property->availableDependenciesDb,
- property->fieldAvailableDependenciesDbDependencyDir,
-- leafPortDirPtr,
-+ leafPortDir,
- property->fieldAvailableDependenciesDbDependType,
- exact );
-
-@@ -113,7 +115,7 @@
- {
- portTypePtr = MGdbSeek( property->availableDependenciesDb,
- property->fieldAvailableDependenciesDbDependencyDir,
-- leafPortDirPtr,
-+ leafPortDir,
- property->fieldAvailableDependenciesDbDependType,
- exact );
- }
-@@ -132,11 +134,11 @@
- 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", leafPortNamePtr, leafPortDirPtr );
-+ fprintf( stdout, "%s dir -=> %s\n\n", leafPortName, leafPortDir );
- while( fflush( stdout ) );
-
- strcpy( pkgDescFile, PORTSDIR );
-- strcat( pkgDescFile, leafPortDirPtr );
-+ strcat( pkgDescFile, leafPortDir );
- strcat( pkgDescFile, "/pkg-descr" );
-
- if( MGrIfFileExist( pkgDescFile ) )
-@@ -150,7 +152,7 @@
- {
- strcpy( command, "grep COMMENT " );
- strcat( command, PORTSDIR );
-- strcat( command, leafPortDirPtr );
-+ strcat( command, leafPortDir );
- strcat( command, "/Makefile" );
- system( command );
- }
-@@ -167,48 +169,48 @@
- }
- case KEY_SPACE:
- {
-- MGdbAdd( property->ignoreDb, leafPortDirPtr, "-slid <SPACE> skipped", NULL );
-- fprintf( stdout, "<SPACE> Skipping %s\n\n", leafPortNamePtr );
-+ 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", leafPortNamePtr );
-- removePort( property, leafPortNamePtr, installedPortsDbIDX );
-- nuke( leafPortDirPtr );
-+ 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", leafPortNamePtr );
-- removePort( property, leafPortNamePtr, installedPortsDbIDX );
-- nuke( leafPortDirPtr );
-+ fprintf( stdout, "<N> Nuking %s\n\n", leafPortName );
-+ removePort( property, leafPortName, installedPortsDbIDX );
-+ nuke( leafPortDir );
- rebuildDb( property, &installedPortsDbQTY );
- break;
- }
- case KEY_x:
- {
- /* delete() */
-- fprintf( stdout, "<x> Removing %s\n\n", leafPortNamePtr );
-- removePort( property, leafPortNamePtr, installedPortsDbIDX );
-+ fprintf( stdout, "<x> Removing %s\n\n", leafPortName );
-+ removePort( property, leafPortName, installedPortsDbIDX );
- rebuildDb( property, &installedPortsDbQTY );
- break;
- }
- case KEY_X:
- {
- /* delete() */
-- fprintf( stdout, "<X> Removing %s\n\n", leafPortNamePtr );
-- removePort( property, leafPortNamePtr, installedPortsDbIDX );
-+ fprintf( stdout, "<X> Removing %s\n\n", leafPortName );
-+ removePort( property, leafPortName, installedPortsDbIDX );
- rebuildDb( property, &installedPortsDbQTY );
- break;
- }
- default:
- {
-- MGdbAdd( property->ignoreDb, leafPortDirPtr, "-slid <DEFAULT> skipped", NULL );
-- fprintf( stdout, "Skipping %s\n\n", leafPortNamePtr );
-+ MGdbAdd( property->ignoreDb, leafPortDir, "-slid <DEFAULT> skipped", NULL );
-+ fprintf( stdout, "Skipping %s\n\n", leafPortName );
- break;
- }
- }
-@@ -221,6 +223,9 @@
- MGdbDestroy( property->ignoreDb );
- MGdbDestroy( property->installedPortsDb );
- free( command );
-+ free( leafPortDir );
-+ free( leafPortName );
-+ free( pkgDescFile );
- return(0);
- }
-
-@@ -266,7 +271,7 @@
- }
-
- /***********************************************************************/
--int nuke( char* leafPortDirPtr )
-+int nuke( char* leafPortDir )
- {
- char* command = NULL;
-
-@@ -274,7 +279,7 @@
-
- strcpy( command, "cd " );
- strcat( command, PORTSDIR );
-- strcat( command, leafPortDirPtr );
-+ strcat( command, leafPortDir );
- strcat( command, "; make distclean" );
- fprintf( stdout, "\nexecuting: %s\n", command );
- while( fflush( stdout ) );
-diff -ruN ../0.3.3_2/libMGPM/src/MGPMrUpdate.c ./libMGPM/src/MGPMrUpdate.c
---- ../0.3.3_2/libMGPM/src/MGPMrUpdate.c Wed Nov 9 13:24:45 2005
-+++ ./libMGPM/src/MGPMrUpdate.c Wed Nov 9 21:54:00 2005
-@@ -41,10 +41,15 @@
- char* buffer;
- char* command;
- char* commandRestart;
-+ char* installedPortName;
- char* newPortDir;
- char* newPortName;
- char* optionsCheck;
- char* optionsDir;
-+ char* startPortCmd;
-+ char* startPortDir;
-+ char* stopPortCmd;
-+ char* stopPortDir;
- char* workDir;
- } structLocalProperty;
-
-@@ -58,6 +63,8 @@
- char BROKEN[] = "BROKEN";
- char FORBIDDEN[] = "FORBIDDEN";
- char IGNORE[] = "IGNORE";
-+ char START[] = "/START";
-+ char STOP[] = "/STOP";
- char backUp[] = "--back-up";
- char bu[] = "-bu";
- char exact[] = "exact";
-@@ -71,11 +78,12 @@
- char* availableDependenciesDbDependencyDirPtr = NULL;
- char* availableDependenciesDbDependencyNamePtr = NULL;
- char* bufferBase = NULL;
-- char* installedPortsDbPortNamePtr = NULL;
- char* ipPtr = NULL;
- char* oldPortDirPtr = NULL;
- char* options = NULL;
- char* stinker = NULL;
-+ char* startPortDirPtr = NULL;
-+ char* stopPortDirPtr = NULL;
- char* strikePtr = NULL;
- int availableDependenciesDbIDX = 0;
- int availableDependenciesDbQTY = 0;
-@@ -99,12 +107,17 @@
- localProperty.buffer = (char*)calloc( bufferSize, 1 );
- localProperty.command = (char*)calloc( bufferSize, 1 );
- localProperty.commandRestart = (char*)calloc( bufferSize, 1 );
-+ localProperty.installedPortName = (char*)calloc( 511, 1 );
- localProperty.newPortDir = (char*)calloc( 511, 1 );
- localProperty.newPortName = (char*)calloc( 511, 1 );
- localProperty.optionsCheck = (char*)calloc( 511, 1 );
- localProperty.optionsDir = (char*)calloc( 511, 1 );
-+ localProperty.startPortCmd = (char*)calloc( 511, 1 );
-+ localProperty.startPortDir = (char*)calloc( 511, 1 );
-+ localProperty.stopPortCmd = (char*)calloc( 511, 1 );
-+ localProperty.stopPortDir = (char*)calloc( 511, 1 );
- localProperty.workDir = (char*)calloc( 511, 1 );
--
-+
- property->availableDependenciesDb = MGdbOpen( property->availableDependenciesDbFileName );
- property->availablePortsDb = MGdbOpen( property->availablePortsDbFileName );
- property->commandLineDb = MGdbOpen( property->commandLineDbFileName );
-@@ -179,6 +192,63 @@
- strcpy( localProperty.beforeOptionsFileSize, MGrIntToString( MGrFileSize( localProperty.optionsDir ) ) );
-
- /*
-+ * gather stop/start instructions if they exist
-+ */
-+ MGdbGoTop( property->configDb );
-+ while( MGdbSeek( property->configDb,
-+ property->fieldConfigDbKey,
-+ STOP,
-+ property->fieldConfigDbKey,
-+ exact )
-+ &&
-+ strncmp( oldPortDir,
-+ MGdbGet( property->configDb,
-+ MGdbGetRecno( property->configDb ) - 1,
-+ property->fieldConfigDbValue ),
-+ strlen( oldPortDir ) ) == 0 )
-+ {
-+ stopPortDirPtr = MGdbGet( property->configDb,
-+ MGdbGetRecno( property->configDb ) - 1,
-+ property->fieldConfigDbValue );
-+ if( stopPortDirPtr[strlen( oldPortDir )] == SPACE )
-+ {
-+ strncpy( localProperty.stopPortDir, stopPortDirPtr, strlen( oldPortDir ) );
-+ strcpy( localProperty.stopPortCmd, stopPortDirPtr + strlen( oldPortDir ) + 1 );
-+ break;
-+ }
-+ else
-+ {
-+ break;
-+ }
-+ }
-+ MGdbGoTop( property->configDb );
-+ while( MGdbSeek( property->configDb,
-+ property->fieldConfigDbKey,
-+ START,
-+ property->fieldConfigDbKey,
-+ exact )
-+ &&
-+ strncmp( oldPortDir,
-+ MGdbGet( property->configDb,
-+ MGdbGetRecno( property->configDb ) - 1,
-+ property->fieldConfigDbValue ),
-+ strlen( oldPortDir ) ) == 0 )
-+ {
-+ startPortDirPtr = MGdbGet( property->configDb,
-+ MGdbGetRecno( property->configDb ) - 1,
-+ property->fieldConfigDbValue );
-+ if( startPortDirPtr[strlen( oldPortDir )] == SPACE )
-+ {
-+ strncpy( localProperty.startPortDir, startPortDirPtr, strlen( oldPortDir ) );
-+ strcpy( localProperty.startPortCmd, startPortDirPtr + strlen( oldPortDir ) + 1 );
-+ }
-+ else
-+ {
-+ break;
-+ }
-+ }
-+
-+ /*
- * Do update in interactive mode (command line switch -ui )
- */
- if( property->interactive )
-@@ -346,6 +416,16 @@
- * 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 );
-+ }
- property->optionsChanged = 1;
- MGdbGoTop( property->availablePortsDb );
- while( MGdbSeek( property->availablePortsDb,
-@@ -519,12 +599,13 @@
- installedPortsDbQTY = MGdbGetRecordQty( property->installedPortsDb );
- while( installedPortsDbIDX < installedPortsDbQTY )
- {
-- installedPortsDbPortNamePtr = MGdbGet( property->installedPortsDb, installedPortsDbIDX,
-- property->fieldInstalledPortsDbPortName );
-- stinker = strstr( bufferBase, installedPortsDbPortNamePtr );
-+ strcpy( localProperty.installedPortName, MGdbGet( property->installedPortsDb,
-+ installedPortsDbIDX,
-+ property->fieldInstalledPortsDbPortName ) );
-+ stinker = strstr( bufferBase, localProperty.installedPortName );
- if( stinker )
- {
-- fprintf( stdout, "OK to remove conflicting port %s Yy/Nn/Aa [Y]\? ", installedPortsDbPortNamePtr );
-+ fprintf( stdout, "OK to remove conflicting port %s Yy/Nn/Aa [Y]\? ", localProperty.installedPortName );
- while( fflush( stdout ) );
- if( property->autoConflicts == 0 )
- {
-@@ -585,7 +666,7 @@
- }
- }
- strcpy( localProperty.command, "pkg_delete -f " );
-- strcat( localProperty.command, installedPortsDbPortNamePtr );
-+ strcat( localProperty.command, localProperty.installedPortName );
- fprintf( stdout, "executing: %s\n", localProperty.command );
- while( fflush( stdout ) );
- errorCode = system( localProperty.command );
-@@ -918,6 +999,56 @@
- }
- else
- {
-+ /*
-+ * use localProperty.stopPortCmd if it is defined
-+ */
-+ if( strcmp( oldPortDir, localProperty.stopPortDir ) == 0 )
-+ {
-+ fprintf( stdout, "%s %s info: running %s stop command %s\n",
-+ id,
-+ PACKAGE_VERSION,
-+ localProperty.stopPortDir,
-+ localProperty.stopPortCmd );
-+ while( fflush( stdout ) );
-+
-+ localProperty.buffer[0] = 0;
-+ 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 );
-+ }
-+ fprintf( stdout, "%s reply: %s\n", localProperty.stopPortCmd, localProperty.buffer );
-+ while( fflush( stdout ) );
-+ }
-+
-+ /*
-+ * remove old port
-+ */
- strcpy( localProperty.command, "pkg_delete -f ");
- strcat( localProperty.command, oldPortName);
- fprintf( stdout, "%s\n", SINGLE_LINES );
-@@ -1041,6 +1172,54 @@
- system( localProperty.command );
- }
- }
-+
-+ /*
-+ * use localProperty.startPortCmd if it is defined
-+ */
-+ if( strcmp( oldPortDir, localProperty.startPortDir ) == 0 )
-+ {
-+ fprintf( stdout, "%s %s info: running %s start command %s\n",
-+ id,
-+ PACKAGE_VERSION,
-+ localProperty.startPortDir,
-+ localProperty.startPortCmd );
-+ while( fflush( stdout ) );
-+ localProperty.buffer[0] = 0;
-+ 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 );
-+ }
-+
-+ fprintf( stdout, "%s reply: %s\n", localProperty.startPortCmd, localProperty.buffer );
-+ while( fflush( stdout ) );
-+ }
-+
- /************************************************************************/
- /* Command "13" make package */
- /************************************************************************/
-@@ -1229,10 +1408,15 @@
- free( localProperty->buffer );
- free( localProperty->command );
- free( localProperty->commandRestart );
-+ free( localProperty->installedPortName );
- free( localProperty->newPortDir );
- free( localProperty->newPortName );
- free( localProperty->optionsCheck );
- free( localProperty->optionsDir );
-+ free( localProperty->startPortCmd );
-+ free( localProperty->startPortDir );
-+ free( localProperty->stopPortCmd );
-+ free( localProperty->stopPortDir );
- free( localProperty->workDir );
-
- return(0);
-diff -ruN ../0.3.3_2/portmanager/pm-020.conf.SAMPLE ./portmanager/pm-020.conf.SAMPLE
---- ../0.3.3_2/portmanager/pm-020.conf.SAMPLE Tue Nov 8 17:05:25 2005
-+++ ./portmanager/pm-020.conf.SAMPLE Wed Nov 9 14:22:48 2005
-@@ -1,42 +1,40 @@
--#............................................
--# port manager example configuration file ver 0.2.0
--#............................................................
--# the format of portmanager.conf is critical!
--#
--# 1. Comments delimited with # should be ok
--# 2. No leading white space( space or tabs )
--# 3. Placement of "|" is critical here is the format:
- #
--# [port category dir/port dir] | [ all port build options go here ] |
-+# port manager example configuration file ver 0.2.0
- #
--# 4. white space between port options is ok, and between final "|" and
--# the start of a comment
-+
-+CATEGORY/PORT|OPTION=| # do not delete this line!
-+
- #
--# example:
--#............................................................
- # port | options |
--#............................................................
--#x11-toolkits/vte|WITH_GLX=yes -DNOCLEAN| # some comment.......
--#java/jdk14|-DMINIMAL| # anothe comment....
--#............................................................
--CATEGORY/PORT|OPTION=| # do not delete this line!
-+#
-
--#####################
--# custom settings #
--# remove "#" to use #
--#####################
- #textproc/docproj|JADETEX=no|
- #java/jdk14|-DMINIMAL|
- #textproc/libxml2|THREADS=off SCHEMA=on MEM_DEBUG=off XMLLINT_HIST=off THREAD_ALLOC=off|
-+
- #
-+# do not let portmanager update the following ports
- #
--##
--##do not let portmanager update the following ports
-+
- #IGNORE|editors/openoffice-1.1|
- #IGNORE|java/jdk14|
-
--
--
-+#
-+# STOP/START these programs if they are updated
-+#
-+# Stop command will be run after program is built, before
-+# old installed version is removed
-+#
-+# Start command will be run after rebuilt program is
-+# installed and successfully registerd
-+#
-+# note:
-+# must have leading "/" in /{category}/{port dir}
-+# anything after /{category}/{port dir} is run as
-+# a sh shell command
-+#
-+#STOP|/mail/postfix /usr/local/sbin/postfix stop|
-+#START|/mail/postfix /usr/local/sbin/postfix start|
-
-
-
-diff -ruN ../0.3.3_2/portmanager/portmanager.1 ./portmanager/portmanager.1
---- ../0.3.3_2/portmanager/portmanager.1 Tue Nov 8 17:05:25 2005
-+++ ./portmanager/portmanager.1 Wed Nov 9 18:49:17 2005
-@@ -128,24 +128,6 @@
- .sp
- http://portmanager.sunsite.dk/
- .sp
-- \fBMail lists\fR
--.sp
--portmanager-questions@sunsite.dk
--.sp
--To subscribe send an empty message to:
-- portmanager-questions-subscribe@sunsite.dk
--.sp
-- archive: http://www.mail-archive.com/portmanager-questions%40sunsite.dk/
--.sp
--.sp
--If you would like to joint portmanager's development team let us know at:
--portmanager-devel@sunsite.dk
--.sp
--To subscribe send an empty message to:
-- portmanager-devel-subscribe@sunsite.dk
--.sp
-- archive: http://www.mail-archive.com/portmanager-devel%40sunsite.dk/
--.sp
- .\"=======================================================================
- .\".Sh IMPLEMENTATION NOTES
- .\"=======================================================================
-@@ -166,35 +148,44 @@
- .sp
- pm\&-020.conf example:
- .sp
-- # the format of pm\&-020.conf is critical
- #
-- # 1. Comments delimited with # should be ok
-- # 2. No leading white space( space or tabs )
-- # 3. Placement of \&"\&|\&" is critical here is the format:
-- #
-- # [port category dir/port dir] \&| [ all port build options go here ] \&|
-- #
-- # 4. white space between port options is ok, and between final \&"\&|\&" and
-- # the start of a comment
-- #
-- # example:
-- #............................................................
-- # port \&| options \&|
-- #............................................................
-- #x11\&-toolkits/vte\&|WITH_GLX=yes \&-DNOCLEAN\&| # some comment.......
-- #java/jdk14\&|\&-DMINIMAL\&| # another comment....
-- #............................................................
-- CATEGORY/PORT\&|OPTION=\&| # do not delete this line
-- #
-- devel/sdl12\&|WITH_NAS=yes\&|
-- editors/openoffice\&-1.1\&|WITH_TTF_BYTECODE_ENABLED=yes\&|
-- java/jdk14\&|WITH_IPV6=yes\&|
-- multimedia/avifile\&|WITH_OPTIMIZED_CFLAGS=yes\&|
-- local/sysutils/portmanager\&|PREFIX=/home/mike/TEMP\&|
-- #
-- #do not let portmanager update the following ports
-- IGNORE\&|editors/openoffice\&-1.1\&|
-- IGNORE\&|java/jdk14\&|
-+ # port manager example configuration file ver 0.2.0
-+ #
-+.sp
-+ CATEGORY/PORT\&|OPTION=\&| # do not delete this line!
-+.sp
-+ #
-+ # port \&| options \&|
-+ #
-+.sp
-+ #textproc/docproj\&|JADETEX=no\&|
-+ #java/jdk14\&|-DMINIMAL\&|
-+ #textproc/libxml2\&|THREADS=off SCHEMA=on MEM_DEBUG=off THREAD_ALLOC=off\&|
-+.sp
-+ #
-+ # do not let portmanager update the following ports
-+ #
-+.sp
-+ #IGNORE\&|editors/openoffice-1.1\&|
-+ #IGNORE\&|java/jdk14\&|
-+.sp
-+ #
-+ # STOP/START these programs if they are updated
-+ #
-+ # Stop command will be run after program is built, before
-+ # old installed version is removed
-+ #
-+ # Start command will be run after rebuilt program is
-+ # installed and successfully registerd
-+ #
-+ # note:
-+ # must have leading \&"/\&" in /{category}/{port dir}
-+ # anything after /{category}/{port dir} is run as
-+ # a sh shell command
-+ #
-+ #STOP\&|/mail/postfix /usr/local/sbin/postfix stop\&|
-+ #START\&|/mail/postfix /usr/local/sbin/postfix start\&|
-+.sp
- .\"=======================================================================
- .Sh DIAGNOSTICS
- Detail of how portmanager works
-diff -ruN ../0.3.3_2/programmer-notes.txt ./programmer-notes.txt
---- ../0.3.3_2/programmer-notes.txt Wed Nov 9 13:24:45 2005
-+++ ./programmer-notes.txt Wed Nov 9 22:32:39 2005
-@@ -275,6 +275,15 @@
- A) Creates database of Installed ports, checks/handles installed ports
- that are no longerin the ports tree.
-
-+=====================================
-+
-+Bring Joy <clarity256@yahoo.com>
-+
-+It actually is a good idea, but not so simple to implement. The ports system only
-+knows what the current dist file so won't tell you if one is out of date, have to
-+do some extra digging for that. Still an option to clean old distfiles and old
-+packages as you go would be really nice so I will add your iidea to the long term
-+goals list.
-
- ************** JAVA notes *******************
-