Changeset 72222 for contrib/MacPorts_Framework
- Timestamp:
- Oct 7, 2010, 8:27:00 PM (14 years ago)
- Location:
- contrib/MacPorts_Framework
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
contrib/MacPorts_Framework
- Property svn:mergeinfo changed
/branches/gsoc10-gui/MacPorts_Framework (added) merged: 67321,69798,69878,69912,69978-69979,69987,70011,70054-70056,70194,70525,70635-70636
- Property svn:mergeinfo changed
-
contrib/MacPorts_Framework/MPHelperTool.m
r65491 r72222 60 60 //fromt he request dictionary 61 61 int notificationsFileDescriptor; 62 static int hasInstalledSignalToSocket = 0; 62 63 BOOL hasSetFileDescriptor = NO; 63 64 NSString * ipcFilePath; … … 591 592 592 593 // Organise to have SIGINT delivered to a runloop callback. 593 if (err == 0 ) {594 if (err == 0 && hasInstalledSignalToSocket == 0) { 594 595 sigset_t justSIGINT; 595 596 … … 604 605 NULL 605 606 ); 607 608 hasInstalledSignalToSocket = 1; 606 609 //asl_NSLog(logClient , logMsg, ASL_LEVEL_DEBUG, @"MPHelperTool: IgnoreSigPipe Successful"); 607 610 [ASLLogger logString:@"MPHelperTool: IgnoreSigPipe Successful"]; … … 658 661 659 662 // Organise to have SIGINT delivered to a runloop callback. 660 if (err == 0 ) {663 if (err == 0 && hasInstalledSignalToSocket == 0) { 661 664 sigset_t justSIGINT; 662 665 … … 671 674 NULL 672 675 ); 676 677 hasInstalledSignalToSocket = 1; 678 673 679 [ASLLogger logString:@"MPHelperTool: IgnoreSigPipe Successful"]; 674 680 } -
contrib/MacPorts_Framework/MPPort.h
r65491 r72222 150 150 151 151 /*! 152 @brief Computes the NSMutableArray object for key "defaults_variants" of the port 153 */ 154 - (void)checkDefaults; 155 156 /*! 157 @brief Computes the conflicts of the port 158 */ 159 - (void)checkConflicts; 160 161 /*! 152 162 @brief Executes the specified target for this MPPort 153 163 @param target NSString target to be executed for this MPPort -
contrib/MacPorts_Framework/MPPort.m
r65491 r72222 91 91 // create sets of the depends_* tokenized properties that contain only the dependency name, not the dependency type 92 92 // make the descriptions readable 93 94 if([string rangeOfString:@"default_variants"].location != NSNotFound) 95 { 96 NSLog(@"%@", string); 97 } 98 93 99 if ([self objectForKey:@"maintainers"] != nil) { 94 100 [self setObject:[self objectForKey:@"maintainers"] forKey:@"maintainersAsString"]; … … 118 124 [self addDependencyAsPortName:@"depends_run"]; 119 125 } 126 if ([self objectForKey:@"depends_fetch"] != nil) { 127 [self setObject:[self objectForKey:@"depends_fetch"] forKey:@"depends_fetchAsString"]; 128 [self setObject:[interpreter arrayFromTclListAsString:[self objectForKey:@"depends_fetch"]] forKey:@"depends_fetch"]; 129 [self addDependencyAsPortName:@"depends_fetch"]; 130 } 131 if ([self objectForKey:@"depends_extract"] != nil) { 132 [self setObject:[self objectForKey:@"depends_extract"] forKey:@"depends_extractAsString"]; 133 [self setObject:[interpreter arrayFromTclListAsString:[self objectForKey:@"depends_extract"]] forKey:@"depends_extract"]; 134 [self addDependencyAsPortName:@"depends_extract"]; 135 } 136 137 //Code for fetching default variants 138 if ([self objectForKey:@"default_variants"] != nil) { 139 //NSLog(@"Default Variants str: %@", string); 140 [self setObject:[self objectForKey:@"default_variants"] forKey:@"default_variantsAsString"]; 141 [self setObject:[interpreter arrayFromTclListAsString:[self objectForKey:@"default_variants"]] forKey:@"default_variants"]; 142 } 143 120 144 121 145 @try { … … 248 272 error:(NSError **)execError{ 249 273 250 NS String *opts;251 NS String *vrnts;274 NSMutableString *opts; 275 NSMutableString *vrnts; 252 276 MPInterpreter *interpreter; 253 opts = [NSString stringWithString:@" "]; 254 vrnts = [NSString stringWithString:@" "]; 277 opts = [NSMutableString stringWithCapacity:50]; 278 [opts setString:@"{ "]; 279 vrnts = [NSMutableString stringWithCapacity:50]; 280 [vrnts setString:@"{ "]; 255 281 interpreter = [MPInterpreter sharedInterpreter]; 256 282 283 257 284 if (options != NULL) { 258 opts = [NSString stringWithString:[options componentsJoinedByString:@" "]]; 259 } 285 [opts appendString: [NSString stringWithString:[options componentsJoinedByString:@" "]]]; 286 } 287 288 [opts appendString: @" }"]; 289 260 290 if (variants != NULL) { 261 vrnts = [NSString stringWithString:[variants componentsJoinedByString:@" "]]; 262 } 263 291 [vrnts appendString: [NSString stringWithString:[variants componentsJoinedByString:@" "]]]; 292 } 293 294 [vrnts appendString: @" }"]; 295 296 //NSLog(@"Variants String: %@", vrnts); 264 297 //Send Global Notifications and update MPNotifications variable 265 298 [self sendGlobalExecNotification:target withStatus:@"Started"]; … … 267 300 [[MPNotifications sharedListener] setPerformingTclCommand:target]; 268 301 302 /* 303 NSLog(@"Interpreter string:\n%@",[NSString stringWithFormat: 304 @"set portHandle [mportopen %@ %@ %@]; mportexec $portHandle %@; mportclose $portHandle", 305 [self valueForKey:@"porturl"], opts, vrnts, target]); 306 */ 269 307 [interpreter evaluateStringWithPossiblePrivileges: 270 308 [NSString stringWithFormat: … … 350 388 - (void)upgradeWithError:(NSError **)mError { 351 389 [self execPortProc:@"mportupgrade" withOptions:nil version:@"" error:mError]; 390 } 391 392 //This function is called to initialize the array for the'default_variants' key for a port, which we can't do for all ports when loading 393 - (void)checkDefaults 394 { 395 //Check for default variants only if this is the first time we are checking 396 if ([self objectForKey:@"default_variants"] == nil) 397 { 398 //NSArray *defaultVariants = [port valueForKey:@"defaultVariants"]; 399 NSMutableArray *defaultVariants= [NSMutableArray arrayWithCapacity:10]; 400 char port_command[256]; 401 402 //Build the port variants command 403 strcpy(port_command, "port variants "); 404 strcat(port_command, [[self objectForKey:@"name"] cStringUsingEncoding: NSASCIIStringEncoding]); 405 strcat(port_command, " | grep \"\\[+]\" | sed 's/.*\\]//; s/:.*//' >> mpfw_default_variants"); 406 407 //Make the CLI call 408 system(port_command); 409 //Open the output file 410 FILE * file = fopen("mpfw_default_variants", "r"); 411 412 //Read all default_variants 413 char buffer[256]; 414 while(!feof(file)) 415 { 416 char * temp = fgets(buffer,256,file); 417 if(temp == NULL) continue; 418 buffer[strlen(buffer)-1]='\0'; 419 //Add the variant in the Array 420 [defaultVariants addObject:[NSString stringWithCString:buffer]]; 421 } 422 //Close and delete 423 fclose(file); 424 unlink("mpfw_default_variants"); 425 426 NSLog(@"Default variants count: %i", [defaultVariants count]); 427 //Code for fetching default variants 428 [self setObject:[NSString stringWithString:[defaultVariants componentsJoinedByString:@" "]] forKey:@"default_variantsAsString"]; 429 [self setObject:defaultVariants forKey:@"default_variants"]; 430 } 431 432 } 433 434 //This function is called to initiate the conflicts for a specific port, which we can't do for all ports when loading, much like 435 //the default_variants 436 - (void)checkConflicts; 437 { 438 //Check for only if this is the first time we are checking 439 if ([self objectForKey:@"conflicts"] == nil) 440 { 441 442 NSMutableArray *conflicts = [NSMutableArray arrayWithCapacity:20]; 443 444 char *script= " | python -c \"import re,sys;lines=sys.stdin.readlines();print '\\n'.join('%s,%s' % (re.sub(r'[\\W]','',lines[i-1].split()[0].rstrip(':')),','.join(l.strip().split()[3:])) for i, l in enumerate(lines) if l.strip().startswith('* conflicts'))\" >> /tmp/mpfw_conflict"; 445 char command[512]; 446 strcpy(command,"port variants "); 447 strcat(command, [[self name] UTF8String]); 448 strcat(command, script); 449 //printf("\n%s\n", command); 450 system(command); 451 452 //Open the output file 453 FILE * file = fopen("/tmp/mpfw_conflict", "r"); 454 455 //Read all conflicts 456 char buffer[256]; 457 while(!feof(file)) 458 { 459 char * temp = fgets(buffer,256,file); 460 if(temp == NULL) continue; 461 buffer[strlen(buffer)-1]='\0'; 462 //Add the variant in the Array 463 //printf("buffer:\n%s\n",buffer); 464 465 char *token; 466 char *search = ","; 467 468 token = strtok(buffer, search); 469 //printf("token: %s\n",token); 470 if(token == NULL) break; 471 472 NSString *variant = [NSString stringWithCString:token]; 473 NSMutableArray *conflictsWith=[NSMutableArray arrayWithCapacity:10]; 474 NSLog(@"%@", variant); 475 while ((token = strtok(NULL, search)) != NULL) 476 { 477 NSLog(@"token: %@",[NSString stringWithCString:token]); 478 [conflictsWith addObject:[NSString stringWithCString:token]]; 479 //NSLog(@"count %i",[[checkboxes[i] conflictsWith] count]); 480 } 481 482 NSDictionary *variantConflictsWith = [NSDictionary dictionaryWithObject:conflictsWith forKey:variant]; 483 [conflicts addObject:variantConflictsWith]; 484 //[defaultVariants addObject:[NSString stringWithCString:buffer]]; 485 } 486 //Close and delete 487 fclose(file); 488 unlink("/tmp/mpfw_conflict"); 489 490 [self setObject:conflicts forKey:@"conflicts"]; 491 } 352 492 } 353 493 -
contrib/MacPorts_Framework/MPPortProcess.m
r65491 r72222 82 82 portProcessConnection = [NSConnection defaultConnection]; 83 83 NSString *PKGPath = [[NSString alloc] initWithCString:argv[1] encoding:NSUTF8StringEncoding]; 84 // NSString *portProcessInitPath = [[NSString alloc] initWithCString:argv[2] encoding:NSUTF8StringEncoding];85 84 86 85 MPPortProcess *portProcess = [[MPPortProcess alloc] initWithPKGPath:PKGPath]; -
contrib/MacPorts_Framework/MacPorts.Framework.xcodeproj/project.pbxproj
r65513 r72222 706 706 buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "MacPorts.Framework" */; 707 707 compatibilityVersion = "Xcode 2.4"; 708 developmentRegion = English; 708 709 hasScannedForEncodings = 1; 710 knownRegions = ( 711 English, 712 Japanese, 713 French, 714 German, 715 ); 709 716 mainGroup = 0867D691FE84028FC02AAC07 /* MacPorts Foundation */; 710 717 productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; -
contrib/MacPorts_Framework/init.tcl
r65491 r72222 2 2 package require notifications 3 3 4 5 #Set ui_options to log all messages to stdout and notify system 6 #filtering is done on the Obj-C side of things 7 # set ui_options(ports_debug) "yes" 8 set ui_options(ports_verbose) "yes" 9 10 # ui_options accessor 11 proc ui_isset {val} { 12 global ui_options 13 if {[info exists ui_options($val)]} { 14 if {$ui_options($val) == "yes"} { 15 return 1 16 } 17 } 18 return 0 19 } 20 21 # UI Callback 22 proc ui_prefix {priority} { 23 switch $priority { 24 debug { 25 return "DEBUG: " 26 } 27 error { 28 return "Error: " 29 } 30 warn { 31 return "Warning: " 32 } 33 default { 34 return "" 35 } 36 } 37 } 38 39 proc ui_channels {priority} { 40 global logfd 41 switch $priority { 42 debug { 43 if {[ui_isset ports_debug]} { 44 return {stderr} 45 } else { 46 return {} 47 } 48 } 49 info { 50 if {[ui_isset ports_verbose]} { 51 return {stdout} 52 } else { 53 return {} 54 } 55 } 56 msg { 57 if {[ui_isset ports_quiet]} { 58 return {} 59 } else { 60 return {stdout} 61 } 62 } 63 error { 64 return {stderr} 65 } 66 default { 67 return {stdout} 68 } 69 } 70 } 71 72 73 74 75 #Modifying UI initialization to enable notifications 76 #Redefine ui_$pritority to throw global notifications 77 #This is currently under works ... a reasonable solution 78 #should be coming up soon 79 proc macports::ui_init {priority args} { 4 proc ui_init {priority prefix channels message} { 80 5 switch $priority { 81 6 msg { … … 84 9 debug { 85 10 set nottype "MPDebugNotification" 86 puts "Recieved Debug "11 puts "Recieved Debug init" 87 12 } 88 13 warn { … … 101 26 } 102 27 } 103 104 # Get the list of channels.105 if {[llength [info commands ui_channels]] > 0} {106 set channels [ui_channels $priority]107 } else {108 set channels [ui_channels_default $priority]109 }110 28 111 # Simplify ui_$priority. 112 set nbchans [llength $channels] 113 if {$nbchans == 0} { 114 proc ::ui_$priority {args} [subst { 115 notifications send $nottype "$chan $prefix" "\$str" 116 }] 117 } else { 118 if {[llength [info commands ui_prefix]] > 0} { 119 set prefix [ui_prefix $priority] 120 } else { 121 set prefix [ui_prefix_default $priority] 122 } 29 proc ::ui_$priority {message} [subst { 30 notifications send $nottype "$channels($priority) $prefix" "\$message" 31 ui_message $priority $prefix "" "\$message" 32 }] 33 } 123 34 124 if {[llength [info commands ::ui_init]] > 0} {125 eval ::ui_init $priority $prefix $channels $args126 } else {127 if {$nbchans == 1} {128 set chan [lindex $channels 0]129 proc ::ui_$priority {args} [subst {130 if {\[lindex \$args 0\] == "-nonewline"} {131 puts $chan "$prefix\[lindex \$args 1\]"132 notifications send $nottype "$chan $prefix" "\[lindex \$args 1\]"133 } else {134 puts -nonewline $chan "$prefix\[lindex \$args 1\]"135 notifications send $nottype "$chan $prefix" "\[lindex \$args 0\]"136 }137 }]138 } else {139 proc ::ui_$priority {args} [subst {140 foreach chan \$channels {141 if {\[lindex \$args 0\] == "-nonewline"} {142 puts $chan "$prefix\[lindex \$args 1\]"143 notifications send $nottype "$chan $prefix" "\[lindex \$args 1\]"144 } else {145 puts -nonewline $chan "$prefix\[lindex \$args 1\]"146 notifications send $nottype "$chan $prefix" "\[lindex \$args 0\]"147 }148 }149 }]150 }151 }152 153 # Call ui_$priority154 eval ::ui_$priority $args155 }156 }157 35 158 36 … … 161 39 #in macports.tcl. 162 40 proc mportuninstall {portname {v ""} {optionslist ""}} { 163 if {[catch { portuninstall::uninstall $portname $v $optionslist} result]} {41 if {[catch {registry_uninstall::uninstall $portname $v $optionslist} result]} { 164 42 165 43 global errorInfo -
contrib/MacPorts_Framework/interpInit.tcl
r65491 r72222 3 3 4 4 5 proc ui_init {priority prefix channels message} { 6 switch $priority { 7 msg { 8 set nottype "MPMsgNotification" 9 } 10 debug { 11 set nottype "MPDebugNotification" 12 puts "Recieved Debug init" 13 } 14 warn { 15 set nottype "MPWarnNotification" 16 } 17 error { 18 set nottype "MPErrorNotification" 19 puts "Recieved Error" 20 } 21 info { 22 set nottype "MPInfoNotification" 23 puts "Recieved Info" 24 } 25 default { 26 set nottype "MPDefaultNotification" 27 } 28 } 5 29 6 #Set ui_options to log all messages to stdout and notify system 7 #filtering is done on the Obj-C side of things 8 set ui_options(ports_debug) "yes" 9 set ui_options(ports_verbose) "yes" 10 11 # ui_options accessor 12 proc ui_isset {val} { 13 global ui_options 14 if {[info exists ui_options($val)]} { 15 if {$ui_options($val) == "yes"} { 16 return 1 17 } 18 } 19 return 0 20 } 21 22 # UI Callback 23 proc ui_prefix {priority} { 24 switch $priority { 25 debug { 26 return "DEBUG: " 27 } 28 error { 29 return "Error: " 30 } 31 warn { 32 return "Warning: " 33 } 34 default { 35 return "" 36 } 37 } 38 } 39 40 proc ui_channels {priority} { 41 global logfd 42 switch $priority { 43 debug { 44 if {[ui_isset ports_debug]} { 45 return {stderr} 46 } else { 47 return {} 48 } 49 } 50 info { 51 if {[ui_isset ports_verbose]} { 52 return {stdout} 53 } else { 54 return {} 55 } 56 } 57 msg { 58 if {[ui_isset ports_quiet]} { 59 return {} 60 } else { 61 return {stdout} 62 } 63 } 64 error { 65 return {stderr} 66 } 67 default { 68 return {stdout} 69 } 70 } 71 } 72 73 74 75 #Modifying UI initialization to enable notifications 76 #Redefine ui_$pritority to throw global notifications 77 #This is currently under works ... a reasonable solution 78 #should be coming up soon 79 proc macports::ui_init {priority args} { 80 switch $priority { 81 msg { 82 set nottype "MPMsgNotification" 83 } 84 debug { 85 set nottype "MPDebugNotification" 86 puts "Recieved Debug" 87 } 88 warn { 89 set nottype "MPWarnNotification" 90 } 91 error { 92 set nottype "MPErrorNotification" 93 puts "Recieved Error" 94 } 95 info { 96 set nottype "MPInfoNotification" 97 puts "Recieved Info" 98 } 99 default { 100 set nottype "MPDefaultNotification" 101 } 102 } 103 104 # Get the list of channels. 105 if {[llength [info commands ui_channels]] > 0} { 106 set channels [ui_channels $priority] 107 } else { 108 set channels [ui_channels_default $priority] 109 } 110 111 #set channels [ui_channels $priority] 112 113 # Simplify ui_$priority. 114 set nbchans [llength $channels] 115 if {$nbchans == 0} { 116 proc ::ui_$priority {str} [subst { 117 simplelog "$nottype $chan $prefix" "\$str" 118 }] 119 } else { 120 if {[llength [info commands ui_prefix]] > 0} { 121 set prefix [ui_prefix $priority] 122 } else { 123 set prefix [ui_prefix_default $priority] 124 } 125 126 if {[llength [info commands ::ui_init]] > 0} { 127 eval ::ui_init $priority $prefix $channels $args 128 } else { 129 if {$nbchans == 1} { 130 set chan [lindex $channels 0] 131 132 proc ::ui_$priority {args} [subst { 133 if {\[lindex \$args 0\] == "-nonewline"} { 134 puts $chan "$prefix\[lindex \$args 1\]" 135 simplelog "$nottype $chan $prefix" "\[lindex \$args 1\]" 136 } else { 137 puts -nonewline $chan "$prefix\[lindex \$args 1\]" 138 simplelog "$nottype $chan $prefix" "\[lindex \$args 0\]" 139 } 140 }] 141 } else { 142 proc ::ui_$priority {args} [subst { 143 foreach chan \$channels { 144 if {\[lindex \$args 0\] == "-nonewline"} { 145 puts $chan "$prefix\[lindex \$args 1\]" 146 simplelog "$nottype $chan $prefix" "\[lindex \$args 1\]" 147 } else { 148 puts -nonewline $chan "$prefix\[lindex \$args 1\]" 149 simplelog "$nottype $chan $prefix" "\[lindex \$args 0\]" 150 } 151 } 152 }] 153 } 154 } 155 156 # Call ui_$priority 157 eval ::ui_$priority $args 158 } 30 proc ::ui_$priority {message} [subst { 31 simplelog "$nottype $channels($priority) $prefix" "\$message" 32 ui_message $priority $prefix "" "\$message" 33 }] 159 34 } 160 35 … … 165 40 set mp_empty_list [list] 166 41 proc mportuninstall {portname {v ""} {optionslist ""} } { 167 if {[catch { portuninstall::uninstall $portname $v [array get options]} result]} {42 if {[catch {registry_uninstall::uninstall $portname $v [array get options]} result]} { 168 43 169 44 global errorInfo -
contrib/MacPorts_Framework/portProcessInit.tcl
r65491 r72222 3 3 4 4 5 6 #Set ui_options to log all messages to stdout and notify system 7 #filtering is done on the Obj-C side of things 8 set ui_options(ports_debug) "yes" 9 set ui_options(ports_verbose) "yes" 10 11 # ui_options accessor 12 proc ui_isset {val} { 13 global ui_options 14 if {[info exists ui_options($val)]} { 15 if {$ui_options($val) == "yes"} { 16 return 1 17 } 18 } 19 return 0 20 } 21 22 # UI Callback 23 proc ui_prefix {priority} { 24 switch $priority { 25 debug { 26 return "DEBUG: " 27 } 28 error { 29 return "Error: " 30 } 31 warn { 32 return "Warning: " 33 } 34 default { 35 return "" 36 } 37 } 38 } 39 40 proc ui_channels {priority} { 41 global logfd 42 switch $priority { 43 debug { 44 if {[ui_isset ports_debug]} { 45 return {stderr} 46 } else { 47 return {} 48 } 49 } 50 info { 51 if {[ui_isset ports_verbose]} { 52 return {stdout} 53 } else { 54 return {} 55 } 56 } 57 msg { 58 if {[ui_isset ports_quiet]} { 59 return {} 60 } else { 61 return {stdout} 62 } 63 } 64 error { 65 return {stderr} 66 } 67 default { 68 return {stdout} 69 } 70 } 71 } 72 73 74 75 #Modifying UI initialization to enable notifications 76 #Redefine ui_$pritority to throw global notifications 77 #This is currently under works ... a reasonable solution 78 #should be coming up soon 79 proc macports::ui_init {priority args} { 5 proc ui_init {priority prefix channels message} { 80 6 switch $priority { 81 7 msg { … … 84 10 debug { 85 11 set nottype "MPDebugNotification" 86 puts "Recieved Debug "12 puts "Recieved Debug init" 87 13 } 88 14 warn { … … 101 27 } 102 28 } 103 104 # Get the list of channels.105 if {[llength [info commands ui_channels]] > 0} {106 set channels [ui_channels $priority]107 } else {108 set channels [ui_channels_default $priority]109 }110 29 111 # Simplify ui_$priority. 112 set nbchans [llength $channels] 113 if {$nbchans == 0} { 114 proc ::ui_$priority {args} [subst { 115 simplelog "$nottype $chan $prefix" "\$str" 116 }] 117 } else { 118 if {[llength [info commands ui_prefix]] > 0} { 119 set prefix [ui_prefix $priority] 120 } else { 121 set prefix [ui_prefix_default $priority] 122 } 123 124 if {[llength [info commands ::ui_init]] > 0} { 125 eval ::ui_init $priority $prefix $channels $args 126 } else { 127 if {$nbchans == 1} { 128 set chan [lindex $channels 0] 129 proc ::ui_$priority {args} [subst { 130 if {\[lindex \$args 0\] == "-nonewline"} { 131 puts $chan "$prefix\[lindex \$args 1\]" 132 simplelog "$nottype $chan $prefix" "\[lindex \$args 1\]" 133 } else { 134 puts -nonewline $chan "$prefix\[lindex \$args 1\]" 135 simplelog "$nottype $chan $prefix" "\[lindex \$args 0\]" 136 } 137 }] 138 } else { 139 proc ::ui_$priority {args} [subst { 140 foreach chan \$channels { 141 if {\[lindex \$args 0\] == "-nonewline"} { 142 puts $chan "$prefix\[lindex \$args 1\]" 143 simplelog "$nottype $chan $prefix" "\[lindex \$args 1\]" 144 } else { 145 puts -nonewline $chan "$prefix\[lindex \$args 1\]" 146 simplelog "$nottype $chan $prefix" "\[lindex \$args 0\]" 147 } 148 } 149 }] 150 } 151 } 152 153 # Call ui_$priority 154 eval ::ui_$priority $args 155 } 30 proc ::ui_$priority {message} [subst { 31 simplelog "$nottype $channels($priority) $prefix" "\$message" 32 ui_message $priority $prefix "" "\$message" 33 }] 156 34 } 157 35 … … 162 40 set mp_empty_list [list] 163 41 proc mportuninstall {portname {v ""} {optionslist ""} } { 164 if {[catch { portuninstall::uninstall $portname $v [array get options]} result]} {42 if {[catch {registry_uninstall::uninstall $portname $v [array get options]} result]} { 165 43 166 44 global errorInfo
Note: See TracChangeset
for help on using the changeset viewer.