diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 15:18:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 15:18:46 +0000 |
commit | 56294d30a82ec2da6f9ce399740c1ef65a9ddef4 (patch) | |
tree | bbe3823e41495d026ba8edc6eeaef166edb7e2a2 /contrib | |
parent | Initial commit. (diff) | |
download | gnome-software-upstream.tar.xz gnome-software-upstream.zip |
Adding upstream version 3.38.1.upstream/3.38.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/gnome-software.spec.in | 209 | ||||
-rw-r--r-- | contrib/gs-plugin-example.c | 56 |
2 files changed, 265 insertions, 0 deletions
diff --git a/contrib/gnome-software.spec.in b/contrib/gnome-software.spec.in new file mode 100644 index 0000000..73ff766 --- /dev/null +++ b/contrib/gnome-software.spec.in @@ -0,0 +1,209 @@ +%global glib2_version 2.61.1 +%global gtk3_version 3.22.4 +%global json_glib_version 1.2.0 +%global packagekit_version 1.1.1 +%global appstream_glib_version 0.7.15 +%global libsoup_version 2.52.0 +%global gsettings_desktop_schemas_version 3.12.0 +%global gnome_desktop_version 3.18.0 +%global fwupd_version 1.2.10 +%global flatpak_version 1.1.3 +%global libxmlb_version 0.1.7 + +%define alphatag #ALPHATAG# + +Name: gnome-software +Version: #VERSION# +Release: 0.#BUILD#%{?alphatag}%{?dist} +Summary: A software center for GNOME + +License: GPLv2+ +URL: https://wiki.gnome.org/Apps/Software +Source0: https://download.gnome.org/sources/gnome-software/3.34/%{name}-%{version}.tar.xz + +BuildRequires: gcc +BuildRequires: gettext +BuildRequires: libxslt +BuildRequires: docbook-style-xsl +BuildRequires: desktop-file-utils +BuildRequires: fwupd-devel >= %{fwupd_version} +BuildRequires: glib2-devel >= %{glib2_version} +BuildRequires: gnome-desktop3-devel +BuildRequires: gnome-online-accounts-devel +BuildRequires: gsettings-desktop-schemas-devel >= %{gsettings_desktop_schemas_version} +BuildRequires: gspell-devel +BuildRequires: gtk3-devel >= %{gtk3_version} +BuildRequires: gtk-doc +BuildRequires: json-glib-devel >= %{json_glib_version} +BuildRequires: libappstream-glib-devel >= %{appstream_glib_version} +BuildRequires: libdnf-devel +BuildRequires: libsoup-devel +BuildRequires: libxmlb-devel >= %{libxmlb_version} +BuildRequires: meson +BuildRequires: PackageKit-glib-devel >= %{packagekit_version} +BuildRequires: polkit-devel +BuildRequires: flatpak-devel >= %{flatpak_version} +BuildRequires: ostree-devel +BuildRequires: rpm-devel +BuildRequires: rpm-ostree-devel +BuildRequires: libgudev1-devel +BuildRequires: valgrind-devel + +Requires: appstream-data +Requires: flatpak%{?_isa} >= %{flatpak_version} +Requires: flatpak-libs%{?_isa} >= %{flatpak_version} +Requires: fwupd%{?_isa} >= %{fwupd_version} +Requires: glib2%{?_isa} >= %{glib2_version} +Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version} +# gnome-menus is needed for app folder .directory entries +Requires: gnome-menus%{?_isa} +Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version} +Requires: gtk3%{?_isa} >= %{gtk3_version} +Requires: json-glib%{?_isa} >= %{json_glib_version} +Requires: iso-codes +Requires: libappstream-glib%{?_isa} >= %{appstream_glib_version} +# librsvg2 is needed for gdk-pixbuf svg loader +Requires: librsvg2%{?_isa} +Requires: libsoup%{?_isa} >= %{libsoup_version} +Requires: libxmlb%{?_isa} >= %{libxmlb_version} + +Recommends: PackageKit%{?_isa} >= %{packagekit_version} + +Obsoletes: gnome-software-snap < 3.33.1 +Obsoletes: gnome-software-editor < 3.35.1 + +# this is not a library version +%define gs_plugin_version 13 + +%description +gnome-software is an application that makes it easy to add, remove +and update software in the GNOME desktop. + +%package devel +Summary: Headers for building external gnome-software plugins +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +These development files are for building gnome-software plugins outside +the source tree. Most users do not need this subpackage installed. + +%package rpm-ostree +Summary: rpm-ostree backend for gnome-software +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: rpm-ostree%{?_isa} +Supplements: (gnome-software%{?_isa} and rpm-ostree%{?_isa}) + +%description rpm-ostree +gnome-software is an application that makes it easy to add, remove +and update software in the GNOME desktop. + +This package includes the rpm-ostree backend. + +%prep +%autosetup -p1 + +%build +%meson \ + -Dsnap=false \ + -Dgudev=true \ + -Dpackagekit=true \ + -Dexternal_appstream=false \ + -Drpm_ostree=true \ + -Dtests=false +%meson_build + +%install +%meson_install + +# remove unneeded dpkg plugin +rm %{buildroot}%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_dpkg.so + +# make the software center load faster +desktop-file-edit %{buildroot}%{_datadir}/applications/org.gnome.Software.desktop \ + --set-key=X-AppInstall-Package --set-value=%{name} + +# set up for Fedora +cat >> %{buildroot}%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override << FOE +[org.gnome.software] +official-repos = [ 'anaconda', 'fedora', 'fedora-debuginfo', 'fedora-source', 'koji-override-0', 'koji-override-1', 'rawhide', 'rawhide-debuginfo', 'rawhide-source', 'updates', 'updates-debuginfo', 'updates-source', 'updates-testing', 'updates-testing-debuginfo', 'updates-testing-source', 'fedora-modular', 'fedora-modular-debuginfo', 'fedora-modular-source', 'rawhide-modular', 'rawhide-modular-debuginfo', 'rawhide-modular-source' ] +FOE + +%find_lang %name --with-gnome + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop + +%files -f %{name}.lang +%doc AUTHORS README.md +%license COPYING +%{_bindir}/gnome-software +%{_datadir}/applications/gnome-software-local-file.desktop +%{_datadir}/applications/org.gnome.Software.desktop +%dir %{_datadir}/gnome-software +%{_datadir}/gnome-software/*.png +%{_mandir}/man1/gnome-software.1.gz +%{_datadir}/icons/hicolor/*/apps/org.gnome.Software.svg +%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Software-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/software-installed-symbolic.svg +%{_datadir}/gnome-software/featured-*.svg +%{_datadir}/gnome-software/featured-*.jpg +%{_datadir}/metainfo/org.gnome.Software.appdata.xml +%{_datadir}/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml +%{_datadir}/metainfo/org.gnome.Software.Plugin.Fwupd.metainfo.xml +%{_datadir}/metainfo/org.gnome.Software.Plugin.Odrs.metainfo.xml +%dir %{_libdir}/gs-plugins-%{gs_plugin_version} +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_appstream.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_desktop-categories.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_desktop-menu-path.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_dummy.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fedora-langpacks.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fedora-pkgdb-collections.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_flatpak.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fwupd.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_generic-updates.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-blocklist.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-popular.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_icons.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_key-colors-metadata.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_key-colors.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_modalias.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_odrs.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_os-release.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-history.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-local.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-offline.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-proxy.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine-repos.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refresh.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-upgrade.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-url-to-app.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_provenance-license.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_provenance.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_repos.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_rewrite-resource.so +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_systemd-updates.so +%{_sysconfdir}/xdg/autostart/gnome-software-service.desktop +%{_datadir}/app-info/xmls/org.gnome.Software.Featured.xml +%{_datadir}/dbus-1/services/org.freedesktop.PackageKit.service +%{_datadir}/dbus-1/services/org.gnome.Software.service +%{_datadir}/gnome-shell/search-providers/org.gnome.Software-search-provider.ini +%{_datadir}/glib-2.0/schemas/org.gnome.software.gschema.xml +%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override +%{_libexecdir}/gnome-software-cmd +%{_libexecdir}/gnome-software-restarter + +%files rpm-ostree +%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_rpm-ostree.so + +%files devel +%{_libdir}/pkgconfig/gnome-software.pc +%dir %{_includedir}/gnome-software +%{_includedir}/gnome-software/*.h +%{_datadir}/gtk-doc/html/gnome-software + +%changelog +* #LONGDATE# Richard Hughes <richard@hughsie.com> #VERSION#-0.#BUILD##ALPHATAG# +- Update from GIT + diff --git a/contrib/gs-plugin-example.c b/contrib/gs-plugin-example.c new file mode 100644 index 0000000..92822eb --- /dev/null +++ b/contrib/gs-plugin-example.c @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * vi:set noexpandtab tabstop=8 shiftwidth=8: + * + * Copyright (C) 2016 Richard Hughes <richard@hughsie.com> + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <gnome-software.h> + +/* + * Compile and install with: + * +gcc -shared -o libgs_plugin_example.so gs-plugin-example.c -fPIC \ + `pkg-config --libs --cflags gnome-software` \ + -DI_KNOW_THE_GNOME_SOFTWARE_API_IS_SUBJECT_TO_CHANGE && + sudo cp libgs_plugin_example.so `pkg-config gnome-software --variable=plugindir` + */ + +void +gs_plugin_initialize (GsPlugin *plugin) +{ + gs_plugin_add_rule (plugin, GS_PLUGIN_RULE_RUN_BEFORE, "appstream"); +} + +gboolean +gs_plugin_add_search (GsPlugin *plugin, + gchar **values, + GsAppList *list, + GCancellable *cancellable, + GError **error) +{ + guint i; + for (i = 0; values[i] != NULL; i++) { + if (g_strcmp0 (values[i], "fotoshop") == 0) { + g_autoptr(GsApp) app = gs_app_new ("gimp.desktop"); + gs_app_add_quirk (app, GS_APP_QUIRK_IS_WILDCARD); + gs_app_list_add (list, app); + } + } + return TRUE; +} |