summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman <saurik@saurik.com>2008-02-29 20:55:02 +0000
committerJay Freeman <saurik@saurik.com>2008-02-29 20:55:02 +0000
commit83c66db3e95cdbb6b86893a64b7be0a0ba1ace23 (patch)
tree53166f2fb40356b3ef395c582460a4ab8f89039c
parent5c98bb05c6427af989e78a82486f26423e4a631d (diff)
Toughened up the bootstrap to deal with a few more border cases found in the wild.
git-svn-id: http://svn.telesphoreo.org/trunk@130 514c082c-b64e-11dc-b46d-3d985efe055d
-rwxr-xr-xbootstrap.sh8
-rw-r--r--tool/symlink.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 642839a0c..281c335ac 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -10,7 +10,7 @@ svn export "${PKG_BASE}/over" "${PKG_BOOT}"
arm-apple-darwin-gcc -o "${PKG_BOOT}/usr/libexec/cydia_/godmode" "${PKG_BASE}/tool/godmode.c"
arm-apple-darwin-gcc -o "${PKG_BOOT}/usr/libexec/cydia_/symlink" "${PKG_BASE}/tool/symlink.c"
-chmod +s "${PKG_BOOT}/usr/libexec/cydia_/godmode"
+chmod +s "${PKG_BOOT}/usr/libexec/cydia_"/{godmode,symlink}
mkdir -p "${PKG_BOOT}/var/lib/dpkg/info"
@@ -46,10 +46,14 @@ find * -type l -print -o -name "terminfo" -prune | while read -r link; do
done >>../Packager.xml
cp -a bin/bash usr/libexec/cydia_
+cp -a bin/chmod usr/libexec/cydia_
+cp -a bin/chown usr/libexec/cydia_
+cp -a bin/cp usr/libexec/cydia_
cp -a bin/df usr/libexec/cydia_
cp -a bin/ln usr/libexec/cydia_
+cp -a bin/mkdir usr/libexec/cydia_
cp -a bin/mktemp usr/libexec/cydia_
-cp -a bin/mv usr/libexec/cydia_
+cp -a bin/rm usr/libexec/cydia_
cp -a usr/bin/basename usr/libexec/cydia_
cp -a usr/bin/du usr/libexec/cydia_
cp -a usr/lib/libhistory.5.2.dylib usr/libexec/cydia_
diff --git a/tool/symlink.c b/tool/symlink.c
index 7ba730d8d..853441f80 100644
--- a/tool/symlink.c
+++ b/tool/symlink.c
@@ -1,6 +1,8 @@
#include <unistd.h>
int main(int argc, const char *argv[]) {
+ setuid(0);
+ setgid(0);
unlink(argv[2]);
symlink(argv[1], argv[2]);
return 0;