Moved apt to common tasks.

Reverted one mirror to use the geo-redirector.
This commit is contained in:
Anders Ingemann 2013-08-10 16:15:49 +02:00
parent 6c8231c24c
commit 4913296480
6 changed files with 6 additions and 90 deletions

View file

@ -21,8 +21,7 @@
"architecture": "amd64", "architecture": "amd64",
"timezone" : "UTC", "timezone" : "UTC",
"locale" : "en_US", "locale" : "en_US",
"charmap" : "UTF-8", "charmap" : "UTF-8"
"mirror" : "ftp://ftp.fr.debian.org/debian/"
}, },
"volume": { "volume": {
"backing" : "raw", "backing" : "raw",

View file

@ -21,8 +21,7 @@
"architecture": "amd64", "architecture": "amd64",
"timezone" : "UTC", "timezone" : "UTC",
"locale" : "en_US", "locale" : "en_US",
"charmap" : "UTF-8", "charmap" : "UTF-8"
"mirror" : "ftp://ftp.fr.debian.org/debian/"
}, },
"volume": { "volume": {
"backing" : "raw", "backing" : "raw",

View file

@ -9,7 +9,7 @@ from tasks import loopback
from tasks import filesystem from tasks import filesystem
from tasks import bootstrap from tasks import bootstrap
from tasks import locale from tasks import locale
from tasks import apt from common.tasks import apt
from tasks import boot from tasks import boot
from tasks import security from tasks import security
from tasks import network from tasks import network

View file

@ -5,7 +5,7 @@ from tasks import host
from tasks import filesystem from tasks import filesystem
from tasks import bootstrap from tasks import bootstrap
from tasks import locale from tasks import locale
from tasks import apt from common.tasks import apt
from tasks import boot from tasks import boot
from tasks import security from tasks import security
from tasks import network from tasks import network
@ -13,7 +13,6 @@ from tasks import initd
from tasks import cleanup from tasks import cleanup
from tasks import fake from tasks import fake
def initialize(): def initialize():
# Regardless of of loglevel, we don't want boto debug stuff, it's very noisy # Regardless of of loglevel, we don't want boto debug stuff, it's very noisy
logging.getLogger('boto').setLevel(logging.INFO) logging.getLogger('boto').setLevel(logging.INFO)

View file

@ -1,81 +0,0 @@
from base import Task
from common import phases
from common.tools import log_check_call
import os
from locale import GenerateLocale
class AptSources(Task):
description = 'Adding aptitude sources'
phase = phases.system_modification
def run(self, info):
mirror = 'http://http.debian.net/debian'
if info.manifest.system['mirror']:
mirror = info.manifest.system['mirror']
sources_path = os.path.join(info.root, 'etc/apt/sources.list')
with open(sources_path, 'w') as apt_sources:
apt_sources.write(('deb {apt_mirror} {release} main\n'
'deb-src {apt_mirror} {release} main\n'
.format(apt_mirror=mirror,
release=info.manifest.system['release'])))
apt_sources.write(('deb {apt_mirror} {release}/updates main\n'
'deb-src {apt_mirror} {release}/updates main\n'
.format(apt_mirror='http://security.debian.org/',
release=info.manifest.system['release'])))
class DisableDaemonAutostart(Task):
description = 'Disabling daemon autostart'
phase = phases.system_modification
def run(self, info):
rc_policy_path = os.path.join(info.root, 'usr/sbin/policy-rc.d')
with open(rc_policy_path, 'w') as rc_policy:
rc_policy.write(('#!/bin/sh\n'
'exit 101'))
import stat
os.chmod(rc_policy_path,
stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
stat.S_IRGRP | stat.S_IXGRP |
stat.S_IROTH | stat.S_IXOTH)
class AptUpgrade(Task):
description = 'Upgrading packages and fixing broken dependencies'
phase = phases.system_modification
after = [GenerateLocale, AptSources, DisableDaemonAutostart]
def run(self, info):
log_check_call(['/usr/sbin/chroot', info.root, '/usr/bin/apt-get', 'update'])
log_check_call(['/usr/sbin/chroot', info.root, '/usr/bin/apt-get', '-f', '-y', 'install'])
log_check_call(['/usr/sbin/chroot', info.root, '/usr/bin/apt-get', '-y', 'upgrade'])
class PurgeUnusedPackages(Task):
description = 'Removing unused packages'
phase = phases.system_cleaning
def run(self, info):
log_check_call(['/usr/sbin/chroot', info.root, '/usr/bin/apt-get', 'autoremove', '--purge'])
class AptClean(Task):
description = 'Clearing the aptitude cache'
phase = phases.system_cleaning
def run(self, info):
log_check_call(['/usr/sbin/chroot', info.root, '/usr/bin/apt-get', 'clean'])
lists = os.path.join(info.root, 'var/lib/apt/lists')
for list_file in [os.path.join(lists, f) for f in os.listdir(lists)]:
if os.path.isfile(list_file):
os.remove(list_file)
class EnableDaemonAutostart(Task):
description = 'Re-enabling daemon autostart after installation'
phase = phases.system_cleaning
def run(self, info):
os.remove(os.path.join(info.root, 'usr/sbin/policy-rc.d'))