Existe uma maneira de adicionar um ppa usando o módulo apt do python?

2

Eu preciso adicionar um ppa a servidores remotos usando um script python. O equivalente bash do que eu quero fazer é:

$ add-apt-repository ppa:user/ppa-name

Suponho que seria algo parecido com isto:

import apt
cache = apt.Cache()
# ?? add the ppa here ??
cache.update()
cache.open(None)
cache['package_from_ppa'].mark_install()
cache.upgrade()
cache.commit()

mas não consegui encontrar muito na fonte do módulo apt relacionada à adição de repositórios.

    
por vsekhar 14.08.2011 / 02:47

2 respostas

2

Veja o que acabei fazendo.

Instale o pacote de propriedades de software:

$ sudo apt-get install python-software-properties

Em seguida, no seu script python:

import apt
from softwareproperties.SoftwareProperties import SoftwareProperties

sp = SoftwareProperties()
to_add = 'ppa:user/repository'
sp.add_source_from_line(to_add)
sp.sourceslist.save()

cache = apt.Cache()
cache.update()
cache.open(None)
cache['package_from_ppa'].mark_install()
cache.upgrade()
cache.commit()
    
por 25.08.2011 / 03:07
2

add-apt-repository está escrito em Python; Deve ser bastante trivial examinar o que está fazendo e replicar as linhas de código necessárias em seu próprio programa.

    
por 14.08.2011 / 04:14