package-helpers-cmxsl/helpers/DATA/update-manager/prevent-autoconnection.patch
2024-06-10 18:17:20 +00:00

113 lines
4.5 KiB
Diff

diff --git a/UpdateManager/Dialogs.py b/UpdateManager/Dialogs.py
index a5d13ad4..89603956 100644
--- a/UpdateManager/Dialogs.py
+++ b/UpdateManager/Dialogs.py
@@ -175,6 +175,23 @@ class NoUpdatesDialog(InternalDialog):
Gtk.STOCK_OK, self.window_main.close
)
+
+class ShouldUpdateDialog(InternalDialog):
+ def __init__(self, window_main):
+
+ InternalDialog.__init__(self, window_main)
+ self.set_header(_("Include latest updates from the Internet?"))
+ self.set_desc(_('''To prevent unwanted connections to the Internet
+Trisquel will not automatically check for updates
+unless you say so in the Settings panel.'''))
+ self.add_settings_button()
+ self.add_button(_("Check for Updates"), self.check)
+ self.add_button(_("Ask Me Later"), self.window_main.close)
+
+ def check(self):
+ self.window_main.options.no_update = False
+ self.window_main.check_update()
+
class DistUpgradeDialog(InternalDialog):
def __init__(self, window_main, meta_release):
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
index b6cdc8ab..d82db9dd 100644
--- a/UpdateManager/UpdateManager.py
+++ b/UpdateManager/UpdateManager.py
@@ -56,6 +56,7 @@ from .Dialogs import (
ErrorDialog,
HWEUpgradeDialog,
NeedRestartDialog,
+ ShouldUpdateDialog,
NoUpdatesDialog,
NoUpgradeForYouDialog,
PartialUpgradeDialog,
@@ -125,11 +126,13 @@ class UpdateManager(Gtk.Window):
)
# Look for a new release in a thread
- self.meta_release = MetaRelease(
- self.options and self.options.devel_release,
- self.options and self.options.use_proposed,
- self.options and self.options.debug,
- )
+ if (self.options.check_dist_upgrades
+ and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists")
+ != 0):
+ self.meta_release = MetaRelease(
+ self.options and self.options.devel_release,
+ self.options and self.options.use_proposed,
+ self.options and self.options.debug)
def begin_user_resizable(self, stored_width=0, stored_height=0):
self.set_resizable(True)
@@ -205,6 +206,19 @@
self.start_available()
def start_update(self):
+ if (not self.options.no_check_screen
+ and apt_pkg.config.find_i("APT::Periodic::Update-Package-Lists")
+ == 0):
+ self._start_pane(ShouldUpdateDialog(self))
+ return
+ if self.options.no_update:
+ self.start_available()
+ return
+
+ update_backend = get_backend(self, InstallBackend.ACTION_UPDATE)
+ self._start_pane(update_backend)
+
+ def check_update(self):
if self.options.no_update:
self.start_available()
return
@@ -231,6 +232,11 @@ class UpdateManager(Gtk.Window):
self.start_available()
return
+ self.meta_release = MetaRelease(
+ self.options and self.options.devel_release,
+ self.options and self.options.use_proposed,
+ self.options and self.options.debug)
+
update_backend = get_backend(self, InstallBackend.ACTION_UPDATE)
self._start_pane(update_backend)
diff -ru a/update-manager b/update-manager
--- a/update-manager 2023-05-04 19:26:47.710184166 -0400
+++ b/update-manager 2023-05-04 19:29:09.884636731 -0400
@@ -79,7 +79,7 @@
default="/usr/share/update-manager/",
help=_("Directory that contains the data files"))
parser.add_option ("-c", "--check-dist-upgrades", action="store_true",
- dest="check_dist_upgrades", default=False,
+ dest="check_dist_upgrades", default=True,
help=_("Check if a new Ubuntu release is available"))
parser.add_option ("-d", "--devel-release", action="store_true",
dest="devel_release", default=False,
@@ -92,6 +92,9 @@
parser.add_option ("--no-update", action="store_true",
dest="no_update", default=False,
help=_("Do not check for updates when starting"))
+ parser.add_option ("--no-check-screen", action="store_true",
+ dest="no_check_screen", default=False,
+ help=_("Don't show screen preventing unwanted connections to the Internet"))
parser.add_option ("", "--debug", action="store_true", default=False,
help=_("Show debug messages"))