Merge pull request !1 from openeuler-net/local
This commit is contained in:
openeuler-ci-bot 2019-12-30 14:11:37 +08:00 committed by Gitee
commit ac817f22dd
9 changed files with 532 additions and 0 deletions

View File

@ -0,0 +1,33 @@
From f3398f8e48203246d6346b5c7c4ec5ea065181e6 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Fri, 19 Jul 2019 15:01:49 +0100
Subject: [PATCH] Do not trigger an inotity event when the AppStream XML data
is unchanged
We already call dnf_utils_refresh_repo_appstream() on startup, but only as
required. Remove the unconditional copy to speed up gnome-software startup.
---
backends/dnf/pk-backend-dnf.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/backends/dnf/pk-backend-dnf.c b/backends/dnf/pk-backend-dnf.c
index 779896c2d..503a6eb0a 100644
--- a/backends/dnf/pk-backend-dnf.c
+++ b/backends/dnf/pk-backend-dnf.c
@@ -565,13 +565,6 @@ dnf_utils_add_remote (PkBackendJob *job,
if (!ret)
return FALSE;
- /* update the AppStream copies in /var */
- for (guint i = 0; i < repos->len; i++) {
- DnfRepo *repo = g_ptr_array_index (repos, i);
- if (!dnf_utils_refresh_repo_appstream (repo, error))
- return FALSE;
- }
-
/* done */
if (!dnf_state_done (state, error))
return FALSE;
--
2.21.0

View File

@ -0,0 +1,58 @@
From 53dcc7b20c66408c6d2e6fe8b9b56eb974e7f5df Mon Sep 17 00:00:00 2001
From: Buildteam <buildteam@openeuler.org>
Date: Sun, 29 Dec 2019 16:10:20 +0800
Subject: [PATCH] PackageKit: modify support URL
Signed-off-by: Buildteam <buildteam@openeuler.org>
---
etc/Vendor.conf | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/etc/Vendor.conf b/etc/Vendor.conf
index 8db873b..ec48908 100644
--- a/etc/Vendor.conf
+++ b/etc/Vendor.conf
@@ -12,7 +12,7 @@
# If the value is set to 'none' then no link is shown.
#
# default=http://www.packagekit.org/pk-package-not-found.html
-DefaultUrl=http://www.packagekit.org/pk-package-not-found.html
+DefaultUrl=https://gitee.com/openeuler/community/issues
# The URL which is shown to the user when a codec could not be found.
# It should explain why certain codecs cannot be used, and perhaps show
@@ -21,7 +21,7 @@ DefaultUrl=http://www.packagekit.org/pk-package-not-found.html
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
-CodecUrl=none
+CodecUrl=https://gitee.com/openeuler/community/issues
# The URL which is shown to the user when hardware drivers could not be found.
# It should explain why some hardware is not supported, and links to futher
@@ -30,7 +30,7 @@ CodecUrl=none
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
-HardwareUrl=none
+HardwareUrl=https://gitee.com/openeuler/community/issues
# The URL which is shown to the user when fonts could not be found.
# Alternatives should probably be suggested where possible.
@@ -38,7 +38,7 @@ HardwareUrl=none
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
-FontUrl=none
+FontUrl=https://gitee.com/openeuler/community/issues
# The URL which is shown to the user when programs handing a mime tpye could not
# be found. It should probably explain how to use wine if the program is a
@@ -47,4 +47,4 @@ FontUrl=none
# If the value is set to 'none' then the value of DefaultUrl is used.
#
# default=none
-MimeUrl=none
+MimeUrl=https://gitee.com/openeuler/community/issues
--
1.8.3.1

View File

@ -0,0 +1,45 @@
From be075445cafd370abf1ad3e6e85f2baebef056cb Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Wed, 30 Jan 2019 15:37:21 +0100
Subject: [PATCH] dnf: Don't override DnfContext's release_ver for the running
system
Only override release_ver for the system upgrade DnfContext and leave it
at the default value for the default context. This makes
dnf_context_setup() automatically figure out the release_ver based on
the running system: it looks at various provides in rpmdb and finally
falls back to VERSION_ID from /etc/os-release.
The goal here is to make it possible to adjust the value that gets
passed to librepo by changing system-release(releasever) provides in
fedora-release (which DnfContext correctly handles if we leave the
release_ver set to the default value).
https://pagure.io/releng/issue/7445
---
backends/dnf/pk-backend-dnf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backends/dnf/pk-backend-dnf.c b/backends/dnf/pk-backend-dnf.c
index 47e565915..779896c2d 100644
--- a/backends/dnf/pk-backend-dnf.c
+++ b/backends/dnf/pk-backend-dnf.c
@@ -156,7 +156,6 @@ pk_backend_setup_dnf_context (DnfContext *context, GKeyFile *conf, const gchar *
dnf_context_set_repo_dir (context, repo_dir);
lock_dir = g_build_filename (destdir, "/var/run", NULL);
dnf_context_set_lock_dir (context, lock_dir);
- dnf_context_set_release_ver (context, release_ver);
dnf_context_set_rpm_verbosity (context, "info");
/* use this initial data if repos are not present */
@@ -3401,6 +3400,7 @@ pk_backend_upgrade_system_thread (PkBackendJob *job, GVariant *params, gpointer
g_autoptr(DnfContext) context = NULL;
context = dnf_context_new ();
+ dnf_context_set_release_ver (context, release_ver);
ret = pk_backend_setup_dnf_context (context, priv->conf, release_ver, &error);
if (!ret) {
g_debug ("failed to setup context: %s", error->message);
--
2.21.0

View File

@ -0,0 +1,38 @@
From cdbd27d699b51e37c533d07abd2f1ab26e11355c Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Tue, 18 Dec 2018 01:02:27 +0100
Subject: [PATCH] dnf: Invalidate the sack cache after downloading new metadata
This fixes first resolve() after refresh() to correctly return the new
data.
https://bugzilla.redhat.com/show_bug.cgi?id=1642878
---
backends/dnf/pk-backend-dnf.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/backends/dnf/pk-backend-dnf.c b/backends/dnf/pk-backend-dnf.c
index 5961f1258..47e565915 100644
--- a/backends/dnf/pk-backend-dnf.c
+++ b/backends/dnf/pk-backend-dnf.c
@@ -1568,6 +1568,7 @@ pk_backend_refresh_cache_thread (PkBackendJob *job,
gpointer user_data)
{
PkBackendDnfJobData *job_data = pk_backend_job_get_user_data (job);
+ PkBackend *backend = pk_backend_job_get_backend (job);
DnfRepo *repo;
DnfState *state_local;
DnfState *state_loop;
@@ -1699,6 +1700,9 @@ pk_backend_refresh_cache_thread (PkBackendJob *job,
return;
}
+ /* invalidate the sack cache after downloading new metadata */
+ pk_backend_sack_cache_invalidate (backend, "downloaded new metadata");
+
/* regenerate the libsolv metadata */
state_local = dnf_state_get_child (job_data->state);
sack = dnf_utils_create_sack_for_filters (job, 0,
--
2.19.1

View File

@ -0,0 +1,56 @@
From 4b3f4913e50510eed5fbd3bc4cf94a49dec939ab Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Wed, 27 Feb 2019 10:08:50 +0100
Subject: [PATCH] offline update: Use new plymouth "system-upgrade" and
"reboot" modes
These landed in plymouth git yesterday to implement
https://wiki.gnome.org/Design/OS/BootProgress
Using the new API conditionally is tricky as it's command line API;
enterprise distros that don't have new enough plymouth should probably
just revert this commit.
---
client/pk-offline-update.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/client/pk-offline-update.c b/client/pk-offline-update.c
index 90ecacd06..6f6591427 100644
--- a/client/pk-offline-update.c
+++ b/client/pk-offline-update.c
@@ -188,7 +188,7 @@ pk_offline_update_reboot (void)
/* reboot using systemd */
sd_journal_print (LOG_INFO, "rebooting");
- pk_offline_update_set_plymouth_mode ("shutdown");
+ pk_offline_update_set_plymouth_mode ("reboot");
/* TRANSLATORS: we've finished doing offline updates */
pk_offline_update_set_plymouth_msg (_("Rebooting after installing updates…"));
connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
@@ -371,6 +371,7 @@ pk_offline_update_do_update (PkTask *task, PkProgressBar *progressbar, GError **
return FALSE;
}
+ pk_offline_update_set_plymouth_mode ("updates");
/* TRANSLATORS: we've started doing offline updates */
pk_offline_update_set_plymouth_msg (_("Installing updates; this could take a while..."));
pk_offline_update_write_dummy_results ();
@@ -403,6 +404,7 @@ pk_offline_update_do_upgrade (PkTask *task, PkProgressBar *progressbar, GError *
return FALSE;
}
+ pk_offline_update_set_plymouth_mode ("system-upgrade");
/* TRANSLATORS: we've started doing offline system upgrade */
pk_offline_update_set_plymouth_msg (_("Installing system upgrade; this could take a while..."));
pk_offline_update_write_dummy_results ();
@@ -485,7 +487,6 @@ main (int argc, char *argv[])
task = pk_task_new ();
pk_client_set_interactive (PK_CLIENT (task), FALSE);
- pk_offline_update_set_plymouth_mode ("updates");
if (g_strcmp0 (link, PK_OFFLINE_PREPARED_UPGRADE_FILENAME) == 0 &&
g_file_test (PK_OFFLINE_PREPARED_UPGRADE_FILENAME, G_FILE_TEST_EXISTS)) {
--
2.21.0

View File

@ -0,0 +1,52 @@
#Copyright (C) 2019. Huawei Technologies Co., Ltd. All rights reserved.
#
#This program is free software; you can redistribute it and/or modify
#it under the terms of GPLv2+ and LGPLv2+
#
#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 GPLv2+ and LGPLv2+ for more details.
diff -uNrp a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
--- a/contrib/command-not-found/pk-command-not-found.c 2018-09-25 16:37:29.000000000 +0800
+++ b/contrib/command-not-found/pk-command-not-found.c 2019-08-26 10:14:11.184000000 +0800
@@ -143,6 +143,31 @@ pk_cnf_find_alternatives_replace (const
/**
*
+ * Add last char, so gre -> grep
+ **/
+static void
+pk_cnf_find_alternatives_add (const gchar *cmd, guint len, GPtrArray *array)
+{
+ guint i;
+ gchar *possible;
+ gchar *alt="abcdefghijklmnopqrstuvwxyz";
+ for(i = 0;i < 26; i++)
+ {
+ gchar *temp = malloc((len+2)*sizeof(gchar));
+ if(NULL != temp)
+ {
+ memset(temp,0,(len+2)*sizeof(gchar));
+ strncpy(temp,cmd,len);
+ temp[len]=alt[i];
+ temp[len+1]='\0';
+ possible = temp;
+ g_ptr_array_add (array, possible);
+ }
+ }
+}
+
+/**
+ *
* Truncate first and last char, so lshall -> lshal
**/
static void
@@ -349,6 +374,7 @@ pk_cnf_find_alternatives (const gchar *c
unique = g_ptr_array_new ();
pk_cnf_find_alternatives_swizzle (cmd, len, possible);
pk_cnf_find_alternatives_replace (cmd, len, possible);
+ pk_cnf_find_alternatives_add (cmd, len, possible);
if (len > 3)
pk_cnf_find_alternatives_truncate (cmd, len, possible);
pk_cnf_find_alternatives_remove_double (cmd, len, possible);

BIN
PackageKit-1.1.12.tar.xz Normal file

Binary file not shown.

214
PackageKit.spec Normal file
View File

@ -0,0 +1,214 @@
Name: PackageKit
Version: 1.1.12
Release: 7
License: GPLv2+ and LGPLv2+
Summary: Package management service
URL: https://www.freedesktop.org/software/PackageKit/
Source0: https://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz
# Fedora-specific: set Vendor.conf up for Fedora.
Patch1: PackageKit-0.3.9-Command-not-found-AddFn.patch
# Backported from upstream
Patch2: 0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch
# https://github.com/hughsie/PackageKit/pull/316
Patch3: 0001-offline-update-Use-new-plymouth-system-upgrade-and-r.patch
# https://pagure.io/releng/issue/7445
Patch4: 0001-dnf-Don-t-override-DnfContext-s-release_ver-for-the-.patch
# https://github.com/hughsie/PackageKit/pull/330
Patch5: 0001-Do-not-trigger-an-inotity-event-when-the-AppStream-X.patch
# modify support URL
Patch6: 0001-PackageKit-modify-support-URL.patch
BuildRequires: glib2-devel xmlto gtk-doc sqlite-devel polkit-devel libtool gtk2-devel gtk3-devel docbook-utils
BuildRequires: gnome-doc-utils intltool gettext vala gstreamer1-devel gstreamer1-plugins-base-devel pango-devel
BuildRequires: fontconfig-devel libappstream-glib-devel libdnf-devel systemd-devel gobject-introspection-devel bash-completion
Requires: glib2 libdnf shared-mime-info systemd gobject-introspection crontabs pango
Obsoletes: PackageKit-udev-helper < %{version}-%{release}
Obsoletes: udev-packagekit < %{version}-%{release}
Obsoletes: PackageKit-gtk-module < %{version}-%{release}
Obsoletes: PackageKit-smart < %{version}-%{release}
Obsoletes: PackageKit-yum < 0.9.1
Obsoletes: PackageKit-yum-plugin < 0.9.1
Obsoletes: PackageKit-zif < 0.8.13-2
Obsoletes: PackageKit-cached-metadata < 1.0.10-2
Obsoletes: PackageKit-browser-plugin < 1.0.11-3
Obsoletes: PackageKit-debug-install < 0.9.1
Obsoletes: PackageKit-hawkey < 0.9.1
Obsoletes: PackageKit-backend-devel < 0.9.6
Obsoletes: PackageKit-device-rebind < 0.8.13-2
Provides: PackageKit-debug-install = %{version}-%{release}
Provides: PackageKit-device-rebind = %{version}-%{release}
Provides: PackageKit-hawkey = %{version}-%{release}
Provides: PackageKit-yum = %{version}-%{release}
Provides: PackageKit-yum-plugin = %{version}-%{release}
Provides: PackageKit-zif = %{version}-%{release}
Obsoletes: PackageKit-gstreamer-plugin
Provides: PackageKit-gstreamer-plugin
Obsoletes: PackageKit-glib
Provides: PackageKit-glib
Obsoletes: PackageKit-libs < %{version}-%{release}
Provides: PackageKit-libs = %{version}-%{release}
Obsoletes: PackageKit-cron
Provides: PackageKit-cron
Obsoletes: codeina < 0.10.1-10
Provides: codeina = 0.10.1-10
%description
PackageKit is a D-Bus abstraction layer that allows the session user
to manage packages in a secure way using a cross-distro,
cross-architecture API.
%package devel
Summary: Libraries and headers for PackageKit
Requires: %{name} = %{version}-%{release}
Requires: dbus-devel >= 1.1.1 sqlite-devel pango
Obsoletes: PackageKit-glib-devel < %{version}-%{release}
Provides: PackageKit-glib-devel = %{version}-%{release}
Obsoletes: PackageKit-docs < %{version}-%{release}
Provides: PackageKit-docs = %{version}-%{release}
Obsoletes: PackageKit-gtk3-module
Provides: PackageKit-gtk3-module
%description devel
headers and libraries for PackageKit.
%package_help
%package command-not-found
Summary: Ask the user to install command line programs automatically
Requires: bash
%description command-not-found
A simple helper that offers to install new packages on the command line
using PackageKit.
%prep
%autosetup -p1
%build
%configure --enable-bash-completion --disable-local --disable-silent-rules
%make_build V=1
%install
%make_install
%delete_la_and_a
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/app-info/{icons,xmls}
touch $RPM_BUILD_ROOT%{_localstatedir}/cache/PackageKit/groups.sqlite
pushd ${RPM_BUILD_ROOT}%{_libexecdir} > /dev/null
ln -s pk-gstreamer-install gst-install-plugins-helper
popd > /dev/null
pushd ${RPM_BUILD_ROOT}%{_datadir}/PackageKit > /dev/null
ln -s ../pixmaps/comps icons
popd > /dev/null
%post
systemctl disable packagekit-offline-update.service > /dev/null 2>&1 || :
%files
%defattr(-,root,root)
%license COPYING
%doc AUTHORS
%dir %{_localstatedir}/cache/app-info/icons
%dir %{_localstatedir}/cache/app-info/xmls
%ghost %verify(not md5 size mtime) %{_localstatedir}/cache/PackageKit/groups.sqlite
%config(noreplace) %{_sysconfdir}/PackageKit/PackageKit.conf
%config(noreplace) %{_sysconfdir}/PackageKit/Vendor.conf
%config(noreplace) %{_sysconfdir}/sysconfig/packagekit-background
%config %{_sysconfdir}/cron.daily/packagekit-background.cron
%config %{_sysconfdir}/dbus-1/system.d/*
%{_libexecdir}/packagekitd
%{_libexecdir}/packagekit-direct
%{_libexecdir}/pk-offline-update
%{_libexecdir}/pk-gstreamer-install
%{_libexecdir}/gst-install-plugins-helper
%{_bindir}/pk*
%{_libdir}/*packagekit-glib2.so.*
%{_libdir}/packagekit-backend/libpk_backend_*.so
%{_libdir}/packagekit-backend/libpk_backend_test_*.so
%{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib
%{_datadir}/locale/*
%{_datadir}/PackageKit/helpers/test_spawn/*
%{_datadir}/polkit-1/*/*
%{_datadir}/PackageKit/icons
%{_datadir}/PackageKit/pk-upgrade-distro.sh
%{_datadir}/bash-completion/completions/pkcon
%ghost %verify(not md5 size mtime) %{_localstatedir}/lib/PackageKit/transactions.db
%{_datadir}/dbus-1/system-services/*.service
%{_unitdir}/packagekit-offline-update.service
%{_unitdir}/packagekit.service
%{_unitdir}/system-update.target.wants/
%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/gtk-2.0/modules/*.so
%{_libdir}/gtk-3.0/modules/*.so
%{_libdir}/gnome-settings-daemon-3.0/gtk-modules/*.desktop
%{_libdir}/pkgconfig/*.pc
%{_includedir}/PackageKit/packagekit-glib*/*.h
%{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
%{_datadir}/vala/vapi/packagekit-glib2.vapi
%files help
%defattr(-,root,root)
%doc NEWS README
%{_datadir}/man/man1/*.1.gz
%{_datadir}/gtk-doc/html/PackageKit
%{_datadir}/dbus-1/interfaces/*.xml
%files command-not-found
%defattr(-,root,root)
%{_libexecdir}/pk-command-not-found
%{_sysconfdir}/profile.d/*
%config(noreplace) %{_sysconfdir}/PackageKit/CommandNotFound.conf
%changelog
* Sun Dec 29 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:modify support URL
* Wed Dec 25 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:optimization the spec
* Tue Dec 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:move some .so to main package
* Fri Dec 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-4
- patch rename
* Fri Nov 22 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-3
- Type:bugfix
- Id:NA
- SUG:NA
- DESC:Unpack command-not-found for PackageKit
* Tue Sep 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-2
- Type:bugfix
- Id:NA
- SUG:NA
- DESC:Add PackageKit.so file for PackageKit
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.12-1
- Package init

36
README.en.md Normal file
View File

@ -0,0 +1,36 @@
# PackageKit
#### Description
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)