]> git.saurik.com Git - cydia.git/blobdiff - Sources.mm
Do not finish:restart if MoveStash did nothing :/.
[cydia.git] / Sources.mm
index 38eebf21cc30ddb35ae29c1a887ce05007494c61..f89ed1890f8d36071c6b05445e3693266ce750a1 100644 (file)
 /* }}} */
 
 #include <Foundation/Foundation.h>
-#include <CydiaSubstrate/CydiaSubstrate.h>
+#include <Menes/ObjectHandle.h>
 #include <CyteKit/UCPlatform.h>
 
 #include <cstdio>
 
+#include "Sources.h"
+
 extern _H<NSMutableDictionary> Sources_;
-extern bool Changed_;
 
 void CydiaWriteSources() {
-    seteuid(0);
-
-    FILE *file(fopen("/etc/apt/sources.list.d/cydia.list", "w"));
+    unlink(SOURCES_LIST);
+    FILE *file(fopen(SOURCES_LIST, "w"));
     _assert(file != NULL);
 
     fprintf(file, "deb http://apt.saurik.com/ ios/%.2f main\n", kCFCoreFoundationVersionNumber);
 
     for (NSString *key in [Sources_ allKeys]) {
+        if ([key hasPrefix:@"deb:http:"] && [Sources_ objectForKey:[NSString stringWithFormat:@"deb:https:%s", [key UTF8String] + 9]])
+            continue;
+
         NSDictionary *source([Sources_ objectForKey:key]);
 
         NSArray *sections([source objectForKey:@"Sections"] ?: [NSArray array]);
@@ -51,13 +54,10 @@ void CydiaWriteSources() {
     }
 
     fclose(file);
-
-    seteuid(501);
 }
 
 void CydiaAddSource(NSDictionary *source) {
     [Sources_ setObject:source forKey:[NSString stringWithFormat:@"%@:%@:%@", [source objectForKey:@"Type"], [source objectForKey:@"URI"], [source objectForKey:@"Distribution"]]];
-    Changed_ = true;
 }
 
 void CydiaAddSource(NSString *href, NSString *distribution, NSArray *sections) {