commit f676f12ed90485e2fdca5556513df9a347162940 Author: Toshaan Bharvani Date: Tue Nov 22 19:27:52 2022 +0100 initial package creation Signed-off-by: Toshaan Bharvani diff --git a/SOURCES/rest-0.8.0-fix-the-XML-test.patch b/SOURCES/rest-0.8.0-fix-the-XML-test.patch new file mode 100644 index 0000000..44ca0cc --- /dev/null +++ b/SOURCES/rest-0.8.0-fix-the-XML-test.patch @@ -0,0 +1,218 @@ +From a09ea6bd74d6234be8456e7039403bc1c1d078bd Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Mon, 20 Jun 2016 12:05:48 +0200 +Subject: [PATCH 1/4] xml-node: Use GString in rest_xml_node_print() + +The current code is using xml = g_strconcat (xml, ...) which is causing +some leaks as g_strconcat returns a newly allocated string. Using +GString avoids this issue without constantly freeing the intermediate +strings. + +This fixes multiple leaks like: + +==16611== 18 bytes in 1 blocks are definitely lost in loss record 124 of 301 +==16611== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) +==16611== by 0x5F5CE58: g_malloc (gmem.c:94) +==16611== by 0x5F75B8E: g_strconcat (gstrfuncs.c:585) +==16611== by 0x4E450CF: rest_xml_node_print (rest-xml-node.c:287) +==16611== by 0x4E451DA: rest_xml_node_print (rest-xml-node.c:305) +==16611== by 0x4E450F8: rest_xml_node_print (rest-xml-node.c:292) +==16611== by 0x4009A0: main (xml.c:40) +--- + rest/rest-xml-node.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/rest/rest-xml-node.c b/rest/rest-xml-node.c +index 57a942667f06..a8156dbbd432 100644 +--- a/rest/rest-xml-node.c ++++ b/rest/rest-xml-node.c +@@ -283,38 +283,41 @@ rest_xml_node_print (RestXmlNode *node) + { + GHashTableIter iter; + gpointer key, value; +- char *xml = g_strconcat ("<", node->name, NULL); ++ GString *xml = g_string_new (NULL); + RestXmlNode *n; + ++ g_string_append (xml, "<"); ++ g_string_append (xml, node->name); ++ + g_hash_table_iter_init (&iter, node->attrs); + while (g_hash_table_iter_next (&iter, &key, &value)) +- xml = g_strconcat (xml, " ", key, "=\'", value, "\'", NULL); ++ g_string_append_printf (xml, " %s =\'%s\'", (char *)key, (char *)value); + +- xml = g_strconcat (xml, ">", NULL); ++ g_string_append (xml, ">"); + + g_hash_table_iter_init (&iter, node->children); + while (g_hash_table_iter_next (&iter, &key, &value)) + { + char *child = rest_xml_node_print ((RestXmlNode *) value); + +- xml = g_strconcat (xml, child, NULL); ++ g_string_append (xml, child); + g_free (child); + } + + if (node->content) +- xml = g_strconcat (xml, node->content, "name, ">", NULL); +- else +- xml = g_strconcat (xml, "name, ">", NULL); ++ g_string_append (xml, node->content); ++ ++ g_string_append_printf (xml, "", node->name); + + for (n = node->next; n; n = n->next) + { + char *sibling = rest_xml_node_print (n); + +- xml = g_strconcat (xml, sibling, NULL); ++ g_string_append (xml, sibling); + g_free (sibling); + } + +- return xml; ++ return g_string_free (xml, FALSE); + } + + /** +-- +2.14.2 + + +From a34d02947c4f102e6d16b9d328941a4b2946c8e8 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Fri, 13 Oct 2017 18:53:39 +0200 +Subject: [PATCH 2/4] xml-node: Remove stray blank space + +This had broken tests/xml.c. + +Fallout from 61a7b231bd8b9d1b8d02dca120389e79d38b428d + +https://bugzilla.gnome.org/show_bug.cgi?id=788960 +--- + rest/rest-xml-node.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rest/rest-xml-node.c b/rest/rest-xml-node.c +index a8156dbbd432..d3a7c995affd 100644 +--- a/rest/rest-xml-node.c ++++ b/rest/rest-xml-node.c +@@ -291,7 +291,7 @@ rest_xml_node_print (RestXmlNode *node) + + g_hash_table_iter_init (&iter, node->attrs); + while (g_hash_table_iter_next (&iter, &key, &value)) +- g_string_append_printf (xml, " %s =\'%s\'", (char *)key, (char *)value); ++ g_string_append_printf (xml, " %s=\'%s\'", (char *)key, (char *)value); + + g_string_append (xml, ">"); + +-- +2.14.2 + + +From f184db2bff0618b99c4de3316082fe80439f124c Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Fri, 13 Oct 2017 19:14:16 +0200 +Subject: [PATCH 3/4] xml-node: Define the order in which attributes & children + are printed + +The order in which GHashTable returns its key-value pairs is undefined. +Therefore the output of rest_xml_node_print can change based on the +GHashTable implementation. While not strictly necessary, it would be +nice to avoid that. Having a stable order, even if it is not +documented and depends on the current RestXmlNode code, is handy for +testing. + +This was the main reason behind the tests/xml.c breakage. + +https://bugzilla.gnome.org/show_bug.cgi?id=788960 +--- + rest/rest-xml-node.c | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git a/rest/rest-xml-node.c b/rest/rest-xml-node.c +index d3a7c995affd..973ebcf6c3fa 100644 +--- a/rest/rest-xml-node.c ++++ b/rest/rest-xml-node.c +@@ -283,6 +283,9 @@ rest_xml_node_print (RestXmlNode *node) + { + GHashTableIter iter; + gpointer key, value; ++ GList *attrs = NULL; ++ GList *children = NULL; ++ GList *l; + GString *xml = g_string_new (NULL); + RestXmlNode *n; + +@@ -291,13 +294,29 @@ rest_xml_node_print (RestXmlNode *node) + + g_hash_table_iter_init (&iter, node->attrs); + while (g_hash_table_iter_next (&iter, &key, &value)) +- g_string_append_printf (xml, " %s=\'%s\'", (char *)key, (char *)value); ++ { ++ char *attr = g_strdup_printf ("%s=\'%s\'", (char *)key, (char *)value); ++ attrs = g_list_prepend (attrs, attr); ++ } ++ ++ attrs = g_list_sort (attrs, (GCompareFunc) g_strcmp0); ++ for (l = attrs; l; l = l->next) ++ { ++ const char *attr = (const char *) l->data; ++ g_string_append_printf (xml, " %s", attr); ++ } + + g_string_append (xml, ">"); + + g_hash_table_iter_init (&iter, node->children); + while (g_hash_table_iter_next (&iter, &key, &value)) ++ children = g_list_prepend (children, key); ++ ++ children = g_list_sort (children, (GCompareFunc) g_strcmp0); ++ for (l = children; l; l = l->next) + { ++ const char *name = (const char *) l->data; ++ RestXmlNode *value = (RestXmlNode *) g_hash_table_lookup (node->children, name); + char *child = rest_xml_node_print ((RestXmlNode *) value); + + g_string_append (xml, child); +@@ -317,6 +336,8 @@ rest_xml_node_print (RestXmlNode *node) + g_free (sibling); + } + ++ g_list_free_full (attrs, g_free); ++ g_list_free (children); + return g_string_free (xml, FALSE); + } + +-- +2.14.2 + + +From e5ee6ef751ee5a38d7b9fadcd631cf6ecec7b240 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Fri, 13 Oct 2017 19:16:55 +0200 +Subject: [PATCH 4/4] tests: Re-enable the XML test + +This reverts commit 2d1dbfe7073b1e153ff881426b40a9a517fb796b + +https://bugzilla.gnome.org/show_bug.cgi?id=788960 +--- + tests/Makefile.am | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 5d77f9cf5445..5ffdd4634e9a 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1,6 +1,4 @@ + TESTS = proxy proxy-continuous threaded oauth oauth-async oauth2 flickr lastfm xml custom-serialize +-# TODO: fix this test case +-XFAIL_TESTS = xml + + AM_CPPFLAGS = $(SOUP_CFLAGS) -I$(top_srcdir) $(GCOV_CFLAGS) + AM_LDFLAGS = $(SOUP_LIBS) $(GCOV_LDFLAGS) \ +-- +2.14.2 + diff --git a/SPECS/rest.spec b/SPECS/rest.spec new file mode 100644 index 0000000..8cd1bbf --- /dev/null +++ b/SPECS/rest.spec @@ -0,0 +1,251 @@ +Name: rest +Version: 0.8.1 +Release: 11%{?dist} +Summary: A library for access to RESTful web services + +License: LGPLv2 +URL: http://www.gnome.org +Source0: http://download.gnome.org/sources/%{name}/0.8/%{name}-%{version}.tar.xz + +# https://bugzilla.redhat.com/show_bug.cgi?id=1445700 +Patch0: rest-0.8.0-fix-the-XML-test.patch + +BuildRequires: make +BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel +BuildRequires: libsoup-devel +BuildRequires: libxml2-devel +BuildRequires: gtk-doc +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + +%description +This library was designed to make it easier to access web services that +claim to be "RESTful". A RESTful service should have urls that represent +remote objects, which methods can then be called on. The majority of services +don't actually adhere to this strict definition. Instead, their RESTful end +point usually has an API that is just simpler to use compared to other types +of APIs they may support (XML-RPC, for instance). It is this kind of API that +this library is attempting to support. + +%package devel +Summary: Development package for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Files for development with %{name}. + +%prep +%setup -q +%patch0 -p1 + +%build +autoreconf -vif +%configure --disable-static --enable-gtk-doc --enable-introspection=yes + +make %{?_smp_mflags} V=1 + +%install +make install DESTDIR=%{buildroot} INSTALL='install -p' + +#Remove libtool archives. +find %{buildroot} -type f -name "*.la" -delete + +%ldconfig_scriptlets + +%files +%license COPYING +%doc AUTHORS README +%{_libdir}/librest-0.7.so.0 +%{_libdir}/librest-0.7.so.0.0.0 +%{_libdir}/librest-extras-0.7.so.0 +%{_libdir}/librest-extras-0.7.so.0.0.0 +%{_libdir}/girepository-1.0/Rest-0.7.typelib +%{_libdir}/girepository-1.0/RestExtras-0.7.typelib + +%files devel +%{_includedir}/rest-0.7 +%{_libdir}/pkgconfig/rest* +%{_libdir}/librest-0.7.so +%{_libdir}/librest-extras-0.7.so +%{_datadir}/gtk-doc/html/%{name}*0.7 +%{_datadir}/gir-1.0/Rest-0.7.gir +%{_datadir}/gir-1.0/RestExtras-0.7.gir + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 0.8.1-11 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 0.8.1-10 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.8.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.8.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 0.8.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 0.8.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.8.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.8.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 07 2018 Debarshi Ray - 0.8.1-3 +- Fix the XML test + +* Fri Feb 09 2018 Fedora Release Engineering - 0.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Oct 17 2017 Debarshi Ray - 0.8.1-1 +- Update to 0.8.1 + +* Thu Aug 03 2017 Fedora Release Engineering - 0.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Apr 18 2016 Christophe Fergeau 0.8.0-1 +- Update to 0.8.0 upstream release + +* Thu Feb 04 2016 Fedora Release Engineering - 0.7.93-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.7.93-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Mar 18 2015 Kalev Lember - 0.7.93-1 +- Update to 0.7.93 +- Tighten deps with the _isa macro +- Don't manually require pkgconfig; rpmbuild generates this automatically +- Use license macro for the COPYING file + +* Fri Jan 9 2015 Debarshi Ray 0.7.92-6 +- Backport upstream patch to fix a memory error (GNOME #742644) + +* Wed Sep 3 2014 Peter Robinson 0.7.92-5 +- Update to 0.7.92 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.7.91-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 6 2014 Peter Robinson 0.7.91-4 +- Drop old patch that doesn't appear to be needed any more and causes build issues + +* Tue Jul 22 2014 Kalev Lember - 0.7.91-3 +- Rebuilt for gobject-introspection 1.41.4 + +* Sun Jun 08 2014 Fedora Release Engineering - 0.7.91-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Mar 11 2014 Richard Hughes - 0.7.91-1 +- Update to 0.7.91 + +* Sun Aug 04 2013 Fedora Release Engineering - 0.7.90-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 16 2013 Matthias Clasen 0.7.90-4 +- Rebuild with newer gtk-doc to fix multilib issue + +* Sat Apr 13 2013 Peter Robinson 0.7.90-3 +- Run autoreconf for aarch64 (RHBZ 926440) + +* Thu Feb 14 2013 Fedora Release Engineering - 0.7.90-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Aug 14 2012 Peter Robinson - 0.7.90-1 +- Release 0.7.90 + +* Sat Jul 21 2012 Fedora Release Engineering - 0.7.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0.7.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Nov 10 2011 Peter Robinson 0.7.12-1 +- Release 0.7.12. Fixes CVE-2011-4129 RHBZ 752022 + +* Fri Oct 28 2011 Peter Robinson 0.7.11-1 +- Release 0.7.11 + +* Sun Apr 24 2011 Peter Robinson 0.7.10-1 +- Update to 0.7.10 + +* Sun Apr 3 2011 Peter Robinson 0.7.9-1 +- Update to 0.7.9 + +* Wed Mar 23 2011 Peter Robinson 0.7.8-1 +- Update to 0.7.8 + +* Tue Feb 22 2011 Peter Robinson 0.7.6-1 +- Update to 0.7.6 + +* Wed Feb 09 2011 Fedora Release Engineering - 0.7.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Nov 25 2010 Peter Robinson 0.7.5-1 +- Update to 0.7.5 +- Now its on gnome we have official tar file releases + +* Wed Sep 29 2010 jkeating - 0.7.3-2 +- Rebuilt for gcc bug 634757 + +* Wed Sep 15 2010 Peter Robinson 0.7.3-1 +- Update to 0.7.3 + +* Mon Aug 30 2010 Peter Robinson 0.7.2-1 +- Update to 0.7.2 + +* Thu Aug 5 2010 Peter Robinson 0.7.0-1 +- Update to 0.7.0 + +* Sun Jul 11 2010 Peter Robinson 0.6.4-1 +- Update to 0.6.4 + +* Wed May 12 2010 Peter Robinson 0.6.3-2 +- some cleanups and fixes + +* Wed May 12 2010 Peter Robinson 0.6.3-1 +- Update to 0.6.3, update url and source details, enable introspection + +* Mon Feb 15 2010 Peter Robinson 0.6.1-4 +- Add patch to fix DSO linking. Fixes bug 564764 + +* Mon Jan 25 2010 Peter Robinson 0.6.1-3 +- Bump build + +* Mon Jan 25 2010 Peter Robinson 0.6.1-2 +- Move to official tarball release of 0.6.1 + +* Sat Oct 10 2009 Peter Robinson 0.6.1-1 +- New upstream 0.6.1 release + +* Wed Aug 19 2009 Peter Robinson 0.6-1 +- New upstream 0.6 release + +* Fri Aug 7 2009 Peter Robinson 0.5-3 +- A few minor spec file cleanups + +* Sun Jul 26 2009 Fedora Release Engineering - 0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 14 2009 Peter Robinson 0.5-1 +- Update to 0.5 + +* Mon Jun 22 2009 Peter Robinson 0.4-1 +- Update to 0.4 + +* Wed Jun 17 2009 Peter Robinson 0.3-1 +- Initial packaging