commit: 9375148624f5611fa7d4de66905a66732f47d514 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Sun Sep 12 20:59:04 2021 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Mon Sep 13 05:19:03 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93751486
app-office/libreoffice: 7.1.6.2 version bump Package-Manager: Portage-3.0.23, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> app-office/libreoffice/Manifest | 2 + ...ce-7.1.6.2-KF5-fix-double-buffer-graphics.patch | 310 +++++++++++++++++++++ ...-7.1.9999.ebuild => libreoffice-7.1.6.2.ebuild} | 6 + app-office/libreoffice/libreoffice-7.1.9999.ebuild | 3 + 4 files changed, 321 insertions(+) diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest index bbb1df88721..51645c123ad 100644 --- a/app-office/libreoffice/Manifest +++ b/app-office/libreoffice/Manifest @@ -20,8 +20,10 @@ DIST f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 211919 BLAKE2B 2c7 DIST libcmis-0.5.2.tar.xz 484404 BLAKE2B 7de242393c28fc8289bb598b34e704eb2affaaa8b9e470e10044dbfd3812391f29e1421df8d7ac3869955698ddbc9575feebcfbac27bb074a60ccc0527dca1c3 SHA512 295ab15115e75b1f6074f17d3538afe0de9b2b77ab454f5c63cb05e8df11886d82942fbf21ba01486052e3f6c75b0636b99d8e660cd3472dc4b87c31d3cd557b DIST libreoffice-7.1.3.2.tar.xz 244104432 BLAKE2B f73bd448f94bc88a1dc775d032ce849ee1dd610c4077c709ffbe40d8c99527c7775cfe2309a636093182ac988ecf44a4b61df0e0a83b332fcc77a05edb602791 SHA512 d7329475cad5bece9358b29bc590da1841c3c0b4aef511508d9398519c514fa176c90675857f1830925818f2dcc8b9c0986e5d34d3a33cce617e4ada23c60a72 DIST libreoffice-7.1.5.2.tar.xz 244350068 BLAKE2B ac3c7f5cabcb27ce3ed31febb04ce54b93bc8b4fa716259d1b93d5364e75b85af3352ad70a023b56271e769f5537b3f3151e837ee13498e08f1871e5b47d778c SHA512 dad5ffd344a7bad88ed8e77df4fb17b42237715e7b1feb7a7de164f2fbf6698feefedeb57974d8275067a06c0da60e9b07a333ccc1bb2f6d55a6b52408bd9b5f +DIST libreoffice-7.1.6.2.tar.xz 244535588 BLAKE2B 79d4980b5842b37e7fdc328e832e3b672225e1903676d5c63ab68d7a993caf000bdb763837f98b4dd8156a95224ce22f501ec66dc315ca801a9c748e203e9170 SHA512 13f8e0a45614c75861b6262bcf845c1dc63baef044dc434319f739b6180f61a740f945e99663d76b1c51ce5226b9765431aa34b49d8a7f017c966bf5d4694257 DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f DIST libreoffice-help-7.1.3.2.tar.xz 111785416 BLAKE2B 12d97764976ae0e4736638e9b758c5920d38d608e66fc3343d74178a935632396e1e07fbb98b6f380fd103c3f5e2edf917726a760420f6dfd3d2e42aaa215096 SHA512 576dbea391777a907275b630ed704dd3d9ad0627f8a18da1cbd23fe28df04c3a509583c2404f810df3aaac15ef0881e2c1e0a55c9f31618715586628873367eb DIST libreoffice-help-7.1.5.2.tar.xz 111785852 BLAKE2B 18962fe9260f6cf8ec7b1676f077b9f43e0277769b31b8e2c22cf83ac2963f3e92448901bc12f56dfb579da8a8a1ce20d6bd34c4bc3449f7e0972c03d22f63be SHA512 c669b6c4bfc3c6f46e4ee0bf86b158054f7178b9785273d9aba8183236b2ff6dbaf5584d5e4fb09bba3a8d010373599e7473a4ba15c229087c689198ceeee1c7 +DIST libreoffice-help-7.1.6.2.tar.xz 111785436 BLAKE2B 810de348ca8fc297a75608bf4def1b4fe68dae976c727ceb157937de8029e9d30b52929c4a4fa6521b3391be27943bfe30b76466b9c415b4f78f0b68a28377ca SHA512 1b0f7fe4bc9bf2e16e3b3ddf49d4a70ef1d7369d9fd4d4835618007a230fb6e36e81fa1bde42d38dba1068147b285148dbff6c336aff52872e8794b594d309ad DIST skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz 10420480 BLAKE2B 83bcc9ff3a3a916ccb92f49ef69f99386e89b636d37679ab17735625c56c4bb31ca89a7034d9282c905b405e0b31215de5fd3734061d323d48db440e4ad52643 SHA512 8e5c37b895d7f5fe15f491005ac46b39efe3bfb3af5dc805bf1226b2112496bdb9e433cc3b313f8fc185fe1f898d126b8a557d23485615cdbe917f0b76855f3d DIST skia-m94-975fcdd755dfc5d57cddbb25857e0c4ac29abe98.tar.xz 11672176 BLAKE2B 64d7821656002d23be839079dedffe1132497992aaef97ec734d6e430f2eda69f5344ca7fe75dd68fee847fa4c6638b4fc28194a951b91498ece5c6d4bcf3e44 SHA512 ae66fa7caeb5a328d96cd1c35eb8700080be5d3e3764e35b8056b03948e44b8bb8266284c87b44f9200accb95dbb8a2771a6e5ba067d34a7fbd33b1ababf19f8 diff --git a/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch b/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch new file mode 100644 index 00000000000..36ed138f2a3 --- /dev/null +++ b/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch @@ -0,0 +1,310 @@ +From ec23228a3a2fc4e8868f7f04b838313be59ad719 Mon Sep 17 00:00:00 2001 +From: Jan-Marek Glogowski <[email protected]> +Date: Sun, 11 Apr 2021 17:40:26 +0200 +Subject: tdf#143796 Qt5/KF5 fix double-buffer graphics + +This is a squashed commit for: + +"Qt5/KF5 get rid of unneeded own grahics handling" +"tdf#143334 Qt5 don't reset buffer on style change" +"tdf#144008 Qt5/Kf5 create frames in the GUI thread" + +commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89 +commit ec77a2ed0283cb3446f6e352fc329afd3dfb785c +commit 923b30aa27ceb377d6a540c012000e89ce5db31e + +The first commit exposed the same problem to kf5, the 2nd patch is +the real fix and the 3rd partly a regression for kf5 from the 1st +commit but also an additional bugfix for qt5. + +Change-Id: I84b8dd106a35a5c2fda08a525f657b0b733a5cb7 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121795 +Tested-by: Jenkins +Reviewed-by: Michael Weghorn <[email protected]> +Reviewed-by: Jan-Marek Glogowski <[email protected]> +Reviewed-by: Adolfo Jayme Barrientos <[email protected]> +--- + vcl/inc/qt5/Qt5Frame.hxx | 8 +------- + vcl/inc/qt5/Qt5Instance.hxx | 1 + + vcl/qt5/Qt5Frame.cxx | 34 ++++++++++++---------------------- + vcl/qt5/Qt5Instance.cxx | 18 +++++++++++++++--- + vcl/unx/kf5/KF5SalFrame.cxx | 24 ------------------------ + vcl/unx/kf5/KF5SalFrame.hxx | 6 ------ + vcl/unx/kf5/KF5SalInstance.cxx | 16 +++++++++++++--- + vcl/unx/kf5/KF5SalInstance.hxx | 1 + + 8 files changed, 43 insertions(+), 65 deletions(-) + +diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx +index 54a721e03730..9b6e3811c3bb 100644 +--- a/vcl/inc/qt5/Qt5Frame.hxx ++++ b/vcl/inc/qt5/Qt5Frame.hxx +@@ -77,17 +77,12 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame + std::unique_ptr<QImage> m_pQImage; + std::unique_ptr<Qt5Graphics> m_pQt5Graphics; + UniqueCairoSurface m_pSurface; +- std::unique_ptr<Qt5SvpGraphics> m_pOurSvpGraphics; +- // in base class, this ptr is the same as m_pOurSvpGraphic +- // in derived class, it can point to a derivative +- // of Qt5SvpGraphics (which the derived class then owns) +- Qt5SvpGraphics* m_pSvpGraphics; ++ std::unique_ptr<Qt5SvpGraphics> m_pSvpGraphics; + DamageHandler m_aDamageHandler; + QRegion m_aRegion; + bool m_bNullRegion; + + bool m_bGraphicsInUse; +- bool m_bGraphicsInvalid; + SalFrameStyleFlags m_nStyle; + Qt5Frame* m_pParent; + PointerStyle m_ePointerStyle; +@@ -144,7 +139,6 @@ public: + void Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth, + sal_Int32 nExtentsHeight) const; + +- void InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics); + virtual SalGraphics* AcquireGraphics() override; + virtual void ReleaseGraphics(SalGraphics* pGraphics) override; + +diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx +index d73a59de51c1..a2372e58f8c9 100644 +--- a/vcl/inc/qt5/Qt5Instance.hxx ++++ b/vcl/inc/qt5/Qt5Instance.hxx +@@ -82,6 +82,7 @@ protected: + virtual Qt5FilePicker* + createPicker(css::uno::Reference<css::uno::XComponentContext> const& context, + QFileDialog::FileMode); ++ bool useCairo() const { return m_bUseCairo; } + + public: + explicit Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo = false); +diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx +index b398e9a5cf3b..d39d1729c812 100644 +--- a/vcl/qt5/Qt5Frame.cxx ++++ b/vcl/qt5/Qt5Frame.cxx +@@ -104,10 +104,8 @@ sal_Int32 screenNumber(const QScreen* pScreen) + Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo) + : m_pTopLevel(nullptr) + , m_bUseCairo(bUseCairo) +- , m_pSvpGraphics(nullptr) + , m_bNullRegion(true) + , m_bGraphicsInUse(false) +- , m_bGraphicsInvalid(false) + , m_ePointerStyle(PointerStyle::Arrow) + , m_pDragSource(nullptr) + , m_pDropTarget(nullptr) +@@ -288,17 +286,6 @@ void Qt5Frame::Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExten + 1 / devicePixelRatioF())); + } + +-void Qt5Frame::InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics) +-{ +- QSize aSize = m_pQWidget->size() * devicePixelRatioF(); +- m_pSvpGraphics = pQt5SvpGraphics; +- m_pSurface.reset( +- cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height())); +- m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(aSize.width(), aSize.height())); +- cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), &m_aDamageHandler, +- nullptr); +-} +- + SalGraphics* Qt5Frame::AcquireGraphics() + { + if (m_bGraphicsInUse) +@@ -308,24 +295,28 @@ SalGraphics* Qt5Frame::AcquireGraphics() + + if (m_bUseCairo) + { +- if (!m_pOurSvpGraphics || m_bGraphicsInvalid) ++ if (!m_pSvpGraphics) + { +- m_pOurSvpGraphics.reset(new Qt5SvpGraphics(this)); +- InitQt5SvpGraphics(m_pOurSvpGraphics.get()); +- m_bGraphicsInvalid = false; ++ QSize aSize = m_pQWidget->size() * devicePixelRatioF(); ++ m_pSvpGraphics.reset(new Qt5SvpGraphics(this)); ++ m_pSurface.reset( ++ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height())); ++ m_pSvpGraphics->setSurface(m_pSurface.get(), ++ basegfx::B2IVector(aSize.width(), aSize.height())); ++ cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), ++ &m_aDamageHandler, nullptr); + } +- return m_pOurSvpGraphics.get(); ++ return m_pSvpGraphics.get(); + } + else + { +- if (!m_pQt5Graphics || m_bGraphicsInvalid) ++ if (!m_pQt5Graphics) + { + m_pQt5Graphics.reset(new Qt5Graphics(this)); + m_pQImage.reset( + new QImage(m_pQWidget->size() * devicePixelRatioF(), Qt5_DefaultFormat32)); + m_pQImage->fill(Qt::transparent); + m_pQt5Graphics->ChangeQImage(m_pQImage.get()); +- m_bGraphicsInvalid = false; + } + return m_pQt5Graphics.get(); + } +@@ -335,7 +326,7 @@ void Qt5Frame::ReleaseGraphics(SalGraphics* pSalGraph) + { + (void)pSalGraph; + if (m_bUseCairo) +- assert(pSalGraph == m_pOurSvpGraphics.get()); ++ assert(pSalGraph == m_pSvpGraphics.get()); + else + assert(pSalGraph == m_pQt5Graphics.get()); + m_bGraphicsInUse = false; +@@ -1145,7 +1136,6 @@ void Qt5Frame::UpdateSettings(AllSettings& rSettings) + style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText))); + style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText))); + +- m_bGraphicsInvalid = true; + rSettings.SetStyleSettings(style); + } + +diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx +index ca1f914dd707..bceae35e9016 100644 +--- a/vcl/qt5/Qt5Instance.cxx ++++ b/vcl/qt5/Qt5Instance.cxx +@@ -252,13 +252,21 @@ void Qt5Instance::deleteObjectLater(QObject* pObject) { pObject->deleteLater(); + + SalFrame* Qt5Instance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle) + { +- return new Qt5Frame(nullptr, nStyle, m_bUseCairo); ++ SalFrame* pRet(nullptr); ++ RunInMainThread([&, this]() { pRet = new Qt5Frame(nullptr, nStyle, useCairo()); }); ++ assert(pRet); ++ return pRet; + } + + SalFrame* Qt5Instance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) + { + assert(!pParent || dynamic_cast<Qt5Frame*>(pParent)); +- return new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, m_bUseCairo); ++ ++ SalFrame* pRet(nullptr); ++ RunInMainThread( ++ [&, this]() { pRet = new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, useCairo()); }); ++ assert(pRet); ++ return pRet; + } + + void Qt5Instance::DestroyFrame(SalFrame* pFrame) +@@ -273,7 +281,11 @@ void Qt5Instance::DestroyFrame(SalFrame* pFrame) + SalObject* Qt5Instance::CreateObject(SalFrame* pParent, SystemWindowData*, bool bShow) + { + assert(!pParent || dynamic_cast<Qt5Frame*>(pParent)); +- return new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow); ++ ++ SalObject* pRet(nullptr); ++ RunInMainThread([&]() { pRet = new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow); }); ++ assert(pRet); ++ return pRet; + } + + void Qt5Instance::DestroyObject(SalObject* pObject) +diff --git a/vcl/unx/kf5/KF5SalFrame.cxx b/vcl/unx/kf5/KF5SalFrame.cxx +index 1aa0b9008de7..8f14594586d2 100644 +--- a/vcl/unx/kf5/KF5SalFrame.cxx ++++ b/vcl/unx/kf5/KF5SalFrame.cxx +@@ -45,7 +45,6 @@ + + KF5SalFrame::KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nState, bool bUseCairo) + : Qt5Frame(pParent, nState, bUseCairo) +- , m_bGraphicsInUse(false) + { + } + +@@ -162,27 +161,4 @@ void KF5SalFrame::UpdateSettings(AllSettings& rSettings) + rSettings.SetStyleSettings(style); + } + +-SalGraphics* KF5SalFrame::AcquireGraphics() +-{ +- if (m_bGraphicsInUse) +- return nullptr; +- +- m_bGraphicsInUse = true; +- +- if (!m_pKF5Graphics) +- { +- m_pKF5Graphics.reset(new Qt5SvpGraphics(this)); +- Qt5Frame::InitQt5SvpGraphics(m_pKF5Graphics.get()); +- } +- +- return m_pKF5Graphics.get(); +-} +- +-void KF5SalFrame::ReleaseGraphics(SalGraphics* pSalGraph) +-{ +- (void)pSalGraph; +- assert(pSalGraph == m_pKF5Graphics.get()); +- m_bGraphicsInUse = false; +-} +- + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/unx/kf5/KF5SalFrame.hxx b/vcl/unx/kf5/KF5SalFrame.hxx +index f757535c2f35..d0fdd91978e6 100644 +--- a/vcl/unx/kf5/KF5SalFrame.hxx ++++ b/vcl/unx/kf5/KF5SalFrame.hxx +@@ -28,15 +28,9 @@ class QWidget; + + class KF5SalFrame : public Qt5Frame + { +-private: +- std::unique_ptr<Qt5SvpGraphics> m_pKF5Graphics; +- bool m_bGraphicsInUse; +- + public: + KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo); + +- virtual SalGraphics* AcquireGraphics() override; +- virtual void ReleaseGraphics(SalGraphics* pGraphics) override; + virtual void UpdateSettings(AllSettings& rSettings) override; + }; + +diff --git a/vcl/unx/kf5/KF5SalInstance.cxx b/vcl/unx/kf5/KF5SalInstance.cxx +index 5b95ff8df572..d9d7747fe647 100644 +--- a/vcl/unx/kf5/KF5SalInstance.cxx ++++ b/vcl/unx/kf5/KF5SalInstance.cxx +@@ -40,11 +40,21 @@ KF5SalInstance::KF5SalInstance(std::unique_ptr<QApplication>& pQApp) + pSVData->maAppData.mxToolkitName = OUString("kf5"); + } + +-SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nState) ++SalFrame* KF5SalInstance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle) + { + SalFrame* pRet(nullptr); +- RunInMainThread([&pRet, pParent, nState]() { +- pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nState, true); ++ RunInMainThread([&, this]() { pRet = new KF5SalFrame(nullptr, nStyle, useCairo()); }); ++ assert(pRet); ++ return pRet; ++} ++ ++SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) ++{ ++ assert(!pParent || dynamic_cast<KF5SalFrame*>(pParent)); ++ ++ SalFrame* pRet(nullptr); ++ RunInMainThread([&, this]() { ++ pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nStyle, useCairo()); + }); + assert(pRet); + return pRet; +diff --git a/vcl/unx/kf5/KF5SalInstance.hxx b/vcl/unx/kf5/KF5SalInstance.hxx +index 5dd306da5231..b951df59ab33 100644 +--- a/vcl/unx/kf5/KF5SalInstance.hxx ++++ b/vcl/unx/kf5/KF5SalInstance.hxx +@@ -28,6 +28,7 @@ class KF5SalInstance final : public Qt5Instance + QFileDialog::FileMode) override; + + SalFrame* CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) override; ++ SalFrame* CreateChildFrame(SystemParentData* pParent, SalFrameStyleFlags nStyle) override; + + public: + explicit KF5SalInstance(std::unique_ptr<QApplication>& pQApp); +-- +cgit v1.2.1 + diff --git a/app-office/libreoffice/libreoffice-7.1.9999.ebuild b/app-office/libreoffice/libreoffice-7.1.6.2.ebuild similarity index 99% copy from app-office/libreoffice/libreoffice-7.1.9999.ebuild copy to app-office/libreoffice/libreoffice-7.1.6.2.ebuild index 752bacd6f31..f18f1e2704a 100644 --- a/app-office/libreoffice/libreoffice-7.1.9999.ebuild +++ b/app-office/libreoffice/libreoffice-7.1.6.2.ebuild @@ -295,6 +295,12 @@ PATCHES=( "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch" "${FILESDIR}/${PN}-6.1-nomancompress.patch" "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch" + + # 7.1 branch + "${FILESDIR}/${P}-KF5-fix-double-buffer-graphics.patch" + + # master branch + "${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432 ) S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/app-office/libreoffice/libreoffice-7.1.9999.ebuild b/app-office/libreoffice/libreoffice-7.1.9999.ebuild index 752bacd6f31..74914f80b47 100644 --- a/app-office/libreoffice/libreoffice-7.1.9999.ebuild +++ b/app-office/libreoffice/libreoffice-7.1.9999.ebuild @@ -295,6 +295,9 @@ PATCHES=( "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch" "${FILESDIR}/${PN}-6.1-nomancompress.patch" "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch" + + # master branch + "${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432 ) S="${WORKDIR}/${PN}-${MY_PV}"
