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-04 22:52:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/doxygen (Old) and /work/SRC/openSUSE:Factory/.doxygen.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "doxygen" Mon Sep 4 22:52:17 2023 rev:94 rq:1105846 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/doxygen/doxygen.changes 2023-04-26 17:25:01.773507078 +0200 +++ /work/SRC/openSUSE:Factory/.doxygen.new.1766/doxygen.changes 2023-09-04 22:52:18.449063941 +0200 @@ -1,0 +2,34 @@ +Thu Aug 24 10:45:46 UTC 2023 - pgajdos@suse.com + +- doxygen-test multibuild target to break build cycle with latex +- modified sources + % _multibuild + +------------------------------------------------------------------- +Tue Jul 18 11:09:41 UTC 2023 - pgajdos@suse.com + +- rebase reproducible.patch to 1.9.7 + +------------------------------------------------------------------- +Mon Jul 17 17:14:00 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com> + +- Add reproducible.patch to make doxytags output reproducible (boo#1201579) + +------------------------------------------------------------------- +Fri Jun 23 12:00:15 UTC 2023 - pgajdos@suse.com + +- version update to 1.9.7 + * https://www.doxygen.nl/manual/changelog.html#log_1_9_7 +- modified patches + % doxygen-no-libclang-cpp.patch (refreshed) + % doxygen-no-lowercase-man-names.patch (refreshed) +- deleted patches + - Fix-boundingbox-parsing_part1.patch (upstreamed) + - Fix-boundingbox-parsing_part2.patch (upstreamed) + - Fix-boundingbox-parsing_part3.patch (upstreamed) + - Fix-boundingbox-parsing_part4.patch (upstreamed) +- convert two specfiles into one +- deleted patches + - doxygen-no-lowercase-man-names.patch (not needed) + +------------------------------------------------------------------- Old: ---- Fix-boundingbox-parsing_part1.patch Fix-boundingbox-parsing_part2.patch Fix-boundingbox-parsing_part3.patch Fix-boundingbox-parsing_part4.patch doxygen-1.9.6.src.tar.gz doxygen-no-lowercase-man-names.patch doxywizard.spec New: ---- doxygen-1.9.7.src.tar.gz reproducible.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ doxygen.spec ++++++ --- /var/tmp/diff_new_pack.yFp9hX/_old 2023-09-04 22:52:20.921151325 +0200 +++ /var/tmp/diff_new_pack.yFp9hX/_new 2023-09-04 22:52:20.925151467 +0200 @@ -1,5 +1,5 @@ # -# spec file for package doxygen +# spec file # # Copyright (c) 2023 SUSE LLC # @@ -21,8 +21,13 @@ %bcond_with libclang %endif -Name: doxygen -Version: 1.9.6 +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "" +%global flavor doxygen +%endif + +Name: %{flavor} +Version: 1.9.7 Release: 0 Summary: Automated C, C++, and Java Documentation Generator # qtools are used for building and they are GPL-3.0 licensed @@ -30,15 +35,12 @@ Group: Development/Tools/Doc Generators URL: https://www.doxygen.nl/ Source0: https://www.doxygen.nl/files/doxygen-%{version}.src.tar.gz -# suse specific -Patch1: %{name}-no-lowercase-man-names.patch +%if "%{flavor}" == "doxywizard" +Source1: doxywizard.desktop +%endif # The unified libclang-cpp library doesn't exist on older Leap / SLE Patch10: doxygen-no-libclang-cpp.patch -# Fix PDF boudingbox parsing when dot uses cairo >= 1.17.6 -- https://github.com/doxygen/doxygen/issues/9319 -Patch20: https://github.com/doxygen/doxygen/commit/966d69c603b5.patch#/Fix-boundingbo... -Patch21: https://github.com/doxygen/doxygen/commit/7b2a6027775b.patch#/Fix-boundingbo... -Patch22: https://github.com/doxygen/doxygen/commit/f3514d578633.patch#/Fix-boundingbo... -Patch23: https://github.com/doxygen/doxygen/commit/8129939c312e.patch#/Fix-boundingbo... +Patch11: reproducible.patch BuildRequires: bison BuildRequires: cmake >= 2.8.12 BuildRequires: flex @@ -55,7 +57,25 @@ %if %{with libclang} BuildRequires: llvm-clang-devel %endif +%if "%{flavor}" == "doxywizard" +BuildRequires: libjpeg-devel +BuildRequires: pkgconfig +BuildRequires: python3-base +BuildRequires: python3-xml +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(Qt5Xml) +Requires: doxygen = %{version} +%endif +%if "%{flavor}" == "doxygen-test" +BuildRequires: libxml2-tools +BuildRequires: texlive-bibtex +BuildArch: noarch +%endif +%if "%{flavor}" == "doxygen" %description Doxygen is a documentation system for C, C++, Java, and IDL. It can generate an online class browser (in HTML) and an offline reference @@ -63,27 +83,40 @@ documentation is extracted directly from the sources. Doxygen is developed on a Linux platform, but it runs on most other UNIX flavors as well. +%endif + +%if "%{flavor}" == "doxywizard" +%description +Doxywizard is a graphical front-end to read/edit/write doxygen +configuration files. +%endif + +%if "%{flavor}" == "doxygen-test" +%description +Unit tests for doxygen. +%endif %prep -%setup -q +%setup -q -n doxygen-%{version} # Leap 15 and SLE don't accept '%%autopatch -M' -%patch1 -p1 %if %{with libclang} %if 0%{?sle_version} == 150100 || (0%{?sle_version} == 150200 && !0%{?is_opensuse}) %patch10 -p1 %endif %endif -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 +%patch11 -p1 %build %cmake \ +%if "%{flavor}" == "doxygen" + -Dbuild_wizard=OFF \ +%endif +%if "%{flavor}" == "doxywizard" + -Dbuild_wizard=ON \ +%endif -Dbuild_doc=OFF \ -Dbuild_xmlparser=ON \ -Dbuild_search=OFF \ - -Dbuild_wizard=OFF \ %if %{with libclang} -Duse_libclang=ON \ %endif @@ -99,13 +132,40 @@ %cmake_build %install +%if "%{flavor}" == "doxygen-test" +exit 0 +%endif %cmake_install mkdir -p %{buildroot}%{_mandir}/man1/ +%if "%{flavor}" == "doxygen" install -m 644 doc/doxygen.1 %{buildroot}%{_mandir}/man1/ +%endif +%if "%{flavor}" == "doxywizard" +rm %{buildroot}%{_bindir}/doxygen +install -m 644 doc/doxywizard.1 %{buildroot}%{_mandir}/man1/ +%suse_update_desktop_file -i doxywizard Development Documentation +%endif + +%check +%if "%{flavor}" == "doxygen-test" +# https://github.com/doxygen/doxygen/issues/10053 +rm -r testing/061* +export LANG=C.UTF-8 +# testing doxygen package here to avoid build +# cycle between latex and doxygen +%ctest +%endif %files +%if "%{flavor}" == "doxygen" %license LICENSE %attr(644,root,root) %{_mandir}/man1/doxygen.1%{?ext_man} %attr(755,root,root) %{_bindir}/* +%endif +%if "%{flavor}" == "doxywizard" +%attr(755,root,root) %{_bindir}/doxywizard +%{_datadir}/applications/doxywizard.desktop +%{_mandir}/man1/doxywizard.1%{?ext_man} +%endif %changelog ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.yFp9hX/_old 2023-09-04 22:52:20.965152880 +0200 +++ /var/tmp/diff_new_pack.yFp9hX/_new 2023-09-04 22:52:20.969153021 +0200 @@ -1,5 +1,6 @@ <multibuild> <package>doxywizard</package> + <package>doxygen-test</package> </multibuild> ++++++ doxygen-1.9.6.src.tar.gz -> doxygen-1.9.7.src.tar.gz ++++++ ++++ 194113 lines of diff (skipped) ++++++ doxygen-no-libclang-cpp.patch ++++++ --- /var/tmp/diff_new_pack.yFp9hX/_old 2023-09-04 22:52:21.841183846 +0200 +++ /var/tmp/diff_new_pack.yFp9hX/_new 2023-09-04 22:52:21.845183988 +0200 @@ -1,7 +1,9 @@ ---- doxygen-1.8.20/src/CMakeLists.txt.orig 2020-10-06 15:56:02.841527965 +0200 -+++ doxygen-1.8.20/src/CMakeLists.txt 2020-10-06 16:07:14.226206979 +0200 -@@ -341,7 +341,7 @@ - set(CLANG_LIBS libclang clangTooling) +Index: doxygen-1.9.7/src/CMakeLists.txt +=================================================================== +--- doxygen-1.9.7.orig/src/CMakeLists.txt ++++ doxygen-1.9.7/src/CMakeLists.txt +@@ -368,7 +368,7 @@ if (use_libclang) + add_definitions(-DCINDEX_NO_EXPORTS) else() # dynamically linked version of clang llvm_config(doxymain USE_SHARED support) - set(CLANG_LIBS libclang clang-cpp) ++++++ reproducible.patch ++++++ Index: doxygen-1.9.7/deps/filesystem/filesystem.hpp =================================================================== --- doxygen-1.9.7.orig/deps/filesystem/filesystem.hpp +++ doxygen-1.9.7/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;
participants (1)
-
Source-Sync