Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock X-Debbugs-CC: pkg-deepin-de...@lists.alioth.debian.org
Please unblock package dtkcore [ Reason ] Current version of dtkcore would cause all Deepin applications to crash when clicking the "About" menu. The new dtkcore/5.2.2.5-3 provides a targeted patch coming from Deepin upstream to solve this bug. The bug is documented as https://bugs.debian.org/985480 . [ Impact ] If the bug is not fixed, all deepin applications (deepin-*) will crash when the user clicks the "About" menu. [ Tests ] Click the "About" menu with different versions of libdtkcore5 installed. The new version will not crash. All buildd build in Debian sid on release architectures have succeeded. [ Risks ] The risk of introducing regression should be minimal according to my understanding to the patch. [ Checklist ] [X] all changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in testing unblock dtkcore/5.2.2.5-3
diff -Nru dtkcore-5.2.2.5/debian/changelog dtkcore-5.2.2.5/debian/changelog --- dtkcore-5.2.2.5/debian/changelog 2020-12-21 04:20:28.000000000 -0500 +++ dtkcore-5.2.2.5/debian/changelog 2021-03-18 22:57:38.000000000 -0400 @@ -1,3 +1,11 @@ +dtkcore (5.2.2.5-3) unstable; urgency=high + + * debian/patches/0001-fix-access-null-pointer.patch: Apply upstream + patch to avoid program crash when clicking "About" menu in Deepin + Applications. (Closes: #985480) + + -- Boyuan Yang <by...@debian.org> Thu, 18 Mar 2021 22:57:38 -0400 + dtkcore (5.2.2.5-2) unstable; urgency=medium * debian/libdtkcore5.symbols: diff -Nru dtkcore-5.2.2.5/debian/libdtkcore5.symbols dtkcore-5.2.2.5/debian/libdtkcore5.symbols --- dtkcore-5.2.2.5/debian/libdtkcore5.symbols 2020-12-21 04:20:28.000000000 -0500 +++ dtkcore-5.2.2.5/debian/libdtkcore5.symbols 2021-03-18 22:44:46.000000000 -0400 @@ -199,6 +199,7 @@ _ZN3Dtk4Core15DSysInfoPrivate16ensureDeepinInfoEv@Base 5.2.2 _ZN3Dtk4Core15DSysInfoPrivate17ensureReleaseInfoEv@Base 5.2.2 _ZN3Dtk4Core15DSysInfoPrivate18ensureComputerInfoEv@Base 5.2.2 + _ZN3Dtk4Core15DSysInfoPrivate22ensureDistributionInfoEv@Base 5.2.2 _ZN3Dtk4Core15DSysInfoPrivateC1Ev@Base 5.2.2 _ZN3Dtk4Core15DSysInfoPrivateC2Ev@Base 5.2.2 _ZN3Dtk4Core15QSettingBackend11doSetOptionERK7QStringRK8QVariant@Base 5.2.2 diff -Nru dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch --- dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch 1969-12-31 19:00:00.000000000 -0500 +++ dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch 2021-03-18 22:57:38.000000000 -0400 @@ -0,0 +1,65 @@ +Description: fix access null pointer + TODO: fix access null pointer +Author: Hu Feng <huf...@uniontech.com> + +Forwarded: not-needed +Reviewed-By: Boyuan Yang <by...@debian.org> +Last-Update: 2021-03-02 + +--- dtkcore-5.4.0.orig/src/dsysinfo.cpp ++++ dtkcore-5.4.0/src/dsysinfo.cpp +@@ -48,6 +48,7 @@ public: + #ifdef Q_OS_LINUX + void ensureDeepinInfo(); + bool ensureOsVersion(); ++ void ensureDistributionInfo(); + #endif + void ensureReleaseInfo(); + void ensureComputerInfo(); +@@ -97,6 +98,16 @@ DSysInfoPrivate::DSysInfoPrivate() + } + + #ifdef Q_OS_LINUX ++void DSysInfoPrivate::ensureDistributionInfo() ++{ ++ if (distributionInfo) ++ return; ++ ++ const QString distributionInfoFile(DSysInfo::distributionInfoPath()); ++ // Generic DDE distribution info ++ distributionInfo.reset(new DDesktopEntry(distributionInfoFile)); ++} ++ + void DSysInfoPrivate::ensureDeepinInfo() + { + if (static_cast<int>(deepinType) >= 0) +@@ -168,11 +179,6 @@ void DSysInfoPrivate::ensureDeepinInfo() + } else { + deepinType = DSysInfo::UnknownDeepin; + } +- +- const QString distributionInfoFile(DSysInfo::distributionInfoPath()); +- // Generic DDE distribution info +- distributionInfo.reset(new DDesktopEntry(distributionInfoFile)); +- QSettings distributionInfo(distributionInfoFile, QSettings::IniFormat); // TODO: treat as `.desktop` format instead of `.ini` + } + + bool DSysInfoPrivate::ensureOsVersion() +@@ -734,7 +740,7 @@ QString DSysInfo::distributionInfoSectio + QString DSysInfo::distributionOrgName(DSysInfo::OrgType type, const QLocale &locale) + { + #ifdef Q_OS_LINUX +- siGlobal->ensureDeepinInfo(); ++ siGlobal->ensureDistributionInfo(); + #endif + + QString fallback = type == Distribution ? QStringLiteral("Deepin") : QString(); +@@ -757,7 +763,7 @@ QString DSysInfo::deepinDistributorName( + QPair<QString, QString> DSysInfo::distributionOrgWebsite(DSysInfo::OrgType type) + { + #ifdef Q_OS_LINUX +- siGlobal->ensureDeepinInfo(); ++ siGlobal->ensureDistributionInfo(); + #endif + + QString fallbackSiteName = type == Distribution ? QStringLiteral("www.deepin.org") : QString(); diff -Nru dtkcore-5.2.2.5/debian/patches/series dtkcore-5.2.2.5/debian/patches/series --- dtkcore-5.2.2.5/debian/patches/series 1969-12-31 19:00:00.000000000 -0500 +++ dtkcore-5.2.2.5/debian/patches/series 2021-03-18 22:44:25.000000000 -0400 @@ -0,0 +1 @@ +0001-fix-access-null-pointer.patch
signature.asc
Description: This is a digitally signed message part