mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
Moved defaults away from argparser to `defaults.py`. This unlocks the ability to pass values that can be defined as command line arguments via a config file. With this change logic looks like this (in order of overrides). Pre-build config: `data/defaults.toml` -> `build-flavors/<flavor>.toml` -> `--<command line argument>` Build config: `defaults.py` -> `data/defaults.toml` -> `build-types/<type>.toml` -> `architectures/<architecture>.toml` -> `build-flavors/<flavor>.toml` -> `--<command line argument>`
74 lines
2.0 KiB
Python
74 lines
2.0 KiB
Python
# Copyright (C) 2024 VyOS maintainers and contributors
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License version 2 or later as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# File: defaults.py
|
|
# Purpose: Various default values for use in build scripts.
|
|
|
|
|
|
import os
|
|
import getpass
|
|
import platform
|
|
|
|
def get_default_build_by():
|
|
return "{user}@{host}".format(user= getpass.getuser(), host=platform.node())
|
|
|
|
# Default boot settings
|
|
boot_settings: dict[str, str] = {
|
|
'timeout': '5',
|
|
'console_type': 'tty',
|
|
'console_num': '0',
|
|
'console_speed': '115200',
|
|
'bootmode': 'normal'
|
|
}
|
|
|
|
# Hardcoded default values
|
|
HARDCODED_BUILD = {
|
|
'custom_apt_entry': [],
|
|
'custom_apt_key': [],
|
|
'custom_package': [],
|
|
'reuse_iso': None,
|
|
'disk_size': 10,
|
|
'build_by': get_default_build_by(),
|
|
'build_comment': '',
|
|
}
|
|
|
|
# Relative to the repository directory
|
|
|
|
BUILD_DIR = 'build'
|
|
BUILD_CONFIG = os.path.join(BUILD_DIR, 'build-config.toml')
|
|
|
|
DEFAULTS_FILE = 'data/defaults.toml'
|
|
|
|
BUILD_TYPES_DIR = 'data/build-types'
|
|
BUILD_ARCHES_DIR = 'data/architectures'
|
|
BUILD_FLAVORS_DIR = 'data/build-flavors'
|
|
|
|
# Relative to the build directory
|
|
|
|
PBUILDER_CONFIG = 'pbuilderrc'
|
|
PBUILDER_DIR = 'pbuilder'
|
|
|
|
LB_CONFIG_DIR = 'config'
|
|
|
|
CHROOT_INCLUDES_DIR = 'config/includes.chroot'
|
|
BINARY_INCLUDES_DIR = 'config/includes.binary'
|
|
ARCHIVES_DIR = 'config/archives/'
|
|
|
|
VYOS_REPO_FILE = 'config/archives/vyos.list.chroot'
|
|
VYOS_PIN_FILE = 'config/archives/release.pref.chroot'
|
|
CUSTOM_REPO_FILE = 'config/archives/custom.list.chroot'
|
|
PACKAGE_LIST_FILE = 'config/package-lists/custom.list.chroot'
|
|
|
|
LOCAL_PACKAGES_PATH = 'config/packages.chroot/'
|