summaryrefslogtreecommitdiff
authorharlekin <harlekin>2005-01-11 16:09:07 (UTC)
committer harlekin <harlekin>2005-01-11 16:09:07 (UTC)
commit0619c844b8a3054c6d6e480ba1c90e3f42e63873 (patch) (unidiff)
tree0ab4c5572ee7f85cd493a8229978549151f1772c
parent1833a9079cd7801f333ac3885b447520e44f937f (diff)
downloadopie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.zip
opie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.tar.gz
opie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.tar.bz2
important change to work arround issues with the real uid handling on sharps newer roms
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/fixit.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/fixit.cpp b/noncore/apps/opie-console/fixit.cpp
index f170074..82a0339 100644
--- a/noncore/apps/opie-console/fixit.cpp
+++ b/noncore/apps/opie-console/fixit.cpp
@@ -1,25 +1,25 @@
1 1#include <unistd.h>
2#include "fixit.h" 2#include "fixit.h"
3 3
4using namespace Opie::Core; 4using namespace Opie::Core;
5 5
6#ifdef FSCKED_DISTRI 6#ifdef FSCKED_DISTRI
7FixIt::FixIt() { 7FixIt::FixIt() {
8 /* the new inittab */ 8 /* the new inittab */
9 m_file = "#\n# /etc/inittab" 9 m_file = "#\n# /etc/inittab"
10"#" 10"#"
11"" 11""
12"# 0 - halt (Do NOT set initdefault to this)" 12"# 0 - halt (Do NOT set initdefault to this)"
13"# 1 - Single user mode" 13"# 1 - Single user mode"
14"# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)" 14"# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)"
15"# 3 - Full multiuser mode" 15"# 3 - Full multiuser mode"
16"# 4 - JavaVM(Intent) developer mode" 16"# 4 - JavaVM(Intent) developer mode"
17"# 5 - JavaVM(Intent)" 17"# 5 - JavaVM(Intent)"
18"# 6 - reboot (Do NOT set initdefault to this)" 18"# 6 - reboot (Do NOT set initdefault to this)"
19"#" 19"#"
20"id:5:initdefault:" 20"id:5:initdefault:"
21"" 21""
22"# Specify things to do when starting" 22"# Specify things to do when starting"
23"si::sysinit:/etc/rc.d/rc.sysinit" 23"si::sysinit:/etc/rc.d/rc.sysinit"
24"" 24""
25"l0:0:wait:/root/etc/rc.d/rc 0" 25"l0:0:wait:/root/etc/rc.d/rc 0"
@@ -42,53 +42,54 @@ FixIt::FixIt() {
42"1:2:respawn:/sbin/getty 9600 tty1" 42"1:2:respawn:/sbin/getty 9600 tty1"
43"ln:345:respawn:survive -l 6 /sbin/launch" 43"ln:345:respawn:survive -l 6 /sbin/launch"
44"#qt:5:respawn:/sbin/qt" 44"#qt:5:respawn:/sbin/qt"
45"" 45""
46"# collie sp." 46"# collie sp."
47"sy::respawn:/sbin/shsync\n"; 47"sy::respawn:/sbin/shsync\n";
48} 48}
49 49
50/* 50/*
51 * the retail Zaurus is broken in many ways 51 * the retail Zaurus is broken in many ways
52 * one is that pppd is listening on our port... 52 * one is that pppd is listening on our port...
53 * we've to stop it from that and then do kill(SIGHUP,1); 53 * we've to stop it from that and then do kill(SIGHUP,1);
54 */ 54 */
55void FixIt::fixIt() { 55void FixIt::fixIt() {
56 #ifndef EAST 56 #ifndef EAST
57 ::rename("/etc/inittab", QPEApplication::qpeDir() + "etc/inittab" ); 57 ::rename("/etc/inittab", QPEApplication::qpeDir() + "etc/inittab" );
58 QFile file( "/etc/inittab" ); 58 QFile file( "/etc/inittab" );
59 if ( file.open(IO_WriteOnly | IO_Raw ) ) { 59 if ( file.open(IO_WriteOnly | IO_Raw ) ) {
60 file.writeBlock(m_file,strlen(m_file) ); 60 file.writeBlock(m_file,strlen(m_file) );
61 } 61 }
62 file.close(); 62 file.close();
63 ::kill( SIGHUP, 1 ); 63 ::kill( SIGHUP, 1 );
64 64
65 #else 65 #else
66 66 setuid(0);
67 OProcess m_kill; 67 OProcess m_kill;
68 m_kill << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_kill_0_1.sh"; 68 m_kill << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_kill_0_1.sh";
69 69
70 70
71 if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) { 71 if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) {
72 owarn << "could not execute kill script" << oendl; 72 owarn << "could not execute kill script" << oendl;
73 } else { 73 } else {
74 Global::statusMessage( QObject::tr("Fixing up Embedix")); 74 Global::statusMessage( QObject::tr("Fixing up Embedix"));
75 } 75 }
76 76
77 #endif 77 #endif
78} 78}
79 79
80void FixIt::breakIt() { 80void FixIt::breakIt() {
81 #ifdef EAST 81 #ifdef EAST
82 OProcess m_restart; 82 OProcess m_restart;
83
83 m_restart << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_restart_0_1.sh"; 84 m_restart << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_restart_0_1.sh";
84 85
85 86
86 if ( !m_restart.start(OProcess::DontCare,OProcess::NoCommunication) ) { 87 if ( !m_restart.start(OProcess::DontCare,OProcess::NoCommunication) ) {
87 owarn << "could not execute restart script" << oendl; 88 owarn << "could not execute restart script" << oendl;
88 } 89 }
89 90
90 #endif 91 #endif
91} 92}
92 93
93 94
94#endif 95#endif