summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 15:18:46 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 15:18:46 +0000
commit56294d30a82ec2da6f9ce399740c1ef65a9ddef4 (patch)
treebbe3823e41495d026ba8edc6eeaef166edb7e2a2 /contrib
parentInitial commit. (diff)
downloadgnome-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.in209
-rw-r--r--contrib/gs-plugin-example.c56
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;
+}