diff --git a/src/plugins/remotelinux/maemopackagecreationstep.cpp b/src/plugins/remotelinux/maemopackagecreationstep.cpp index 86b458877e5702892214f469fedaf910c836705d..e63af4958593ae704a716fc534411a4532a2701b 100644 --- a/src/plugins/remotelinux/maemopackagecreationstep.cpp +++ b/src/plugins/remotelinux/maemopackagecreationstep.cpp @@ -442,10 +442,16 @@ bool MaemoDebianPackageCreationStep::copyDebianFiles(bool inSourceBuild) QDir templatesDir(templatesDirPath); const QStringList &files = templatesDir.entryList(QDir::Files); foreach (const QString &fileName, files) { - const QString srcFile - = templatesDirPath + QLatin1Char('/') + fileName; - const QString destFile - = debianDirPath + QLatin1Char('/') + fileName; + const QString srcFile = templatesDirPath + QLatin1Char('/') + fileName; + QString newFileName = fileName; + if (newFileName == Qt4HarmattanTarget::aegisManifestFileName()) { + // If the user has touched the Aegis manifest file, we copy it for use + // by MADDE. Otherwise the required capabilities will be auto-detected. + if (QFileInfo(srcFile).size() == 0) + continue; + newFileName = maemoTarget()->packageName() + QLatin1String(".aegis"); + } + const QString destFile = debianDirPath + QLatin1Char('/') + newFileName; if (fileName == QLatin1String("rules")) { if (!adaptRulesFile(srcFile, destFile)) return false; diff --git a/src/plugins/remotelinux/qt4maemotarget.cpp b/src/plugins/remotelinux/qt4maemotarget.cpp index cb0fb20f83284cf8ba949ca90b863bf4def5dc38..3a89c2bd028bbd04b38e1d14b4928b84b403950f 100644 --- a/src/plugins/remotelinux/qt4maemotarget.cpp +++ b/src/plugins/remotelinux/qt4maemotarget.cpp @@ -1083,6 +1083,17 @@ QString Qt4HarmattanTarget::defaultDisplayName() "Qt4 Harmattan target display name"); } +QString Qt4HarmattanTarget::aegisManifestFileName() +{ + return QLatin1String("manifest.aegis"); +} + +void Qt4HarmattanTarget::handleTargetAddedSpecial() +{ + AbstractDebBasedQt4MaemoTarget::handleTargetAddedSpecial(); + QFile(debianDirPath() + QLatin1Char('/') + aegisManifestFileName()).open(QIODevice::WriteOnly); +} + void Qt4HarmattanTarget::addAdditionalControlFileFields(QByteArray &controlContents) { Q_UNUSED(controlContents); diff --git a/src/plugins/remotelinux/qt4maemotarget.h b/src/plugins/remotelinux/qt4maemotarget.h index 9b647551d95475c23035adc6286a1bc99f29dedf..c5745c00ab5c0154b159699220bf95415f9f892f 100644 --- a/src/plugins/remotelinux/qt4maemotarget.h +++ b/src/plugins/remotelinux/qt4maemotarget.h @@ -138,6 +138,7 @@ signals: void controlChanged(); protected: + virtual void handleTargetAddedSpecial(); bool adaptControlFileField(QByteArray &document, const QByteArray &fieldName, const QByteArray &newFieldValue); @@ -151,7 +152,6 @@ private: virtual bool setShortDescriptionInternal(const QString &description); virtual ActionStatus createSpecialTemplates(); - virtual void handleTargetAddedSpecial(); virtual bool targetCanBeRemoved() const; virtual void removeTarget(); virtual bool initAdditionalPackagingSettingsFromOtherTarget(); @@ -258,8 +258,10 @@ public: virtual bool allowsQmlDebugging() const { return true; } static QString defaultDisplayName(); + static QString aegisManifestFileName(); private: + void handleTargetAddedSpecial(); virtual void addAdditionalControlFileFields(QByteArray &controlContents); virtual QString debianDirName() const; virtual QByteArray packageManagerNameFieldName() const;