Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @autoreleasepool {
  2.         while(i != packageList.packageIDs.count) {
  3.             object = [packageList.packageIDs objectAtIndex:i];
  4.             if([self returnOfCommand:@"/usr/bin/dpkg" withArguments:@[@"--compare-versions", [self currentVersionOfPackage:object], @"lt", [self versionOfPackage:object]]] == 0) [packagesToUpdate addObject:object];
  5.             i++;
  6.         }
  7.     }
  8.  
  9. - (NSString *)versionOfPackage:(NSString *)package {
  10.     for (id file in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/var/mobile/Media/Icy/Repos/updates" error:nil]) {
  11.         NSString *thing = [[IcyUniversalMethods runCommandWithOutput:@"/bin/grep" withArguments:@[[NSString stringWithFormat:@"\\Package: %@$",package], @"-A", @"1", @"-w", [@"/var/mobile/Media/Icy/Repos/updates/" stringByAppendingString:file]] errors:NO] stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"Package: %@\nVersion: ",package] withString:@""];
  12.         NSMutableArray *array = [[thing componentsSeparatedByString:@"\n"] mutableCopy];
  13.         for (NSString *object in array) if(object.length == 0) [array removeObject:object];
  14.         while(array.count != 1) {
  15.             if (array.count == 0) break;
  16.             if(array.count >= 2 && [self returnOfCommand:@"/usr/bin/dpkg" withArguments:@[@"--compare-versions", [array objectAtIndex:0], @"gt", [array objectAtIndex:1]]] == 0) [array removeObjectAtIndex:1];
  17.             else [array removeObjectAtIndex:0];
  18.         }
  19.         if(array.count > 0) return [array firstObject];
  20.     }
  21.     return @"";
  22. }
  23.  
  24. - (NSString *)currentVersionOfPackage:(NSString *)package {
  25.     @autoreleasepool {
  26.         FILE *file = fopen("/var/lib/dpkg/status", "r");
  27.         char str[128];
  28.         BOOL shouldReturn = NO;
  29.         while(fgets(str, 128, file) != NULL) {
  30.             if (strcmp(str, [[NSString stringWithFormat:@"Package: %@\n",package] UTF8String]) == 0) shouldReturn = YES;
  31.             if(shouldReturn && strstr(str, "Version:")) break;
  32.         }
  33.         fclose(file);
  34.         return [[[NSString stringWithCString:str encoding:NSUTF8StringEncoding] stringByReplacingOccurrencesOfString:@"Version: " withString:@""] stringByReplacingOccurrencesOfString:@"\n" withString:@""];
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement