Compare commits
6 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
9cb1cbf607 | ||
|
54fe9ce086 | ||
f5b5d0cc30 | |||
dd28d58684 | |||
fbad8a9f9c | |||
08e39405bf |
69
CVE-2024-50602.patch
Normal file
69
CVE-2024-50602.patch
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
From 0552959d99413279c456e3289ad24db783f579ba Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christophe Marin <christophe@krop.fr>
|
||||||
|
Date: Wed, 30 Oct 2024 14:50:13 +0100
|
||||||
|
Subject: [PATCH] Backport fix for CVE-2024-50602
|
||||||
|
|
||||||
|
---
|
||||||
|
libcutl/cutl/details/expat/expat.h | 4 +++-
|
||||||
|
libcutl/cutl/details/expat/xmlparse.c | 9 ++++++++-
|
||||||
|
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libcutl/cutl/details/expat/expat.h b/libcutl/cutl/details/expat/expat.h
|
||||||
|
index f5dd736..85a0f8a 100644
|
||||||
|
--- a/libcutl/cutl/details/expat/expat.h
|
||||||
|
+++ b/libcutl/cutl/details/expat/expat.h
|
||||||
|
@@ -95,7 +95,9 @@ enum XML_Error {
|
||||||
|
/* Added in 2.0. */
|
||||||
|
XML_ERROR_RESERVED_PREFIX_XML,
|
||||||
|
XML_ERROR_RESERVED_PREFIX_XMLNS,
|
||||||
|
- XML_ERROR_RESERVED_NAMESPACE_URI
|
||||||
|
+ XML_ERROR_RESERVED_NAMESPACE_URI,
|
||||||
|
+ /* Added in 2.6.4. */
|
||||||
|
+ XML_ERROR_NOT_STARTED,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum XML_Content_Type {
|
||||||
|
diff --git a/libcutl/cutl/details/expat/xmlparse.c b/libcutl/cutl/details/expat/xmlparse.c
|
||||||
|
index d469102..fd9fc79 100644
|
||||||
|
--- a/libcutl/cutl/details/expat/xmlparse.c
|
||||||
|
+++ b/libcutl/cutl/details/expat/xmlparse.c
|
||||||
|
@@ -1750,6 +1750,9 @@ enum XML_Status XMLCALL
|
||||||
|
XML_StopParser(XML_Parser parser, XML_Bool resumable)
|
||||||
|
{
|
||||||
|
switch (ps_parsing) {
|
||||||
|
+ case XML_INITIALIZED:
|
||||||
|
+ errorCode = XML_ERROR_NOT_STARTED;
|
||||||
|
+ return XML_STATUS_ERROR;
|
||||||
|
case XML_SUSPENDED:
|
||||||
|
if (resumable) {
|
||||||
|
errorCode = XML_ERROR_SUSPENDED;
|
||||||
|
@@ -1760,7 +1763,7 @@ XML_StopParser(XML_Parser parser, XML_Bool resumable)
|
||||||
|
case XML_FINISHED:
|
||||||
|
errorCode = XML_ERROR_FINISHED;
|
||||||
|
return XML_STATUS_ERROR;
|
||||||
|
- default:
|
||||||
|
+ case XML_PARSING:
|
||||||
|
if (resumable) {
|
||||||
|
#ifdef XML_DTD
|
||||||
|
if (isParamEntity) {
|
||||||
|
@@ -1772,6 +1775,9 @@ XML_StopParser(XML_Parser parser, XML_Bool resumable)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ps_parsing = XML_FINISHED;
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ assert(0);
|
||||||
|
}
|
||||||
|
return XML_STATUS_OK;
|
||||||
|
}
|
||||||
|
@@ -1959,6 +1965,7 @@ XML_ErrorString(enum XML_Error code)
|
||||||
|
XML_L("reserved prefix (xml) must not be undeclared or bound to another namespace name"),
|
||||||
|
XML_L("reserved prefix (xmlns) must not be declared or undeclared"),
|
||||||
|
XML_L("prefix must not be bound to one of the reserved namespace names")
|
||||||
|
+ XML_L("parser not started")
|
||||||
|
};
|
||||||
|
if (code > 0 && code < sizeof(message)/sizeof(message[0]))
|
||||||
|
return message[code];
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@@ -1,703 +0,0 @@
|
|||||||
diff --git a/libxsd-frontend/xsd-frontend/parser.cxx b/libxsd-frontend/xsd-frontend/parser.cxx
|
|
||||||
index 0238a7b..0df56dd 100644
|
|
||||||
--- a/libxsd-frontend/xsd-frontend/parser.cxx
|
|
||||||
+++ b/libxsd-frontend/xsd-frontend/parser.cxx
|
|
||||||
@@ -1274,7 +1274,11 @@ namespace XSDFrontend
|
|
||||||
operator () (SemanticGraph::Path const& x,
|
|
||||||
SemanticGraph::Path const& y) const
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
return x.native_file_string () < y.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ return x.string () < y.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -1627,9 +1631,15 @@ namespace XSDFrontend
|
|
||||||
friend Boolean
|
|
||||||
operator< (SchemaId const& x, SchemaId const& y)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
return x.path_.native_file_string () < y.path_.native_file_string ()
|
|
||||||
|| (x.path_.native_file_string () == y.path_.native_file_string ()
|
|
||||||
&& x.ns_ < y.ns_);
|
|
||||||
+#else
|
|
||||||
+ return x.path_.string () < y.path_.string ()
|
|
||||||
+ || (x.path_.string () == y.path_.string ()
|
|
||||||
+ && x.ns_ < y.ns_);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
@@ -2376,6 +2386,7 @@ namespace XSDFrontend
|
|
||||||
Path path, rel_path, abs_path;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
try
|
|
||||||
{
|
|
||||||
path = Path (loc);
|
|
||||||
@@ -2386,6 +2397,10 @@ namespace XSDFrontend
|
|
||||||
//
|
|
||||||
path = Path (loc, boost::filesystem::native);
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+ // The new ABI does not have a fallback native representation
|
|
||||||
+ path = Path (loc.c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (path.is_complete ())
|
|
||||||
{
|
|
||||||
@@ -2479,6 +2494,7 @@ namespace XSDFrontend
|
|
||||||
Path path, rel_path, abs_path;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
try
|
|
||||||
{
|
|
||||||
path = Path (loc);
|
|
||||||
@@ -2489,6 +2505,10 @@ namespace XSDFrontend
|
|
||||||
//
|
|
||||||
path = Path (loc, boost::filesystem::native);
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+ // The new ABI does not have a fallback native representation
|
|
||||||
+ path = Path (loc.c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (path.is_complete ())
|
|
||||||
{
|
|
||||||
@@ -4674,9 +4694,14 @@ namespace XSDFrontend
|
|
||||||
return true;
|
|
||||||
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
XSDFrontend::SemanticGraph::Path abs_path (
|
|
||||||
XML::transcode_to_narrow (e.getLocation ()->getURI ()),
|
|
||||||
boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ XSDFrontend::SemanticGraph::Path abs_path (
|
|
||||||
+ XML::transcode_to_narrow (e.getLocation ()->getURI ()).c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
XSDFrontend::SemanticGraph::Path rel_path (ctx_.file (abs_path));
|
|
||||||
|
|
||||||
@@ -4729,8 +4754,12 @@ namespace XSDFrontend
|
|
||||||
base_ (base),
|
|
||||||
ctx_ (ctx)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
setSystemId (XML::XMLChString (
|
|
||||||
String (abs_.native_file_string ())).c_str ());
|
|
||||||
+#else
|
|
||||||
+ setSystemId (XML::XMLChString (String (abs_.string ())).c_str ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual Xerces::BinInputStream*
|
|
||||||
@@ -4803,8 +4832,12 @@ namespace XSDFrontend
|
|
||||||
|
|
||||||
// base_uri should be a valid path by now.
|
|
||||||
//
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path base (XML::transcode_to_narrow (base_uri),
|
|
||||||
boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ Path base (XML::transcode_to_narrow (base_uri).c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (prv_id == 0)
|
|
||||||
{
|
|
||||||
@@ -4830,6 +4863,7 @@ namespace XSDFrontend
|
|
||||||
{
|
|
||||||
Path path;
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
try
|
|
||||||
{
|
|
||||||
path = Path (path_str);
|
|
||||||
@@ -4840,6 +4874,10 @@ namespace XSDFrontend
|
|
||||||
//
|
|
||||||
path = Path (path_str, boost::filesystem::native);
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+ // The new ABI does not have a fallback native representation
|
|
||||||
+ path = Path (path_str.c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
Path base_dir (base.branch_path ());
|
|
||||||
|
|
||||||
diff --git a/libxsd-frontend/xsd-frontend/semantic-graph/elements.cxx b/libxsd-frontend/xsd-frontend/semantic-graph/elements.cxx
|
|
||||||
index 9027282..6a2addf 100644
|
|
||||||
--- a/libxsd-frontend/xsd-frontend/semantic-graph/elements.cxx
|
|
||||||
+++ b/libxsd-frontend/xsd-frontend/semantic-graph/elements.cxx
|
|
||||||
@@ -342,5 +342,9 @@ namespace XSDFrontend
|
|
||||||
std::wostream&
|
|
||||||
operator<< (std::wostream& os, XSDFrontend::SemanticGraph::Path const& path)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
return os << path.native_file_string ().c_str ();
|
|
||||||
+#else
|
|
||||||
+ return os << path.string ().c_str ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
diff --git a/libxsd-frontend/xsd-frontend/transformations/anonymous.cxx b/libxsd-frontend/xsd-frontend/transformations/anonymous.cxx
|
|
||||||
index 65d8e76..118fd5d 100644
|
|
||||||
--- a/libxsd-frontend/xsd-frontend/transformations/anonymous.cxx
|
|
||||||
+++ b/libxsd-frontend/xsd-frontend/transformations/anonymous.cxx
|
|
||||||
@@ -275,7 +275,11 @@ namespace XSDFrontend
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_str = file.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ file_str = file.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
String name (
|
|
||||||
@@ -358,7 +362,11 @@ namespace XSDFrontend
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_str = file.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ file_str = file.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -441,7 +449,11 @@ namespace XSDFrontend
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_str = file.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ file_str = file.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
String name (
|
|
||||||
@@ -639,7 +651,11 @@ namespace XSDFrontend
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_str = file.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ file_str = file.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
String name (
|
|
||||||
diff --git a/libxsd-frontend/xsd-frontend/transformations/schema-per-type.cxx b/libxsd-frontend/xsd-frontend/transformations/schema-per-type.cxx
|
|
||||||
index 2cc6457..9ac8445 100644
|
|
||||||
--- a/libxsd-frontend/xsd-frontend/transformations/schema-per-type.cxx
|
|
||||||
+++ b/libxsd-frontend/xsd-frontend/transformations/schema-per-type.cxx
|
|
||||||
@@ -167,7 +167,11 @@ namespace XSDFrontend
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
path = Path (file_name);
|
|
||||||
+#else
|
|
||||||
+ path = Path (file_name.c_str());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (InvalidPath const&)
|
|
||||||
{
|
|
||||||
@@ -349,6 +353,7 @@ namespace XSDFrontend
|
|
||||||
//
|
|
||||||
NarrowString abs_path;
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
// Try to use the portable representation of the path. If that
|
|
||||||
// fails, fall back to the native representation.
|
|
||||||
//
|
|
||||||
@@ -360,9 +365,17 @@ namespace XSDFrontend
|
|
||||||
{
|
|
||||||
abs_path = path.native_file_string ();
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+ // The new ABI does not have a fallback native representation
|
|
||||||
+ abs_path = path.string ();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
NarrowString tf (trans_.translate_schema (abs_path));
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
NarrowString file (tf ? tf : path.leaf ());
|
|
||||||
+#else
|
|
||||||
+ NarrowString file (tf ? tf : path.filename ().string());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
Size p (file.rfind ('.'));
|
|
||||||
NarrowString ext (
|
|
||||||
@@ -389,7 +402,11 @@ namespace XSDFrontend
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
(*i)->context ().set ("renamed", SemanticGraph::Path (new_name));
|
|
||||||
+#else
|
|
||||||
+ (*i)->context ().set ("renamed", SemanticGraph::Path (new_name.c_str()));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
diff --git a/xsd/xsd/cxx/elements.cxx b/xsd/xsd/cxx/elements.cxx
|
|
||||||
index 4d28311..d2600dc 100644
|
|
||||||
--- a/xsd/xsd/cxx/elements.cxx
|
|
||||||
+++ b/xsd/xsd/cxx/elements.cxx
|
|
||||||
@@ -326,7 +326,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
pair = path.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ pair = path.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/xsd/xsd/cxx/parser/elements.cxx b/xsd/xsd/cxx/parser/elements.cxx
|
|
||||||
index 9c2dac3..b3458c7 100644
|
|
||||||
--- a/xsd/xsd/cxx/parser/elements.cxx
|
|
||||||
+++ b/xsd/xsd/cxx/parser/elements.cxx
|
|
||||||
@@ -244,7 +244,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
path_str = path.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ path_str = path.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
String inc_path;
|
|
||||||
diff --git a/xsd/xsd/cxx/parser/generator.cxx b/xsd/xsd/cxx/parser/generator.cxx
|
|
||||||
index 617ff4f..b3aee76 100644
|
|
||||||
--- a/xsd/xsd/cxx/parser/generator.cxx
|
|
||||||
+++ b/xsd/xsd/cxx/parser/generator.cxx
|
|
||||||
@@ -552,7 +552,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path fs_path (path, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ Path fs_path (path.c_str());
|
|
||||||
+#endif
|
|
||||||
ifs.open (fs_path, std::ios_base::in | std::ios_base::binary);
|
|
||||||
|
|
||||||
if (!ifs.is_open ())
|
|
||||||
@@ -638,7 +642,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
if (NarrowString name = ops.value<CLI::extern_xml_schema> ())
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
if (file_path.native_file_string () != name)
|
|
||||||
+#else
|
|
||||||
+ if (file_path.string () != name)
|
|
||||||
+#endif
|
|
||||||
generate_xml_schema = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -815,7 +823,11 @@ namespace CXX
|
|
||||||
|
|
||||||
// Generate code.
|
|
||||||
//
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
NarrowString name (file_path.leaf ());
|
|
||||||
+#else
|
|
||||||
+ NarrowString name (file_path.filename().string());
|
|
||||||
+#endif
|
|
||||||
NarrowString skel_suffix (ops.value <CLI::skel_file_suffix> ());
|
|
||||||
NarrowString impl_suffix (ops.value <CLI::impl_file_suffix> ());
|
|
||||||
|
|
||||||
@@ -921,9 +933,15 @@ namespace CXX
|
|
||||||
cxx_driver_name = cxx_driver_expr.merge (name);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path hxx_path (hxx_name, boost::filesystem::native);
|
|
||||||
Path ixx_path (ixx_name, boost::filesystem::native);
|
|
||||||
Path cxx_path (cxx_name, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ Path hxx_path (hxx_name.c_str());
|
|
||||||
+ Path ixx_path (ixx_name.c_str());
|
|
||||||
+ Path cxx_path (cxx_name.c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
Path hxx_impl_path;
|
|
||||||
Path cxx_impl_path;
|
|
||||||
@@ -931,9 +949,15 @@ namespace CXX
|
|
||||||
|
|
||||||
if (impl || driver)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
hxx_impl_path = Path (hxx_impl_name, boost::filesystem::native);
|
|
||||||
cxx_impl_path = Path (cxx_impl_name, boost::filesystem::native);
|
|
||||||
cxx_driver_path = Path (cxx_driver_name, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ hxx_impl_path = Path (hxx_impl_name.c_str());
|
|
||||||
+ cxx_impl_path = Path (cxx_impl_name.c_str());
|
|
||||||
+ cxx_driver_path = Path (cxx_driver_name.c_str());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
Path out_dir;
|
|
||||||
@@ -942,7 +966,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
out_dir = Path (dir, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ out_dir = Path (dir.c_str());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (InvalidPath const&)
|
|
||||||
{
|
|
||||||
@@ -1010,7 +1038,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (hxx_impl_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (hxx_impl_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (hxx_impl_path.string ());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (!ops.value<CLI::force_overwrite> ())
|
|
||||||
{
|
|
||||||
@@ -1036,7 +1068,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (cxx_impl_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (cxx_impl_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (cxx_impl_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (driver)
|
|
||||||
@@ -1065,7 +1101,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (cxx_driver_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (cxx_driver_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (cxx_driver_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open the skel files.
|
|
||||||
@@ -1081,7 +1121,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (hxx_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (hxx_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (hxx_path.string ());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (inline_)
|
|
||||||
{
|
|
||||||
@@ -1094,7 +1138,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (ixx_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (ixx_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (ixx_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1109,7 +1157,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (cxx_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (cxx_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (cxx_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// Print copyright and license.
|
|
||||||
@@ -1168,7 +1220,11 @@ namespace CXX
|
|
||||||
NarrowString guard_prefix (ops.value<CLI::guard_prefix> ());
|
|
||||||
|
|
||||||
if (!guard_prefix)
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
guard_prefix = file_path.branch_path ().native_directory_string ();
|
|
||||||
+#else
|
|
||||||
+ guard_prefix = file_path.branch_path ().string ();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (guard_prefix)
|
|
||||||
guard_prefix += '_';
|
|
||||||
diff --git a/xsd/xsd/cxx/tree/elements.cxx b/xsd/xsd/cxx/tree/elements.cxx
|
|
||||||
index d5f03c0..cad5a33 100644
|
|
||||||
--- a/xsd/xsd/cxx/tree/elements.cxx
|
|
||||||
+++ b/xsd/xsd/cxx/tree/elements.cxx
|
|
||||||
@@ -1312,7 +1312,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
path_str = path.native_file_string ();
|
|
||||||
+#else
|
|
||||||
+ path_str = path.string ();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
String inc_path;
|
|
||||||
diff --git a/xsd/xsd/cxx/tree/generator.cxx b/xsd/xsd/cxx/tree/generator.cxx
|
|
||||||
index c13bf1f..fe5286a 100644
|
|
||||||
--- a/xsd/xsd/cxx/tree/generator.cxx
|
|
||||||
+++ b/xsd/xsd/cxx/tree/generator.cxx
|
|
||||||
@@ -773,7 +773,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path fs_path (path, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ Path fs_path (path.c_str());
|
|
||||||
+#endif
|
|
||||||
ifs.open (fs_path, std::ios_base::in | std::ios_base::binary);
|
|
||||||
|
|
||||||
if (!ifs.is_open ())
|
|
||||||
@@ -939,7 +943,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
if (NarrowString name = ops.value<CLI::extern_xml_schema> ())
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
if (file_path.native_file_string () != name)
|
|
||||||
+#else
|
|
||||||
+ if (file_path.string () != name)
|
|
||||||
+#endif
|
|
||||||
generate_xml_schema = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -954,7 +962,11 @@ namespace CXX
|
|
||||||
|
|
||||||
// Generate code.
|
|
||||||
//
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
NarrowString name (file_path.leaf ());
|
|
||||||
+#else
|
|
||||||
+ NarrowString name (file_path.filename ().string());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
NarrowString hxx_suffix (ops.value <CLI::hxx_suffix> ());
|
|
||||||
NarrowString ixx_suffix (ops.value <CLI::ixx_suffix> ());
|
|
||||||
@@ -1013,9 +1025,15 @@ namespace CXX
|
|
||||||
NarrowString ixx_name (inline_ ? ixx_expr.merge (name) : NarrowString ());
|
|
||||||
NarrowString fwd_name (forward ? fwd_expr.merge (name) : NarrowString ());
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path hxx_path (hxx_name, boost::filesystem::native);
|
|
||||||
Path ixx_path (ixx_name, boost::filesystem::native);
|
|
||||||
Path fwd_path (fwd_name, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ Path hxx_path (hxx_name.c_str());
|
|
||||||
+ Path ixx_path (ixx_name.c_str());
|
|
||||||
+ Path fwd_path (fwd_name.c_str());
|
|
||||||
+#endif
|
|
||||||
Paths cxx_paths;
|
|
||||||
|
|
||||||
if (source)
|
|
||||||
@@ -1041,12 +1059,20 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
cxx_paths.push_back (
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path (cxx_expr.merge (part_name), boost::filesystem::native));
|
|
||||||
+#else
|
|
||||||
+ Path (cxx_expr.merge (part_name).c_str()));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
cxx_paths.push_back (
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
Path (cxx_expr.merge (name), boost::filesystem::native));
|
|
||||||
+#else
|
|
||||||
+ Path (cxx_expr.merge (name).c_str()));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
Path out_dir;
|
|
||||||
@@ -1055,7 +1081,11 @@ namespace CXX
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
out_dir = Path (dir, boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ out_dir = Path (dir.c_str());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (InvalidPath const&)
|
|
||||||
{
|
|
||||||
@@ -1108,7 +1138,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (fwd_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (fwd_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (fwd_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1121,7 +1155,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (hxx_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (hxx_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (hxx_path.string ());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
|
|
||||||
// IXX
|
|
||||||
@@ -1137,7 +1175,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (ixx_path);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (ixx_path.native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (ixx_path.string ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1158,7 +1200,11 @@ namespace CXX
|
|
||||||
}
|
|
||||||
|
|
||||||
unlinks.add (*i);
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
file_list.push_back (i->native_file_string ());
|
|
||||||
+#else
|
|
||||||
+ file_list.push_back (i->string ());
|
|
||||||
+#endif
|
|
||||||
cxx.push_back (s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1230,7 +1276,11 @@ namespace CXX
|
|
||||||
NarrowString guard_prefix (ops.value<CLI::guard_prefix> ());
|
|
||||||
|
|
||||||
if (!guard_prefix)
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
guard_prefix = file_path.branch_path ().native_directory_string ();
|
|
||||||
+#else
|
|
||||||
+ guard_prefix = file_path.branch_path ().string ();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (guard_prefix)
|
|
||||||
guard_prefix += '_';
|
|
||||||
diff --git a/xsd/xsd/xsd.cxx b/xsd/xsd/xsd.cxx
|
|
||||||
index 1c66a8a..2e2f6ce 100644
|
|
||||||
--- a/xsd/xsd/xsd.cxx
|
|
||||||
+++ b/xsd/xsd/xsd.cxx
|
|
||||||
@@ -636,7 +636,11 @@ main (Int argc, Char* argv[])
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
tu = SemanticGraph::Path (args[i], boost::filesystem::native);
|
|
||||||
+#else
|
|
||||||
+ tu = SemanticGraph::Path (args[i]);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
@@ -675,7 +679,11 @@ main (Int argc, Char* argv[])
|
|
||||||
if (NarrowString name =
|
|
||||||
tree_ops->value<CXX::Tree::CLI::extern_xml_schema> ())
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
if (tu.native_file_string () != name)
|
|
||||||
+#else
|
|
||||||
+ if (tu.string () != name)
|
|
||||||
+#endif
|
|
||||||
gen_xml_schema = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -690,7 +698,11 @@ main (Int argc, Char* argv[])
|
|
||||||
if (NarrowString name =
|
|
||||||
parser_ops->value<CXX::Parser::CLI::extern_xml_schema> ())
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
if (tu.native_file_string () != name)
|
|
||||||
+#else
|
|
||||||
+ if (tu.string () != name)
|
|
||||||
+#endif
|
|
||||||
gen_xml_schema = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -827,8 +839,13 @@ main (Int argc, Char* argv[])
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
paths.push_back (
|
|
||||||
SemanticGraph::Path (args[i], boost::filesystem::native));
|
|
||||||
+#else
|
|
||||||
+ paths.push_back (
|
|
||||||
+ SemanticGraph::Path (args[i]));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
catch (SemanticGraph::InvalidPath const&)
|
|
||||||
{
|
|
||||||
@@ -991,9 +1008,17 @@ main (Int argc, Char* argv[])
|
|
||||||
try
|
|
||||||
{
|
|
||||||
OutputFileStream ofs;
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
SemanticGraph::Path path (fl);
|
|
||||||
+#else
|
|
||||||
+ SemanticGraph::Path path (fl.c_str());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
ofs.open (fl, std::ios_base::out);
|
|
||||||
+#else
|
|
||||||
+ ofs.open (fl.c_str(), std::ios_base::out);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (!ofs.is_open ())
|
|
||||||
{
|
|
||||||
diff --git a/xsd/xsd/xsd.hxx b/xsd/xsd/xsd.hxx
|
|
||||||
index f847392..508c8da 100644
|
|
||||||
--- a/xsd/xsd/xsd.hxx
|
|
||||||
+++ b/xsd/xsd/xsd.hxx
|
|
||||||
@@ -38,7 +38,11 @@ struct AutoUnlink
|
|
||||||
{
|
|
||||||
if (!canceled_)
|
|
||||||
{
|
|
||||||
+#if !defined(BOOST_FILESYSTEM_VERSION) || BOOST_FILESYSTEM_VERSION == 2
|
|
||||||
std::remove (file_.native_file_string ().c_str ());
|
|
||||||
+#else
|
|
||||||
+ std::remove (file_.string ().c_str ());
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
3
cxx-parser-guide.pdf
Normal file
3
cxx-parser-guide.pdf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a25f551b18183e15f0511d77f00bdd44e6493fedffc42a380be384ae95783991
|
||||||
|
size 195628
|
3
cxx-tree-guide.pdf
Normal file
3
cxx-tree-guide.pdf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4a99c7ce34f79ea96d83409005d95819197c9c25fe8611f27995633a5d7dbe10
|
||||||
|
size 130901
|
3
cxx-tree-manual.pdf
Normal file
3
cxx-tree-manual.pdf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:03f6cb1cba7a8c6419c4848c47f13de2ddbaffce6255c4d220a50e1db4733ed5
|
||||||
|
size 260145
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4b79b88ed81a1384024138ff37891c4fb55908267fbc8b9bad80f37fddcbabed
|
|
||||||
size 1201081
|
|
3
xsd-4.1.0.a11+dep.tar.bz2
Normal file
3
xsd-4.1.0.a11+dep.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4fbe2d1e17ad4451bb3a9d9101ac89f7b465205470f1c7ad5e2c1386ac2c87d2
|
||||||
|
size 1778335
|
61
xsd.changes
61
xsd.changes
@@ -1,3 +1,64 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 30 13:51:59 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Add patch (CVE-2024-50602, boo#1232580)
|
||||||
|
* CVE-2024-50602.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 7 08:25:23 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Use pre-generated pdf files to have reproducible builds.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 10 08:34:07 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Update to 4.1.0
|
||||||
|
* Support for abstract XML Schema types. The corresponding C++
|
||||||
|
classes now have _clone() declared pure virtual which
|
||||||
|
prevents construction of their instances.
|
||||||
|
- Drop 0001-Fix-build-with-GCC10.patch. Merged upstream.
|
||||||
|
- Rebase xsdcxx-rename.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 5 09:03:23 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Add 0001-Fix-build-with-GCC10.patch (boo#1158369)
|
||||||
|
- Run spec-cleaner
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 2 15:44:53 UTC 2017 - adam.majer@suse.de
|
||||||
|
|
||||||
|
- use individual libboost-*-devel packages instead of boost-devel
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 23 21:25:00 UTC 2014 - cgiboudeaux@gmx.com
|
||||||
|
|
||||||
|
- Update to 4.0.0
|
||||||
|
* Drop support for Xerces-C++ <= 2.8.0.
|
||||||
|
* Oracle/Berkeley DB XML support has been dropped.
|
||||||
|
* New option, --std, specifies the C++ standard that the generated code
|
||||||
|
should conform to. Valid values are c++98 (default) and c++11.
|
||||||
|
* New option, --fat-type-file, triggers the placement of code corresponding
|
||||||
|
to global elements into type files instead of schema files in the file-
|
||||||
|
per-type mode. This option is primarily useful when trying to minimize
|
||||||
|
the amount of object code that is linked to an executable by packaging
|
||||||
|
compiled generated code into a static (archive) library.
|
||||||
|
* New option, --generate-dep, triggers the generation of the make
|
||||||
|
dependency files (.d) for the generated C++ files. Other options
|
||||||
|
controlling dependency generation are: --generate-dep-only,
|
||||||
|
--dep-phony, --dep-target, --dep-suffix, and --dep-regex. For
|
||||||
|
details on this functionality, refer to the XSD compiler command
|
||||||
|
line manual (man pages).
|
||||||
|
* New option, --suppress-assignment, suppresses the generation of copy
|
||||||
|
assignment operators for complex types. If this option is specified,
|
||||||
|
the copy assignment operators for such types are declared private and
|
||||||
|
left unimplemented.
|
||||||
|
* New option, --polymorphic-plate, allows the creation of multiple
|
||||||
|
polymorphic map plates in the same application. For details, refer
|
||||||
|
to the XSD compiler command line manual (man pages).
|
||||||
|
See the NEWS file for the complete changelog
|
||||||
|
- Drop boost1.46-buildfix.patch (no longer needed)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 9 11:43:55 UTC 2012 - cgiboudeaux@gmx.com
|
Wed May 9 11:43:55 UTC 2012 - cgiboudeaux@gmx.com
|
||||||
|
|
||||||
|
56
xsd.spec
56
xsd.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package xsd
|
# spec file for package xsd
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2023 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -12,30 +12,33 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
Name: xsd
|
Name: xsd
|
||||||
%define rversion 3.3.0-1
|
Version: 4.1.0
|
||||||
Version: 3.3.0.1
|
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: W3C XML schema to C++ data binding compiler
|
Summary: W3C XML schema to C++ data binding compiler
|
||||||
# http://www.codesynthesis.com/products/xsd/license.xhtml
|
# http://www.codesynthesis.com/products/xsd/license.xhtml
|
||||||
License: SUSE-GPL-2.0-with-FLOSS-exception
|
License: SUSE-GPL-2.0-with-FLOSS-exception
|
||||||
Url: http://www.codesynthesis.com/products/xsd/
|
URL: https://www.codesynthesis.com/products/xsd/
|
||||||
Group: Development/Languages/C and C++
|
Source0: https://codesynthesis.com/~boris/tmp/xsd/%{version}.a11/%{name}-%{version}.a11+dep.tar.bz2
|
||||||
Source0: http://www.codesynthesis.com/download/xsd/3.3/%{name}-%{rversion}+dep.tar.bz2
|
Source1: cxx-tree-guide.pdf
|
||||||
|
Source2: cxx-parser-guide.pdf
|
||||||
|
Source3: cxx-tree-manual.pdf
|
||||||
|
Source99: xsd-rpmlintrc
|
||||||
# Rename xsd to xsdcxx
|
# Rename xsd to xsdcxx
|
||||||
Patch0: xsdcxx-rename.patch
|
Patch0: xsdcxx-rename.patch
|
||||||
# Author: Konstantinos Margaritis <markos@genesi-usa.com> - http://bugs.debian.org/624942
|
# PATCH-FIX-UPSTREAM -- CVE-2024-50602
|
||||||
Patch1: boost1.46-buildfix.patch
|
Patch1: CVE-2024-50602.patch
|
||||||
BuildRequires: Xerces-c-devel
|
|
||||||
BuildRequires: boost-devel
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: ghostscript
|
||||||
|
BuildRequires: libboost_headers-devel
|
||||||
|
BuildRequires: libxerces-c-devel > 2.8.0
|
||||||
BuildRequires: m4
|
BuildRequires: m4
|
||||||
Requires: Xerces-c-devel
|
Requires: libxerces-c-devel
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to
|
CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to
|
||||||
@@ -48,22 +51,21 @@ dealing with intricacies of reading and writing XML.
|
|||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: API documentation files for xsd
|
Summary: API documentation files for xsd
|
||||||
Requires: xsd
|
|
||||||
Group: Documentation/Other
|
Group: Documentation/Other
|
||||||
|
Requires: xsd
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
%description doc
|
%description doc
|
||||||
This package contains API documentation for xsd.
|
This package contains API documentation for xsd.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{rversion}+dep
|
%autosetup -p1 -n %{name}-%{version}.a11+dep
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make verbose=1 CXXFLAGS="%{optflags}" %{?_smp_mflags}
|
%make_build CXXFLAGS="%{optflags}"
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install_prefix="%{buildroot}%{_prefix}" install
|
make install_prefix="%{buildroot}%{_prefix}" install
|
||||||
|
|
||||||
# Rename xsd to xsdcxx to avoid conflicting with mono-web package.
|
# Rename xsd to xsdcxx to avoid conflicting with mono-web package.
|
||||||
mv %{buildroot}%{_bindir}/xsd %{buildroot}%{_bindir}/xsdcxx
|
mv %{buildroot}%{_bindir}/xsd %{buildroot}%{_bindir}/xsdcxx
|
||||||
@@ -71,22 +73,24 @@ mv %{buildroot}%{_datadir}/doc/xsd %{buildroot}%{_datadir}/doc/xsdcxx
|
|||||||
mv %{buildroot}%{_mandir}/man1/xsd.1 %{buildroot}%{_mandir}/man1/xsdcxx.1
|
mv %{buildroot}%{_mandir}/man1/xsd.1 %{buildroot}%{_mandir}/man1/xsdcxx.1
|
||||||
|
|
||||||
# Remove duplicate docs.
|
# Remove duplicate docs.
|
||||||
rm -rf %{buildroot}%{_datadir}/doc/libxsd
|
rm -r %{buildroot}%{_datadir}/doc/libxsd
|
||||||
|
|
||||||
# Remove Microsoft Visual C++ compiler helper files.
|
# the pdf creation relies on a double conversion, first to create a ps file, then a PDF
|
||||||
rm -rf %{buildroot}%{_includedir}/xsd/cxx/compilers
|
# the process produces unreproducible builds. Replace with pre-generated files
|
||||||
|
cp -f %{SOURCE1} %{buildroot}%{_datadir}/doc/xsdcxx/cxx/tree/cxx-tree-guide.pdf
|
||||||
|
cp -f %{SOURCE2} %{buildroot}%{_datadir}/doc/xsdcxx/cxx/tree/guide/cxx-parser-guide.pdf
|
||||||
|
cp -f %{SOURCE3} %{buildroot}%{_datadir}/doc/xsdcxx/cxx/tree/manual/cxx-tree-manual.pdf
|
||||||
|
|
||||||
%fdupes -s %{buildroot}%{_datadir}/doc
|
%fdupes -s %{buildroot}%{_datadir}/doc
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%license xsd/LICENSE
|
||||||
%doc README xsd/NEWS xsd/LICENSE xsd/GPLv2 xsd/FLOSSE
|
%doc README xsd/NEWS xsd/GPLv2 xsd/FLOSSE
|
||||||
%{_bindir}/xsdcxx
|
%{_bindir}/xsdcxx
|
||||||
%{_includedir}/xsd/
|
%{_includedir}/xsd/
|
||||||
%{_mandir}/man1/xsdcxx.1*
|
%{_mandir}/man1/xsdcxx.1%{?ext_man}
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc %{_datadir}/doc/xsdcxx
|
%doc %{_datadir}/doc/xsdcxx
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
diff --git a/xsd/documentation/xsd.1 b/xsd/documentation/xsd.1
|
diff --git a/xsd/doc/xsd.1 b/xsd/doc/xsd.1
|
||||||
index 8b97b14..bebd8cb 100644
|
index b7f0796..ff5ff11 100644
|
||||||
--- a/xsd/documentation/xsd.1
|
--- a/xsd/doc/xsd.1
|
||||||
+++ b/xsd/documentation/xsd.1
|
+++ b/xsd/doc/xsd.1
|
||||||
@@ -3,14 +3,14 @@
|
@@ -3,14 +3,14 @@
|
||||||
.\"
|
.\"
|
||||||
.TH XSD 1 "April 2010" "XSD 3.3.0"
|
.TH XSD 1 "July 2014" "XSD 4.1.0"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
-xsd \- W3C XML Schema to C++ Compiler
|
-xsd \- W3C XML Schema to C++ Compiler
|
||||||
+xsdxx \- W3C XML Schema to C++ Compiler
|
+xsdcxx \- W3C XML Schema to C++ Compiler
|
||||||
.\"
|
.\"
|
||||||
.\"
|
.\"
|
||||||
.\"
|
.\"
|
||||||
@@ -51,16 +51,7 @@ index 8b97b14..bebd8cb 100644
|
|||||||
.I command
|
.I command
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
@@ -203,7 +203,7 @@ For example, if you have file
|
@@ -1461,7 +1461,7 @@ option. With this approach you don't need to worry about shell quoting.
|
||||||
with namespace
|
|
||||||
.B http://example.com/hello
|
|
||||||
and you run
|
|
||||||
-.B xsd
|
|
||||||
+.B xsdcxx
|
|
||||||
on this file, then the string in question will be:
|
|
||||||
|
|
||||||
.B hello.xsd. http://example.com/hello
|
|
||||||
@@ -1877,7 +1877,7 @@ option. With this approach you don't need to worry about shell quoting.
|
|
||||||
.\"
|
.\"
|
||||||
.SH DIAGNOSTICS
|
.SH DIAGNOSTICS
|
||||||
If the input file is not a valid W3C XML Schema definition,
|
If the input file is not a valid W3C XML Schema definition,
|
||||||
@@ -69,11 +60,11 @@ index 8b97b14..bebd8cb 100644
|
|||||||
will issue diagnostic messages to
|
will issue diagnostic messages to
|
||||||
.B STDERR
|
.B STDERR
|
||||||
and exit with non-zero exit code.
|
and exit with non-zero exit code.
|
||||||
diff --git a/xsd/documentation/xsd.xhtml b/xsd/documentation/xsd.xhtml
|
diff --git a/xsd/doc/xsd.xhtml b/xsd/doc/xsd.xhtml
|
||||||
index 4acf822..1817947 100644
|
index 41e8517..45970d7 100644
|
||||||
--- a/xsd/documentation/xsd.xhtml
|
--- a/xsd/doc/xsd.xhtml
|
||||||
+++ b/xsd/documentation/xsd.xhtml
|
+++ b/xsd/doc/xsd.xhtml
|
||||||
@@ -55,14 +55,14 @@
|
@@ -57,14 +57,14 @@
|
||||||
<h1>SYNOPSIS</h1>
|
<h1>SYNOPSIS</h1>
|
||||||
|
|
||||||
<dl id="synopsis">
|
<dl id="synopsis">
|
||||||
@@ -92,7 +83,7 @@ index 4acf822..1817947 100644
|
|||||||
C++ mapping from W3C XML Schema definitions. Particular mapping to
|
C++ mapping from W3C XML Schema definitions. Particular mapping to
|
||||||
produce is selected by a <code><i>command</i></code>. Each mapping has
|
produce is selected by a <code><i>command</i></code>. Each mapping has
|
||||||
a number of mapping-specific <code><i>options</i></code> that should
|
a number of mapping-specific <code><i>options</i></code> that should
|
||||||
@@ -104,7 +104,7 @@
|
@@ -106,7 +106,7 @@
|
||||||
|
|
||||||
<dt><code><b>help</b></code></dt>
|
<dt><code><b>help</b></code></dt>
|
||||||
<dd>Print usage information and exit. Use
|
<dd>Print usage information and exit. Use
|
||||||
@@ -101,21 +92,12 @@ index 4acf822..1817947 100644
|
|||||||
for command-specific help.
|
for command-specific help.
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@
|
@@ -218,7 +218,7 @@
|
||||||
|
|
||||||
<p>For example, if you have file <code><b>hello.xsd</b></code>
|
<p>For example, if you have file <code><b>hello.xsd</b></code> with
|
||||||
with namespace <code><b>http://example.com/hello</b></code> and you run
|
namespace <code><b>http://example.com/hello</b></code> and you run
|
||||||
- <code><b>xsd</b></code> on this file, then the string in question
|
- <code><b>xsd</b></code> on this file, then the string in question will
|
||||||
+ <code><b>xsdcxx</b></code> on this file, then the string in question
|
+ <code><b>xsdcxx</b></code> on this file, then the string in question will
|
||||||
will be:</p>
|
be:</p>
|
||||||
|
|
||||||
<p><code><b>hello.xsd. http://example.com/hello</b></code></p>
|
<p><code><b>hello.xsd. http://example.com/hello</b></code></p>
|
||||||
@@ -1575,7 +1575,7 @@ namespace .*
|
|
||||||
<h1>DIAGNOSTICS</h1>
|
|
||||||
|
|
||||||
<p>If the input file is not a valid W3C XML Schema definition,
|
|
||||||
- <code><b>xsd</b></code> will issue diagnostic messages to STDERR
|
|
||||||
+ <code><b>xsdcxx</b></code> will issue diagnostic messages to STDERR
|
|
||||||
and exit with non-zero exit code.</p>
|
|
||||||
|
|
||||||
<h1>BUGS</h1>
|
|
||||||
|
Reference in New Issue
Block a user