mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00
63 lines
2.2 KiB
Python
63 lines
2.2 KiB
Python
![]() |
from bootstrapvz.base import Task
|
||
|
from bootstrapvz.common import phases
|
||
|
from bootstrapvz.common.tasks import apt
|
||
|
from bootstrapvz.common.tools import sed_i
|
||
|
import os
|
||
|
import shutil
|
||
|
from . import assets
|
||
|
|
||
|
|
||
|
class AutomateAptClean(Task):
|
||
|
description = 'Configuring apt to always clean everything out when it\'s done'
|
||
|
phase = phases.package_installation
|
||
|
successors = [apt.AptUpdate]
|
||
|
# Snatched from:
|
||
|
# https://github.com/docker/docker/blob/1d775a54cc67e27f755c7338c3ee938498e845d7/contrib/mkimage/debootstrap
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
shutil.copy(os.path.join(assets, 'apt-clean'),
|
||
|
os.path.join(info.root, 'etc/apt/apt.conf.d/90clean'))
|
||
|
|
||
|
|
||
|
class FilterTranslationFiles(Task):
|
||
|
description = 'Configuring apt to only download and use specific translation files'
|
||
|
phase = phases.package_installation
|
||
|
successors = [apt.AptUpdate]
|
||
|
# Snatched from:
|
||
|
# https://github.com/docker/docker/blob/1d775a54cc67e27f755c7338c3ee938498e845d7/contrib/mkimage/debootstrap
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
langs = info.manifest.plugins['minimize_size']['apt']['languages']
|
||
|
config = '; '.join(map(lambda l: '"' + l + '"', langs))
|
||
|
config_path = os.path.join(info.root, 'etc/apt/apt.conf.d/20languages')
|
||
|
shutil.copy(os.path.join(assets, 'apt-languages'), config_path)
|
||
|
sed_i(config_path, r'ACQUIRE_LANGUAGES_FILTER', config)
|
||
|
|
||
|
|
||
|
class AptGzipIndexes(Task):
|
||
|
description = 'Configuring apt to always gzip lists files'
|
||
|
phase = phases.package_installation
|
||
|
successors = [apt.AptUpdate]
|
||
|
# Snatched from:
|
||
|
# https://github.com/docker/docker/blob/1d775a54cc67e27f755c7338c3ee938498e845d7/contrib/mkimage/debootstrap
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
shutil.copy(os.path.join(assets, 'apt-gzip-indexes'),
|
||
|
os.path.join(info.root, 'etc/apt/apt.conf.d/20gzip-indexes'))
|
||
|
|
||
|
|
||
|
class AptAutoremoveSuggests(Task):
|
||
|
description = 'Configuring apt to not consider suggested important'
|
||
|
phase = phases.package_installation
|
||
|
successors = [apt.AptUpdate]
|
||
|
# Snatched from:
|
||
|
# https://github.com/docker/docker/blob/1d775a54cc67e27f755c7338c3ee938498e845d7/contrib/mkimage/debootstrap
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
shutil.copy(os.path.join(assets, 'apt-autoremove-suggests'),
|
||
|
os.path.join(info.root, 'etc/apt/apt.conf.d/20autoremove-suggests'))
|