Fixed generate cl-install parameters.

new_installer
Ivan Loskutov 14 years ago
parent ec7ef2000f
commit 1aa4b775cf

@ -152,6 +152,13 @@ void CalculateConfig::setValue ( const QString& key, const QVariant& value )
}
void CalculateConfig::showInstallParameters()
{
QStringList params = getInstallParameters();
emit sendParameters(params);
}
QStringList CalculateConfig::getInstallParameters()
{
QStringList params;
@ -159,7 +166,11 @@ void CalculateConfig::showInstallParameters()
if ( m_Config["--disk"].toStringList().count() > 0 )
{
foreach(const QString& disk, m_Config["--disk"].toStringList())
params << QString("--disk ") + disk;
{
QString disk_t(disk);
disk_t.replace(" ", "");
params << QString("--disk ") + disk_t;
}
}
if ( !m_Config["--swap"].toString().isEmpty() )
@ -167,43 +178,42 @@ void CalculateConfig::showInstallParameters()
// mbr
if ( !m_Config["gui_os_device_dev"].toString().isEmpty() )
params << QString("--mbr ") + m_Config["gui_os_device_dev"].toString();
params << QString("--mbr /dev/") + m_Config["gui_os_device_dev"].toString();
// config
if ( !m_Config["os_install_net_hostname"].toString().isEmpty() )
params << "--set " << "os_install_net_hostname = " << m_Config["os_install_net_hostname"].toString();
params << "--set os_install_net_hostname=" + m_Config["os_install_net_hostname"].toString();
if ( !m_Config["os_install_net_domain"].toString().isEmpty() )
params << "--set " << "os_install_net_domain = " << m_Config["os_install_net_domain"].toString();
params << "--set os_install_net_domain=" + m_Config["os_install_net_domain"].toString();
if ( !m_Config["os_install_clock_timezone"].toString().isEmpty() )
params << "--set " << "os_install_clock_timezone = " << m_Config["os_install_clock_timezone"].toString();
params << "--set os_install_clock_timezone=" + m_Config["os_install_clock_timezone"].toString();
if ( !m_Config["os_install_x11_video_drv"].toString().isEmpty() )
params << "--set " << "os_install_x11_video_drv = " << m_Config["os_install_x11_video_drv"].toString();
params << "--set os_install_x11_video_drv=" + m_Config["os_install_x11_video_drv"].toString();
if ( !m_Config["os_install_x11_composite"].toString().isEmpty() )
params << "--set " << "os_install_x11_composite = " << m_Config["os_install_x11_composite"].toString();
params << "--set os_install_x11_composite=" + m_Config["os_install_x11_composite"].toString();
if ( m_Config["gui_expert_mode"].toString() == "on" )
{
if ( !m_Config["os_install_makeopts"].toString().isEmpty() )
params << "--set " << "os_install_makeopts = " << m_Config["os_install_makeopts"].toString();
params << "--set os_install_makeopts=" + m_Config["os_install_makeopts"].toString();
if ( !m_Config["os_install_proxy"].toString().isEmpty() )
params << "--set " << "os_install_proxy = " << m_Config["os_install_proxy"].toString();
params << "--set os_install_proxy=" + m_Config["os_install_proxy"].toString();
if ( !m_Config["os_install_ntp"].toString().isEmpty() )
params << "--set " << "os_install_ntp = " << m_Config["os_install_ntp"].toString();
params << "--set os_install_ntp=" + m_Config["os_install_ntp"].toString();
if ( !m_Config["os_install_clock_type"].toString().isEmpty() )
params << "--set " << "os_install_clock_type = " << m_Config["os_install_clock_type"].toString();
params << "--set os_install_clock_type=" + m_Config["os_install_clock_type"].toString();
}
// lang
if ( !m_Config["gui_install_language"].toString().isEmpty() )
params << "--lang " << m_Config["gui_install_language"].toString();
params << "--lang " + m_Config["gui_install_language"].toString();
emit sendParameters(params);
return params;
}

@ -22,6 +22,7 @@ public:
void setValue(const QString& key, const QVariant& value);
void showInstallParameters();
QStringList getInstallParameters();
signals:
void sendParameters(QStringList);

