summaryrefslogtreecommitdiff
authorzecke <zecke>2004-10-10 16:43:49 (UTC)
committer zecke <zecke>2004-10-10 16:43:49 (UTC)
commit81133e613b12ca0b5fa4aa03c0a3441f1e41b1ad (patch) (unidiff)
tree897c5742c1e5ba8444ef4807ad6b64c62287e351
parent96e6046ac26725836d38832a6e3a491351deeb53 (diff)
downloadopie-81133e613b12ca0b5fa4aa03c0a3441f1e41b1ad.zip
opie-81133e613b12ca0b5fa4aa03c0a3441f1e41b1ad.tar.gz
opie-81133e613b12ca0b5fa4aa03c0a3441f1e41b1ad.tar.bz2
Do not 'spawn' a shell this way. Use OProcess::setUseShell if you really
need to start the command via a shell. These scripts should be marked as executable and have !#/bin/sh in the header, this should be enough for the kernel to launch them via sh.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/fixit.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/noncore/apps/opie-console/fixit.cpp b/noncore/apps/opie-console/fixit.cpp
index 5ac7673..57dba4c 100644
--- a/noncore/apps/opie-console/fixit.cpp
+++ b/noncore/apps/opie-console/fixit.cpp
@@ -1,98 +1,94 @@
1 1
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() : QObject() { 7FixIt::FixIt() : QObject() {
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"
26"l1:1:wait:/etc/rc.d/rc 1" 26"l1:1:wait:/etc/rc.d/rc 1"
27"l2:2:wait:/etc/rc.d/rc 2" 27"l2:2:wait:/etc/rc.d/rc 2"
28"l3:3:wait:/etc/rc.d/rc 3" 28"l3:3:wait:/etc/rc.d/rc 3"
29"l4:4:wait:/etc/rc.d/rc 4" 29"l4:4:wait:/etc/rc.d/rc 4"
30"l5:5:wait:/etc/rc.d/rc 5" 30"l5:5:wait:/etc/rc.d/rc 5"
31"l6:6:wait:/root/etc/rc.d/rc 6" 31"l6:6:wait:/root/etc/rc.d/rc 6"
32"" 32""
33"# Specify things to do before rebooting" 33"# Specify things to do before rebooting"
34"um::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1" 34"um::ctrlaltdel:/bin/umount -a -r > /dev/null 2>&1"
35"sw::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1" 35"sw::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1"
36"" 36""
37"# Specify program to run on ttyS0" 37"# Specify program to run on ttyS0"
38"s0:24:respawn:/sbin/getty 9600 ttyS0" 38"s0:24:respawn:/sbin/getty 9600 ttyS0"
39"#pd:5:respawn:/etc/sync/serialctl" 39"#pd:5:respawn:/etc/sync/serialctl"
40"" 40""
41"# Specify program to run on tty1" 41"# Specify program to run on tty1"
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
67 OProcess m_kill; 67 OProcess m_kill;
68 m_kill << "sh"; 68 m_kill << QPEApplication::qpeDir() + "/share/opie-console/sl6000_embedix_kill_0_1.sh";
69 m_kill << "-c";
70 m_kill << QString(QPEApplication::qpeDir() + "/share/opie-console/sl6000_embedix_kill_0_1.sh");
71 69
72 70
73 if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) { 71 if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) {
74 owarn << "could not execute kill script" << oendl; 72 owarn << "could not execute kill script" << oendl;
75 } else { 73 } else {
76 Global::statusMessage( tr("Fixing up Embedix")); 74 Global::statusMessage( tr("Fixing up Embedix"));
77 } 75 }
78 76
79 #endif 77 #endif
80} 78}
81 79
82void FixIt::breakIt() { 80void FixIt::breakIt() {
83 #ifdef EAST 81 #ifdef EAST
84 OProcess m_restart; 82 OProcess m_restart;
85 m_restart << "sh"; 83 m_restart << QPEApplication::qpeDir() + "/share/opie-console/sl6000_embedix_restart_0_1.sh";
86 m_restart << "-c";
87 m_restart << QString(QPEApplication::qpeDir() + "/share/opie-console/sl6000_embedix_restart_0_1.sh");
88 84
89 85
90 if ( !m_restart.start() ) { 86 if ( !m_restart.start(OProcess::DontCare,OProcess::NoCommunication) ) {
91 owarn << "could not execute restart script" << oendl; 87 owarn << "could not execute restart script" << oendl;
92 } 88 }
93 89
94 #endif 90 #endif
95} 91}
96 92
97 93
98#endif 94#endif