update-manager: update patches and match newer release.
This commit is contained in:
parent
226526fcbc
commit
5bab20d013
4 changed files with 156 additions and 117 deletions
|
|
@ -1,107 +0,0 @@
|
||||||
From 79b3c51dac13c1b2689d139bb0667fa27e8a02a9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nathan Pratta Teodosio <nathan.teodosio@canonical.com>
|
|
||||||
Date: Fri, 22 Mar 2024 08:24:04 +0100
|
|
||||||
Subject: 1:22.04.20 (patches unapplied)
|
|
||||||
|
|
||||||
# Changelog portion removed to avoid version conflict --ark74
|
|
||||||
|
|
||||||
Imported using git-ubuntu import.
|
|
||||||
---
|
|
||||||
UpdateManager/UpdateManager.py | 60 ++++++++++++++++++++++--------------------
|
|
||||||
debian/changelog | 10 +++++++
|
|
||||||
2 files changed, 41 insertions(+), 29 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
|
|
||||||
index 5882e0a0..03b11aa3 100644
|
|
||||||
--- a/UpdateManager/UpdateManager.py
|
|
||||||
+++ b/UpdateManager/UpdateManager.py
|
|
||||||
@@ -27,6 +27,7 @@ from gi.repository import Gdk, GdkX11
|
|
||||||
from gi.repository import Gio
|
|
||||||
from gi.repository import GLib
|
|
||||||
from gi.repository import GObject
|
|
||||||
+import uaclient.api.u.pro.packages.updates.v1 as ua
|
|
||||||
|
|
||||||
GdkX11 # pyflakes
|
|
||||||
|
|
||||||
@@ -36,11 +37,11 @@ warnings.filterwarnings("ignore", "Accessed deprecated property",
|
|
||||||
|
|
||||||
import distro_info
|
|
||||||
import fnmatch
|
|
||||||
-import json
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
import time
|
|
||||||
+import threading
|
|
||||||
from gettext import gettext as _
|
|
||||||
|
|
||||||
import dbus
|
|
||||||
@@ -270,36 +271,37 @@ class UpdateManager(Gtk.Window):
|
|
||||||
and pkg.installed:
|
|
||||||
self.oem_metapackages.add(pkg)
|
|
||||||
|
|
||||||
+ def _fetch_ua_updates(self):
|
|
||||||
+ self.ua_updates = ua.updates().updates
|
|
||||||
+
|
|
||||||
def _get_ua_security_status(self):
|
|
||||||
self.ua_security_packages = []
|
|
||||||
- try:
|
|
||||||
- p = subprocess.Popen(['pro', 'security-status', '--format=json'],
|
|
||||||
- stdout=subprocess.PIPE)
|
|
||||||
- except OSError:
|
|
||||||
- pass
|
|
||||||
- else:
|
|
||||||
- while p.poll() is None:
|
|
||||||
- while Gtk.events_pending():
|
|
||||||
- Gtk.main_iteration()
|
|
||||||
- time.sleep(0.05)
|
|
||||||
- s = json.load(p.stdout)
|
|
||||||
- for package in s.get('packages', []):
|
|
||||||
- if package.get('service_name', '') == 'standard-security':
|
|
||||||
- continue
|
|
||||||
- status = package.get('status', '')
|
|
||||||
- if (
|
|
||||||
- status == 'pending_attach'
|
|
||||||
- or status == 'pending_enable'
|
|
||||||
- or status == 'upgrade_available'
|
|
||||||
- ):
|
|
||||||
- name = package.get('package', '')
|
|
||||||
- version = package.get('version', '')
|
|
||||||
- size = package.get('download_size', 0)
|
|
||||||
- downloadable = status == 'upgrade_available'
|
|
||||||
- self.ua_security_packages.append(
|
|
||||||
- (name, version, size, downloadable)
|
|
||||||
- )
|
|
||||||
- self.cache.create_pro_cache(self.ua_security_packages)
|
|
||||||
+ t = threading.Thread(target=self._fetch_ua_updates, daemon=True)
|
|
||||||
+ t.start()
|
|
||||||
+ while t.is_alive():
|
|
||||||
+ while Gtk.events_pending():
|
|
||||||
+ Gtk.main_iteration()
|
|
||||||
+ time.sleep(0.05)
|
|
||||||
+ for package in self.ua_updates:
|
|
||||||
+ if (
|
|
||||||
+ package.provided_by == 'standard-security'
|
|
||||||
+ or package.provided_by == 'standard-updates'
|
|
||||||
+ ):
|
|
||||||
+ continue
|
|
||||||
+ status = package.status
|
|
||||||
+ if (
|
|
||||||
+ status == 'pending_attach'
|
|
||||||
+ or status == 'pending_enable'
|
|
||||||
+ or status == 'upgrade_available'
|
|
||||||
+ ):
|
|
||||||
+ name = package.package
|
|
||||||
+ version = package.version
|
|
||||||
+ size = package.download_size
|
|
||||||
+ downloadable = status == 'upgrade_available'
|
|
||||||
+ self.ua_security_packages.append(
|
|
||||||
+ (name, version, size, downloadable)
|
|
||||||
+ )
|
|
||||||
+ self.cache.create_pro_cache(self.ua_security_packages)
|
|
||||||
|
|
||||||
def _make_available_pane(self, install_count, need_reboot=False,
|
|
||||||
cancelled_update=False, error_occurred=False):
|
|
||||||
--
|
|
||||||
cgit v1.2.3
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager.py
|
||||||
|
index 3b9eaa58..d44040d5 100644
|
||||||
|
--- a/UpdateManager/UpdateManager.py
|
||||||
|
+++ b/UpdateManager.py
|
||||||
|
@@ -25,7 +25,6 @@ from gi.repository import Gdk, GdkX11
|
||||||
|
from gi.repository import Gio
|
||||||
|
from gi.repository import GLib
|
||||||
|
from gi.repository import GObject
|
||||||
|
-import uaclient.api.u.pro.packages.updates.v1 as ua
|
||||||
|
|
||||||
|
GdkX11 # pyflakes
|
||||||
|
|
||||||
|
@@ -40,7 +40,6 @@ import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
-import threading
|
||||||
|
from gettext import gettext as _
|
||||||
|
|
||||||
|
import dbus
|
||||||
|
@@ -90,7 +88,6 @@ class UpdateManager(Gtk.Window):
|
||||||
|
self.unity = UnitySupport()
|
||||||
|
self.controller = None
|
||||||
|
self.cache = None
|
||||||
|
- self.ua_security_packages = []
|
||||||
|
self.update_list = None
|
||||||
|
self.meta_release = None
|
||||||
|
self.hwe_replacement_packages = None
|
||||||
|
@@ -287,42 +286,6 @@ class UpdateManager(Gtk.Window):
|
||||||
|
and pkg.installed:
|
||||||
|
self.oem_metapackages.add(pkg)
|
||||||
|
|
||||||
|
- def _fetch_ua_updates(self):
|
||||||
|
- try:
|
||||||
|
- self.ua_updates = ua.updates().updates
|
||||||
|
- except:
|
||||||
|
- self.ua_updates = []
|
||||||
|
-
|
||||||
|
- def _get_ua_security_status(self):
|
||||||
|
- self.ua_security_packages = []
|
||||||
|
- self.ua_updates = []
|
||||||
|
- t = threading.Thread(target=self._fetch_ua_updates, daemon=True)
|
||||||
|
- t.start()
|
||||||
|
- while t.is_alive():
|
||||||
|
- while Gtk.events_pending():
|
||||||
|
- Gtk.main_iteration()
|
||||||
|
- time.sleep(0.05)
|
||||||
|
- for package in self.ua_updates:
|
||||||
|
- if (
|
||||||
|
- package.provided_by == 'standard-security'
|
||||||
|
- or package.provided_by == 'standard-updates'
|
||||||
|
- ):
|
||||||
|
- continue
|
||||||
|
- status = package.status
|
||||||
|
- if (
|
||||||
|
- status == 'pending_attach'
|
||||||
|
- or status == 'pending_enable'
|
||||||
|
- or status == 'upgrade_available'
|
||||||
|
- ):
|
||||||
|
- name = package.package
|
||||||
|
- version = package.version
|
||||||
|
- size = package.download_size
|
||||||
|
- downloadable = status == 'upgrade_available'
|
||||||
|
- self.ua_security_packages.append(
|
||||||
|
- (name, version, size, downloadable)
|
||||||
|
- )
|
||||||
|
- self.cache.create_pro_cache(self.ua_security_packages)
|
||||||
|
-
|
||||||
|
def _make_available_pane(self, install_count, need_reboot=False,
|
||||||
|
cancelled_update=False, error_occurred=False):
|
||||||
|
self._check_hwe_support_status()
|
||||||
|
@@ -495,8 +460,6 @@ class UpdateManager(Gtk.Window):
|
||||||
|
|
||||||
|
self._check_oem_metapackages()
|
||||||
|
|
||||||
|
- self._get_ua_security_status()
|
||||||
|
-
|
||||||
|
for pkgname in self.oem_metapackages:
|
||||||
|
try:
|
||||||
|
if not self.cache[pkgname].is_installed:
|
||||||
|
@@ -488,9 +451,7 @@ class UpdateManager(Gtk.Window):
|
||||||
|
self.update_list = UpdateList(self)
|
||||||
|
try:
|
||||||
|
self.update_list.update(self.cache, eventloop_callback=iterate,
|
||||||
|
- duplicate_packages=self.duplicate_packages,
|
||||||
|
- ua_security_packages=self.
|
||||||
|
- ua_security_packages)
|
||||||
|
+ duplicate_packages=self.duplicate_packages)
|
||||||
|
except SystemError as e:
|
||||||
|
header = _("Could not calculate the upgrade")
|
||||||
|
desc = _("An unresolvable problem occurred while "
|
||||||
|
diff --git a/UpdateManager/Core/MyCache.py b/UpdateManager/Core/MyCache.py
|
||||||
|
index fc227822..89f4a774 100644
|
||||||
|
--- a/UpdateManager/Core/MyCache.py
|
||||||
|
+++ b/UpdateManager/Core/MyCache.py
|
||||||
|
@@ -424,48 +424,3 @@ class MyCache(DistUpgrade.DistUpgradeCache.MyCache):
|
||||||
|
"Failed to download the list of changes. \n"
|
||||||
|
"Please check your Internet connection.")
|
||||||
|
self.all_changes[name] += error_message
|
||||||
|
-
|
||||||
|
- # If the machine is not attached to Ubuntu Pro, Update Manager advertises
|
||||||
|
- # the upgrades that would be available if it were attached.
|
||||||
|
- # As that is unbeknownst to Apt, we need this map to show the correct
|
||||||
|
- # version of each upgradable-if-pro-subscribed package.
|
||||||
|
- def create_pro_cache(self, pro_pkgs):
|
||||||
|
- for (name, version, _a, _a) in pro_pkgs:
|
||||||
|
- self.pro_versions[name] = version
|
||||||
|
-
|
||||||
|
- def get_changelog(self, name):
|
||||||
|
- " get the changelog file from the changelog location "
|
||||||
|
- origins = self[name].candidate.origins
|
||||||
|
- version = self.pro_versions.get(name, self[name].candidate.version)
|
||||||
|
- self.all_changes[name] = _("Changes for %s versions:\n"
|
||||||
|
- "Installed version: %s\n"
|
||||||
|
- "Available version: %s\n\n") % \
|
||||||
|
- (name, getattr(self[name].installed, "version", None), version)
|
||||||
|
- if self.CHANGELOG_ORIGIN not in [o.origin for o in origins]:
|
||||||
|
- self._fetch_changelog_for_third_party_package(name, origins)
|
||||||
|
- return
|
||||||
|
- # fixup epoch handling version
|
||||||
|
- srcpkg = self[name].candidate.source_name
|
||||||
|
- srcver_epoch = self[name].candidate.source_version.replace(':', '%3A')
|
||||||
|
- try:
|
||||||
|
- changelog = self._get_changelog_or_news(name, "changelog")
|
||||||
|
- if len(changelog) == 0:
|
||||||
|
- changelog = _("The changelog does not contain any relevant "
|
||||||
|
- "changes.\n\n"
|
||||||
|
- "Please use http://launchpad.net/ubuntu/+source/"
|
||||||
|
- "%s/%s/+changelog\n"
|
||||||
|
- "until the changes become available or try "
|
||||||
|
- "again later.") % (srcpkg, srcver_epoch)
|
||||||
|
- except HTTPError:
|
||||||
|
- changelog = _("The list of changes is not available yet.\n\n"
|
||||||
|
- "Please use http://launchpad.net/ubuntu/+source/"
|
||||||
|
- "%s/%s/+changelog\n"
|
||||||
|
- "until the changes become available or try again "
|
||||||
|
- "later.") % (srcpkg, srcver_epoch)
|
||||||
|
- except (IOError, BadStatusLine, socket.error) as e:
|
||||||
|
- print("caught exception: ", e)
|
||||||
|
- changelog = _("Failed to download the list "
|
||||||
|
- "of changes. \nPlease "
|
||||||
|
- "check your Internet "
|
||||||
|
- "connection.")
|
||||||
|
- self.all_changes[name] += changelog
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
--- UpdateManager/Core/utils.py 2015-10-21 04:05:26.461825091 +0200
|
--- a/UpdateManager/Core/utils.py 2015-10-21 04:05:26.461825091 +0200
|
||||||
+++ UpdateManager/Core/utils.py.new 2015-10-21 04:03:30.461825105 +0200
|
+++ b/UpdateManager/Core/utils.py 2015-10-21 04:03:30.461825105 +0200
|
||||||
@@ -426,7 +426,7 @@
|
@@ -426,7 +426,7 @@
|
||||||
# From spec, first if ubuntu-desktop is installed, use that.
|
# From spec, first if ubuntu-desktop is installed, use that.
|
||||||
# Second, grab first installed one from DistUpgrade.cfg.
|
# Second, grab first installed one from DistUpgrade.cfg.
|
||||||
|
|
|
||||||
|
|
@ -23,30 +23,34 @@ VERSION=23
|
||||||
|
|
||||||
. ./config
|
. ./config
|
||||||
|
|
||||||
|
PRE_REVISION=10.0
|
||||||
|
PRE_UPSTREAMRELEASE=20.04
|
||||||
|
|
||||||
rm UpdateManager/Core/LivePatchSocket.py
|
rm UpdateManager/Core/LivePatchSocket.py
|
||||||
rm tests/test_livepatch_socket.py
|
rm tests/test_livepatch_socket.py
|
||||||
# Important patch make sure to update when necessary.
|
# Important patch make sure to update when necessary.
|
||||||
patch --no-backup-if-mismatch -p1 < $DATA/remove-livepatch2.patch
|
patch_p1 $DATA/remove-livepatch2.patch
|
||||||
sed -i "/ubuntu-advantage-tools/d" debian/control
|
sed -i "/ubuntu-advantage-tools/d" debian/control
|
||||||
|
|
||||||
#Closes #12545
|
#Closes #12545
|
||||||
patch --no-backup-if-mismatch -p0 < $DATA/trisquel-versions.patch
|
patch_p1 $DATA/trisquel-versions.patch
|
||||||
|
|
||||||
cp $DATA/index.docbook help/C/index.docbook
|
cp $DATA/index.docbook help/C/index.docbook
|
||||||
|
|
||||||
# Prevent automated connections
|
# Prevent automated connections
|
||||||
patch --no-backup-if-mismatch -p1 < $DATA/prevent-autoconnection.patch
|
patch_p1 $DATA/prevent-autoconnection.patch
|
||||||
# NOTE: prevent-autoconnection.patch l10n is now part of the DATA/l10n/ patches.
|
# NOTE: prevent-autoconnection.patch l10n is now part of the DATA/l10n/ patches.
|
||||||
|
|
||||||
# Roll back the usage of uaclient.api.u.pro.packages.updates.v1
|
# Roll back the usage of uaclient.api.u.pro.packages.updates.v1
|
||||||
patch --no-backup-if-mismatch -p1 -R < $DATA/rm-usage_uaclient.api.u.pro.packages.updates.v1.patch
|
patch_p1 $DATA/rm_pro.packages.updates_from_u-m.patch
|
||||||
|
|
||||||
replace internet Internet .
|
replace internet Internet .
|
||||||
replace Ubuntu Trisquel .
|
replace Ubuntu Trisquel .
|
||||||
replace TrisquelDistroInfo UbuntuDistroInfo .
|
replace TrisquelDistroInfo UbuntuDistroInfo .
|
||||||
replace "Trisquel-Gettext" "Ubuntu-Gettext" .
|
replace "Trisquel-Gettext" "Ubuntu-Gettext" .
|
||||||
|
|
||||||
sed -i 's/Trisquel 20.04 LTS to Trisquel 22.04 LTS/Trisquel 10.0 LTS to Trisquel 11.0 LTS/' HweSupportStatus/consts.py
|
sed -i "s|Trisquel $PRE_UPSTREAMRELEASE LTS to Trisquel $UPSTREAMRELEASE LTS|Trisquel $PRE_REVISION LTS to Trisquel $REVISION LTS|" \
|
||||||
|
HweSupportStatus/consts.py
|
||||||
|
|
||||||
replace kubuntu-desktop triskel .
|
replace kubuntu-desktop triskel .
|
||||||
replace xubuntu-desktop trisquel-mini .
|
replace xubuntu-desktop trisquel-mini .
|
||||||
|
|
@ -55,7 +59,6 @@ replace ubuntu-desktop trisquel .
|
||||||
|
|
||||||
sed '/%s base/ s/name.*/name = "Trisquel base"/' -i ./UpdateManager/Core/UpdateList.py
|
sed '/%s base/ s/name.*/name = "Trisquel base"/' -i ./UpdateManager/Core/UpdateList.py
|
||||||
sed 's_https://changelogs.ubuntu.com/changelogs/pool/_https://packages.trisquel.org/changelogs/pool/_' -i UpdateManager/Core/MyCache.py
|
sed 's_https://changelogs.ubuntu.com/changelogs/pool/_https://packages.trisquel.org/changelogs/pool/_' -i UpdateManager/Core/MyCache.py
|
||||||
sed '/len(changelog) == 0/,/"later."/d' -i UpdateManager/Core/MyCache.py
|
|
||||||
|
|
||||||
#Make sure apt_pkg is enabled for prevent-autoconnection.patch to work.
|
#Make sure apt_pkg is enabled for prevent-autoconnection.patch to work.
|
||||||
[ -z "$(grep 'import apt_pkg' UpdateManager/UpdateManager.py)" ] && \
|
[ -z "$(grep 'import apt_pkg' UpdateManager/UpdateManager.py)" ] && \
|
||||||
|
|
@ -76,8 +79,7 @@ sed -i 's|changelogs.ubuntu.com/|archive.trisquel.org/trisquel/|' UpdateManager/
|
||||||
# Trisquel l10n modifications using git patches.
|
# Trisquel l10n modifications using git patches.
|
||||||
for patch in $(ls -v ${DATA}/l10n/*.patch)
|
for patch in $(ls -v ${DATA}/l10n/*.patch)
|
||||||
do
|
do
|
||||||
echo "> Applying $(echo $patch|xargs basename)"
|
patch_p1 $patch
|
||||||
patch --no-backup-if-mismatch -Np1 < $patch
|
|
||||||
done
|
done
|
||||||
|
|
||||||
changelog "Compiled for Trisquel"
|
changelog "Compiled for Trisquel"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue