Blame SPECS/libxmlb.spec

d40f1c
%global glib2_version 2.45.8
d40f1c
d40f1c
Summary:   Library for querying compressed XML metadata
d40f1c
Name:      libxmlb
d40f1c
Version:   0.3.3
d40f1c
Release:   1%{?dist}
d40f1c
License:   LGPLv2+
d40f1c
URL:       https://github.com/hughsie/libxmlb
d40f1c
Source0:   http://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
d40f1c
d40f1c
BuildRequires: glib2-devel >= %{glib2_version}
d40f1c
BuildRequires: gtk-doc
d40f1c
BuildRequires: libstemmer-devel
d40f1c
BuildRequires: meson
d40f1c
BuildRequires: gobject-introspection-devel
d40f1c
BuildRequires: xz-devel
d40f1c
BuildRequires: python3-setuptools
d40f1c
d40f1c
# needed for the self tests
d40f1c
BuildRequires: shared-mime-info
d40f1c
d40f1c
Requires: glib2%{?_isa} >= %{glib2_version}
d40f1c
Requires: shared-mime-info
d40f1c
d40f1c
%description
d40f1c
XML is slow to parse and strings inside the document cannot be memory mapped as
d40f1c
they do not have a trailing NUL char. The libxmlb library takes XML source, and
d40f1c
converts it to a structured binary representation with a deduplicated string
d40f1c
table -- where the strings have the NULs included.
d40f1c
d40f1c
This allows an application to mmap the binary XML file, do an XPath query and
d40f1c
return some strings without actually parsing the entire document. This is all
d40f1c
done using (almost) zero allocations and no actual copying of the binary data.
d40f1c
d40f1c
%package devel
d40f1c
Summary: Development package for %{name}
d40f1c
Requires: %{name}%{?_isa} = %{version}-%{release}
d40f1c
d40f1c
%description devel
d40f1c
Files for development with %{name}.
d40f1c
d40f1c
%package tests
d40f1c
Summary: Files for installed tests
d40f1c
d40f1c
%description tests
d40f1c
Executable and data files for installed tests.
d40f1c
d40f1c
%prep
d40f1c
%setup -q
d40f1c
d40f1c
%build
d40f1c
d40f1c
%meson \
d40f1c
    -Dgtkdoc=true \
d40f1c
    -Dtests=true
d40f1c
d40f1c
%meson_build
d40f1c
d40f1c
%check
d40f1c
%meson_test
d40f1c
d40f1c
%install
d40f1c
%meson_install
d40f1c
d40f1c
%files
d40f1c
%doc README.md
d40f1c
%license LICENSE
d40f1c
%{_libexecdir}/xb-tool
d40f1c
%dir %{_libdir}/girepository-1.0
d40f1c
%{_libdir}/girepository-1.0/Xmlb-2.0.typelib
d40f1c
%{_libdir}/libxmlb.so.2*
d40f1c
d40f1c
%files devel
d40f1c
%dir %{_datadir}/gir-1.0
d40f1c
%{_datadir}/gir-1.0/Xmlb-2.0.gir
d40f1c
%dir %{_datadir}/gtk-doc
d40f1c
%dir %{_datadir}/gtk-doc/html
d40f1c
%{_datadir}/gtk-doc/html/libxmlb
d40f1c
%{_includedir}/libxmlb-2
d40f1c
%{_libdir}/libxmlb.so
d40f1c
%{_libdir}/pkgconfig/xmlb.pc
d40f1c
d40f1c
%files tests
d40f1c
%dir %{_libexecdir}/installed-tests/libxmlb
d40f1c
%{_libexecdir}/installed-tests/libxmlb/xb-self-test
d40f1c
%{_libexecdir}/installed-tests/libxmlb/test.xml.gz.gz.gz
d40f1c
%dir %{_datadir}/installed-tests/libxmlb
d40f1c
%{_datadir}/installed-tests/libxmlb/libxmlb.test
d40f1c
d40f1c
%changelog
d40f1c
* Wed Oct 06 2021 Richard Hughes <richard@hughsie.com> 0.3.3-1
d40f1c
- New upstream release
d40f1c
- Add locking for file monitors
d40f1c
- Add support for LZMA decompression
d40f1c
- Clarify GMainContext usage and signal emission
d40f1c
- Respect XB_BUILDER_NODE_FLAG_IGNORE when exporting
d40f1c
- Use the chosen chunk size when reading from a stream
d40f1c
- Use the correct pkgconfig export package name in the GIR file
d40f1c
- Always run xb-tool queries with the optimizer
d40f1c
- Ensure tokens handling works when XbOpcode is not zero-inited
d40f1c
- Use stack-allocated XbStack instances for running a machine
d40f1c
- Resolves: rhbz#1965891
d40f1c
d40f1c
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.0-3
d40f1c
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
d40f1c
  Related: rhbz#1991688
d40f1c
d40f1c
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.0-2
d40f1c
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
d40f1c
d40f1c
* Fri Mar 12 2021 Richard Hughes <richard@hughsie.com> 0.3.0-1
d40f1c
- New upstream release
d40f1c
- Add a new object to contain query context data
d40f1c
- Allow collapsing empty XML tags if no children or text
d40f1c
- Allow marking elements as tokenized from xb-tool
d40f1c
- Allow optimized searching when comparing tokens
d40f1c
- Cancel the GFileMonitor before unreffing it
d40f1c
- Do not allocate a 128Mb buffer for each xb_builder_source_ctx_get_bytes()
d40f1c
- Do not error when creating a query if the element doesn’t exist
d40f1c
- Fix a parse failure for a double comment
d40f1c
- Fix various errors or missing annotations in docs
d40f1c
- Make handling of single-result queries more robust
d40f1c
- Support mmap()ing the source file to get bytes
d40f1c
- Support query caching with xb_silo_lookup_query()
d40f1c
- Support UTF-8 for upper-case() and lower-case()
d40f1c
- Use g_str_match_string() for non-ASCII search queries
d40f1c
- Write search tokens into the built silo
d40f1c
d40f1c
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.1-2
d40f1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
d40f1c
d40f1c
* Mon Sep 07 2020 Richard Hughes <richard@hughsie.com> 0.2.1-1
d40f1c
- New upstream release
d40f1c
- Do not assume g_content_type_guess() always returns valid results
d40f1c
- Fix getting translated results in gnome-software
d40f1c
- Update the header location to reflect the new API
d40f1c
d40f1c
* Tue Aug 18 2020 Richard Hughes <richard@hughsie.com> 0.2.0-1
d40f1c
- New upstream release which breaks API and ABI
d40f1c
- Add the missing TEXT:INTE XPath support
d40f1c
- Add variant of xb_silo_query_with_root() avoiding XbNode creation
d40f1c
- Add XB_BUILDER_SOURCE_FLAG_WATCH_DIRECTORY flag
d40f1c
- Allow specifying the node cache behaviour for the query
d40f1c
- Avoid recursion when setting flags if possible
d40f1c
- Avoid using weak pointers when building the silo
d40f1c
- Do not allocate opcodes individually
d40f1c
- Do not show a critical warning for invalid XML
d40f1c
- Do not unconditionally create GTimer objects
d40f1c
- Do not use the node cache when building indexes
d40f1c
- Lazy load more arrays to reduce RSS usage
d40f1c
d40f1c
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.15-2
d40f1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
d40f1c
d40f1c
* Wed Mar 04 2020 Richard Hughes <richard@hughsie.com> 0.1.15-1
d40f1c
- New upstream release
d40f1c
- Add xb_builder_source_add_simple_adapter()
d40f1c
- Allow reversing the query results
d40f1c
d40f1c
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.14-2
d40f1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
d40f1c
d40f1c
* Mon Jan 06 2020 Richard Hughes <richard@hughsie.com> 0.1.14-1
d40f1c
- New upstream release
d40f1c
- Do not use libuuid
d40f1c
- Ignore adaptors added with xb_builder_source_add_converter()
d40f1c
d40f1c
* Thu Oct 17 2019 Richard Hughes <richard@hughsie.com> 0.1.13-1
d40f1c
- New upstream release
d40f1c
- Export xb_silo_query_full()
d40f1c
- Show the XPath that was used in the query in the error message
d40f1c
d40f1c
* Fri Sep 27 2019 Richard Hughes <richard@hughsie.com> 0.1.12-1
d40f1c
- New upstream release
d40f1c
- Add xb_node_transmogrify to allow changing XML format
d40f1c
- Do not escape a single quote with '
d40f1c
- Don't invalidate the silo for a GIO temp file
d40f1c
- Fix up two memory leaks if using libxmlb from an introspected binding
d40f1c
d40f1c
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.11-2
d40f1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
d40f1c
d40f1c
* Mon Jul 15 2019 Richard Hughes <richard@hughsie.com> 0.1.11-1
d40f1c
- New upstream release
d40f1c
- Add xb_node_query_first_full() API
d40f1c
- Rebuild the XbMachine parser to support 'and' and 'or' predicates
d40f1c
d40f1c
* Thu May 16 2019 Richard Hughes <richard@hughsie.com> 0.1.10-1
d40f1c
- New upstream release
d40f1c
- Do not mistake gzipped files as being application/x-zerosize content type
d40f1c
- Fix running the installed tests with no checkout directory
d40f1c
d40f1c
* Tue May 07 2019 Richard Hughes <richard@hughsie.com> 0.1.9-1
d40f1c
- New upstream release
d40f1c
- Correctly implement building a silo with _SINGLE_LANG set
d40f1c
d40f1c
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 0.1.8-2
d40f1c
- Rebuild with Meson fix for #1699099
d40f1c
d40f1c
* Tue Mar 26 2019 Richard Hughes <richard@hughsie.com> 0.1.8-1
d40f1c
- New upstream release
d40f1c
- Add some installed tests
d40f1c
- Always add all children when importing parent-less XML data
d40f1c
d40f1c
* Fri Mar 08 2019 Richard Hughes <richard@hughsie.com> 0.1.7-1
d40f1c
- New upstream release
d40f1c
- Add XB_BUILDER_COMPILE_FLAG_IGNORE_GUID
d40f1c
- Allow nesting XbBuilderSource content type handlers
d40f1c
d40f1c
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.6-2
d40f1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
d40f1c
d40f1c
* Sun Dec 30 2018 Richard Hughes <richard@hughsie.com> 0.1.6-1
d40f1c
- New upstream release
d40f1c
- Allow controlling how the XbQuery is parsed
d40f1c
d40f1c
* Wed Nov 21 2018 Richard Hughes <richard@hughsie.com> 0.1.5-1
d40f1c
- New upstream release
d40f1c
- Add xb_builder_node_export() for gnome-software
d40f1c
- Ignore calls to xb_silo_query_build_index() with no results
d40f1c
- Lazy load the stemmer when required
d40f1c
d40f1c
* Fri Nov 09 2018 Richard Hughes <richard@hughsie.com> 0.1.4-1
d40f1c
- New upstream release
d40f1c
- Add support for bound variables and indexed strings
d40f1c
- Optionally optimize predicates
d40f1c
- Use INTE:INTE for comparison where available
d40f1c
d40f1c
* Mon Oct 22 2018 Richard Hughes <richard@hughsie.com> 0.1.3-1
d40f1c
- New upstream release
d40f1c
- Add more API for fwupd and gnome-software
d40f1c
- Switch from GPtrArray to XbStack for performance reasons
d40f1c
d40f1c
* Tue Oct 16 2018 Richard Hughes <richard@hughsie.com> 0.1.2-1
d40f1c
- New upstream release
d40f1c
- Add more API for fwupd and gnome-software
d40f1c
- Fix a crash when using xb_builder_node_set_text() in a fixup
d40f1c
- Only run the XbBuilderSourceConverterFunc if the silo needs rebuilding
d40f1c
- Return an error when the XPath predicate has invalid syntax
d40f1c
d40f1c
* Thu Oct 11 2018 Richard Hughes <richard@hughsie.com> 0.1.1-1
d40f1c
- New upstream release
d40f1c
- Add support for more XPath funtions
d40f1c
- Add new API required for gnome-software and fwupd
d40f1c
d40f1c
* Thu Oct 04 2018 Richard Hughes <richard@hughsie.com> 0.1.0-1
d40f1c
- Initial release for Fedora package review