Compare commits
15 Commits
db429fc70c
...
7bf8364e45
Author | SHA1 | Date | |
---|---|---|---|
|
7bf8364e45 | ||
|
dc4fd8e2e9 | ||
|
5e6f21865d | ||
ebaacb49c2 | |||
25111b9197 | |||
|
a175069ed3 | ||
|
4054e9bf03 | ||
|
f7f06d05c9 | ||
|
46bece00eb | ||
|
1f79703ee1 | ||
|
ea80117a18 | ||
|
c86d8ea9dc | ||
|
f5f745f90a | ||
|
c143cd572c | ||
|
a73ce1aab8 |
@ -9,3 +9,76 @@ Version=0.1
|
|||||||
Categories=System;Settings;
|
Categories=System;Settings;
|
||||||
Keywords=upgrade;update
|
Keywords=upgrade;update
|
||||||
Terminal=false
|
Terminal=false
|
||||||
|
|
||||||
|
Name[ar]=تطبيق الترقية الكاملة
|
||||||
|
GenericName[ar]=تطبيق الترقية الكاملة
|
||||||
|
Comment[ar]=بحث وتطبيق الترقية الكاملة
|
||||||
|
Name[bg]=Приложете пълно надграждане
|
||||||
|
GenericName[bg]=Приложете пълно надграждане
|
||||||
|
Comment[bg]=Търсете и прилагайте пълно надграждане
|
||||||
|
Name[ca]=Aplica l'actualització completa
|
||||||
|
GenericName[ca]=Aplica l'actualització completa
|
||||||
|
Comment[ca]=Cerca i aplica l'actualització completa
|
||||||
|
Name[cs]=Použít úplný upgrade
|
||||||
|
GenericName[cs]=Použít úplný upgrade
|
||||||
|
Comment[cs]=Vyhledejte a použijte úplný upgrade
|
||||||
|
Name[da]=Anvend fuld opgradering
|
||||||
|
GenericName[da]=Anvend fuld opgradering
|
||||||
|
Comment[da]=Søg og anvend fuld opgradering
|
||||||
|
Name[de]=Vollständiges Upgrade anwenden
|
||||||
|
GenericName[de]=Vollständiges Upgrade anwenden
|
||||||
|
Comment[de]=Vollständiges Upgrade suchen und anwenden
|
||||||
|
Name[el]=Εφαρμογή πλήρους αναβάθμισης
|
||||||
|
GenericName[el]=Εφαρμογή πλήρους αναβάθμισης
|
||||||
|
Comment[el]=Αναζήτηση και εφαρμογή πλήρους αναβάθμισης
|
||||||
|
Name[es]=Aplicar actualización completa
|
||||||
|
GenericName[es]=Aplicar actualización completa
|
||||||
|
Comment[es]=Buscar y aplicar la actualización completa
|
||||||
|
Name[et]=Rakendage täielikku täiendust
|
||||||
|
GenericName[et]=Rakendage täielikku täiendust
|
||||||
|
Comment[et]=Otsige ja rakendage täielikku versiooniuuendust
|
||||||
|
Name[fr]=Appliquer la mise à niveau complète
|
||||||
|
GenericName[fr]=Appliquer la mise à niveau complète
|
||||||
|
Comment[fr]=Rechercher et appliquer la mise à niveau complète
|
||||||
|
Name[gl]=Aplicar a actualización completa
|
||||||
|
GenericName[gl]=Aplicar a actualización completa
|
||||||
|
Comment[gl]=Busca e aplica a actualización completa
|
||||||
|
Name[he]=החל שדרוג מלא
|
||||||
|
GenericName[he]=החל שדרוג מלא
|
||||||
|
Comment[he]=חפש והחל שדרוג מלא
|
||||||
|
Name[hr]=Primijenite potpunu nadogradnju
|
||||||
|
GenericName[hr]=Primijenite potpunu nadogradnju
|
||||||
|
Comment[hr]=Pretražite i primijenite potpunu nadogradnju
|
||||||
|
Name[hu]=Teljes frissítés alkalmazása
|
||||||
|
GenericName[hu]=Teljes frissítés alkalmazása
|
||||||
|
Comment[hu]=Keresés és teljes frissítés alkalmazása
|
||||||
|
Name[it]=Applicare l'aggiornamento completo
|
||||||
|
GenericName[it]=Applicare l'aggiornamento completo
|
||||||
|
Comment[it]=Cerca e applica l'aggiornamento completo
|
||||||
|
Name[ja]=フルアップグレードを適用する
|
||||||
|
GenericName[ja]=フルアップグレードを適用する
|
||||||
|
Comment[ja]=フルアップグレードを検索して適用する
|
||||||
|
GenericName[lt]=Taikykite visą atnaujinimą
|
||||||
|
Name[lt]=Taikykite visą atnaujinimą
|
||||||
|
Comment[lt]=Ieškokite ir taikykite visą atnaujinimą
|
||||||
|
Name[nl]=Volledige upgrade toepassen
|
||||||
|
GenericName[nl]=Volledige upgrade toepassen
|
||||||
|
Comment[nl]=Volledige upgrade zoeken en toepassen
|
||||||
|
GenericName[pl]=Zastosuj pełną aktualizację
|
||||||
|
Name[pl]=Zastosuj pełną aktualizację
|
||||||
|
Comment[pl]=Wyszukaj i zastosuj pełną aktualizację
|
||||||
|
Name[pt]=Aplicar atualização completa
|
||||||
|
GenericName[pt]=Aplicar atualização completa
|
||||||
|
Comment[pt]=Pesquisar e aplicar a atualização completa
|
||||||
|
Name[ru]=Применить полное обновление
|
||||||
|
GenericName[ru]=Применить полное обновление
|
||||||
|
Comment[ru]=Поиск и применение полного обновления
|
||||||
|
Name[tr]=Tam Yükseltmeyi Uygula
|
||||||
|
GenericName[tr]=Tam Yükseltmeyi Uygula
|
||||||
|
Comment[tr]=Tam Yükseltmeyi Ara ve Uygula
|
||||||
|
Name[zh_CN]=应用全面升级
|
||||||
|
GenericName[zh_CN]=应用全面升级
|
||||||
|
Comment[zh_CN]=搜索并应用全面升级
|
||||||
|
Name[zh_TW]=應用全面升級
|
||||||
|
GenericName[zh_TW]=應用全面升級
|
||||||
|
Comment[zh_TW]=搜索並應用全面升級
|
||||||
|
52
debian/changelog
vendored
52
debian/changelog
vendored
@ -1,3 +1,55 @@
|
|||||||
|
lubuntu-update-notifier (0.6.1~ppa22.04.1) jammy; urgency=medium
|
||||||
|
|
||||||
|
[ Simon Quigley ]
|
||||||
|
* Backport to Jammy.
|
||||||
|
|
||||||
|
[ FuRuYa7 ]
|
||||||
|
* Added Japanese translation "po/ja.po" file.
|
||||||
|
|
||||||
|
[ Roberalz ]
|
||||||
|
* Update upg-apply.desktop.
|
||||||
|
|
||||||
|
[ vaba ]
|
||||||
|
* Add an Estonian translation.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 29 Nov 2023 16:55:55 -0600
|
||||||
|
|
||||||
|
lubuntu-update-notifier (0.6.0) mantic; urgency=medium
|
||||||
|
|
||||||
|
* Add support for release upgrading, when all updates are applied (LP: #2038958).
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 10 Oct 2023 14:06:19 -0500
|
||||||
|
|
||||||
|
lubuntu-update-notifier (0.5.4) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Disconnect the status_changed() function from the status-changed signal in
|
||||||
|
repair_install(), as it interferes with upgrade_progress_download().
|
||||||
|
(LP: #2012702)
|
||||||
|
* Don't try to pass a string to QTreeWidgetItem when it expects an
|
||||||
|
Iterable[str]. (LP: #2012823)
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Sun, 26 Mar 2023 10:48:15 -0500
|
||||||
|
|
||||||
|
lubuntu-update-notifier (0.5.3) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Changed some strings and fixed a typo in the autopkgtest tweak
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 02 Feb 2023 11:45:32 -0600
|
||||||
|
|
||||||
|
lubuntu-update-notifier (0.5.2) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Tweaked the autopkgtest script to return more detailed debugging info.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 02 Feb 2023 10:41:08 -0600
|
||||||
|
|
||||||
|
lubuntu-update-notifier (0.5.1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Added functionality for repairing an interrupted upgrade. (LP: #2002255)
|
||||||
|
* Fixed an assumption in the config-file-conflict frontend.
|
||||||
|
* Bumped version number in lubuntu-upgrader.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 14 Dec 2022 12:32:48 -0600
|
||||||
|
|
||||||
lubuntu-update-notifier (0.5) lunar; urgency=medium
|
lubuntu-update-notifier (0.5) lunar; urgency=medium
|
||||||
|
|
||||||
* Add a frontend for config-file-conflict.
|
* Add a frontend for config-file-conflict.
|
||||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -19,8 +19,10 @@ Depends: aptdaemon,
|
|||||||
lxqt-sudo,
|
lxqt-sudo,
|
||||||
python3,
|
python3,
|
||||||
python3-aptdaemon (>= 0.6.20ubuntu16),
|
python3-aptdaemon (>= 0.6.20ubuntu16),
|
||||||
|
python3-launchpadlib,
|
||||||
python3-pyqt5,
|
python3-pyqt5,
|
||||||
update-notifier-common,
|
update-notifier-common,
|
||||||
|
ubuntu-release-upgrader-qt,
|
||||||
${misc:Depends},
|
${misc:Depends},
|
||||||
${python3:Depends},
|
${python3:Depends},
|
||||||
${shlibs:Depends}
|
${shlibs:Depends}
|
||||||
|
6
debian/tests/run-tests
vendored
6
debian/tests/run-tests
vendored
@ -18,8 +18,14 @@ done
|
|||||||
IFS=$oldIFS
|
IFS=$oldIFS
|
||||||
if [ $UPG -ge 0 ]; then
|
if [ $UPG -ge 0 ]; then
|
||||||
echo "Success: /usr/lib/update-notifier/apt-check is working"
|
echo "Success: /usr/lib/update-notifier/apt-check is working"
|
||||||
|
echo "Debugging output:"
|
||||||
|
echo $OUT;
|
||||||
|
echo "End debugging output"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "Failure: /usr/lib/update-notifier/apt-check is NOT working"
|
echo "Failure: /usr/lib/update-notifier/apt-check is NOT working"
|
||||||
|
echo "Debugging output:"
|
||||||
|
echo $OUT;
|
||||||
|
echo "End debugging output"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# coding=utf-8
|
# coding=utf-8
|
||||||
|
|
||||||
# Copyright (C) 2019 Hans P. Möller <hmollercl@lubuntu.me>
|
# Copyright (C) 2019 Hans P. Möller <hmollercl@lubuntu.me>
|
||||||
|
# Copyright (C) 2023 Simon Quigley <tsimonq2@lubuntu.me>
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -28,8 +29,10 @@ import gettext
|
|||||||
from PyQt5.QtWidgets import (QWidget, QApplication, QLabel, QDialogButtonBox,
|
from PyQt5.QtWidgets import (QWidget, QApplication, QLabel, QDialogButtonBox,
|
||||||
QHBoxLayout, QVBoxLayout, QTreeWidget,
|
QHBoxLayout, QVBoxLayout, QTreeWidget,
|
||||||
QTreeWidgetItem, QHeaderView)
|
QTreeWidgetItem, QHeaderView)
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt, QThread, pyqtSignal
|
||||||
from PyQt5.QtGui import QIcon
|
from PyQt5.QtGui import QIcon
|
||||||
|
from launchpadlib.launchpad import Launchpad
|
||||||
|
|
||||||
import importlib.util
|
import importlib.util
|
||||||
|
|
||||||
spec = importlib.util.spec_from_file_location(
|
spec = importlib.util.spec_from_file_location(
|
||||||
@ -37,16 +40,35 @@ spec = importlib.util.spec_from_file_location(
|
|||||||
apt_check = importlib.util.module_from_spec(spec)
|
apt_check = importlib.util.module_from_spec(spec)
|
||||||
spec.loader.exec_module(apt_check)
|
spec.loader.exec_module(apt_check)
|
||||||
|
|
||||||
|
class RunUpgradeThread(QThread):
|
||||||
|
finished = pyqtSignal()
|
||||||
|
|
||||||
|
def __init__(self, cmd):
|
||||||
|
super().__init__()
|
||||||
|
self.cmd = cmd
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
process = subprocess.Popen(self.cmd)
|
||||||
|
process.wait()
|
||||||
|
self.finished.emit()
|
||||||
|
|
||||||
class Dialog(QWidget):
|
class Dialog(QWidget):
|
||||||
''' UI '''
|
''' UI '''
|
||||||
|
|
||||||
def __init__(self, upgrades, security_upgrades, reboot_required, upg_path):
|
def __init__(self, upgrades, security_upgrades, release_upgrade, version, reboot_required, upg_path):
|
||||||
QWidget.__init__(self)
|
QWidget.__init__(self)
|
||||||
self.upgrades = upgrades
|
self.upgrades = upgrades
|
||||||
self.security_upgrades = security_upgrades
|
self.security_upgrades = security_upgrades
|
||||||
|
self.release_upgrade = release_upgrade
|
||||||
|
self.version = version
|
||||||
self.upg_path = upg_path
|
self.upg_path = upg_path
|
||||||
self.reboot_required = reboot_required
|
self.reboot_required = reboot_required
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.launchpad = Launchpad.login_anonymously("lubuntu-update-notifier", "production", version="devel")
|
||||||
|
except:
|
||||||
|
self.launchpad = None
|
||||||
|
|
||||||
apt_pkg.init()
|
apt_pkg.init()
|
||||||
try:
|
try:
|
||||||
self.cache = apt_pkg.Cache()
|
self.cache = apt_pkg.Cache()
|
||||||
@ -64,6 +86,8 @@ class Dialog(QWidget):
|
|||||||
''' UI initialization '''
|
''' UI initialization '''
|
||||||
self.label = QLabel()
|
self.label = QLabel()
|
||||||
self.label.setAlignment(Qt.AlignHCenter)
|
self.label.setAlignment(Qt.AlignHCenter)
|
||||||
|
self.label.setTextFormat(Qt.RichText)
|
||||||
|
self.label.setOpenExternalLinks(True)
|
||||||
|
|
||||||
self.tw = QTreeWidget()
|
self.tw = QTreeWidget()
|
||||||
if self.security_upgrades > 0:
|
if self.security_upgrades > 0:
|
||||||
@ -93,7 +117,7 @@ class Dialog(QWidget):
|
|||||||
|
|
||||||
self.tw.setVisible(False)
|
self.tw.setVisible(False)
|
||||||
|
|
||||||
if self.upg_path is None:
|
if self.upg_path is None and not self.release_upgrade:
|
||||||
self.buttonBox.button(QDialogButtonBox.Apply).setVisible(False)
|
self.buttonBox.button(QDialogButtonBox.Apply).setVisible(False)
|
||||||
|
|
||||||
self.setLayout(vbox)
|
self.setLayout(vbox)
|
||||||
@ -129,7 +153,7 @@ class Dialog(QWidget):
|
|||||||
if len(pkg_delete) > 0:
|
if len(pkg_delete) > 0:
|
||||||
toDelete = QTreeWidgetItem([_('Remove')])
|
toDelete = QTreeWidgetItem([_('Remove')])
|
||||||
for p in pkg_delete:
|
for p in pkg_delete:
|
||||||
td_child = QTreeWidgetItem(p.name)
|
td_child = QTreeWidgetItem([p.name])
|
||||||
toDelete.addChild(td_child)
|
toDelete.addChild(td_child)
|
||||||
toDelete.setIcon(0, QIcon.fromTheme("edit-delete"))
|
toDelete.setIcon(0, QIcon.fromTheme("edit-delete"))
|
||||||
self.tw.addTopLevelItem(toDelete)
|
self.tw.addTopLevelItem(toDelete)
|
||||||
@ -163,6 +187,10 @@ class Dialog(QWidget):
|
|||||||
td_child.addChild(short)
|
td_child.addChild(short)
|
||||||
toUpgrade.setIcon(0, QIcon.fromTheme("system-software-update"))
|
toUpgrade.setIcon(0, QIcon.fromTheme("system-software-update"))
|
||||||
self.tw.addTopLevelItem(toUpgrade)
|
self.tw.addTopLevelItem(toUpgrade)
|
||||||
|
elif self.release_upgrade:
|
||||||
|
self.setWindowTitle("Upgrade Lubuntu")
|
||||||
|
text = self.new_version_text()
|
||||||
|
self.buttonBox.clicked.connect(self.call_release_upgrader)
|
||||||
|
|
||||||
if self.reboot_required:
|
if self.reboot_required:
|
||||||
if text == "":
|
if text == "":
|
||||||
@ -192,43 +220,83 @@ class Dialog(QWidget):
|
|||||||
QDialogButtonBox.ApplyRole):
|
QDialogButtonBox.ApplyRole):
|
||||||
''' starts upgrade process '''
|
''' starts upgrade process '''
|
||||||
self.label.setText(_("Upgrading..."))
|
self.label.setText(_("Upgrading..."))
|
||||||
# TODO maybe open another thread so notifier won't freeze
|
|
||||||
cmd = ['lxqt-sudo', self.upg_path, '--full-upgrade']
|
|
||||||
self.buttonBox.button(QDialogButtonBox.Apply).setEnabled(False)
|
self.buttonBox.button(QDialogButtonBox.Apply).setEnabled(False)
|
||||||
self.buttonBox.button(QDialogButtonBox.Apply).setVisible(False)
|
self.buttonBox.button(QDialogButtonBox.Apply).setVisible(False)
|
||||||
self.tw.setVisible(False)
|
self.tw.setVisible(False)
|
||||||
process = subprocess.Popen(cmd)
|
|
||||||
process.wait()
|
|
||||||
|
|
||||||
if self.upg_path == "terminal":
|
cmd = ["lxqt-sudo", self.upg_path, "--full-upgrade"]
|
||||||
text = _("Upgrade finished")
|
self.thread = RunUpgradeThread(cmd)
|
||||||
|
self.thread.finished.connect(self.on_upgrade_finished)
|
||||||
|
self.thread.start()
|
||||||
|
|
||||||
reboot_required_path = Path("/var/run/reboot-required")
|
def on_upgrade_finished(self):
|
||||||
if reboot_required_path.exists():
|
if self.upg_path == "terminal":
|
||||||
text += "\n" + _("Reboot required")
|
text = _("Upgrade finished")
|
||||||
self.label.setText(text)
|
|
||||||
self.closeBtn.setVisible(True)
|
|
||||||
self.closeBtn.setEnabled(True)
|
|
||||||
|
|
||||||
else:
|
reboot_required_path = Path("/var/run/reboot-required")
|
||||||
app.quit()
|
if reboot_required_path.exists():
|
||||||
|
text += "\n" + _("Reboot required")
|
||||||
|
self.label.setText(text)
|
||||||
|
self.closeBtn.setVisible(True)
|
||||||
|
self.closeBtn.setEnabled(True)
|
||||||
|
elif self.release_upgrade:
|
||||||
|
self.setWindowTitle("Upgrade Lubuntu")
|
||||||
|
self.label.setText(self.new_version_text())
|
||||||
|
self.buttonBox.button(QDialogButtonBox.Apply).setEnabled(True)
|
||||||
|
self.buttonBox.button(QDialogButtonBox.Apply).setVisible(True)
|
||||||
|
self.buttonBox.clicked.disconnect(self.call_upgrade)
|
||||||
|
self.buttonBox.clicked.connect(self.call_release_upgrader)
|
||||||
|
else:
|
||||||
|
app.quit()
|
||||||
|
|
||||||
|
def call_release_upgrader(self, btnClicked):
|
||||||
|
if self.buttonBox.buttonRole(btnClicked) == QDialogButtonBox.ApplyRole:
|
||||||
|
cmd = ["lxqt-sudo", "do-release-upgrade", "-m", "desktop", "-f", "DistUpgradeViewKDE"]
|
||||||
|
self.thread2 = RunUpgradeThread(cmd)
|
||||||
|
self.thread2.finished.connect(self.call_reject)
|
||||||
|
self.thread2.start()
|
||||||
|
elif self.buttonBox.buttonRole(btnClicked) == QDialogButtonBox.RejectRole:
|
||||||
|
self.call_reject()
|
||||||
|
|
||||||
|
def new_version_text(self):
|
||||||
|
try:
|
||||||
|
main_version = '.'.join(self.version.split()[0].split('.')[:2])
|
||||||
|
codename = self.launchpad.distributions["ubuntu"].getSeries(name_or_version=main_version).name
|
||||||
|
except:
|
||||||
|
codename = None
|
||||||
|
|
||||||
|
if codename:
|
||||||
|
url_suffix = ""
|
||||||
|
point_release = self.version.split(".")[2].split(" ")[0] if "." in self.version[4:] else "0"
|
||||||
|
if point_release != "0":
|
||||||
|
url_suffix = f"-{int(point_release)}"
|
||||||
|
url_suffix += "-released"
|
||||||
|
|
||||||
|
text = f"<a href='https://lubuntu.me/{codename}{url_suffix}/'>"
|
||||||
|
text += _("A new version of Lubuntu") + "</a> "
|
||||||
|
text += _("is available. Would you like to install it?")
|
||||||
|
else:
|
||||||
|
text = _("A new version of Lubuntu is available. Would you like to install it?")
|
||||||
|
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
class App(QApplication):
|
class App(QApplication):
|
||||||
'''application'''
|
'''application'''
|
||||||
|
|
||||||
def __init__(self, upgrades, security_upgrades, reboot_required, upg_path,
|
def __init__(self, upgrades, security_upgrades, release_upgrade, version, reboot_required, upg_path,
|
||||||
*args):
|
*args):
|
||||||
QApplication.__init__(self, *args)
|
QApplication.__init__(self, *args)
|
||||||
self.dialog = Dialog(upgrades, security_upgrades, reboot_required,
|
self.dialog = Dialog(upgrades, security_upgrades, release_upgrade, version, reboot_required,
|
||||||
upg_path)
|
upg_path)
|
||||||
self.dialog.show()
|
self.dialog.show()
|
||||||
|
|
||||||
|
|
||||||
def main(args, upgrades, security_upgrades, reboot_required, upg_path):
|
|
||||||
|
def main(args, upgrades, security_upgrades, release_upgrade, version, reboot_required, upg_path):
|
||||||
'''main'''
|
'''main'''
|
||||||
global app
|
global app
|
||||||
app = App(upgrades, security_upgrades, reboot_required, upg_path, args)
|
app = App(upgrades, security_upgrades, release_upgrade, version, reboot_required, upg_path, args)
|
||||||
app.setWindowIcon(QIcon.fromTheme("system-software-update"))
|
app.setWindowIcon(QIcon.fromTheme("system-software-update"))
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
|
||||||
@ -256,12 +324,29 @@ if __name__ == "__main__":
|
|||||||
dest="security_upgrades",
|
dest="security_upgrades",
|
||||||
help=_("How many security upgrades are available"),
|
help=_("How many security upgrades are available"),
|
||||||
metavar="APP")
|
metavar="APP")
|
||||||
|
parser.add_argument("-r",
|
||||||
|
"--release-upgrade",
|
||||||
|
dest="release_upgrade",
|
||||||
|
help=_("Whether a release upgrade is required"),
|
||||||
|
type=str,
|
||||||
|
metavar="APP")
|
||||||
|
parser.add_argument("-v",
|
||||||
|
"--release-upgrade-version",
|
||||||
|
dest="version",
|
||||||
|
help=_("If a release upgrade is available, provide the version"),
|
||||||
|
type=str,
|
||||||
|
metavar="APP")
|
||||||
|
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
reboot_required_path = Path("/var/run/reboot-required")
|
reboot_required_path = Path("/var/run/reboot-required")
|
||||||
reboot_required = reboot_required_path.exists()
|
reboot_required = reboot_required_path.exists()
|
||||||
|
|
||||||
if int(options.upgrades) > 0 or reboot_required:
|
if int(options.release_upgrade) == 0:
|
||||||
|
options.release_upgrade = True
|
||||||
|
else:
|
||||||
|
options.release_upgrade = False
|
||||||
|
|
||||||
|
if int(options.upgrades) > 0 or reboot_required or options.release_upgrade:
|
||||||
main(sys.argv, int(options.upgrades), int(options.security_upgrades),
|
main(sys.argv, int(options.upgrades), int(options.security_upgrades),
|
||||||
reboot_required, options.upg_path)
|
options.release_upgrade, options.version, reboot_required, options.upg_path)
|
||||||
|
@ -32,6 +32,12 @@ while true;
|
|||||||
j=`expr $j + 1`
|
j=`expr $j + 1`
|
||||||
done
|
done
|
||||||
IFS=$oldIFS
|
IFS=$oldIFS
|
||||||
/usr/libexec/lubuntu-update-notifier/lubuntu-notifier.py -u $UPG -s $SEC -p /usr/bin/lubuntu-upgrader
|
|
||||||
|
NEWREL_CHECK=`/usr/bin/do-release-upgrade -c 2>&1`
|
||||||
|
NEWREL=$?
|
||||||
|
if [ "$NEWREL" -eq 0 ]; then
|
||||||
|
VERSION=`echo $NEWREL_CHECK | awk -F\' '/available/{print $2}'`
|
||||||
|
fi
|
||||||
|
/usr/libexec/lubuntu-update-notifier/lubuntu-notifier.py -u $UPG -s $SEC -r $NEWREL -v $VERSION -p /usr/bin/lubuntu-upgrader
|
||||||
sleep 86400
|
sleep 86400
|
||||||
done;
|
done;
|
||||||
|
@ -65,6 +65,8 @@ class DialogUpg(QWidget):
|
|||||||
#stderr=subprocess.PIPE
|
#stderr=subprocess.PIPE
|
||||||
stderr=self.slave)'''
|
stderr=self.slave)'''
|
||||||
|
|
||||||
|
self.trans3 = self.apt_client.fix_incomplete_install()
|
||||||
|
self.repair_install()
|
||||||
if options.fullUpgrade:
|
if options.fullUpgrade:
|
||||||
self.trans2 = self.apt_client.upgrade_system(safe_mode=False)
|
self.trans2 = self.apt_client.upgrade_system(safe_mode=False)
|
||||||
self.setWindowTitle('Full Upgrade')
|
self.setWindowTitle('Full Upgrade')
|
||||||
@ -129,6 +131,12 @@ class DialogUpg(QWidget):
|
|||||||
self.progressBar.setValue(progress)
|
self.progressBar.setValue(progress)
|
||||||
self.label.setText(_("Updating cache..."))
|
self.label.setText(_("Updating cache..."))
|
||||||
|
|
||||||
|
def repair_progress(self, transaction, progress):
|
||||||
|
'''upgrade progressbar during update'''
|
||||||
|
self.progressBar.setVisible(True)
|
||||||
|
self.progressBar.setValue(progress)
|
||||||
|
self.label.setText(_("Repairing interrupted upgrade if necessary..."))
|
||||||
|
|
||||||
def update_progress_download(self, transaction, uri, status, short_desc,
|
def update_progress_download(self, transaction, uri, status, short_desc,
|
||||||
total_size, current_size, msg):
|
total_size, current_size, msg):
|
||||||
'''print update info'''
|
'''print update info'''
|
||||||
@ -334,7 +342,7 @@ class DialogUpg(QWidget):
|
|||||||
elif query.clickedButton() == no:
|
elif query.clickedButton() == no:
|
||||||
answer = "keep"
|
answer = "keep"
|
||||||
|
|
||||||
self.trans2.resolve_config_file_conflict(config=cur, answer=answer)
|
transaction.resolve_config_file_conflict(config=cur, answer=answer)
|
||||||
|
|
||||||
def upgrade(self):
|
def upgrade(self):
|
||||||
'''runs upgrade'''
|
'''runs upgrade'''
|
||||||
@ -373,6 +381,37 @@ class DialogUpg(QWidget):
|
|||||||
'''when close button is pushed, quit'''
|
'''when close button is pushed, quit'''
|
||||||
app.quit()
|
app.quit()
|
||||||
|
|
||||||
|
def repair_install(self):
|
||||||
|
self.closeBtn.setVisible(False)
|
||||||
|
try:
|
||||||
|
self.trans3.connect('progress-changed', self.repair_progress)
|
||||||
|
# TODO the next line breaks the ability to see download progress
|
||||||
|
# for... some reason. Maybe an aptd bug?
|
||||||
|
# self.trans3.connect('status-changed', self.status_changed)
|
||||||
|
self.trans3.connect('status-details-changed',
|
||||||
|
self.status_details_changed)
|
||||||
|
self.trans3.connect('finished', self.repair_finish)
|
||||||
|
self.trans3.connect('error', self.upgrade_error)
|
||||||
|
self.trans3.set_debconf_frontend('kde')
|
||||||
|
self.trans3.run()
|
||||||
|
|
||||||
|
except (NotAuthorizedError, TransactionFailed) as e:
|
||||||
|
print("Warning: install transaction not completed successfully:"
|
||||||
|
+ "{}".format(e))
|
||||||
|
|
||||||
|
def repair_finish(self, transaction, exit_state):
|
||||||
|
'''when repair finish'''
|
||||||
|
self.label.setText(_("Repair Finished (if repair was needed)"))
|
||||||
|
if exit_state == EXIT_FAILED:
|
||||||
|
error_string = get_error_string_from_enum(transaction.error.code)
|
||||||
|
error_desc = get_error_description_from_enum(
|
||||||
|
transaction.error.code)
|
||||||
|
self.plainTextEdit.setEnabled(False)
|
||||||
|
self.plainTextEdit.moveCursor(QTextCursor.End)
|
||||||
|
self.plainTextEdit.insertPlainText(error_string + "\n")
|
||||||
|
self.plainTextEdit.insertPlainText(error_desc + "\n")
|
||||||
|
self.plainTextEdit.moveCursor(QTextCursor.End)
|
||||||
|
self.plainTextEdit.setEnabled(True)
|
||||||
|
|
||||||
class App(QApplication):
|
class App(QApplication):
|
||||||
'''app'''
|
'''app'''
|
||||||
@ -420,7 +459,7 @@ if __name__ == "__main__":
|
|||||||
help=_("Full upgrade same as dist-upgrade"))
|
help=_("Full upgrade same as dist-upgrade"))
|
||||||
parser.add_argument('--version',
|
parser.add_argument('--version',
|
||||||
action='version',
|
action='version',
|
||||||
version='%(prog)s 0.4')
|
version='%(prog)s 0.5.1')
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
# run it
|
# run it
|
||||||
|
114
po/et.po
Normal file
114
po/et.po
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-09-12 13:43-0300\n"
|
||||||
|
"PO-Revision-Date: 2023-05-27 13:36+0300\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 2.3\n"
|
||||||
|
"Last-Translator: vaba <vaba@riseup.net>\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"Language: et\n"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:129
|
||||||
|
msgid "Updating cache..."
|
||||||
|
msgstr "Vahemälu värskendamine..."
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:186 lubuntu-upgrader:189
|
||||||
|
msgid "Fetching"
|
||||||
|
msgstr "Tõmbamine"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:187 lubuntu-upgrader:189 lubuntu-upgrader:200
|
||||||
|
#: lubuntu-upgrader:203
|
||||||
|
msgid "of"
|
||||||
|
msgstr "/"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:199 lubuntu-upgrader:202
|
||||||
|
msgid "Downloaded"
|
||||||
|
msgstr "Allalaaditud"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:214 lubuntu-notifier.py:170
|
||||||
|
msgid "Upgrade finished"
|
||||||
|
msgstr "Uuendamine on lõpetatud"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:218 lubuntu-notifier.py:132 lubuntu-notifier.py:136
|
||||||
|
#: lubuntu-notifier.py:174
|
||||||
|
msgid "Reboot required"
|
||||||
|
msgstr "Vajalik taaskäivitus"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:222
|
||||||
|
msgid "With some Errors"
|
||||||
|
msgstr "Mõnede vigadega"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:223
|
||||||
|
msgid "Error Resume:"
|
||||||
|
msgstr "Viga jätkamisel:"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:274
|
||||||
|
msgid "Update Cache Finished"
|
||||||
|
msgstr "Vahemälu värskendamine on lõpetatud"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:369
|
||||||
|
msgid ""
|
||||||
|
"Please run this software with administrative rights.To do so, run this "
|
||||||
|
"program with lxqt-sudo."
|
||||||
|
msgstr ""
|
||||||
|
"Käivitage see tarkvara administraatoriõigustega. Selleks käivitage see "
|
||||||
|
"programm lxqt-sudo abil."
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:391
|
||||||
|
msgid "Update Cache Before Upgrade"
|
||||||
|
msgstr "Värskendage vahemälu enne versiooniuuendust"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:396
|
||||||
|
msgid "Full upgrade same as dist-upgrade"
|
||||||
|
msgstr "Täielik uuendus on sama, mis dist-upgrade"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:64
|
||||||
|
msgid "Affected Packages"
|
||||||
|
msgstr "Mõjutatud paketid"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:102
|
||||||
|
msgid "There are upgrades available. Do you want to do a system upgrade?"
|
||||||
|
msgstr "Saadaval on uuendused. Kas soovite süsteemi uuendada?"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:105
|
||||||
|
msgid "This will mean packages could be upgraded, installed or removed."
|
||||||
|
msgstr ""
|
||||||
|
"See tähendab, et pakette saab uuendada, installida või eemaldada."
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:109
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Eemalda"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:116
|
||||||
|
msgid "Install"
|
||||||
|
msgstr "Paigalda"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:123
|
||||||
|
msgid "Upgrade"
|
||||||
|
msgstr "Uuenda"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:155
|
||||||
|
msgid "Upgrading..."
|
||||||
|
msgstr "Uuendamine..."
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:212
|
||||||
|
msgid "Define software/app to open for upgrade"
|
||||||
|
msgstr "Uuendamiseks avatava tarkvara/rakenduse määratlemine"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:217
|
||||||
|
msgid "How many upgrades are available"
|
||||||
|
msgstr "Kui palju uuendusi on saadaval"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:222
|
||||||
|
msgid "How many security upgrades are available"
|
||||||
|
msgstr "Kui palju turvauuendusi on saadaval"
|
125
po/ja.po
Normal file
125
po/ja.po
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2020-09-12 13:43-0300\n"
|
||||||
|
"PO-Revision-Date: 2022-03-15 01:45+0900\n"
|
||||||
|
"Last-Translator: FuRuYa7\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: ja\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:129
|
||||||
|
msgid "Updating cache..."
|
||||||
|
msgstr "キャッシュを更新中..."
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:186 lubuntu-upgrader:189
|
||||||
|
msgid "Fetching"
|
||||||
|
msgstr "読み込み中"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:187 lubuntu-upgrader:189 lubuntu-upgrader:200
|
||||||
|
#: lubuntu-upgrader:203
|
||||||
|
# "Note that in Japanese, translating into 'of' reverses the meaning."
|
||||||
|
msgid "of"
|
||||||
|
msgstr " / "
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:199 lubuntu-upgrader:202
|
||||||
|
msgid "Downloaded"
|
||||||
|
msgstr "ダウンロード済みです"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:214 lubuntu-notifier.py:204
|
||||||
|
msgid "Upgrade finished"
|
||||||
|
msgstr "アップグレードが完了しました"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:218 lubuntu-notifier.py:132 lubuntu-notifier.py:136
|
||||||
|
#: lubuntu-notifier.py:174
|
||||||
|
msgid "Reboot required"
|
||||||
|
msgstr "再起動が必要です"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:222
|
||||||
|
msgid "With some Errors"
|
||||||
|
msgstr "いくつかのエラーがあります"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:223
|
||||||
|
msgid "Error Resume:"
|
||||||
|
msgstr "エラーからの再開:"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:274
|
||||||
|
msgid "Update Cache Finished"
|
||||||
|
msgstr "キャッシュの更新が完了しました"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:369
|
||||||
|
msgid ""
|
||||||
|
"Please run this software with administrative rights.To do so, run this "
|
||||||
|
"program with lxqt-sudo."
|
||||||
|
msgstr ""
|
||||||
|
"管理者権限で実行してください。lxqt-sudo を使用して実行します。"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:391
|
||||||
|
msgid "Update Cache Before Upgrade"
|
||||||
|
msgstr "アップグレード前にキャッシュを更新します"
|
||||||
|
|
||||||
|
#: lubuntu-upgrader:396
|
||||||
|
msgid "Full upgrade same as dist-upgrade"
|
||||||
|
msgstr "dist-upgrade と同じフルアップグレード"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:54
|
||||||
|
#, python-format
|
||||||
|
msgid "Error: Opening the cache (%s)"
|
||||||
|
msgstr "エラー: キャッシュ (%s) を開いています"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:71
|
||||||
|
msgid "Affected Packages"
|
||||||
|
msgstr "影響を受けるパッケージ"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:72
|
||||||
|
msgid "Security"
|
||||||
|
msgstr "セキュリティ"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:102
|
||||||
|
msgid "There are upgrades available. Do you want to do a system upgrade?"
|
||||||
|
msgstr "利用可能なアップグレードがあります。システムのアップグレードを行いますか?"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:105
|
||||||
|
msgid "This will mean packages could be upgraded, installed or removed."
|
||||||
|
msgstr "パッケージがアップグレード、インストール、または削除されます。"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:125
|
||||||
|
msgid " is a security upgrade."
|
||||||
|
msgstr " 個がセキュリティのアップグレードです。"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:127
|
||||||
|
msgid " are security upgrades."
|
||||||
|
msgstr " 個がセキュリティのアップグレードです。"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:130
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "削除"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:137
|
||||||
|
msgid "Install"
|
||||||
|
msgstr "インストール"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:152
|
||||||
|
msgid "Upgrade"
|
||||||
|
msgstr "アップグレード"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:155
|
||||||
|
msgid "Upgrading..."
|
||||||
|
msgstr "アップグレード中..."
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:247
|
||||||
|
msgid "Define software/app to open for upgrade"
|
||||||
|
msgstr "アップグレードで開くソフトウェア/アプリを定義します"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:252
|
||||||
|
msgid "How many upgrades are available"
|
||||||
|
msgstr "利用可能なアップグレードの数"
|
||||||
|
|
||||||
|
#: lubuntu-notifier.py:257
|
||||||
|
msgid "How many security upgrades are available"
|
||||||
|
msgstr "利用可能なセキュリティアップグレードの数"
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user