Compare commits

...

10 Commits

Author SHA1 Message Date
Neal Gompa 4cef9be19b Rebase to 0.16.1 2023-05-18 10:12:37 +00:00
Mike FABIAN 15d20ad38b Create symlinks manually to make it build
Resolves: rhbz#2134785

(the symlinks were not created because of reverting the patch to
upgrade to Meson 0.62)
2022-11-16 17:20:00 +01:00
Neal Gompa 430c59d813 Rebase to 0.15.5
Resolves: rhbz#2134785

Signed-off-by: Neal Gompa <ngompa@centosproject.org>
2022-11-15 16:41:44 +01:00
Neal Gompa 71a59b37f1 Resolves: rhbz#1998881 Rebase appstream to version 0.14.5
This rebase includes various fixes and API improvements for
validating and generating AppStream metadata, especially
for appstream-generator for generating AppStream repodata.

Reference upstream Fedora package commit: 55c375eee7

Signed-off-by: Neal Gompa <ngompa@centosproject.org>
2021-09-28 17:39:29 +02:00
Mohan Boddu e13acd3c7e Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2021-08-09 19:23:41 +00:00
Mike FABIAN 680fb4929a Resolves: rhbz#1979528 Add CI tests and gating.yaml 2021-07-07 16:51:52 +02:00
Mike FABIAN f7aa431fee Resolves: rhbz#1966966 add a rpminspect.yaml to ignore false positives
appstream contains some html files in the documentation. rpminspect reports errors about
these.

These are false positives, see: https://github.com/rpminspect/rpminspect/issues/449
2021-06-15 09:16:50 +02:00
Mohan Boddu a3deb27d9a - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2021-04-15 22:36:41 +00:00
DistroBaker 13261460b1 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/appstream.git#bf158a20cd899dec2525201463e37f7987947350
2021-04-04 12:50:15 +00:00
DistroBaker dc20486d7a Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/appstream.git#67a8e6299ea72619e154093e3113b8c932f5136e
2021-03-23 11:05:24 +00:00
10 changed files with 165 additions and 18 deletions

1
.appstream.metadata Normal file
View File

@ -0,0 +1 @@
14ddaa7b429e804a1f8d05f0806e98f369eaf5d7 AppStream-0.16.1.tar.xz

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

5
.gitignore vendored
View File

@ -1 +1,6 @@
/AppStream-0.14.1.tar.xz
/AppStream-0.14.2.tar.xz
/AppStream-0.14.3.tar.xz
/AppStream-0.14.5.tar.xz
/AppStream-0.15.5.tar.xz
/AppStream-0.16.1.tar.xz

View File

