[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#985541: unblock: dtkcore/5.2.2.5-3



Control: tags -1 + moreinfo

On 2021-03-19 12:17:46 -0400, Boyuan Yang wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> X-Debbugs-CC: pkg-deepin-devel@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 <byang@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

Should these symbols really be part of the public ABI?

Cheers

>   _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 <hufeng@uniontech.com>
> +
> +Forwarded: not-needed
> +Reviewed-By: Boyuan Yang <byang@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




-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


Reply to: