SHA256
1
0
forked from pool/doxygen

Accepting request 766399 from home:bmwiedemann:branches:devel:tools

Add upstream reproducible-sort.patch to make html output reproducible in spite of ASLR (boo#1062303)

OBS-URL: https://build.opensuse.org/request/show/766399
OBS-URL: https://build.opensuse.org/package/show/devel:tools/doxygen?expand=0&rev=146
This commit is contained in:
Martin Pluskal 2020-01-23 08:03:16 +00:00 committed by Git OBS Bridge
parent 35d42b126f
commit d00bed73f0
3 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Jan 22 17:31:41 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add reproducible-sort.patch to make html output reproducible
in spite of ASLR (boo#1062303)
-------------------------------------------------------------------
Fri Jan 10 09:14:20 UTC 2020 - Martin Pluskal <mpluskal@suse.com>

View File

@ -40,6 +40,7 @@ Patch6: doxygen-llvm-libs.patch
Patch7: PR_7193_fix_blank_file_patterns.patch
# PATCH-FIX-UPSTREAM Including external tag files with TOC produces a broken index.qhp
Patch8: 0001-issue-7248-Including-external-tag-files-with-TOC-pro.patch
Patch9: reproducible-sort.patch
BuildRequires: bison
BuildRequires: cmake >= 2.8.12
BuildRequires: flex
@ -72,6 +73,7 @@ as well.
%endif
%patch7 -p1
%patch8 -p1
%patch9 -p1
%build
%cmake \

31
reproducible-sort.patch Normal file
View File

@ -0,0 +1,31 @@
From dc67dbe5bd5a48756c591ad02b9f68fbd2a57687 Mon Sep 17 00:00:00 2001
From: Dimitri van Heesch <doxygen@gmail.com>
Date: Sun, 19 Jan 2020 20:31:52 +0100
Subject: [PATCH] issue #7474: [1.8.16 regression] HTML output varies from ASLR
---
src/memberlist.cpp | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 278023bb6..edd164bec 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -75,8 +75,15 @@ int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const
return 1;
}
int cmp = qstricmp(c1->name(),c2->name());
- if (cmp==0) cmp = qstricmp(c1->argsString(),c2->argsString());
- return cmp!=0 ? cmp : c1->getDefLine()-c2->getDefLine();
+ if (cmp==0 && c1->argsString() && c2->argsString())
+ {
+ cmp = qstricmp(c1->argsString(),c2->argsString());
+ }
+ if (cmp==0)
+ {
+ cmp = c1->getDefLine()-c2->getDefLine();
+ }
+ return cmp;
}
int MemberList::countInheritableMembers(const ClassDef *inheritedFrom) const