Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package CastXML for openSUSE:Factory checked in at 2022-03-15 19:04:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/CastXML (Old) and /work/SRC/openSUSE:Factory/.CastXML.new.25692 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "CastXML" Tue Mar 15 19:04:54 2022 rev:7 rq:961862 version:0.4.5 Changes: -------- --- /work/SRC/openSUSE:Factory/CastXML/CastXML.changes 2021-10-27 22:21:43.751214760 +0200 +++ /work/SRC/openSUSE:Factory/.CastXML.new.25692/CastXML.changes 2022-03-15 19:05:42.100979916 +0100 @@ -1,0 +2,9 @@ +Tue Mar 8 21:23:05 UTC 2022 - Atri Bhattacharya <badshah...@gmail.com> + +- Update to version 0.4.5: + * No release notes. +- Build tests, and run them as part of %check section. +- New BuildRequires for tests: pkgconfig(libxml-2.0), + pkgconfig(zlib). + +------------------------------------------------------------------- Old: ---- CastXML-0.4.4.tar.gz New: ---- CastXML-0.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ CastXML.spec ++++++ --- /var/tmp/diff_new_pack.H1FCng/_old 2022-03-15 19:05:42.936980483 +0100 +++ /var/tmp/diff_new_pack.H1FCng/_new 2022-03-15 19:05:42.940980486 +0100 @@ -1,7 +1,7 @@ # # spec file for package CastXML # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: CastXML -Version: 0.4.4 +Version: 0.4.5 Release: 0 Summary: C-family Abstract Syntax Tree XML Output License: Apache-2.0 @@ -27,6 +27,8 @@ BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: python3-Sphinx +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(zlib) %description CastXML is a C-family abstract syntax tree XML output tool. @@ -44,6 +46,7 @@ %cmake -DCastXML_INSTALL_MAN_DIR:PATH=%{_mandir} \ -DCastXML_INSTALL_DOC_DIR:PATH=%{_docdir}/%{name} \ -DCLANG_LINK_CLANG_DYLIB:BOOL=ON \ + -DBUILD_TESTING:BOOL=ON \ -DSPHINX_HTML:BOOL=ON \ -DSPHINX_MAN:BOOL=ON @@ -55,6 +58,9 @@ # REMOVE FILES TO BE INSTALLED USING %%doc OR %%license rm %{buildroot}%{_docdir}/%{name}/LICENSE +%check +%ctest + %files devel %license LICENSE %{_bindir}/castxml ++++++ CastXML-0.4.4.tar.gz -> CastXML-0.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/src/Detect.cxx new/CastXML-0.4.5/src/Detect.cxx --- old/CastXML-0.4.4/src/Detect.cxx 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/src/Detect.cxx 2022-03-08 15:56:51.000000000 +0100 @@ -18,6 +18,7 @@ #include "Options.h" #include "Utils.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" @@ -184,11 +185,38 @@ std::string out; std::string err; std::string msg; + + // Create a temporary directory to hold some temporary files. + llvm::SmallString<128> tmpDir; + if (std::error_code e = + llvm::sys::fs::createUniqueDirectory("castxml", tmpDir)) { + msg = e.message(); + return failedCC(id, cc_args, out, err, msg); + } + + // Tell MSVC to put the object file in the temporary directory. + // We previously used '-FoNUL' but this does not work on Windows 11. + llvm::SmallString<128> tmpObj = tmpDir; + tmpObj.append("/detect_vs.obj"); + llvm::SmallString<128> argFo("-Fo"); + argFo.append(tmpObj); + + // Extend the original command line with our source and object. cc_args.push_back("-c"); - cc_args.push_back("-FoNUL"); cc_args.push_back(detect_vs_cpp.c_str()); - if (runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) && - ret == 0) { + cc_args.push_back(argFo.c_str()); + + // Run the compiler. + bool success = + runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) && + ret == 0; + + // Remove temporary object file and directory. + llvm::sys::fs::remove(llvm::Twine(tmpObj)); + llvm::sys::fs::remove(llvm::Twine(tmpDir)); + + // Check results. + if (success) { if (const char* predefs = strstr(out.c_str(), "\n#define")) { opts.Predefines = predefs + 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/src/Utils.cxx new/CastXML-0.4.5/src/Utils.cxx --- old/CastXML-0.4.4/src/Utils.cxx 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/src/Utils.cxx 2022-03-08 15:56:51.000000000 +0100 @@ -119,7 +119,7 @@ } bool runCommand(int argc, const char* const* argv, int& ret, std::string& out, - std::string& err, std::string& msg) + std::string& err, std::string& msg, std::string* maybeTmpDir) { // Find the program to run. llvm::ErrorOr<std::string> maybeProg = llvm::sys::findProgramByName(argv[0]); @@ -131,15 +131,17 @@ // Create a temporary directory to hold output files. llvm::SmallString<128> tmpDir; - if (std::error_code e = - llvm::sys::fs::createUniqueDirectory("castxml", tmpDir)) { + if (maybeTmpDir) { + tmpDir = *maybeTmpDir; + } else if (std::error_code e = + llvm::sys::fs::createUniqueDirectory("castxml", tmpDir)) { msg = e.message(); return false; } llvm::SmallString<128> tmpOut = tmpDir; - tmpOut.append("out"); + tmpOut.append("/out"); llvm::SmallString<128> tmpErr = tmpDir; - tmpErr.append("err"); + tmpErr.append("/err"); // Construct file redirects. llvm::StringRef inFile; // empty means /dev/null @@ -185,7 +187,9 @@ // Remove temporary files and directory. llvm::sys::fs::remove(llvm::Twine(tmpOut)); llvm::sys::fs::remove(llvm::Twine(tmpErr)); - llvm::sys::fs::remove(llvm::Twine(tmpDir)); + if (!maybeTmpDir) { + llvm::sys::fs::remove(llvm::Twine(tmpDir)); + } return ret >= 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/src/Utils.h new/CastXML-0.4.5/src/Utils.h --- old/CastXML-0.4.4/src/Utils.h 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/src/Utils.h 2022-03-08 15:56:51.000000000 +0100 @@ -43,7 +43,8 @@ /// runCommand - Run a given command line and capture the output. bool runCommand(int argc, const char* const* argv, int& ret, std::string& out, - std::string& err, std::string& msg); + std::string& err, std::string& msg, + std::string* maybeTmpDir = nullptr); /// suppressInteractiveErrors - Disable Windows error dialog popups void suppressInteractiveErrors(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/src/Version.cmake new/CastXML-0.4.5/src/Version.cmake --- old/CastXML-0.4.4/src/Version.cmake 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/src/Version.cmake 2022-03-08 15:56:51.000000000 +0100 @@ -1,7 +1,7 @@ # CastXML version number components. set(CastXML_VERSION_MAJOR 0) set(CastXML_VERSION_MINOR 4) -set(CastXML_VERSION_PATCH 4) +set(CastXML_VERSION_PATCH 5) set(CastXML_VERSION_RC 0) set(CastXML_VERSION_IS_DIRTY 0) @@ -13,7 +13,7 @@ endif() # If this source was exported by 'git archive', use its commit info. -set(git_info "2095c10 CastXML 0.4.4") +set(git_info "7ef4b1e CastXML 0.4.5") # Otherwise, try to identify the current development source version. if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/test/expect/cmd.cc-msvc-bad-cmd.stderr.txt new/CastXML-0.4.5/test/expect/cmd.cc-msvc-bad-cmd.stderr.txt --- old/CastXML-0.4.4/test/expect/cmd.cc-msvc-bad-cmd.stderr.txt 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/test/expect/cmd.cc-msvc-bad-cmd.stderr.txt 2022-03-08 15:56:51.000000000 +0100 @@ -1,3 +1,3 @@ ^error: '--castxml-cc-msvc' compiler command failed: - 'cc-msvc-bad-cmd' '-c' '-FoNUL' '.*/share/castxml/detect_vs.cpp' + 'cc-msvc-bad-cmd' '-c' '[^']*/share/castxml/detect_vs.cpp' '-Fo[^']*/detect_vs.obj' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CastXML-0.4.4/test/expect/cmd.cc-msvc-c-bad-cmd.stderr.txt new/CastXML-0.4.5/test/expect/cmd.cc-msvc-c-bad-cmd.stderr.txt --- old/CastXML-0.4.4/test/expect/cmd.cc-msvc-c-bad-cmd.stderr.txt 2021-10-25 22:44:07.000000000 +0200 +++ new/CastXML-0.4.5/test/expect/cmd.cc-msvc-c-bad-cmd.stderr.txt 2022-03-08 15:56:51.000000000 +0100 @@ -1,3 +1,3 @@ ^error: '--castxml-cc-msvc-c' compiler command failed: - 'cc-msvc-c-bad-cmd' '-c' '-FoNUL' '.*/share/castxml/detect_vs.c + 'cc-msvc-c-bad-cmd' '-c' '[^']*/share/castxml/detect_vs.c' '-Fo[^']*/detect_vs.obj'