diff -Nru apt-venv-0.3.0/apt_venv/__init__.py apt-venv-1.0.0/apt_venv/__init__.py --- apt-venv-0.3.0/apt_venv/__init__.py 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/apt_venv/__init__.py 2014-08-23 11:34:55.000000000 +0000 @@ -3,32 +3,34 @@ from subprocess import call as _call import os as _os import stat as _stat +from json import load as _loadJSON from apt_venv import utils -VERSION = '0.3.0' +VERSION = '1.0.0' class AptVenv(object): def __init__(self, release): self.release = release self.name = 'apt-venv' - self.debian = ['oldstable', 'stable', 'testing', 'unstable', - 'experimental'] - self.ubuntu = ['lucid', 'precise', 'saucy', 'trusty', 'utopic'] + self.config = _loadJSON(open('/etc/apt-venv.conf')) + self.distro = None - if self.release in self.debian: - self.distro = 'debian' - elif self.release in self.ubuntu: - self.distro = 'ubuntu' + for distro in self.config['distributions']: + if self.release in self.config['distributions'][distro]['releases']: + self.distro = distro if not self.distro: base = "Release \"{}\" not valid. ".format(self.release) if not self.release: base = "No release declared. " + all_releases = [] + for distro in sorted(self.config['distributions'].keys()): + releases = self.config['distributions'][distro]['releases'] + all_releases.append(" [%s] %s" % (distro, ' - '.join(releases))) raise ValueError(base + - "Please specify one of:\n" + - " [debian] %s\n" % ' - '.join(self.debian) + - " [ubuntu] %s" % ' - '.join(self.ubuntu)) + "Please specify one of:\n%s" % + '\n'.join(all_releases)) self.config_path = _BaseDirectory.save_config_path(self.name) self.cache_path = _BaseDirectory.save_cache_path(self.name) self.data_path = _BaseDirectory.save_data_path(self.name) @@ -91,8 +93,8 @@ utils.create_file(self.aptconf, content) def create_sources_list(self): - content = utils.get_template('sources.list_%s' % self.distro) - content = content % {"distro": self.release} + content = self.config['distributions'][self.distro]['sourceslist'] + content = content % {"release": self.release} utils.create_file(self.sourceslist, content) utils.create_symlink( self.sourceslist, diff -Nru apt-venv-0.3.0/apt_venv/scripts.py apt-venv-1.0.0/apt_venv/scripts.py --- apt-venv-0.3.0/apt_venv/scripts.py 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/apt_venv/scripts.py 2014-08-23 11:34:55.000000000 +0000 @@ -57,6 +57,9 @@ print( "Welcome to apt virtual environment for {} release." .format(venv.release)) + print( + "All the configuration is available in {}" + .format(venv.config_path)) print("You may want run first \"apt-get update\"") if args.update: venv.update() diff -Nru apt-venv-0.3.0/apt_venv/templates.py apt-venv-1.0.0/apt_venv/templates.py --- apt-venv-0.3.0/apt_venv/templates.py 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/apt_venv/templates.py 2014-08-23 11:34:55.000000000 +0000 @@ -1,26 +1,3 @@ -SOURCES_LIST = {} - -SOURCES_LIST['debian'] = """deb http://http.debian.net/debian %(distro)s main -deb-src http://http.debian.net/debian %(distro)s main - -#deb http://http.debian.net/debian %(distro)s-updates main -#deb-src http://http.debian.net/debian %(distro)s-updates main - -#deb http://security.debian.org/ %(distro)s/updates main -#deb-src http://security.debian.org/ %(distro)s/updates main -""" - -SOURCES_LIST['ubuntu'] = \ -"""deb http://archive.ubuntu.com/ubuntu/ %(distro)s main universe restricted multiverse -deb-src http://archive.ubuntu.com/ubuntu/ %(distro)s main universe restricted multiverse - -deb http://security.ubuntu.com/ubuntu %(distro)s-security main universe restricted multiverse -deb-src http://security.ubuntu.com/ubuntu %(distro)s-security main universe restricted multiverse - -deb http://archive.ubuntu.com/ubuntu/ %(distro)s-updates main universe restricted multiverse -deb-src http://archive.ubuntu.com/ubuntu/ %(distro)s-updates main universe restricted multiverse -""" - BASHRC = \ """source /etc/bash.bashrc source "${HOME}/.bashrc" diff -Nru apt-venv-0.3.0/apt_venv/utils.py apt-venv-1.0.0/apt_venv/utils.py --- apt-venv-0.3.0/apt_venv/utils.py 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/apt_venv/utils.py 2014-08-23 11:34:55.000000000 +0000 @@ -12,11 +12,7 @@ def get_template(filename): result = None - if filename == 'sources.list_ubuntu': - result = templates.SOURCES_LIST['ubuntu'] - elif filename == 'sources.list_debian': - result = templates.SOURCES_LIST['debian'] - elif filename == 'bash.rc': + if filename == 'bash.rc': result = templates.BASHRC elif filename == 'apt.conf': result = templates.APT_CONF diff -Nru apt-venv-0.3.0/Changelog.md apt-venv-1.0.0/Changelog.md --- apt-venv-0.3.0/Changelog.md 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/Changelog.md 2014-08-23 11:34:55.000000000 +0000 @@ -1,3 +1,7 @@ +# 1.0.0 (2014-08-13) + * Add config file to support multi distributions - closes #2 + * Fix require 'pyxdg' in setup - closes #1 + # 0.3.0 (2014-07-09) * Only python3 is now supported * Add support to dd-list diff -Nru apt-venv-0.3.0/debian/changelog apt-venv-1.0.0/debian/changelog --- apt-venv-0.3.0/debian/changelog 2014-07-09 09:35:03.000000000 +0000 +++ apt-venv-1.0.0/debian/changelog 2014-08-23 11:40:34.000000000 +0000 @@ -1,9 +1,16 @@ +apt-venv (1.0.0-1) unstable; urgency=medium + + * New upstream release: + - add config file to support multi distributions. + + -- Leo Iannacone Sat, 23 Aug 2014 13:27:59 +0200 + apt-venv (0.3.0-1) unstable; urgency=medium * New upstream release: - switch to python3 - add support to dd-list - * Build package with python3. + * Build package with python3 and pybuild. -- Leo Iannacone Wed, 09 Jul 2014 11:29:44 +0200 diff -Nru apt-venv-0.3.0/etc/apt-venv.conf apt-venv-1.0.0/etc/apt-venv.conf --- apt-venv-0.3.0/etc/apt-venv.conf 1970-01-01 00:00:00.000000000 +0000 +++ apt-venv-1.0.0/etc/apt-venv.conf 2014-08-23 11:34:55.000000000 +0000 @@ -0,0 +1,12 @@ +{ + "distributions": { + "debian": { + "releases": ["oldstable", "stable", "testing", "unstable", "experimental"], + "sourceslist": "deb http://http.debian.net/debian %(release)s main\ndeb-src http://http.debian.net/debian %(release)s main" + }, + "ubuntu": { + "releases": ["lucid", "precise", "trusty", "utopic"], + "sourceslist": "deb http://archive.ubuntu.com/ubuntu/ %(release)s main universe restricted multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ %(release)s main universe restricted multiverse\n\ndeb http://security.ubuntu.com/ubuntu %(release)s-security main universe restricted multiverse\ndeb-src http://security.ubuntu.com/ubuntu %(release)s-security main universe restricted multiverse\n\ndeb http://archive.ubuntu.com/ubuntu/ %(release)s-updates main universe restricted multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ %(release)s-updates main universe restricted multiverse" + } + } +} diff -Nru apt-venv-0.3.0/setup.py apt-venv-1.0.0/setup.py --- apt-venv-0.3.0/setup.py 2014-07-09 09:22:16.000000000 +0000 +++ apt-venv-1.0.0/setup.py 2014-08-23 11:34:55.000000000 +0000 @@ -11,9 +11,11 @@ license='GNU GPL-3', scripts=['apt-venv'], packages=['apt_venv'], + requires=['pyxdg'], data_files=[ ('share/man/man1', ['man/apt-venv.1']), ('share/doc/apt-venv', ['README.md', 'AUTHORS']), + ('/etc', ['etc/apt-venv.conf']), ('/etc/bash_completion.d', ['etc/bash_completion.d/apt-venv']) ], )