head 1.2; access; symbols pkgsrc-2023Q2:1.1.0.60 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.58 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.56 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.54 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.52 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.50 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.48 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.46 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.44 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.42 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.40 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.38 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.34 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.14 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.36 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.32 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.30 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.28 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.26 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.24 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.22 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.20 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.18 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.16 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.12 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.10 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.8 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.6 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.4 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.2 pkgsrc-2016Q1-base:1.1; locks; strict; comment @// @; 1.2 date 2023.08.16.03.14.34; author markd; state dead; branches; next 1.1; commitid 8CVzNWEV7yovxXAE; 1.1 date 2016.01.10.19.40.30; author markd; state Exp; branches; next ; commitid bUIJ9qS7Ga56cqQy; desc @@ 1.2 log @akonadi: update to 23.04.3 qt5/kf5 version @ text @$NetBSD: patch-server_src_storage_partstreamer.cpp,v 1.1 2016/01/10 19:40:30 markd Exp $ From: Dan Vrátil Date: Mon, 29 Jun 2015 20:45:11 +0000 Subject: Don't leak old external payload files X-Git-Url: http://quickgit.kde.org/?p=akonadi.git&a=commitdiff&h=9c0dc6b3f0826d32eac310b2e7ecd858ca3df681 --- Don't leak old external payload files Actually delete old payload files after we increase the payload revision or switch from external to internal payload. This caused ~/.local/share/akonadi/file_db_data to grow insanely for all users, leaving them with many duplicated files (just with different revisions). It is recommended that users run akonadictl fsck to clean up the leaked payload files. Note that there won't be any more releases of Akonadi 1.13 (and this has been fixed in master already), so I strongly recommend distributions to pick this patch into their packaging. BUG: 341884 CCBUG: 338402 --- server/src/storage/partstreamer.cpp.orig 2014-08-10 10:38:58.000000000 +0000 +++ server/src/storage/partstreamer.cpp @@@@ -290,6 +290,12 @@@@ bool PartStreamer::stream(const QByteArr mDataChanged = true; } + // If the part is external, remember it's current file name + QString originalFile; + if (part.isValid() && part.external()) { + originalFile = PartHelper::resolveAbsolutePath(part.data()); + } + part.setPartType(partType); part.setVersion(partVersion); part.setPimItemId(mItem.id()); @@@@ -306,6 +312,14 @@@@ bool PartStreamer::stream(const QByteArr *changed = mDataChanged; } + if (!originalFile.isEmpty()) { + // If the part was external but is not anymore, or if it's still external + // but the filename has changed (revision update), remove the original file + if (!part.external() || (part.external() && originalFile != PartHelper::resolveAbsolutePath(part.data()))) { + PartHelper::removeFile(originalFile); + } + } + return ok; } @ 1.1 log @Don't leak old external payload files. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ @