summaryrefslogtreecommitdiff
authorharlekin <harlekin>2005-01-11 16:09:07 (UTC)
committer harlekin <harlekin>2005-01-11 16:09:07 (UTC)
commit0619c844b8a3054c6d6e480ba1c90e3f42e63873 (patch) (side-by-side diff)
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,13 +1,13 @@
-
+#include <unistd.h>
#include "fixit.h"
using namespace Opie::Core;
#ifdef FSCKED_DISTRI
FixIt::FixIt() {
/* the new inittab */
m_file = "#\n# /etc/inittab"
"#"
""
"# 0 - halt (Do NOT set initdefault to this)"
"# 1 - Single user mode"
@@ -54,41 +54,42 @@ FixIt::FixIt() {
*/
void FixIt::fixIt() {
#ifndef EAST
::rename("/etc/inittab", QPEApplication::qpeDir() + "etc/inittab" );
QFile file( "/etc/inittab" );
if ( file.open(IO_WriteOnly | IO_Raw ) ) {
file.writeBlock(m_file,strlen(m_file) );
}
file.close();
::kill( SIGHUP, 1 );
#else
-
+ setuid(0);
OProcess m_kill;
m_kill << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_kill_0_1.sh";
-
+
if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) {
owarn << "could not execute kill script" << oendl;
} else {
Global::statusMessage( QObject::tr("Fixing up Embedix"));
}
#endif
}
void FixIt::breakIt() {
#ifdef EAST
OProcess m_restart;
+
m_restart << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_restart_0_1.sh";
-
-
+
+
if ( !m_restart.start(OProcess::DontCare,OProcess::NoCommunication) ) {
owarn << "could not execute restart script" << oendl;
}
#endif
}
#endif