author | zecke <zecke> | 2004-10-10 16:43:49 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-10-10 16:43:49 (UTC) |
commit | 81133e613b12ca0b5fa4aa03c0a3441f1e41b1ad (patch) (unidiff) | |
tree | 897c5742c1e5ba8444ef4807ad6b64c62287e351 | |
parent | 96e6046ac26725836d38832a6e3a491351deeb53 (diff) | |
download | opie-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.
-rw-r--r-- | noncore/apps/opie-console/fixit.cpp | 10 |
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 | ||
4 | using namespace Opie::Core; | 4 | using namespace Opie::Core; |
5 | 5 | ||
6 | #ifdef FSCKED_DISTRI | 6 | #ifdef FSCKED_DISTRI |
7 | FixIt::FixIt() : QObject() { | 7 | FixIt::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 | */ |
55 | void FixIt::fixIt() { | 55 | void 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 | ||
82 | void FixIt::breakIt() { | 80 | void 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 |