@ -4,7 +4,7 @@
Summary: Utilities to generate, maintain and access the AppStream database
Name: appstream
Version: 0.14.1
Version: 0.16.1
Release: 1%{?dist}
# lib LGPLv2+, tools GPLv2+
@ -17,26 +17,38 @@ Source0: http://www.freedesktop.org/software/appstream/releases/AppStream-%{vers
## upstreamable patches
## downstream patches
# needed for cmake auto-provides
BuildRequires: cmake
BuildRequires: meson
BuildRequires: meson >= 0.62
BuildRequires: gettext
BuildRequires: gperf
BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: itstool
BuildRequires: libstemmer-devel
BuildRequires: pkgconfig(gio-2.0) pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(lmdb)
BuildRequires: pkgconfig(packagekit-glib2)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(protobuf-lite)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(xmlb) >= 0.3.6
BuildRequires: pkgconfig(yaml-0.1)
# lrelease
BuildRequires: qt5-linguist
BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: sed
BuildRequires: vala
BuildRequires: xmlto
@ -55,6 +67,19 @@ Provides: appstream-vala = %{version}-%{release}
%description devel
%{summary}.
%package compose
Summary: Library for generating AppStream data
Requires: %{name}%{?_isa} = %{version}-%{release}
%description compose
%{summary}.
%package compose-devel
Summary: Development files for %{name}-compose library
Requires: %{name}-compose%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description compose-devel
%{summary}.
%package qt
Summary: Qt5 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -75,6 +100,7 @@ Requires: pkgconfig(Qt5Core)
%build
%{meson} \
-Dcompose=true \
-Dqt=true \
-Dvapi=%{?vala:true}%{!?vala:false}
@ -106,25 +132,15 @@ mv %{buildroot}%{_datadir}/metainfo/*.xml \
%posttrans
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
## use file triggers instead of static pkg names
## other repos can provide appdata too
%if 0%{?fedora} > 25
## not sure how smart appstreamcli is about cache validation
## to judge if --force is really needed here or not -- rex
%transfiletriggerin -- %{_datadir}/app-info/xmls
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
%transfiletriggerpostun -- %{_datadir}/app-info/xmls
%{_bindir}/appstreamcli refresh >& /dev/null ||:
%else
%triggerun -- appstream-data
%{_bindir}/appstreamcli refresh >& /dev/null ||:
%endif
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
%files -f appstream.lang
%doc AUTHORS
%license LICENSE.GPLv2
%license LICENSE.LGPLv2.1
%license COPYING
%{_bindir}/appstreamcli
%{_mandir}/man1/appstreamcli.1*
%config(noreplace) %{_sysconfdir}/appstream.conf
@ -157,6 +173,27 @@ mv %{buildroot}%{_datadir}/metainfo/*.xml \
## symlink pointing to ^^, but need to take care, since rpm has
## trouble replacing dirs with symlinks, omit it for now -- rex
%exclude %{_datadir}/gtk-doc/html/appstream
# Maybe this should be split out? -- ngompa
%{_datadir}/installed-tests/appstream/metainfo-validate.test
%ldconfig_scriptlets compose
%files compose
%{_libexecdir}/appstreamcli-compose
%{_mandir}/man1/appstreamcli-compose.1*
%{_libdir}/libappstream-compose.so.0*
%{_libdir}/libappstream-compose.so.%{version}
%{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib
%{_metainfodir}/org.freedesktop.appstream.compose.metainfo.xml
%files compose-devel
%{_includedir}/appstream-compose/
%{_libdir}/libappstream-compose.so
%{_libdir}/pkgconfig/appstream-compose.pc
%{_datadir}/gir-1.0/AppStreamCompose-1.0.gir
%dir %{_datadir}/gtk-doc/
%dir %{_datadir}/gtk-doc/html/
%{_datadir}/gtk-doc/html/appstream-compose
%ldconfig_scriptlets qt
@ -169,8 +206,41 @@ mv %{buildroot}%{_datadir}/metainfo/*.xml \
%{_libdir}/cmake/AppStreamQt/
%{_libdir}/libAppStreamQt.so
%changelog
* Sat Feb 11 2023 Neal Gompa <ngompa@centosproject.org> - 0.16.1-1
- Rebase to 0.16.1
Resolves: rhbz#2169103
- Drop unneeded downstream hacks to build with older Meson
* Tue Nov 15 2022 Neal Gompa <ngompa@centosproject.org> - 0.15.5-2
- Create symlinks manually to make it build
(the symlinks were not created because of reverting the patch to
upgrade to Meson 0.62)
* Fri Oct 14 2022 Neal Gompa <ngompa@centosproject.org> - 0.15.5-1
- Rebase to 0.15.5
Resolves: rhbz#2134785
* Sun Aug 29 2021 Neal Gompa <ngompa@centosproject.org> - 0.14.5-1
- Rebase to 0.14.5
Resolves: rhbz#1998881
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.14.3-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 0.14.3-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Sat Apr 03 2021 Neal Gompa <ngompa13@gmail.com> - 0.14.3-2
- Build appstream-compose library for appstream-generator >= 0.8.4
* Mon Mar 08 2021 Rex Dieter <rdieter@fedoraproject.org> - 0.14.3-1
- 0.14.3
* Tue Mar 02 2021 Rex Dieter <rdieter@fedoraproject.org> - 0.14.2-1
- 0.14.2
* Wed Feb 17 2021 Rex Dieter <rdieter@fedoraproject.org> - 0.14.1-1
- 0.14.1

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

9
plans/basic.fmf Normal file
View File

@ -0,0 +1,9 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt
prepare:
how: shell
script:
- dnf config-manager --enable rhel-CRB --enable rhel-buildroot

4
rpminspect.yaml Normal file
View File

@ -0,0 +1,4 @@
---
xml:
ignore: # https://github.com/rpminspect/rpminspect/issues/449
- "*.html"

View File

@ -1 +1 @@
SHA512 (AppStream-0.14.1.tar.xz) = e852173a6706e69e9a79a4176886d17d31bb6cf130511f6671398a9a685663bb89695d5591d7d46dba457c80fe0361736312b77cd008f1046757a08893337e94
SHA512 (AppStream-0.16.1.tar.xz) = 79e139bd0f54534aa37c21d24309c33ee936e737149d6fa5ba0ec50e8ade33c2951d0b1e2ff15729e2a4d274ff1f7ca734bb70efa94539d87a3f949a07fb7d9e

5
tests/main.fmf Normal file
View File

@ -0,0 +1,5 @@
require:
- appstream
- emoji-picker
test: python3 test_appstream.py -v
framework: shell

46
tests/test_appstream.py Normal file
View File

@ -0,0 +1,46 @@
import unittest
import sys
import subprocess
class TestAppstream(unittest.TestCase):
def test_dummy(self):
self.assertEqual(True, True)
@unittest.expectedFailure
def test_expected_failure(self):
self.assertEqual(False, True)
def test_appstreamcli_search(self):
cp = subprocess.run(
['env LC_ALL=en_US.UTF-8 appstreamcli search emoji-picker'],
encoding='UTF-8',
text=True,
shell=True,
capture_output=True)
output_lines = cp.stdout.split('\n')
print('----------------------------------------')
print(output_lines)
print('----------------------------------------')
self.assertTrue(
'Identifier: org.freedesktop.ibus.engine.typing_booster.emoji_picker [desktop-application]'
in output_lines)
self.assertTrue(
'Name: Emoji Picker'
in output_lines)
self.assertTrue(
'Summary: Emoji browsing tool'
in output_lines)
self.assertTrue(
'Homepage: https://mike-fabian.github.io/ibus-typing-booster/'
in output_lines)
self.assertTrue(
'Icon: ibus-typing-booster.png'
in output_lines)
# This section not always there, better dont test for thi
# self.assertTrue(
# 'Package: emoji-picker'
# in output_lines)
if __name__ == "__main__":
unittest.main()