Tâche #17571
Scénario #17459: Implémenter Upgrade-Auto 2.5.2 => 2.6.0
Étude sur la réutilisation du code précédent
Description
Compte-tenu des changements de version (python 3) et de classes/API disponibles, le code précédent ne peut pas être réutilisé tel quel.
Faire les tests nécessaires pour décider si on adapte le code utilisant les outils d’Ubuntu ou si on s’en passe.
Révisions associées
Merge '2.4.2/master' into 2.5.2/master
Conflicts:
bin/Maj-Auto
bin/Upgrade-Auto: supprimé dans les versions récentes
Ref: #17571 @1h
Mise à jour des imports UpdateManager
Ref: #17571 @15m
Copier les liens symboliques en tant que tel
Ref: #17571 @15m
Adaptation suite à modif API pyeole.pkg
Ref: #17571 @10m
Historique
#1 Mis à jour par Benjamin Bohard il y a plus de 7 ans
- Temps estimé mis à 5.00 h
- Restant à faire (heures) mis à 5.0
#2 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de Nouveau à En cours
#3 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Sujet changé de Étude sur la réutilisation du code précédent à Étude sur la réutilisation du code précédent
- Assigné à mis à Joël Cuissinat
#4 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- aca.eolebase-2.5.2.1-instance-default
touch /etc/eole/.upgrade_available ln -nsf /usr/lib/python3/dist-packages/UpdateManager /usr/share/eole/upgrade/UpdateManager ln -nsf /usr/lib/python3/dist-packages/DistUpgrade /usr/share/eole/upgrade/DistUpgrade
- import à modifier dans /usr/share/eole/upgrade/Upgrade-Auto :
from UpdateManager.Core.DistUpgradeFetcherCore import DistUpgradeFetcherCore
par :from DistUpgrade.DistUpgradeFetcherCore import DistUpgradeFetcherCore
Upgrade-Auto --limit-rate 0
Traceback (most recent call last): File "/usr/share/eole/upgrade/Upgrade-Auto", line 597, in <module> main() File "/usr/share/eole/upgrade/Upgrade-Auto", line 549, in main copytree(UPGRADE_DIR, tmp_dir) File "/usr/lib/python2.7/shutil.py", line 208, in copytree raise Error, errors shutil.Error: [('/usr/share/eole/upgrade/DistUpgrade/NvidiaDetector', '/tmp/Upgrade-Auto/DistUpgrade/NvidiaDetector', "[Errno 2] Aucun fichier ou dossier de ce type: '/usr/share/eole/upgrade/DistUpgrade/NvidiaDetector'")]
=> copier les liens symboliques en tant que tel :
shutil.copytree(src, dst, symlinks=False)
.
Traceback (most recent call last): File "/usr/share/eole/upgrade/Upgrade-Auto", line 597, in <module> main() File "/usr/share/eole/upgrade/Upgrade-Auto", line 566, in main _configure_sources_mirror(PKGMGR.pkgmgr, eole_release=args.release) TypeError: _configure_sources_mirror() got an unexpected keyword argument 'eole_release'
=> l'argument est renommé en release
Une erreur est survenue : Impossible d'installer « eole-eolebase-all » L'installation d'un paquet requis était impossible. Veuillez signaler ce bogue en utilisant la commande « ubuntu-bug ubuntu-release-upgrader-core » dans un terminal. (None)
=> heu... on me dit d'aller voir du côté de eole-common : tmpl/eole.cfg
Sur un Upgrade 2.4.2 => 2.5.2, on retrouve bien ce message dans les fichiers : /var/log/dist-upgrade/apt.log et /var/log/dist-upgrade/main.log (NB : les citer dans la doc) mais le code ne s'arrête pas !
#5 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- % réalisé changé de 0 à 30
- Restant à faire (heures) changé de 5.0 à 3.0
#6 Mis à jour par Joël Cuissinat il y a plus de 7 ans
La procédure se solde par une erreur "UnicodeDecodeError", je suppose que c'est à cause de python2 :
Vous pouvez lancer « apt-get update » pour corriger ces problèmes. Extraction des modTraceback (most recent call last): File "/tmp/ubuntu-release-upgrader-E6U0cm/xenial", line 8, in <module> sys.exit(main()) File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeMain.py", line 242, in main if app.run(): File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeController.py", line 1876, in run return self.fullUpgrade() File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeController.py", line 1841, in fullUpgrade if not self.doDistUpgrade(): File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeController.py", line 1182, in doDistUpgrade res = self.cache.commit(fprogress,iprogress) File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeCache.py", line 267, in commit apt.Cache.commit(self, fprogress, iprogress) File "/usr/lib/python3/dist-packages/apt/cache.py", line 501, in commit res = self.install_archives(pm, install_progress) File "/usr/lib/python3/dist-packages/apt/cache.py", line 465, in install_archives res = install_progress.run(pm) File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeView.py", line 234, in run res = os.WEXITSTATUS(self.wait_child()) File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeView.py", line 200, in wait_child self.update_interface() File "/tmp/ubuntu-release-upgrader-E6U0cm/DistUpgrade/DistUpgradeViewNonInteractive.py", line 229, in update_interface sys.stdout.write("%s" % s.decode(locale.getpreferredencoding())) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: unexpected end of data
#7 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Restant à faire (heures) changé de 3.0 à 1.0
#8 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- % réalisé changé de 30 à 50
Je bute sur cette dernière erreur qui n'est en fait pas du tout liée à python mais plutôt à Ubuntu : https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1604160 :(
#9 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de En cours à Fermé
- % réalisé changé de 50 à 100
- Restant à faire (heures) changé de 1.0 à 0.0
Étude réalisée, report des choses à faire dans le scénario #17739