From 6aafa166315692afa3e86258f21a6c3eef81fa01a7a9af474bb3fe8f8a623767 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 4 Nov 2014 09:01:55 +0000 Subject: [PATCH] Accepting request 259603 from home:dimstar:branches:openSUSE:13.2 OBS-URL: https://build.opensuse.org/request/show/259603 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libzypp-plugin-appdata?expand=0&rev=1 --- .gitattributes | 23 +++++++++++ .gitignore | 1 + InstallAppdata.sh | 51 +++++++++++++++++++++++ libzypp-plugin-appdata.changes | 16 ++++++++ libzypp-plugin-appdata.spec | 74 ++++++++++++++++++++++++++++++++++ openSUSE-13.2-icons.tar.gz | 3 ++ openSUSE-13.2.xml.gz | 3 ++ 7 files changed, 171 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 InstallAppdata.sh create mode 100644 libzypp-plugin-appdata.changes create mode 100644 libzypp-plugin-appdata.spec create mode 100644 openSUSE-13.2-icons.tar.gz create mode 100644 openSUSE-13.2.xml.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/InstallAppdata.sh b/InstallAppdata.sh new file mode 100644 index 0000000..8abe180 --- /dev/null +++ b/InstallAppdata.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Copyright (c) 2014 Dominique Leuenberger, Amsterdam, The Netherlands + +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: + +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +RPMMD=/repodata/ +YAST2=/suse/setup/descr + +# Cleanup existing appdata found on the system +for list in $(find /usr/share/app-info/xmls/*.xml.gz); do + appdata=$(basename ${list} .xml.gz) + appstream-util uninstall "${appdata}" 2>&1 > /dev/null +done + +# Install new appdata files +while ([ "$1" = "-R" ]); do + case $4 in + rpm-md) + appstream-util install-origin "$2" $6$RPMMD/*appdata.xml.gz $6$RPMMD/*app-icons.tar.gz 2>&1 > /dev/null + ;; + yast2) + appstream-util install-origin "$2" "$6$YAST2/appdata.xml.gz" "$6$YAST2/app-icons.tar.gz" 2>&1 > /dev/null + ;; + *) + echo "unknown repo type - Appstream data not considered" + esac + shift 6 +done + +# Fixup icon that might have uncompressed with odd permissions +chmod 755 /usr/share/app-info/icons/* + diff --git a/libzypp-plugin-appdata.changes b/libzypp-plugin-appdata.changes new file mode 100644 index 0000000..dee779c --- /dev/null +++ b/libzypp-plugin-appdata.changes @@ -0,0 +1,16 @@ +------------------------------------------------------------------- +Wed Oct 29 16:48:05 UTC 2014 - dimstar@opensuse.org + +- Bump version of libzypp-plugin-appdata to 1.0.1: + + Disable the automatic metadata update mechanism, openSUSE 13.2 + metadata quality is not ready for this. + + Inject offline generated metadata into the system, so that + gnome-software has usable metadata. + +------------------------------------------------------------------- +Wed Oct 29 16:05:15 UTC 2014 - dimstar@opensuse.org + +- Split out of gnome-software, to be able to easier maintain + updates. + + diff --git a/libzypp-plugin-appdata.spec b/libzypp-plugin-appdata.spec new file mode 100644 index 0000000..241cda3 --- /dev/null +++ b/libzypp-plugin-appdata.spec @@ -0,0 +1,74 @@ +# +# spec file for package gnome-software +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + + +Name: libzypp-plugin-appdata +Version: 1.0.1 +Release: 0 +%define gs_plugin_api 7 +Summary: Extend libzypp to handle AppStream metadata +License: GPL-2.0+ +Group: System/Libraries +Url: https://wiki.gnome.org/Design/Apps/Software +Source0: InstallAppdata.sh +Source10: openSUSE-13.2.xml.gz +Source11: openSUSE-13.2-icons.tar.gz +BuildArch: noarch +BuildRequires: appstream-glib >= 0.2.4 +BuildRequires: fdupes +# Requires appstream-glib >= 0.2.4 for appstream-util install-basename +Requires: appstream-glib >= 0.2.4 +# appdata hook was introduced in libzypp 14.29.4 +Requires: libzypp >= 14.29.4 + +%description +This plugin extends libzypp to install AppStream metadata, as extracted from the +repository metadata, onto the file system in order to be picked up by +software centers. + +At this moment, gnome-software is the only known implementation making use of it. + +%prep + +%build + +%install +# Install AppData zypp plugin - temporarily disabled in favor of static AppStream metadata +#%%install -Dm 0755 %%{S:1} %%{buildroot}%%{_prefix}/lib/zypp/plugins/appdata/$(basename %%{S:1}) +DESTDIR=%{buildroot} appstream-util install %{S:10} %{S:11} +# marker, that we do no longer have to be aggressive in cleaning up remaining metadata in pre +touch %{buildroot}%{_datadir}/app-info/.zypp_plugin-1.0.1 + +# Link the few icons that are installed with different names +%fdupes %{buildroot}%{_datadir}/app-info/icons + +%pre +# In case we come from an old version of the plugin, we ensure to clean out any dynamic cache +if [ ! -f %{_datadir}/app-info/.zypp_plugin-1.0.1 ]; then + rm -rf %{_datadir}/app-info/ +fi + +%files +%defattr(-,root,root) +# zypp plugin triggering AppData update on repo refresh +#dir %{_prefix}/lib/zypp +#dir %{_prefix}/lib/zypp/plugins +#dir %{_prefix}/lib/zypp/plugins/appdata/ +#{_prefix}/lib/zypp/plugins/appdata/InstallAppdata.sh +%{_datadir}/app-info/ + +%changelog diff --git a/openSUSE-13.2-icons.tar.gz b/openSUSE-13.2-icons.tar.gz new file mode 100644 index 0000000..b1689d8 --- /dev/null +++ b/openSUSE-13.2-icons.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c53600f9962f550caf048389dbf4d0ee14ddb0bd7a72c18cf1802182c334296 +size 6638666 diff --git a/openSUSE-13.2.xml.gz b/openSUSE-13.2.xml.gz new file mode 100644 index 0000000..fab4e23 --- /dev/null +++ b/openSUSE-13.2.xml.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed20423e950735bcf086e0815455235268f3f8c372c146b26bb108fa0bd743fe +size 1034417