From d0305f5e0912ba2d33ab7c3b9947f2c923f5a70b1ead095fec060a7382fccd6f Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Mon, 22 Jan 2024 11:18:09 +0000 Subject: [PATCH] - reintroduce useful reproducible.patch - modified patches % doxygen-no-lowercase-man-names.patch (refreshed) - added patches + reproducible.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools/doxygen?expand=0&rev=203 --- doxygen-no-lowercase-man-names.patch | 8 +-- doxygen.changes | 9 ++++ doxygen.spec | 8 +-- doxywizard.spec | 2 +- reproducible.patch | 75 ++++++++++++++++++++++++++++ 5 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 reproducible.patch diff --git a/doxygen-no-lowercase-man-names.patch b/doxygen-no-lowercase-man-names.patch index 748766b..8f869c3 100644 --- a/doxygen-no-lowercase-man-names.patch +++ b/doxygen-no-lowercase-man-names.patch @@ -1,8 +1,8 @@ -Index: doxygen-1.9.2/src/fortranscanner.l +Index: doxygen-1.10.0/src/fortranscanner.l =================================================================== ---- doxygen-1.9.2.orig/src/fortranscanner.l -+++ doxygen-1.9.2/src/fortranscanner.l -@@ -2314,7 +2314,6 @@ static void initEntry(yyscan_t yyscanner +--- doxygen-1.10.0.orig/src/fortranscanner.l ++++ doxygen-1.10.0/src/fortranscanner.l +@@ -2697,7 +2697,6 @@ static void initEntry(yyscan_t yyscanner static void addCurrentEntry(yyscan_t yyscanner,bool case_insens) { struct yyguts_t *yyg = (struct yyguts_t*)yyscanner; diff --git a/doxygen.changes b/doxygen.changes index b335fd7..bcc9b66 100644 --- a/doxygen.changes +++ b/doxygen.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Jan 22 11:06:03 UTC 2024 - pgajdos@suse.com + +- reintroduce useful reproducible.patch +- modified patches + % doxygen-no-lowercase-man-names.patch (refreshed) +- added patches + + reproducible.patch + ------------------------------------------------------------------- Mon Dec 25 20:11:52 UTC 2023 - Christoph G diff --git a/doxygen.spec b/doxygen.spec index 4e4d75e..6092dcb 100644 --- a/doxygen.spec +++ b/doxygen.spec @@ -1,7 +1,7 @@ # # spec file for package doxygen # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -33,7 +33,8 @@ Source0: https://www.doxygen.nl/files/doxygen-%{version}.src.tar.gz # suse specific Patch1: %{name}-no-lowercase-man-names.patch # The unified libclang-cpp library doesn't exist on older Leap / SLE -Patch10: doxygen-no-libclang-cpp.patch +Patch2: doxygen-no-libclang-cpp.patch +Patch3: reproducible.patch BuildRequires: bison BuildRequires: cmake >= 3.14 BuildRequires: flex @@ -65,9 +66,10 @@ language VHDL. %patch1 -p1 %if %{with libclang} %if 0%{?sle_version} == 150100 || (0%{?sle_version} == 150200 && !0%{?is_opensuse}) -%patch10 -p1 +%patch2 -p1 %endif %endif +%patch3 -p1 %build %cmake \ diff --git a/doxywizard.spec b/doxywizard.spec index 22935be..d1f50ad 100644 --- a/doxywizard.spec +++ b/doxywizard.spec @@ -1,7 +1,7 @@ # # spec file for package doxywizard # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..00bc63a --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,75 @@ +Index: doxygen-1.10.0/deps/filesystem/filesystem.hpp +=================================================================== +--- doxygen-1.10.0.orig/deps/filesystem/filesystem.hpp ++++ doxygen-1.10.0/deps/filesystem/filesystem.hpp +@@ -5700,12 +5700,13 @@ public: + impl(const path& path, directory_options options) + : _base(path) + , _options(options) +- , _dir(nullptr) ++ , _namelist(nullptr) ++ , _namelisti(-1) + , _entry(nullptr) + { + if (!path.empty()) { +- do { _dir = ::opendir(path.native().c_str()); } while(errno == EINTR); +- if (!_dir) { ++ _namelisti = _namelistn = ::scandir(path.native().c_str(), &_namelist, NULL, alphasort); ++ if (_namelistn == -1) { + auto error = errno; + _base = filesystem::path(); + if ((error != EACCES && error != EPERM) || (options & directory_options::skip_permission_denied) == directory_options::none) { +@@ -5720,19 +5721,23 @@ public: + impl(const impl& other) = delete; + ~impl() + { +- if (_dir) { +- ::closedir(_dir); ++ if (_namelist) { ++ for (int i=_namelistn-1; i>=0; i--) { ++ free(_namelist[i]); ++ } ++ free(_namelist); ++ _namelist = nullptr; + } + } + void increment(std::error_code& ec) + { +- if (_dir) { ++ if (_namelist) { + bool skip; + do { + skip = false; + errno = 0; +- do { _entry = ::readdir(_dir); } while(errno == EINTR); +- if (_entry) { ++ if (_namelisti > 0 ) { ++ _entry = _namelist[--_namelisti]; + _dir_entry._path = _base; + _dir_entry._path.append_name(_entry->d_name); + copyToDirEntry(); +@@ -5742,8 +5747,11 @@ public: + } + } + else { +- ::closedir(_dir); +- _dir = nullptr; ++ for (int i=_namelistn-1; i>=0; i--) { ++ free(_namelist[i]); ++ } ++ free(_namelist); ++ _namelist = nullptr; + _dir_entry._path.clear(); + if (errno && errno != EINTR) { + ec = detail::make_system_error(); +@@ -5772,7 +5780,9 @@ public: + } + path _base; + directory_options _options; +- DIR* _dir; ++ int _namelisti; ++ int _namelistn; ++ struct dirent **_namelist; + struct ::dirent* _entry; + directory_entry _dir_entry; + std::error_code _ec;