Project

General

Profile

Tâche #20174

Scénario #20101: Traitement express MEN (16-18)

La saisie d'une ligne de dépôt tiers invalide ne devrait pas entraîner l'affichage d'une erreur incompréhensible

Added by Joël Cuissinat over 4 years ago. Updated over 4 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
04/12/2017
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Remaining (hours):
0.0

Description

Si dans "Ligne de déclaration du dépôt" (additional_repository_source), on ne saisit qu'un élément, Maj-Auto plante avec "list index out of range" :

pyeole.pkg - Process template for /etc/apt/sources.list.d/additional.list
Maj-Auto - list index out of range
Traceback (most recent call last):
  File "/usr/bin/Maj-Auto", line 300, in main
    envole_level=envole_level)
  File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1848, in _configure_sources_mirror
    additional_repository_domain = urlparse.urlparse(additional_repository_source[idx].split(' ')[1]).netloc
IndexError: list index out of range

Voir si on peut vérifier le nombre d'éléments saisis dans la valeur et/ou durcir le code de traitement des URL.

Associated revisions

Revision 812cf68e (diff)
Added by Joël Cuissinat over 4 years ago

Validation de la déclation des dépôts tiers

Ref: #20174

Revision 7ca135c8 (diff)
Added by Laurent Flori over 4 years ago

Spécialisation de la regex pour tester l'url du/des dépoôt additionnels

ref: #20174

History

#1 Updated by Joël Cuissinat over 4 years ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Joël Cuissinat

#2 Updated by Joël Cuissinat over 4 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 0 to 100
  • Remaining (hours) changed from 2.0 to 0.25

Ajout d'une contrainte dans le dictionnaire : la valeur doit désormais débuter par "deb " ou "deb-src ".

Cela permet de contourner le traceback initial puisque le code python suivant ne plante pas : "deb ".split(' ')[1]

Les autres erreurs de saisies, entraînent l'apparition de messages apt déjà plus cohérents (même si en anglais) :
  • Maj-Auto - E:Malformed line 4 in source list /etc/apt/sources.list.d/additional.list (type), E:The list of sources could not be read.
    
  • Maj-Auto - E:Malformed entry 4 in list file /etc/apt/sources.list.d/additional.list (Suite), E:The list of sources could not be read.
    
  • Maj-Auto - E:Malformed entry 4 in list file /etc/apt/sources.list.d/additional.list (URI parse), E:The list of sources could not be read.
    
    

#3 Updated by Laurent Flori over 4 years ago

  • Project changed from eole-common to Distribution EOLE
  • Remaining (hours) changed from 0.25 to 0.0

#4 Updated by Laurent Flori over 4 years ago

En mode normal, la famille Dépôts Tiers apparait et l'on ne peut remplir que le Libellé du dépôt mais pas le reste des informations sans:
- passer en mode expert
ou
- tenter d'enregistrer la configuration qui nous propose les valeurs obligatoires à remplir.
Pourtant la famille Dépôts Tiers est bien déclarée en mode expert:

<family name='dépôt tiers' icon='debian' mode='expert'>

Cela ne se produit pas si l'on a pas de config.eol

#5 Updated by Laurent Flori over 4 years ago

On peut "spécialiser" un peu plus la regex pour éviter de laisser remplir des urls du style:

deb paf

Je propose cette regex là:

^deb (http|https|ftp|ftps)://(.*) \w|^deb-src (http|https|ftp|ftps)://(.*) \w

On peut enlever le dernier \w si on ne veut prendre en compte aucun des éventuels "composants"

#6 Updated by Laurent Flori over 4 years ago

  • Status changed from Résolu to Fermé

#7 Updated by Joël Cuissinat over 4 years ago

Dernier commit, re-testé ;)

Also available in: Atom PDF