@ -8,6 +8,8 @@
#include <QTextEdit>
#include <QProgressBar>
#include "calculateconfig.h"
PageInstall::PageInstall() :
InstallerPage(),
m_clProc(0)
@ -56,36 +58,22 @@ void PageInstall::show()
{
m_clProc = new QProcess(this);
#ifndef NO_INSTALL
connect( m_clProc, SIGNAL(error(QProcess::ProcessError)), this, SLOT(onError(QProcess::ProcessError)) );
connect( m_clProc, SIGNAL(readyReadStandardOutput()), this, SLOT(showStdOut()) );
connect( m_clProc, SIGNAL(readyReadStandardError()), this, SLOT(showStdErr()) );
connect( m_clProc, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(onFinish(int,QProcess::ExitStatus)) );
QStringList args;
args << "--force";
if (m_Settings->builder)
args << "--build";
args << QString("--disk=%1").arg(m_Settings->disk);
args << QString("--set-hostname=%1").arg(m_Settings->host);
args << QString("--set-format=%1").arg(m_Settings->fs);
args << QString("--set-lang=%1").arg(m_Settings->language);
args << QString("--set-timezone=%1").arg(m_Settings->timezone);
args << QString("--set-erase=%1").arg( m_Settings->erase ? "yes" : "no" );
args << QString("--set-mbr=%1").arg( m_Settings->mbr ? "yes" : "no" );
args << QString("--set-uuid=%1").arg( m_Settings->uuid ? "yes" : "no" );
args << QString("--set-type=%1").arg( m_Settings->disktype );
args << QString("--set-video_drv=%1").arg( m_Settings->videodrv );
m_clProc->start("calculate", args);
#else
onFinish(0, QProcess::NormalExit);
#endif
QStringList args = CalculateConfig::instance()->getInstallParameters();
qDebug() << "Start: cl-install ";
foreach(const QString& arg, args)
qDebug() << arg;
m_clProc->setStandardErrorFile("/home/guest/cl-install-gui-err.log");
//m_clProc->setStandardOutputFile("/home/guest/cl-install-gui-out.log");
m_clProc->start( "cl-install -f --color never " + args.join(" ") );
}
}
@ -101,11 +89,11 @@ void PageInstall::showStdOut()
{
// debug
QString str = m_clProc->readAllStandardOutput();
/*
QFile debug("/tmp/cl-install-gui_stdout.txt");
if ( debug.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered) )
if ( debug.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered | QIODevice::Text) )
debug.write(str.toLocal8Bit());
*/
m_Output->insertPlainText( str );
m_Output->moveCursor(QTextCursor::EndOfBlock);
}
@ -119,11 +107,11 @@ void PageInstall::showStdErr()
if (m_clProc)
{
QString str = m_clProc->readAllStandardError();
/*
QFile debug("/tmp/cl-install-gui_stderr.txt");
if ( debug.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered) )
if ( debug.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered | QIODevice::Text) )
debug.write(str.toLocal8Bit());
*/
/*
if ( str.contains("eta:") )
{
QRegExp eta_regexp("\\b(\\d{1,2}:\\d{1,2}:\\d{1,2})\\b");
@ -141,13 +129,14 @@ void PageInstall::showStdErr()
if ( !progress.isEmpty() )
m_Progress->setValue( progress.toInt() );
}
*/
}
}
void PageInstall::onFinish(int exitCode, QProcess::ExitStatus exitStatus)
{
qDebug() << "install onFinish()";
qDebug() << "install onFinish() " << exitCode;
emit changeNext(true);
emit changePrev(true);
@ -157,6 +146,18 @@ void PageInstall::onFinish(int exitCode, QProcess::ExitStatus exitStatus)
// instalation complete
emit changePrev(false);
}
else
{
m_Output->insertPlainText("Error: ");
QString str = m_clProc->readAllStandardOutput();
QString strErr = m_clProc->readAllStandardError();
m_Output->insertPlainText( str );
m_Output->moveCursor(QTextCursor::EndOfBlock);
m_Output->insertPlainText( strErr );
m_Output->moveCursor(QTextCursor::EndOfBlock);
}
m_Progress->setValue(100);
m_LabelEta->setText( tr("Eta: 0:00:00") );

Loading…
Cancel
Save