Kaydet (Commit) bdeb3fb0 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

updater: remove the updater files after an update

Change-Id: Iaf12cb66fae2ead6d899864309f0d7f4d131e072
Reviewed-on: https://gerrit.libreoffice.org/40654Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMarkus Mohrhard <markus.mohrhard@googlemail.com>
üst 6d2ef60c
......@@ -1420,6 +1420,8 @@ int Desktop::Main()
officecfg::Office::Update::Update::SeeAlso::set(OUString(), batch);
officecfg::Office::Update::Update::OldBuildID::set(OUString(), batch);
batch->commit();
Updater::removeUpdateFiles();
}
osl::DirectoryItem aPatchInfo;
......
......@@ -780,6 +780,20 @@ OUString Updater::getUpdateDirURL()
return aUpdateDirURL;
}
OUString Updater::getUpdateFileURL()
{
return getPatchDirURL() + "update.mar";
}
OUString Updater::getInstallationPath()
{
OUString aInstallDir( "$BRAND_BASE_DIR/");
rtl::Bootstrap::expandMacros(aInstallDir);
return getPathFromURL(aInstallDir);
}
OUString Updater::getExecutableDirURL()
{
OUString aExeDir( "$BRAND_BASE_DIR/" LIBO_BIN_FOLDER "/" );
......@@ -820,4 +834,38 @@ OUString Updater::getBuildID()
return aBuildID;
}
void Updater::removeUpdateFiles()
{
Updater::log("Removing: " + getUpdateFileURL());
osl::File::remove(getUpdateFileURL());
OUString aPatchDirURL = getPatchDirURL();
osl::Directory aDir(aPatchDirURL);
aDir.open();
osl::FileBase::RC eRC;
do
{
osl::DirectoryItem aItem;
eRC = aDir.getNextItem(aItem);
if (eRC == osl::FileBase::E_None)
{
osl::FileStatus aStatus(osl_FileStatus_Mask_All);
if (aItem.getFileStatus(aStatus) != osl::FileBase::E_None)
continue;
if (!aStatus.isRegular())
continue;
OUString aURL = aStatus.getFileURL();
if (!aURL.endsWith(".mar"))
continue;
Updater::log("Removing. " + aURL);
osl::File::remove(aURL);
}
}
while (eRC == osl::FileBase::E_None);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -26,13 +26,17 @@ public:
static OUString getUpdateInfoLog();
static OUString getPatchDirURL();
static OUString getUpdateDirURL();
static OUString getUpdateFileURL();
static OUString getExecutableDirURL();
static OUString getInstallationPath();
static OUString getBuildID();
static void log(const OUString& rMessage);
static void log(const OString& rMessage);
static void log(const char* pMessage);
static void removeUpdateFiles();
};
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment