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 - [email protected]
+
+- doxygen-test multibuild target to break build cycle with latex
+- modified sources
+  % _multibuild
+
+-------------------------------------------------------------------
+Tue Jul 18 11:09:41 UTC 2023 - [email protected]
+
+- rebase reproducible.patch to 1.9.7
+
+-------------------------------------------------------------------
+Mon Jul 17 17:14:00 UTC 2023 - Bernhard Wiedemann <[email protected]>
+
+- Add reproducible.patch to make doxytags output reproducible (boo#1201579)
+
+-------------------------------------------------------------------
+Fri Jun 23 12:00:15 UTC 2023 - [email protected]
+
+- 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-boundingbox-parsing_part1.patch
-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
+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;

Reply via email to