Sync from SUSE:ALP:Source:Standard:1.0 appstream-glib revision c2faa1e3b571a86b3121e0af796450a2

This commit is contained in:
Adrian Schröter 2024-10-14 13:53:29 +02:00
commit fd34d01afc
8 changed files with 2119 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

17
_service Normal file
View File

@ -0,0 +1,17 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="url">https://github.com/hughsie/appstream-glib.git</param>
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">appstream_glib_(\d+)_(\d+)_(\d+)(\+0)?(\+[1-9][0-9]*)?</param>
<param name="versionrewrite-replacement">\1.\2.\3\5</param>
<param name="changesgenerate">enable</param>
<param name="revision">refs/tags/appstream_glib_0_8_2</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/hughsie/appstream-glib.git</param>
<param name="changesrevision">02c8ad3b66075d9b2c9094dff816cd44839a4b45</param></service></servicedata>

BIN
appstream-glib-0.8.2.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

1796
appstream-glib.changes Normal file

File diff suppressed because it is too large Load Diff

4
appstream-glib.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: appstream-glib
version: 0.8.2
mtime: 1667563006
commit: 02c8ad3b66075d9b2c9094dff816cd44839a4b45

200
appstream-glib.spec Normal file
View File

@ -0,0 +1,200 @@
#
# spec file for package appstream-glib
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2014 Dominique Leuenberger, Amsterdam, The Netherlands
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: appstream-glib
Version: 0.8.2
Release: 0
Summary: AppStream Abstraction Library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
URL: https://people.freedesktop.org/~hughsient/appstream-glib/
Source0: %{name}-%{version}.tar.xz
Source1: openSUSE-appstream-process
BuildRequires: docbook-xsl-stylesheets
BuildRequires: gcab >= 0.6
BuildRequires: gobject-introspection-devel
BuildRequires: gperf
BuildRequires: gtk-doc
BuildRequires: meson
BuildRequires: pkgconfig
# We still need some part to build the man pages
BuildRequires: xsltproc
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.31.5
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.45.8
BuildRequires: pkgconfig(glib-2.0) >= 2.45.8
BuildRequires: pkgconfig(gmodule-2.0) >= 2.45.8
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(json-glib-1.0) >= 1.1.2
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libcurl) >= 7.56.0
BuildRequires: pkgconfig(libgcab-1.0)
BuildRequires: pkgconfig(rpm)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(yaml-0.1)
Requires: gcab
# Required in order to be able to convert .svg icons
Requires: gdk-pixbuf-loader-rsvg
Requires: pngquant >= 2.8
%description
This library provides GObjects and helper methods to read and write
AppStream metadata. It also provides a DOM implementation to edit
nodes and convert to and from the standardized XML representation.
This library allows to:
* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat
%package -n libappstream-glib8
Summary: AppStream Abstraction Library
License: LGPL-2.1-or-later
%description -n libappstream-glib8
This library provides GObjects and helper methods to read and write
AppStream metadata. It also provides a DOM implementation to edit
nodes and convert to and from the standardized XML representation.
%package -n typelib-1_0-AppStreamGlib-1_0
Summary: Introspection bindings for the AppStream abstraction library
License: LGPL-2.1-or-later
%description -n typelib-1_0-AppStreamGlib-1_0
This library provides GObjects and helper methods to read and write
AppStream metadata. It also provides a DOM implementation to edit
nodes and convert to and from the standardized XML representation.
%package devel
Summary: Development files for the AppStream abstraction library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Requires: %{name} = %{version}
Requires: libappstream-glib8 = %{version}
Requires: typelib-1_0-AppStreamGlib-1_0 = %{version}
# appdata-tools was consumed into appstream-glib and is no longer maintained upstream
Obsoletes: appdata-tools < 0.1.9
Provides: appdata-tools = 0.1.9
# Also obsolete the -lang package; or we end up with strange conflicts
Obsoletes: appdata-tools-lang < 0.1.9
%description devel
This library provides GObjects and helper methods to read and write
AppStream metadata. It also provides a DOM implementation to edit
nodes and convert to and from the standardized XML representation.
This library allows to:
* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat
%package -n openSUSE-appstream-process
Summary: Appstream processor employed by kiwi
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Requires: appstream-glib >= %{version}
Requires: openSUSE-appdata-extra
%description -n openSUSE-appstream-process
A wrapper around appstream-builder, called by kiwi in order to produce AppStream metadata
for the repositories to be published
%lang_package
%prep
%autosetup -p1
%build
%meson \
-Ddep11=true \
-Dbuilder=true \
-Drpm=true \
-Dalpm=false \
-Dfonts=false \
-Dstemmer=false \
-Dman=true \
-Dgtk-doc=true \
-Dintrospection=true \
%{nil}
%meson_build
%install
%meson_install
# We don't care for 'installed tests'; that's used by GNOME Smoke Testing.
rm %{buildroot}%{_datadir}/installed-tests/appstream-glib/*.test
# install the appstream process script to be used by kiwi
install -d -m 0755 %{_buildroot}%{_bindir}
install -m 0755 -D %{SOURCE1} %{buildroot}%{_bindir}/$(basename %{SOURCE1})
%find_lang %{name}
%check
if %meson_test; then
echo CHECKS passed
exit 0
else
echo CHECKS failed... dumping log file
find -name testlog.txt -exec cat {} +
exit 0
fi
%ldconfig_scriptlets -n libappstream-glib8
%files
%doc AUTHORS NEWS
%{_bindir}/appstream-builder
%{_bindir}/appstream-compose
%{_bindir}/appstream-util
%{_datadir}/bash-completion/completions/appstream-builder
%{_datadir}/bash-completion/completions/appstream-util
%{_libdir}/asb-plugins-5/
%{_mandir}/man1/appstream-builder.1%{?ext_man}
%{_mandir}/man1/appstream-compose.1%{?ext_man}
%{_mandir}/man1/appstream-util.1%{?ext_man}
%files -n libappstream-glib8
%license COPYING
%{_libdir}/libappstream-glib.so.*
%files -n typelib-1_0-AppStreamGlib-1_0
%{_libdir}/girepository-1.0/AppStreamGlib-1.0.typelib
%files devel
%doc MAINTAINERS README.md
%{_datadir}/aclocal/appdata-xml.m4
%{_datadir}/aclocal/appstream-xml.m4
%dir %{_datadir}/gettext/its
%{_datadir}/gettext/its/appdata.*
%{_datadir}/gir-1.0/AppStreamGlib-1.0.gir
%{_datadir}/gtk-doc/html/appstream-glib/
%{_includedir}/libappstream-glib/
%{_libdir}/pkgconfig/appstream-glib.pc
%{_libdir}/libappstream-glib.so
%files -n openSUSE-appstream-process
%{_bindir}/openSUSE-appstream-process
%files lang -f %{name}.lang
%changelog

View File

@ -0,0 +1,72 @@
#!/bin/bash
SRC=$1
DEST=$2
URL=https://static.opensuse.org/appstream/tumbleweed
# Do not produce the html files - the biggest tasks are done
# Users interested in them can always produce them locally out of the appdata.xml.gz file
HTMLOUT=no
HASHED_NAMES=no
TMPDIR=$(mktemp -d)
/usr/bin/appstream-builder \
--temp-dir=${TMPDIR}/apb \
--cache-dir=${TMPDIR}/apb/cache \
--origin=appdata \
--basename=appdata \
--packages-dir=${SRC} \
--output-dir=${DEST} 2>&1 > $TMPDIR/as-builder.log
RET=$?
if [ $RET -ne 0 ]; then
# The appstream-builder failed, exit with an error code, so prod builder knows about it
cat $TMPDIR/as-builder.log
exit $RET
fi
# clean up TMPDIR again
rm -rf ${TMPDIR}
# Change screenshot URLs to our own infrastructure; disabled, as infra not ready
# appstream-util mirror-screenshots \
# ${DEST}/appdata.xml.gz \
# ${URL} \
# /usr/share/app-screenshots \
# /tmp/apb-screenshots
if [ "$HTMLOUT" = "yes" ]; then
/usr/bin/appstream-util \
status-html \
${DEST}/appdata.xml.gz \
${DEST}/appdata.html
# compress the HTML file (boo#942985)
xz -9 ${DEST}/appdata.html
/usr/bin/appstream-util \
status-html \
${DEST}/appdata-failed.xml.gz \
${DEST}/appdata-failed.html
# compress the HTML file (boo#942985)
xz -9 ${DEST}/appdata-failed.html
fi
if [ "$HASHED_NAMES" = "yes" ]; then
# rename the appdata-icons.tar.gz tarball to something like
# appdata-icons-${hash}.tar.gz, allowing mirrorbrain to send users
# off to a mirror to catch the file, improving performance
read md5 fn_catchall <<<$(md5sum ${DEST}/appdata-icons.tar.gz)
mv ${DEST}/appdata-icons.tar.gz ${DEST}/appdata-icons-${md5}.tar.gz
# also rename the appdata.xml.gz file in the same style
read md5 fn_catchall <<<$(md5sum ${DEST}/appdata.xml.gz)
mv ${DEST}/appdata.xml.gz ${DEST}/appdata-${md5}.xml.gz
# And the same for the -screenshots tarball (containing auto-generated screenshots for fonts)
read md5 fn_catchall <<<$(md5sum ${DEST}/appdata-screenshots.tar)
mv ${DEST}/appdata-screenshots.tar ${DEST}/appdata-screenshots-${md5}.tar
fi