1
0

Accepting request 254038 from GNOME:Factory

- Add gnome-software-add-default-yast-appfolder.patch to add a
  YaST app-folder by default, in addition to existing app-folders
  Sundry and Utilities; fixes boo#897713.

- Move %lang_package before the definition of
  zypp-plugin-appstream to not confuse RPM with the redefined
  version of the subpackage.

- Split InstallAppdata.sh in an own package libzypp-plugin-appdata:
  other software centers might have to rely on this as well in the
  future.
- Add appstream-glib Requires and minimum version for libzypp to
  libzypp-plugin-appdata.  

- Drop PackageKit-branding-upstream Requires: PK 1.0.0 got a major
  rework and dropped the DesktopFile database. So the 'openSUSE'
  branded package is good enough.
- Add InstallAppdata.sh: the script is executed by libzypp whenever
  some repos are refreshed. The script extracts the appstream data
  from the repo metadata and installs it into the 'well known'
  location on the file system (/usr/share/app-info).

OBS-URL: https://build.opensuse.org/request/show/254038
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-software?expand=0&rev=11
This commit is contained in:
Stephan Kulow 2014-10-06 10:06:33 +00:00 committed by Git OBS Bridge
commit 54dea9b6c5
4 changed files with 153 additions and 2 deletions

48
InstallAppdata.sh Normal file
View File

@ -0,0 +1,48 @@
#!/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

View File

@ -0,0 +1,40 @@
Index: gnome-software-3.14.0/src/gs-folders.c
===================================================================
--- gnome-software-3.14.0.orig/src/gs-folders.c
+++ gnome-software-3.14.0/src/gs-folders.c
@@ -559,6 +559,7 @@ gs_folders_convert (void)
const gchar * const children[] = {
"Utilities",
"Sundry",
+ "YaST",
NULL
};
const gchar * const utilities_categories[] = {
@@ -627,6 +628,11 @@ gs_folders_convert (void)
"vino-preferences.desktop",
NULL
};
+ const gchar * const yast_categories[] = {
+ "X-SuSE-YaST",
+ NULL
+ };
+
gchar *path;
gchar *child_path;
GSettings *child;
@@ -653,6 +659,15 @@ gs_folders_convert (void)
g_object_unref (child);
g_free (child_path);
+
+ child_path = g_strconcat (path, "folders/YaST/", NULL);
+ child = g_settings_new_with_path (APP_FOLDER_CHILD_SCHEMA, child_path);
+ g_settings_set_string (child, "name", "suse-yast.directory");
+ g_settings_set_boolean (child, "translate", TRUE);
+ g_settings_set_strv (child, "categories", yast_categories);
+
+ g_object_unref (child);
+ g_free (child_path);
}

View File

@ -1,3 +1,37 @@
-------------------------------------------------------------------
Sat Oct 4 18:10:23 UTC 2014 - badshah400@gmail.com
- Add gnome-software-add-default-yast-appfolder.patch to add a
YaST app-folder by default, in addition to existing app-folders
Sundry and Utilities; fixes boo#897713.
-------------------------------------------------------------------
Sat Oct 4 14:16:53 UTC 2014 - dimstar@opensuse.org
- Move %lang_package before the definition of
zypp-plugin-appstream to not confuse RPM with the redefined
version of the subpackage.
-------------------------------------------------------------------
Sat Oct 4 11:09:19 UTC 2014 - dimstar@opensuse.org
- Split InstallAppdata.sh in an own package libzypp-plugin-appdata:
other software centers might have to rely on this as well in the
future.
- Add appstream-glib Requires and minimum version for libzypp to
libzypp-plugin-appdata.
-------------------------------------------------------------------
Thu Oct 2 14:37:21 UTC 2014 - dimstar@opensuse.org
- Drop PackageKit-branding-upstream Requires: PK 1.0.0 got a major
rework and dropped the DesktopFile database. So the 'openSUSE'
branded package is good enough.
- Add InstallAppdata.sh: the script is executed by libzypp whenever
some repos are refreshed. The script extracts the appstream data
from the repo metadata and installs it into the 'well known'
location on the file system (/usr/share/app-info).
-------------------------------------------------------------------
Tue Sep 23 10:01:30 UTC 2014 - dimstar@opensuse.org

View File

@ -25,8 +25,11 @@ License: GPL-2.0+
Group: System/GUI/GNOME
Url: https://wiki.gnome.org/Design/Apps/Software
Source: http://download.gnome.org/sources/gnome-software/3.14/%{name}-%{version}.tar.xz
Source1: InstallAppdata.sh
# PATCH-FEATURE-OPENSUSE gnome-software-PK-updates.patch dimstar@opensuse.org -- Switch to PackageKit Update provider instead of systemd offline updates.
Patch0: gnome-software-PK-updates.patch
# PATCH-FEATURE-OPENSUSE gnome-software-add-default-yast-appfolder.patch boo#897713 badshah400@gmail.com -- Adds a YaST app-folder by default, in addition to existing app-folders Sundry and Utilities
Patch1: gnome-software-add-default-yast-appfolder.patch
BuildRequires: intltool >= 0.35.0
BuildRequires: suse-xsl-stylesheets
BuildRequires: update-desktop-files
@ -39,19 +42,35 @@ BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(packagekit-glib2) >= 1.0.0
BuildRequires: pkgconfig(sqlite3)
# gnome-software requires ScanDesktopFiles=true in PK.conf, which openSUSE explicitly disables for performance reason. Users that want to test gnome-software (technical preview) will have to take this performance hit.
Requires: PackageKit-branding-upstream
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libzypp-plugin-appdata
%glib2_gsettings_schema_requires
%description
AppStore like management of Applications for your GNOME Desktop.
%lang_package
%package -n libzypp-plugin-appdata
Version: 1.0
Release: 0
Summary: Extend libzypp to handle AppStream metadata
Group: System/Libraries
Requires: appstream-glib >= 0.2.4
# appdata hook was introduced in libzypp 14.29.4
Requires: libzypp >= 14.29.4
%description -n libzypp-plugin-appdata
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
%setup -q
# Disables - let's try the systemd offline updater
#patch0 -p1
%patch1 -p1
%build
%configure \
@ -61,6 +80,8 @@ make %{?_smp_mflags}
%install
%make_install
find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
# Install AppData zypp plugin
install -Dm 0755 %{S:1} %{buildroot}%{_prefix}/lib/zypp/plugins/appdata/$(basename %{S:1})
#suse_update_desktop_file gnome-software
%find_lang %{name}
@ -97,6 +118,14 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
#{_libexecdir}/gnome-software-service
%{_mandir}/man1/%{name}.1%{?ext_man}
%{_sysconfdir}/xdg/autostart/gnome-software-service.desktop
# zypp plugin triggering AppData update on repo refresh
%dir %{_prefix}/lib/zypp
%dir %{_prefix}/lib/zypp/plugins
%dir %{_prefix}/lib/zypp/plugins/appdata/
%files -n libzypp-plugin-appdata
%defattr(-,root,root)
%{_prefix}/lib/zypp/plugins/appdata/InstallAppdata.sh
%files lang -f %{name}.lang