Como evitar errores al añadir ppa’s en Debian/Linux Mint

Como sabéis para añadir un repositorio en debian, además de introducir la correspondiente linea den el archivo /etc/apt/sources.list, tenemos la posibilidad de añadir un repositorio ppa mediante el comando:
sudo add-apt-repository ppa:nombreppa/ppa.

No obstante en algunas versiones de Debian y en Linux Mint, este comando nos devuelve un bonito error de python:

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 65, in <module>
    if not sp.add_source_from_line(line):
  File "/usr/lib/python2.7/dist-packages/softwareproperties/SoftwareProperties.py", line 630, in add_source_from_line
    (deb_line, file) = expand_ppa_line(line.strip(), self.distro.codename)
  File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 47, in expand_ppa_line
    sourceslistd = apt_pkg.Config.find_dir("Dir::Etc::sourceparts")
AttributeError: 'module' object has no attribute 'Config'
------------------------------------------------------------

Lo cierto es que el error es, como e muchas ocasiones de lo más nimio, y fácil de que se escape.

La clave la tenemos en la dos últimas líneas:

sourceslistd = apt_pkg.Config.find_dir(«Dir::Etc::sourceparts»)
AttributeError: ‘module’ object has no attribute ‘Config’

Mayormente, esto nos indica que no existe el objeto Config. ¿Entonces porqué se le llama? Porque Config efectivamente no existe, pero si lo hace config.

Por tanto, para poder añadir los ppa’s mediante este comando lo único que deberemos hacer es editar el fichero /usr/lib/python2.7/dist-packages/softwareproperties/ppa.py (sutituyenfo python2.7 por la version de python que tengáis instalada) y buscar la palabra Config. Os llevará a una línea que dice:

sourceslistd = apt_pkg.Config.find_dir("Dir::Etc::sourceparts")

Y que deberemos editar así:

sourceslistd = apt_pkg.config.find_dir("Dir::Etc::sourceparts")

Guardamos y ya podréis incluir los repositorios ppa.

Evidentemente esta es una solución temporal, ya que si se actualiza el paquete python-software-properties nos machacará los cambios realizados. No obstante ya está reportado en http://bugs.debian.org con la referencia #632754, por lo que se supone que en proximas actualizaciones ya debería estar solucionado.

Deja un comentario