Maemo: Fix tarball installation.

Busybox tar does not have --absolute-names.
This commit is contained in:
Christian Kandeler
2011-04-07 16:20:46 +02:00
parent e96a029a7d
commit 4efcc46d10
2 changed files with 6 additions and 2 deletions

View File

@@ -67,7 +67,9 @@ void AbstractMaemoPackageInstaller::installPackage(const SshConnection::Ptr &con
SLOT(handleInstallationFinished(int))); SLOT(handleInstallationFinished(int)));
const QString space = QLatin1String(" "); const QString space = QLatin1String(" ");
QString cmdLine = MaemoGlobal::remoteSudo(m_installer->connection()->connectionParameters().userName) QString cmdLine = QLatin1String("cd ") + workingDirectory()
+ QLatin1String(" && ")
+ MaemoGlobal::remoteSudo(m_installer->connection()->connectionParameters().userName)
+ space + installCommand() + space + installCommand()
+ space + installCommandArguments().join(space) + space + space + installCommandArguments().join(space) + space
+ packageFilePath; + packageFilePath;
@@ -205,7 +207,7 @@ QString MaemoTarPackageInstaller::installCommand() const
QStringList MaemoTarPackageInstaller::installCommandArguments() const QStringList MaemoTarPackageInstaller::installCommandArguments() const
{ {
return QStringList() << QLatin1String("--absolute-names -xvf"); return QStringList() << QLatin1String("xvf");
} }
} // namespace Internal } // namespace Internal

View File

@@ -73,6 +73,7 @@ private slots:
private: private:
virtual void prepareInstallation() {} virtual void prepareInstallation() {}
virtual QString workingDirectory() const { return QLatin1String("/tmp"); }
virtual QString installCommand() const=0; virtual QString installCommand() const=0;
virtual QStringList installCommandArguments() const=0; virtual QStringList installCommandArguments() const=0;
virtual QString errorString() const { return QString(); } virtual QString errorString() const { return QString(); }
@@ -122,6 +123,7 @@ public:
private: private:
virtual QString installCommand() const; virtual QString installCommand() const;
virtual QStringList installCommandArguments() const; virtual QStringList installCommandArguments() const;
virtual QString workingDirectory() const { return QLatin1String("/"); }
}; };