Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package doxygen for openSUSE:Factory checked in at 2023-09-17 19:28:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/doxygen (Old) and /work/SRC/openSUSE:Factory/.doxygen.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doxygen" Sun Sep 17 19:28:41 2023 rev:96 rq:1111060 version:1.9.6 Changes: -------- --- /work/SRC/openSUSE:Factory/doxygen/doxygen.changes 2023-09-05 11:54:49.809324088 +0200 +++ /work/SRC/openSUSE:Factory/.doxygen.new.1766/doxygen.changes 2023-09-17 19:28:44.800401426 +0200 @@ -1,0 +2,5 @@ +Mon Jul 17 17:14:00 UTC 2023 - Bernhard Wiedemann <[email protected]> + +- Add reproducible.patch to make doxytags output reproducible (boo#1201579) + +------------------------------------------------------------------- New: ---- reproducible.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ doxygen.spec ++++++ --- /var/tmp/diff_new_pack.eQl7ww/_old 2023-09-17 19:28:46.820473422 +0200 +++ /var/tmp/diff_new_pack.eQl7ww/_new 2023-09-17 19:28:46.824473565 +0200 @@ -39,6 +39,7 @@ Patch21: https://github.com/doxygen/doxygen/commit/7b2a6027775b.patch#/Fix-boundingbox-parsing_part2.patch Patch22: https://github.com/doxygen/doxygen/commit/f3514d578633.patch#/Fix-boundingbox-parsing_part3.patch Patch23: https://github.com/doxygen/doxygen/commit/8129939c312e.patch#/Fix-boundingbox-parsing_part4.patch +Patch24: reproducible.patch BuildRequires: bison BuildRequires: cmake >= 2.8.12 BuildRequires: flex @@ -77,6 +78,7 @@ %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 %build %cmake \ ++++++ reproducible.patch ++++++ Index: doxygen-1.9.6/filesystem/filesystem.hpp =================================================================== --- doxygen-1.9.6.orig/filesystem/filesystem.hpp +++ doxygen-1.9.6/filesystem/filesystem.hpp @@ -5548,12 +5548,13 @@ public: impl(const path& path, directory_options options) : _base(path) , _options(options) - , _dir(nullptr) + , _namelist(nullptr) + , _namelisti(-1) , _entry(nullptr) { if (!path.empty()) { - _dir = ::opendir(path.native().c_str()); - 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) { @@ -5568,19 +5569,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; - _entry = ::readdir(_dir); - if (_entry) { + if (_namelisti > 0 ) { + _entry = _namelist[--_namelisti]; _dir_entry._path = _base; _dir_entry._path.append_name(_entry->d_name); copyToDirEntry(); @@ -5590,8 +5595,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) { ec = detail::make_system_error(); @@ -5634,7 +5642,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;
