]> git.saurik.com Git - safemode-ios.git/commitdiff
Refactor SafeMode to a separate package.
authorJay Freeman (saurik) <saurik@saurik.com>
Thu, 13 Oct 2011 20:06:42 +0000 (13:06 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 13 Oct 2011 21:15:00 +0000 (14:15 -0700)
.gitignore
MobileSafety.mm
make.sh

index e5d046710f892d3df5773aa6ef0cab0d29b9e6c7..63dc3ec3a4c84c279884ad379a370cc0113c040d 100644 (file)
@@ -1 +1,2 @@
 *.dylib
+*.deb
index 834b1ef14ff80eb00b00f9a28ecb2cc77d8917cd..3bc5b41354e7ddeb0384ce993e293f796632eb8f 100644 (file)
 **/
 /* }}} */
 
+%apt Package: com.saurik.substrate.safemode
+%apt Author: Jay Freeman (saurik) <saurik@saurik.com>
+
+%apt Name: Substrate Safe Mode
+%apt Description: safe mode safety extension (safe)
+
+%apt Depends: mobilesubstrate (>= 0.9.3367+38)
+
+%fflag 1
+%fflag 2
+
+%bundle com.apple.springboard
+
+%flag -framework Foundation
+%flag -framework UIKit
+
 #import <CoreFoundation/CoreFoundation.h>
 #import <Foundation/Foundation.h>
 #import <CoreGraphics/CGGeometry.h>
@@ -231,31 +247,3 @@ MSInstanceMessageHook0(void, SBStatusBarTimeView, tile) {
     _textRect.origin.x = (frame.size.width - size.width) / 2;
     _textRect.origin.y = (frame.size.height - size.height) / 2;
 }
-
-#define Dylib_ "/Library/MobileSubstrate/MobileSubstrate.dylib"
-
-MSInitialize {
-    NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]);
-
-    NSLog(@"MS:Warning: Entering Safe Mode");
-
-    char *dil(getenv("DYLD_INSERT_LIBRARIES"));
-    if (dil == NULL)
-        NSLog(@"MS:Error: DYLD_INSERT_LIBRARIES is unset?");
-    else {
-        NSArray *dylibs([[NSString stringWithUTF8String:dil] componentsSeparatedByString:@":"]);
-        NSUInteger index([dylibs indexOfObject:@ Dylib_]);
-        if (index == NSNotFound)
-            NSLog(@"MS:Error: dylib not in DYLD_INSERT_LIBRARIES?");
-        else if ([dylibs count] == 1)
-            unsetenv("DYLD_INSERT_LIBRARIES");
-        else {
-            NSMutableArray *value([[[NSMutableArray alloc] init] autorelease]);
-            [value setArray:dylibs];
-            [value removeObjectAtIndex:index];
-            setenv("DYLD_INSERT_LIBRARIES", [[value componentsJoinedByString:@":"] UTF8String], !0);
-        }
-    }
-
-    [pool release];
-}
diff --git a/make.sh b/make.sh
index 88cb898d0a2b86b36b78ace1372d5e26b00458f9..d7e88f5f32993d920bcc39c612bc65c3377e690d 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1,5 +1,2 @@
 #!/bin/bash
-flags=(-O2 -g0 -fno-exceptions -fvisibility=hidden)
-cycc -i2.0 -oMobileSafety.dylib -- "${flags[@]}" -dynamiclib MobileSafety.mm \
-    -framework CoreFoundation -framework Foundation -framework UIKit \
-    -L. -lsubstrate -lobjc
+CYCC_APT_VERSION=$(./version.sh) cycc -i2.0 -s -p MobileSafety.mm