Merged MacPorts_Framework GSoC changes

git-svn-id: https://svn.macports.org/repository/macports/contrib/MacPorts_Framework@143493 d073be05-634f-4543-b044-5fe20cf6d1d6
This commit is contained in:
Kyle Sammons
2015-12-13 20:43:34 +00:00
26 changed files with 1144 additions and 121 deletions
@@ -1737,7 +1737,6 @@ extern OSStatus BASExecuteRequestInHelperTool(
#endif
// Create the socket and tell it to not generate SIGPIPE.
if (retval == noErr) {
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd == -1) {
@@ -1776,7 +1775,9 @@ extern OSStatus BASExecuteRequestInHelperTool(
// Attempt to connect.
if (retval == noErr) {
printf("FD: %d Sizeof\n", fd);
if (connect(fd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {
printf("Here: %d", errno);
retval = BASErrnoToOSStatus(errno);
}
}
@@ -1786,13 +1787,13 @@ extern OSStatus BASExecuteRequestInHelperTool(
if (retval == noErr) {
retval = AuthorizationMakeExternalForm(auth, &extAuth);
}
if (retval == noErr) {
if (retval == noErr) {
retval = BASErrnoToOSStatus( BASWrite(fd, &extAuth, sizeof(extAuth), NULL) );
}
// Write the request.
if (retval == noErr) {
if (retval == noErr) {
retval = BASErrnoToOSStatus( BASWriteDictionary(request, fd) );
}
+4
View File
@@ -29,5 +29,9 @@
<key>x86_64</key>
<string>10.6.0</string>
</dict>
<key>SMAuthorizedClients</key>
<array>
<string>identifier org.macports.framework.macports and certificate leaf = H&quot;6a52be62749c0ff3d3192d010737a433423c0513&quot;</string>
</array>
</dict>
</plist>
+18 -8
View File
@@ -899,7 +899,7 @@ static OSStatus DoEvaluateTclString
//Get the tcl Interpreter pkg path
NSString * tclPkgPath = (NSString *) (CFStringRef) CFDictionaryGetValue(request, CFSTR(kTclInterpreterInitPath));
if (tclPkgPath == nil) {
retval == coreFoundationUnknownErr;
retval = coreFoundationUnknownErr;
}
else
CFDictionaryAddValue(response, CFSTR("TclPkgPath"), (CFStringRef)tclPkgPath);
@@ -922,32 +922,42 @@ static OSStatus DoEvaluateTclString
//Add simplelog tcl command
Tcl_CreateObjCommand(interpreter, "simplelog", SimpleLog_Command, NULL, NULL);
if (Tcl_PkgProvide(interpreter, "simplelog", "1.0") != TCL_OK) {
if (Tcl_PkgProvide(interpreter, "simplelog", "1.0") != TCL_OK)
{
NSLog(@"Error in Tcl_PkgProvide: %s", Tcl_GetStringResult(interpreter));
retval = coreFoundationUnknownErr;
//For Dbg
CFDictionaryAddValue(response, CFSTR("simplelog"), CFSTR("NO"));
}
else {
else
{
CFDictionaryAddValue(response, CFSTR("simplelog"), CFSTR("YES"));
}
//Get path for and load interpInit.tcl file to Tcl Interpreter
NSString * interpInitFilePath = (NSString *) (CFStringRef) CFDictionaryGetValue(request, CFSTR(kInterpInitFilePath));
if (interpInitFilePath == nil) {
if(interpInitFilePath == nil)
{
CFDictionaryAddValue(response, CFSTR("interpInitFilePath"), CFSTR("NO"));
retval = coreFoundationUnknownErr;
}
else
{
CFDictionaryAddValue(response, CFSTR("interpInitFilePath"), (CFStringRef)interpInitFilePath);
if( Tcl_EvalFile(interpreter, [interpInitFilePath UTF8String]) == TCL_ERROR) {
}
NSLog(@"FOO TEST 2");
if(Tcl_EvalFile(interpreter, [interpInitFilePath UTF8String]) == TCL_ERROR)
{
NSLog(@"Error in Tcl_EvalFile init.tcl: %s", Tcl_GetStringResult(interpreter));
Tcl_DeleteInterp(interpreter);
retval = coreFoundationUnknownErr;
CFDictionaryAddValue(response, CFSTR("interpInit.tcl Evaluation"), CFSTR("NO"));
}
else {
else
{
CFDictionaryAddValue(response, CFSTR("interpInit.tcl Evaluation"), CFSTR("YES"));
}
@@ -1069,8 +1079,8 @@ int main(int argc, char const * argv[]) {
//asl_close(logClient);
[notifier closeConnection];
[notifier release];
[ipcFilePath release];
notifier = nil;
ipcFilePath = nil;
[pool release];
+2 -1
View File
@@ -172,6 +172,7 @@ int main(int argc, char const * argv[]) {
if([pm installUninstallManipulation:@"pngcrush"]) {
NSLog(@"pngcrush INSTALLATION SUCCESSFUL");
}
/*
else {
NSLog(@"pngcrush INSTALLATION UNSUCCESSFUL");
}
@@ -181,7 +182,7 @@ int main(int argc, char const * argv[]) {
}
else {
NSLog(@"SELFUPDATE UNSUCCESSFUL");
}
}*/
return 0;
+35 -22
View File
@@ -40,7 +40,7 @@
#include "MPHelperNotificationsProtocol.h"
static AuthorizationRef internalMacPortsAuthRef;
static NSString* GenericPKGPath = @"/Library/Tcl";
static NSString* PKGPath = @"/opt/local/share/macports/Tcl";
static NSString* PKGPath = @"/opt/local/libexec/macports/lib/";
static NSTask* aTask;
#pragma mark -
@@ -187,7 +187,7 @@ static NSString * tclInterpreterPkgPath = nil;
-(BOOL) initTclInterpreter:(Tcl_Interp * *)interp withPath:(NSString *)path {
BOOL result = NO;
*interp = Tcl_CreateInterp();
if(*interp == NULL) {
NSLog(@"Error in Tcl_CreateInterp, aborting.");
return result;
@@ -202,26 +202,31 @@ static NSString * tclInterpreterPkgPath = nil;
if (path == nil)
path = PKGPath;
/*
NSString * mport_fastload = [[@"source [file join \"" stringByAppendingString:path]
stringByAppendingString:@"\" macports1.0 macports_fastload.tcl]"];
if(Tcl_Eval(*interp, [mport_fastload UTF8String]) != TCL_OK) {
NSLog(@"Error in Tcl_EvalFile macports_fastload.tcl: %s", Tcl_GetStringResult(*interp));
Tcl_DeleteInterp(*interp);
return result;
}
}*/
Tcl_CreateObjCommand(*interp, "notifications", Notifications_Command, NULL, NULL);
if (Tcl_PkgProvide(*interp, "notifications", "1.0") != TCL_OK) {
if(Tcl_PkgProvide(*interp, "notifications", "1.0") != TCL_OK)
{
NSLog(@"Error in Tcl_PkgProvide: %s", Tcl_GetStringResult(*interp));
Tcl_DeleteInterp(*interp);
return result;
}
if( Tcl_EvalFile(*interp, [[[NSBundle bundleWithIdentifier:@"org.macports.frameworks.macports"]
if(Tcl_EvalFile(*interp, [[[NSBundle bundleWithIdentifier:@"org.macports.frameworks.macports"]
pathForResource:@"init"
ofType:@"tcl"] UTF8String]) != TCL_OK) {
ofType:@"tcl"] UTF8String]) != TCL_OK)
{
const char * path = [[[NSBundle bundleWithIdentifier:@"org.macports.frameworks.macports"]
pathForResource:@"init"
ofType:@"tcl"] UTF8String];
//printf("Test: %s", path);
NSLog(@"Error in Tcl_EvalFile init.tcl: %s", Tcl_GetStringResult(*interp));
Tcl_DeleteInterp(*interp);
return result;
@@ -377,19 +382,26 @@ static NSString * tclInterpreterPkgPath = nil;
#pragma Port Settings
#pragma Utilities
- (NSArray *)arrayFromTclListAsString:(NSString *)list {
- (NSArray *)arrayFromTclListAsString:(NSString *)list
{
NSMutableArray *array;
int tclCount;
int tclResult;
int i;
const char **tclElements;
const char * string = [list UTF8String];
tclResult = Tcl_SplitList(_interpreter, [list UTF8String], &tclCount, &tclElements);
if (tclResult == TCL_OK) {
if (tclResult == TCL_OK)
{
array = [[NSMutableArray alloc] initWithCapacity:tclCount];
for (i = 0; i < tclCount; i++) {
for (i = 0; i < tclCount; i++)
{
[array addObject:[NSString stringWithUTF8String:tclElements[i]]];
}
} else {
}
else
{
array = [[[NSMutableArray alloc] init] autorelease];
}
Tcl_Free((char *)tclElements);
@@ -397,7 +409,8 @@ static NSString * tclInterpreterPkgPath = nil;
}
- (NSDictionary *)dictionaryFromTclListAsString:(NSString *)list {
return [NSDictionary dictionaryWithDictionary:[self mutableDictionaryFromTclListAsString:list]];
NSDictionary * foo = [NSDictionary dictionaryWithDictionary:[self mutableDictionaryFromTclListAsString:list]];
return foo;
}
- (NSMutableDictionary *)mutableDictionaryFromTclListAsString:(NSString *)list {
@@ -428,8 +441,8 @@ static NSString * tclInterpreterPkgPath = nil;
- (NSString *)evaluateStringAsString:(NSString *)statement error:(NSError**)mportError{
//NSLog(@"Calling evaluateStringAsString with argument %@", statement);
int return_code = Tcl_Eval(_interpreter, [statement UTF8String]);
NSLog(@"Statement: %@", statement);
int return_code = Tcl_Eval(_interpreter, [statement UTF8String]);
//Should I check for (return_code != TCL_Ok && return_code != TCL_RETURN) instead ?
if (return_code != TCL_OK) {
@@ -458,12 +471,14 @@ static NSString * tclInterpreterPkgPath = nil;
NSUnderlyingErrorKey, nil];
errDict = [NSDictionary dictionaryWithObjects:objArray forKeys:keyArray];
if (mportError != NULL)
{
*mportError = [[[NSError alloc] initWithDomain:MPFrameworkErrorDomain
code:TCL_ERROR
userInfo:errDict] autorelease];
}
return nil;
}
return [NSString stringWithUTF8String:Tcl_GetStringResult(_interpreter)];
}
@@ -517,6 +532,7 @@ static NSString * tclInterpreterPkgPath = nil;
//if ([notificationObject respondsToSelector:@selector(startServerThread)]) {
NSThread * cThread = [NSThread currentThread];
NSLog(@"STARTING SERVER THREAD with previous thread %@", [cThread threadDictionary]);
//This is important to note ... the tcl command being executed is saved in the
@@ -539,10 +555,6 @@ static NSString * tclInterpreterPkgPath = nil;
NSString * interpInitPath = [[NSBundle bundleForClass:[MPInterpreter class]]
pathForResource:@"interpInit" ofType:@"tcl"];
request = [NSDictionary dictionaryWithObjectsAndKeys:
@kMPHelperEvaluateTclCommand, @kBASCommandKey,
statement, @kTclStringToBeEvaluated,
@@ -569,7 +581,8 @@ static NSString * tclInterpreterPkgPath = nil;
(CFStringRef) bundleID,
NULL);
//NSLog(@"BEFORE Tool Execution request is %@ , response is %@ \n\n", request, response);
NSLog(@"BEFORE Tool Execution request is %@ , response is %@ \n\n", request, response);
err = BASExecuteRequestInHelperTool(internalMacPortsAuthRef,
kMPHelperCommandSet,
(CFStringRef) bundleID,
@@ -580,6 +593,7 @@ static NSString * tclInterpreterPkgPath = nil;
result = (NSString *) (CFStringRef) CFDictionaryGetValue(response, CFSTR(kTclStringEvaluationResult));
}
else { //Try to recover error
NSLog(@"*****************************************");
failCode = BASDiagnoseFailure(internalMacPortsAuthRef, (CFStringRef) bundleID);
@@ -649,7 +663,6 @@ static NSString * tclInterpreterPkgPath = nil;
[aTask setLaunchPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"MPPortProcess" ofType:@""]];
[aTask setArguments:args];
[aTask launch];
NSConnection *notificationsConnection = [NSConnection defaultConnection];
// Vending MPNotifications sharedListener
[notificationsConnection setRootObject:[MPNotifications sharedListener]];
+16
View File
@@ -89,6 +89,22 @@
- (id) initWithPkgPath:(NSString *)path portOptions:(NSArray *)options;
- (BOOL) setPortOptions:(NSArray *)options;
/*!
@brief Runs the diagnose command.
*/
- (id)diagnose:(NSError**)sError;
/*!
@brief Runs the reclaim command.
*/
- (id)reclaim:(NSError**)sError;
/*!
@brief Runs the rev-upgrade command.
*/
- (id)revupgrade:(NSError**)sError;
/*!
@brief Synchronizes the ports tree without checking for upgrades to the MacPorts base.
*/
+106 -8
View File
@@ -73,7 +73,8 @@
}
+ (MPMacPorts *)sharedInstance {
return [self sharedInstanceWithPkgPath:[MPInterpreter PKGPath] portOptions:nil];
MPMacPorts * test = [self sharedInstanceWithPkgPath:[MPInterpreter PKGPath] portOptions:nil];
return test;
}
+ (MPMacPorts *)sharedInstanceWithPkgPath:(NSString *)path portOptions:(NSArray *)options {
@@ -130,7 +131,93 @@
#pragma MacPorts API
- (id)revupgrade:(NSError **)sError
{
NSString * result = nil;
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_revupgrade_Started" object:nil];
[[MPNotifications sharedListener] setPerformingTclCommand:@"revupgrade"];
//FIXME
/*
if ([self authorizationMode])
{
result = [interpreter evaluateStringWithMPHelperTool:@"mportrevupgrade" error:sError];
}
else
{
result = [interpreter evaluateStringWithPossiblePrivileges:@"mportrevupgrade" error:sError];
}*/
/*result = [interpreter evaluateStringAsString:@"exec port rev-upgrade 2>foo.txt > foo.txt; set test [exec cat foo.txt]; file delete -force foo.txt; return \"Port revupgrade output:\n $test\"" error:sError];
NSAlert * alert = [[NSAlert alloc]init];
[alert setMessageText:result];
[alert runModal];*/
result = [interpreter evaluateStringAsString:@"macports::rev_upgrade" error:sError];
[[MPNotifications sharedListener] setPerformingTclCommand:@""];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_revupgrade_Finished" object:nil];
return result;
}
- (id)reclaim:(NSError**)sError
{
NSString * result = nil;
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_reclaim_Started" object:nil];
[[MPNotifications sharedListener] setPerformingTclCommand:@"reclaim"];
//FIXME
/*
if ([self authorizationMode])
{
result = [interpreter evaluateStringWithMPHelperTool:@"mportreclaim" error:sError];
}
else
{
result = [interpreter evaluateStringWithPossiblePrivileges:@"mportreclaim" error:sError];
}*/
result = [interpreter evaluateStringAsString:@"reclaim::main \"\"" error:sError];
[[MPNotifications sharedListener] setPerformingTclCommand:@""];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_reclaim_Finished" object:nil];
return result;
}
- (id)diagnose:(NSError**)sError
{
NSString * result = nil;
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_diagnose_Started" object:nil];
[[MPNotifications sharedListener] setPerformingTclCommand:@"diagnose"];
//FIXME
/*
if ([self authorizationMode])
{
result = [interpreter evaluateStringWithMPHelperTool:@"mportdiagnose" error:sError];
}
else
{
result = [interpreter evaluateStringWithPossiblePrivileges:@"mportdiagnose" error:sError];
}*/
result = [interpreter evaluateStringAsString:@"global display_message; incr display_message 1; puts \"Display_Message in XCode: $display_message\"; ui_msg \"Test\"" error:sError];
/*NSAlert * alert = [[NSAlert alloc]init];
[alert setMessageText:result];
[alert runModal];*/
NSLog(@"RESULT: %@", result);
[[MPNotifications sharedListener] setPerformingTclCommand:@""];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPorts_diagnose_Finished" object:nil];
return result;
}
- (id)sync:(NSError**)sError {
NSString * result = nil;
@@ -171,6 +258,13 @@
id key;
NSError * sError;
result = [NSMutableDictionary dictionaryWithDictionary:
[interpreter dictionaryFromTclListAsString:
[interpreter evaluateStringAsString:@"puts \"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\""
error:&sError]]];
NSLog(@"Resulty De Dulty: %@", result);
result = [NSMutableDictionary dictionaryWithDictionary:
[interpreter dictionaryFromTclListAsString:
[interpreter evaluateStringAsString:@"return [mportlistall]"
@@ -186,16 +280,20 @@
return [NSDictionary dictionaryWithDictionary:newResult];
}
- (NSDictionary *)search:(NSString *)query {
return [self search:query caseSensitive:YES];
- (NSDictionary *)search:(NSString *)query
{
NSDictionary * foo = [self search:query caseSensitive:YES];
return foo;
}
- (NSDictionary *)search:(NSString *)query caseSensitive:(BOOL)isCasesensitive {
return [self search:query caseSensitive:isCasesensitive matchStyle:@"regex"];
NSDictionary * foo = [self search:query caseSensitive:isCasesensitive matchStyle:@"regexp"];
return foo;
}
- (NSDictionary *)search:(NSString *)query caseSensitive:(BOOL)sensitivity matchStyle:(NSString *)style {
return [self search:query caseSensitive:sensitivity matchStyle:style field:@"name"];
NSDictionary * foo = [self search:query caseSensitive:sensitivity matchStyle:style field:@"name"];
return foo;
}
- (NSDictionary *)search:(NSString *)query caseSensitive:(BOOL)sensitivity matchStyle:(NSString *)style field:(NSString *)fieldName {
@@ -211,14 +309,14 @@
}
NSError * sError;
result = [NSMutableDictionary dictionaryWithDictionary:
result = [NSMutableDictionary dictionaryWithDictionary:
[interpreter dictionaryFromTclListAsString:
[interpreter evaluateStringAsString:
[NSString stringWithFormat:@"return [mportsearch %@ %@ %@ %@]",
query, caseSensitivity, style, fieldName]
error:&sError]]];
newResult = [NSMutableDictionary dictionaryWithCapacity:[result count]];
enumerator = [result keyEnumerator];
while (key = [enumerator nextObject]) {
-1
View File
@@ -116,7 +116,6 @@
*/
- (NSArray *)depends;
/*!
@brief Deactivates and uninstalls this MPPort from the MacPorts system
@param version An NSString indicating which version of this port to uninstall
+25 -17
View File
@@ -201,7 +201,7 @@
-(void)sendGlobalExecNotification:(NSString *)target withStatus:(NSString *)status {
NSString * notificationName = [NSString stringWithString:@"MacPorts"];
NSString * notificationName = @"MacPorts";
notificationName = [notificationName stringByAppendingString:target];
notificationName = [notificationName stringByAppendingString:status];
@@ -221,7 +221,7 @@
NSString *opts, *v;
MPInterpreter *interpreter;
opts = [NSString stringWithString:@" "];
opts = @" ";
//v = [NSString stringWithString:[self name]];
interpreter = [MPInterpreter sharedInterpreter];
@@ -236,7 +236,7 @@
//Send Global Notifications and update MPNotifications variable
[self sendGlobalExecNotification:procedure withStatus:@"Started"];
//NSString * tclCmd = [@"YES_" stringByAppendingString:procedure];
NSString * tclCmd = [@"YES_" stringByAppendingString:procedure];
[[MPNotifications sharedListener] setPerformingTclCommand:procedure];
if ([parentMacPortsInstance authorizationMode]) {
@@ -283,6 +283,7 @@
if (options != NULL) {
[opts appendString: [NSString stringWithString:[options componentsJoinedByString:@" "]]];
NSLog(@"Opts: %@", opts);
}
[opts appendString: @" }"];
@@ -293,23 +294,24 @@
[vrnts appendString: @" }"];
//NSLog(@"Variants String: %@", vrnts);
NSLog(@"Variants String: %@", vrnts);
//Send Global Notifications and update MPNotifications variable
if([target isEqual:@"install"])
{
NSLog(@"HUR");
target = @"activate";
}
[self sendGlobalExecNotification:target withStatus:@"Started"];
//NSString * tclCmd = [@"YES_" stringByAppendingString:target];
NSString * tclCmd = [@"YES_" stringByAppendingString:target];
[[MPNotifications sharedListener] setPerformingTclCommand:target];
/*
NSLog(@"Interpreter string:\n%@",[NSString stringWithFormat:
@"set portHandle [mportopen %@ %@ %@]; mportexec $portHandle %@; mportclose $portHandle",
[self valueForKey:@"porturl"], opts, vrnts, target]);
*/
[interpreter evaluateStringWithPossiblePrivileges:
[NSString stringWithFormat:
@"set portHandle [mportopen %@ %@ %@]; mportexec $portHandle %@; mportclose $portHandle",
[self valueForKey:@"porturl"], opts, vrnts, target]
error:execError];
NSString * foo = [interpreter evaluateStringAsString:[NSString stringWithFormat:@"ui_msg \"Test\""] error:execError];
NSString * test = [interpreter evaluateStringAsString:[NSString stringWithFormat:@"set portHandle [mportopen %@ %@ %@]; mportexec $portHandle %@; mportclose $portHandle", [self valueForKey:@"porturl"], opts, vrnts] error:execError];
NSLog(@"Pills: %@", test);
[self setState:MPPortStateLearnState];
[[MPNotifications sharedListener] setPerformingTclCommand:@""];
@@ -322,7 +324,7 @@
- (void)execPortProc:(NSString *)procedure withParams:(NSArray *)params error:(NSError **)execError {
//params can contain either NSStrings or NSArrays
NSString * sparams = [NSString stringWithString:@" "];
NSString * sparams = @" ";
NSEnumerator * penums = [params objectEnumerator];
MPInterpreter *interpreter = [MPInterpreter sharedInterpreter];
@@ -341,7 +343,13 @@
sparams = [sparams stringByAppendingString:@" "];
}
}
NSLog(@"Interpreter string: %@", [NSString stringWithFormat:@"[%@ %@]", procedure,sparams]);
[interpreter evaluateStringAsString:[NSString stringWithFormat:@"[%@ %@]" , procedure, sparams]
error:execError];
/*
if( [parentMacPortsInstance authorizationMode] ) {
[interpreter evaluateStringWithMPHelperTool:[NSString stringWithFormat:@"[%@ %@]" , procedure, sparams]
error:execError];
@@ -349,7 +357,7 @@
else {
[interpreter evaluateStringAsString:[NSString stringWithFormat:@"[%@ %@]" , procedure, sparams]
error:execError];
}
}*/
}
@@ -427,7 +435,7 @@
fclose(file);
unlink("mpfw_default_variants");
NSLog(@"Default variants count: %i", [defaultVariants count]);
NSLog(@"Default variants count: %lu", (unsigned long)[defaultVariants count]);
//Code for fetching default variants
[self setObject:[NSString stringWithString:[defaultVariants componentsJoinedByString:@" "]] forKey:@"default_variantsAsString"];
[self setObject:defaultVariants forKey:@"default_variants"];
+4 -2
View File
@@ -18,6 +18,7 @@
@implementation MPPortProcess
- (id)initWithPKGPath:(NSString*)pkgPath {
NSLog(@"Fool");
PKGPath = pkgPath;
[self initializeInterpreter];
return self;
@@ -54,12 +55,13 @@
Tcl_DeleteInterp(interpreter);
}
// Load macports_fastload.tcl from PKGPath/macports1.0
/*
NSString * mport_fastload = [[@"source [file join \"" stringByAppendingString:PKGPath]
stringByAppendingString:@"\" macports1.0 macports_fastload.tcl]"];
if(Tcl_Eval(interpreter, [mport_fastload UTF8String]) == TCL_ERROR) {
NSLog(@"Error in Tcl_EvalFile macports_fastload.tcl: %s", Tcl_GetStringResult(interpreter));
Tcl_DeleteInterp(interpreter);
}
}*/
// Load notifications methods
Tcl_CreateObjCommand(interpreter, "simplelog", SimpleLog_Command, NULL, NULL);
if (Tcl_PkgProvide(interpreter, "simplelog", "1.0") != TCL_OK) {
@@ -80,7 +82,7 @@ int main(int argc, char const * argv[]) {
NSConnection *portProcessConnection;
portProcessConnection = [NSConnection defaultConnection];
NSString *PKGPath = [[NSString alloc] initWithCString:argv[1] encoding:NSUTF8StringEncoding];
NSString *PKGPath = [[NSString alloc] initWithCString:argv[1] encoding:NSASCIIStringEncoding];
MPPortProcess *portProcess = [[MPPortProcess alloc] initWithPKGPath:PKGPath];
+3
View File
@@ -100,6 +100,7 @@
NSArray *versions;
id item;
raw = [self installedAsArray:name withVersion:version];
NSLog(@"Raw = %@", raw);
result = [(NSMutableDictionary *)[NSMutableDictionary alloc] initWithCapacity:[raw count]];
rawEnumerator = [raw objectEnumerator];
while (item = [rawEnumerator nextObject]) {
@@ -121,8 +122,10 @@
NSString * result = [interpreter evaluateStringAsString:
[NSString stringWithFormat:@"return [registry::installed %@ %@]", name, version]
error:&anError];
if (result == nil && anError) {
//Recover from error here
NSLog(@"Moo");
return nil;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:MacPorts.Framework.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>DD3D32F4-3538-486F-ADA6-5EA92186B731</string>
<key>IDESourceControlProjectName</key>
<string>MacPorts.Framework</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>911C9AAC-EEFD-4108-81F6-689E5A923F11</key>
<string>https://svn.macports.org/repository/macports/branches/gsoc15-pallet</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>MacPorts_Framework/MacPorts.Framework.xcodeproj/project.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>911C9AAC-EEFD-4108-81F6-689E5A923F11</key>
<string>../../..</string>
</dict>
<key>IDESourceControlProjectRepositoryRootDictionary</key>
<dict>
<key>911C9AAC-EEFD-4108-81F6-689E5A923F11</key>
<string>https://svn.macports.org/repository/macports</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://svn.macports.org/repository/macports/branches/gsoc15-pallet/MacPorts_Framework/MacPorts.Framework.xcodeproj</string>
<key>IDESourceControlProjectVersion</key>
<integer>110</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>911C9AAC-EEFD-4108-81F6-689E5A923F11</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryBranchesRelativeLocationKey</key>
<string>branches</string>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.subversion</string>
<key>IDESourceControlRepositoryTagsRelativeLocationKey</key>
<string>tags</string>
<key>IDESourceControlRepositoryTrunkRelativeLocationKey</key>
<string>trunk</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>911C9AAC-EEFD-4108-81F6-689E5A923F11</string>
<key>IDESourceControlWCCName</key>
<string>gsoc15-pallet</string>
</dict>
</array>
</dict>
</plist>
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DFE353650CFB8F0C003BACFC"
BuildableName = "Docs"
BlueprintName = "Docs"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EC260860E426FF10013BC48"
BuildableName = "MPHelperInstallTool"
BlueprintName = "MPHelperInstallTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EC260860E426FF10013BC48"
BuildableName = "MPHelperInstallTool"
BlueprintName = "MPHelperInstallTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EC260860E426FF10013BC48"
BuildableName = "MPHelperInstallTool"
BlueprintName = "MPHelperInstallTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EC260860E426FF10013BC48"
BuildableName = "MPHelperInstallTool"
BlueprintName = "MPHelperInstallTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6ED12A490E3E552F0026773D"
BuildableName = "MPHelperTool"
BlueprintName = "MPHelperTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6ED12A490E3E552F0026773D"
BuildableName = "MPHelperTool"
BlueprintName = "MPHelperTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6ED12A490E3E552F0026773D"
BuildableName = "MPHelperTool"
BlueprintName = "MPHelperTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6ED12A490E3E552F0026773D"
BuildableName = "MPHelperTool"
BlueprintName = "MPHelperTool"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EE6DD9D0E626D2800FB2115"
BuildableName = "MPHelperToolIPCTester"
BlueprintName = "MPHelperToolIPCTester"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EE6DD9D0E626D2800FB2115"
BuildableName = "MPHelperToolIPCTester"
BlueprintName = "MPHelperToolIPCTester"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EE6DD9D0E626D2800FB2115"
BuildableName = "MPHelperToolIPCTester"
BlueprintName = "MPHelperToolIPCTester"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6EE6DD9D0E626D2800FB2115"
BuildableName = "MPHelperToolIPCTester"
BlueprintName = "MPHelperToolIPCTester"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "21D9543D100940EE00DEF58A"
BuildableName = "MPPortProcess"
BlueprintName = "MPPortProcess"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "21D9543D100940EE00DEF58A"
BuildableName = "MPPortProcess"
BlueprintName = "MPPortProcess"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "21D9543D100940EE00DEF58A"
BuildableName = "MPPortProcess"
BlueprintName = "MPPortProcess"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "test"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "21D9543D100940EE00DEF58A"
BuildableName = "MPPortProcess"
BlueprintName = "MPPortProcess"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "216010BD1094D34500EE9CD0"
BuildableName = "MacPorts.framework"
BlueprintName = "MacPorts-embeddable"
ReferencedContainer = "container:MacPorts.Framework.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

Some files were not shown because too many files have changed in this diff Show More