From c670deddbee8ae852770574d1c8fce29154812dd Mon Sep 17 00:00:00 2001 From: hagbard Date: Mon, 28 Jan 2019 12:47:12 -0800 Subject: open-vm-tools is now a dependency of vyos-vmwaretools-scripts --- data/package-lists/vyos-x86.list.chroot | 1 - 1 file changed, 1 deletion(-) (limited to 'data') diff --git a/data/package-lists/vyos-x86.list.chroot b/data/package-lists/vyos-x86.list.chroot index 5bb0dbd7..6f5d7624 100644 --- a/data/package-lists/vyos-x86.list.chroot +++ b/data/package-lists/vyos-x86.list.chroot @@ -1,6 +1,5 @@ grub2 grub-pc -open-vm-tools qemu-guest-agent hyperv-daemons vyos-xe-guest-utilities -- cgit v1.2.3 From 4ad4fd9b82e6e6622723b01c729f953413dbe2b4 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 9 Feb 2019 12:07:01 +0100 Subject: T1236: Update Linux Kernel to 4.19.20 --- data/kernel_version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'data') diff --git a/data/kernel_version b/data/kernel_version index aca0bf9d..b2e8d3e9 100644 --- a/data/kernel_version +++ b/data/kernel_version @@ -1 +1 @@ -4.19.12 +4.19.20 -- cgit v1.2.3 From fd63d726f2cbd62f8105d7d66c054ba61de52354 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Wed, 13 Feb 2019 22:30:25 +0100 Subject: T1245: autoload br_netfilter kernel module on startup --- .../includes.chroot/etc/modules-load.d/br-netfilter.conf | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/live-build-config/includes.chroot/etc/modules-load.d/br-netfilter.conf (limited to 'data') diff --git a/data/live-build-config/includes.chroot/etc/modules-load.d/br-netfilter.conf b/data/live-build-config/includes.chroot/etc/modules-load.d/br-netfilter.conf new file mode 100644 index 00000000..ed668e43 --- /dev/null +++ b/data/live-build-config/includes.chroot/etc/modules-load.d/br-netfilter.conf @@ -0,0 +1,3 @@ +# Load br-netfilter.ko at boot +br_netfilter + -- cgit v1.2.3 From 6af43c03587072083db82b756c4b0b38290d0191 Mon Sep 17 00:00:00 2001 From: hagbard Date: Fri, 22 Feb 2019 12:19:38 -0800 Subject: Feature: T405 - Add binaries for lcdproc, lcdproc-extra-drivers - native debian packages --- data/live-build-config/package-lists/vyos-utils.list.chroot | 2 ++ 1 file changed, 2 insertions(+) (limited to 'data') diff --git a/data/live-build-config/package-lists/vyos-utils.list.chroot b/data/live-build-config/package-lists/vyos-utils.list.chroot index 0acf9efa..02406a3a 100644 --- a/data/live-build-config/package-lists/vyos-utils.list.chroot +++ b/data/live-build-config/package-lists/vyos-utils.list.chroot @@ -23,3 +23,5 @@ htop atop iotop aptitude +lcdproc +lcdproc-extra-drivers -- cgit v1.2.3 From 613e4cbb7252fe3eaefe8c3fac57bfb739f8ce5d Mon Sep 17 00:00:00 2001 From: hagbard Date: Fri, 22 Feb 2019 12:46:46 -0800 Subject: Revert "Feature: T405 - Add binaries for lcdproc, lcdproc-extra-drivers" This reverts commit 6af43c03587072083db82b756c4b0b38290d0191. Package gets moved into depends of vyos-1x --- data/live-build-config/package-lists/vyos-utils.list.chroot | 2 -- 1 file changed, 2 deletions(-) (limited to 'data') diff --git a/data/live-build-config/package-lists/vyos-utils.list.chroot b/data/live-build-config/package-lists/vyos-utils.list.chroot index 02406a3a..0acf9efa 100644 --- a/data/live-build-config/package-lists/vyos-utils.list.chroot +++ b/data/live-build-config/package-lists/vyos-utils.list.chroot @@ -23,5 +23,3 @@ htop atop iotop aptitude -lcdproc -lcdproc-extra-drivers -- cgit v1.2.3 From 18eb7c3e52a916cb7f19439c7c0bfdc8615de7bf Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Thu, 28 Feb 2019 15:16:16 +0100 Subject: T1218: enable FRR's staticd on startup. --- data/live-build-config/hooks/live/30-frr-configs.chroot | 1 + 1 file changed, 1 insertion(+) (limited to 'data') diff --git a/data/live-build-config/hooks/live/30-frr-configs.chroot b/data/live-build-config/hooks/live/30-frr-configs.chroot index 3bcfdea6..d3cfbce5 100755 --- a/data/live-build-config/hooks/live/30-frr-configs.chroot +++ b/data/live-build-config/hooks/live/30-frr-configs.chroot @@ -27,6 +27,7 @@ babeld=no sharpd=no pbrd=no bfdd=no +staticd=yes """ daemons_conf = """ -- cgit v1.2.3 From 3f7186f69bf9ed30d854fadc8510ccd2e9cff089 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 2 Mar 2019 12:05:50 +0100 Subject: T929: remove debian-firmware packages from build Kernel Firmware BLOBs will be delivered by the new vyos-firmware package --- .../hooks/live/14-firmware-linux-nonfree.chroot | 12 ------------ .../hooks/live/99-cleanup-packages.chroot | 14 -------------- scripts/live-build-config | 3 ++- 3 files changed, 2 insertions(+), 27 deletions(-) delete mode 100755 data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot delete mode 100755 data/live-build-config/hooks/live/99-cleanup-packages.chroot (limited to 'data') diff --git a/data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot b/data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot deleted file mode 100755 index 887831cc..00000000 --- a/data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -cp /etc/apt/sources.list /etc/apt/sources.list.d/non-free.list -sed -i 's/main/non-free/g' /etc/apt/sources.list.d/non-free.list - -if [ -e /etc/apt/sources.list.d/zz-sources.list ] ; then - cp /etc/apt/sources.list /etc/apt/sources.list.d/zz-non-free.list - sed -i 's/main/non-free/g' /etc/apt/sources.list.d/zz-non-free.list -fi - -apt-get update -apt-get -y install firmware-linux-nonfree diff --git a/data/live-build-config/hooks/live/99-cleanup-packages.chroot b/data/live-build-config/hooks/live/99-cleanup-packages.chroot deleted file mode 100755 index 63be7df6..00000000 --- a/data/live-build-config/hooks/live/99-cleanup-packages.chroot +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# Clean up packages that were installed for dependencies but are no longer needed -# and packages installed by metapackages that we'll never need - -UNWANTED_PKGS="dahdi-firmware-nonfree \ - firmware-crystalhd firmware-ivtv \ - firmware-samsung" - -for p in $UNWANTED_PKGS; do - apt-get -y remove $p -done - -#apt-get -y autoremove diff --git a/scripts/live-build-config b/scripts/live-build-config index b585049e..ad559559 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -52,7 +52,8 @@ lb config noauto \ --mirror-binary {{debian_mirror}} \ --mirror-binary-security {{debian_security_mirror}} \ --archive-areas "main contrib non-free" \ - --firmware-chroot true \ + --firmware-chroot false \ + --firmware-binary false \ --updates true \ --security true \ --backports true \ -- cgit v1.2.3 From 525e11fe42850783a80662e8928214f92613b6ef Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 2 Mar 2019 12:07:26 +0100 Subject: VyOS base image requires aptitude - remove it from special dev package list Commit 743ec288637b ("T859: add aptitude to the default package lists.") added aptitude to the base packages as it's required by grub-efi. Thus we do not need to install it via the dev packages list and can keep a single source. --- data/package-lists/vyos-dev.list.chroot | 1 - 1 file changed, 1 deletion(-) (limited to 'data') diff --git a/data/package-lists/vyos-dev.list.chroot b/data/package-lists/vyos-dev.list.chroot index 63e7cc2c..2bbc6cb8 100644 --- a/data/package-lists/vyos-dev.list.chroot +++ b/data/package-lists/vyos-dev.list.chroot @@ -1,5 +1,4 @@ gdb strace -aptitude apt-rdepends linux-perf -- cgit v1.2.3 From ebd68761207a4d9088e15f63a492cb2c804ad0d4 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 10 Mar 2019 19:51:43 +0100 Subject: Update Kernel to v4.19.28 --- data/kernel_version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'data') diff --git a/data/kernel_version b/data/kernel_version index b2e8d3e9..cef3eaf2 100644 --- a/data/kernel_version +++ b/data/kernel_version @@ -1 +1 @@ -4.19.20 +4.19.28 -- cgit v1.2.3 From dec0a52554c8bf8e87a0ac4dba7d7ae357672e6e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 10 Mar 2019 21:03:09 +0100 Subject: [build] Use pdns-recursor binary packages from PowerDNS https://repo.powerdns.com/ provides a package repository for Debian 8 which serves us automatically all security updates instead of rebuilding the package by us. This drops the maintenance of one additional package. --- data/live-build-config/archives/pdns.key.chroot | 30 +++++++++++++++++++++++++ scripts/build-config | 1 + scripts/defaults.py | 1 + scripts/live-build-config | 3 +++ 4 files changed, 35 insertions(+) create mode 100644 data/live-build-config/archives/pdns.key.chroot (limited to 'data') diff --git a/data/live-build-config/archives/pdns.key.chroot b/data/live-build-config/archives/pdns.key.chroot new file mode 100644 index 00000000..9f59d9c9 --- /dev/null +++ b/data/live-build-config/archives/pdns.key.chroot @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQINBFV2/GwBEADD4oJuwcLkYZD6R+PM0zKdZ04owicJ9e1nTbBb8OA+92TI0cJY +8XGpjEJBRECOMJi9Gr6p3QxgZX1IQbiB/RJgRN0BYTZJ6BKobJAlSNsZBVH4wt/F +Xg8IFXi8O8XNwrhhTHVLyhZxB5WIqd8Xgdb39t7qcKLLuhdzH+hTWtGNaC3UJ1xz +3KMx79U/U71XRtvloiZF1ef0XUNvDZ/2DdTNWavdJzVeDq+whD0/ThvP0LsJzzCQ +cgfRUljfxtWHOYVqHspfFg03ofDODodzq+yT5ElIQNWL71fRQ5lX8cPAVrX6v3Rs +h2tBsWV3xjMscG36E7nKbgSXWxDInr4Xw056Mx/JO6If8vnCOYOhXcv3fdZ5Lqpr +qr6uniBTcRi1q97JI1+KDoHU6MfJ7I17wU/bTPFgy6Yck4Ropmwd5dvbwRVTdQHx +n08XYEZyNdq8zskbj8MI83jvDdvdd7b95SiBO6X3qIYKebk8rg1CfYFxBIyRd2ll +yt1K0ow4M54woB/68cMy0UB6cA8uOHscRObau3T3UB0ohsEPF7KYAqOKfKP0irV+ +Ys6tR0KI/TeHqrqKhCA9PGOpOmqJaibt5GqFTc3Dp4U19njMmh4eboki8EwS6DNy +4HD76dFz2jkSQ74uB/X+nxuFEVRKS54q4aeg83NL5lnsD8TWdhTui4mURQARAQAB +tDxQb3dlckROUyBSZWxlYXNlIFNpZ25pbmcgS2V5IDxwb3dlcmRucy5zdXBwb3J0 +QHBvd2VyZG5zLmNvbT6JAj4EEwECACgFAlV2/GwCGwMFCQ8JnAAGCwkIBwMCBhUI +AgkKCwQWAgMBAh4BAheAAAoJEBsMYgX9OA+75QYQAJ7a3rZiTmBJkYfDYbZGOcJj +tIgWj5ieyIHjaG1kR3setK1GbYrd7dkeHuWIT8FCO/mQwrKTlxEd+Vj5a79Bpu0D +de1MRi7jTIb/Qrge532Pnk5T7qFjJWfvTWhpSV9XDwHR216aByuHZ9gAJt92hgo5 +eSXHPpwbi+qAdymndUswFBHY0kLNpIYAa2mZcSNbaI/RFNYPOM/aqDMcpQ2s1Rf1 +c8iTPewf04jlNd75M59AAbnpdoFiCKbV+Q8oeUNxRGhHCQgcTaWhT5vdF2pXP1jb +rVykPxN7U5zTu03m/qbUCKg9Pqkhr79a2XNIpcGHhsp58B6dJdBPhXT/tFXnVpY0 +wZHGGlBVhZzC1Qdq58ilyQ2qfIci2sjMoS62lAffemb88CyoQ2UadhNKZTn93Ogo +lmW1txqN7UU7hUBxwdztw+Pgf7V+ADwkPHnSsNLupkZ7QUOl2i1kPwgcnwHLPFoD +bYDteCtqcVVCY5v3OC95jGJ4bqwgIIeQ5kloKY2pRLeNedbCHbGc6rVjX5X0K2zt +F7/dWOklI1Ox4Y+Vv0Ln7u3BvSyl5jWXWzH2V6q3ff7NKVro3keZmgTzcBwJEv/z +p40ds9f2LTKJX4DajyAF2Z+j79obMYwKo0w+Vy36QrO8TlKk+ZU/6vcFfVdEoCtv +d5a03QgyYgMX0WW8Smam +=BY4B +-----END PGP PUBLIC KEY BLOCK----- diff --git a/scripts/build-config b/scripts/build-config index db870be7..ce83f74e 100755 --- a/scripts/build-config +++ b/scripts/build-config @@ -59,6 +59,7 @@ options = { 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: defaults.DEBIAN_MIRROR, None), 'salt-mirror': ('Salt package mirror', lambda: defaults.SALT_MIRROR, None), 'vyos-mirror': ('VyOS package mirror', lambda: defaults.VYOS_MIRROR, None), + 'pdns-mirror': ('PowerDNS package mirror', lambda: defaults.PDNS_MIRROR, None), 'build-type': ('Build type, release or development', lambda: 'development', lambda x: x in ['release', 'development']), 'custom-packages': ('Custom packages to install from repositories', lambda: '', None), 'version': ('Version number (release builds only)', None, None) diff --git a/scripts/defaults.py b/scripts/defaults.py index 73a8d459..5f1941c1 100644 --- a/scripts/defaults.py +++ b/scripts/defaults.py @@ -28,6 +28,7 @@ DEBIAN_SECURITY_MIRROR = 'http://deb.debian.org/debian-security' DEBIAN_DISTRIBUTION = 'jessie' SALT_MIRROR = 'http://repo.saltstack.com/apt/debian/8/amd64/2017.7' +PDNS_MIRROR = 'http://repo.powerdns.com/debian' PBUILDER_CONFIG = os.path.join(BUILD_DIR, 'pbuilderrc') PBUILDER_DIR = os.path.join(BUILD_DIR, 'pbuilder') diff --git a/scripts/live-build-config b/scripts/live-build-config index ad559559..1aea4dc5 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -71,6 +71,7 @@ print("Setting up additional APT entries") vyos_repo_entry = "deb {0}/vyos {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch']) vyos_debian_repo_entry = "deb {0}/debian {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch']) salt_repo_entry = "deb {0} {1} main\n".format(build_config['salt_mirror'], build_config['distribution']) +pdns_repo_entry = "deb {0} {1}-rec-41 main\n".format(build_config['pdns_mirror'], build_config['distribution']) apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE) @@ -79,11 +80,13 @@ if debug: print("\t", vyos_repo_entry) print("\t", vyos_debian_repo_entry) print("\t", salt_repo_entry) + print("\t", pdns_repo_entry) with open(apt_file, 'w') as f: f.write(vyos_repo_entry) f.write(vyos_debian_repo_entry) f.write(salt_repo_entry) + f.write(pdns_repo_entry) # Add custom APT entries if build_config['custom_apt_entry']: -- cgit v1.2.3 From 43045e721c589fbfbf121c33affebef4777a3cf6 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 22 Mar 2019 08:46:35 +0100 Subject: T1310: use FQDN as hostname in config prompt --- .../includes.chroot/etc/skel/.bashrc | 119 +++++++++++++++++++++ .../includes.chroot/etc/skel/.profile | 22 ++++ 2 files changed, 141 insertions(+) create mode 100644 data/live-build-config/includes.chroot/etc/skel/.bashrc create mode 100644 data/live-build-config/includes.chroot/etc/skel/.profile (limited to 'data') diff --git a/data/live-build-config/includes.chroot/etc/skel/.bashrc b/data/live-build-config/includes.chroot/etc/skel/.bashrc new file mode 100644 index 00000000..06443378 --- /dev/null +++ b/data/live-build-config/includes.chroot/etc/skel/.bashrc @@ -0,0 +1,119 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\H:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\H: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi +OPAMROOT='/opt/opam'; export OPAMROOT; +OPAM_SWITCH_PREFIX='/opt/opam/4.07.0'; export OPAM_SWITCH_PREFIX; +CAML_LD_LIBRARY_PATH='/opt/opam/4.07.0/lib/stublibs:/opt/opam/4.07.0/lib/ocaml/stublibs:/opt/opam/4.07.0/lib/ocaml'; export CAML_LD_LIBRARY_PATH; +OCAML_TOPLEVEL_PATH='/opt/opam/4.07.0/lib/toplevel'; export OCAML_TOPLEVEL_PATH; +MANPATH=':/opt/opam/4.07.0/man'; export MANPATH; +PATH='/opt/opam/4.07.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'; export PATH; diff --git a/data/live-build-config/includes.chroot/etc/skel/.profile b/data/live-build-config/includes.chroot/etc/skel/.profile new file mode 100644 index 00000000..c9db4591 --- /dev/null +++ b/data/live-build-config/includes.chroot/etc/skel/.profile @@ -0,0 +1,22 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi -- cgit v1.2.3 From cd9e810b1665b070484f93a8dc8a616b34a8861b Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 22 Mar 2019 11:45:36 +0100 Subject: T1279: support ACPI power event (poweroff) --- data/live-build-config/hooks/live/14-acpid.chroot | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 data/live-build-config/hooks/live/14-acpid.chroot (limited to 'data') diff --git a/data/live-build-config/hooks/live/14-acpid.chroot b/data/live-build-config/hooks/live/14-acpid.chroot new file mode 100755 index 00000000..98b45649 --- /dev/null +++ b/data/live-build-config/hooks/live/14-acpid.chroot @@ -0,0 +1,10 @@ +#!/bin/sh + +# To be able to properly shutdown bare-metal servers install and +# configure acpid +apt-get -y install acpid + +cat < /etc/acpi/events/powerbtn +event=button[ /]power +action=/sbin/poweroff +EOF -- cgit v1.2.3 From a9f2c0468889ae061d4f5a88ba7548e496627ea3 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 22 Mar 2019 11:47:56 +0100 Subject: [vyos-dev] remove linux-perf package Linux-perf package is no longer available, thus removed. It was also only available for Kernel 4.9 where we use 4.19. Fixes: E: Unable to locate package linux-perf --- data/package-lists/vyos-dev.list.chroot | 1 - 1 file changed, 1 deletion(-) (limited to 'data') diff --git a/data/package-lists/vyos-dev.list.chroot b/data/package-lists/vyos-dev.list.chroot index 2bbc6cb8..f3305f30 100644 --- a/data/package-lists/vyos-dev.list.chroot +++ b/data/package-lists/vyos-dev.list.chroot @@ -1,4 +1,3 @@ gdb strace apt-rdepends -linux-perf -- cgit v1.2.3 From 9209f34d4337aa2b848019b0c88297eda9213728 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Mon, 25 Mar 2019 00:27:18 +0100 Subject: T1313: add support for reusable build flavor files. --- data/defaults.json | 15 +++++++++++++ data/kernel_version | 1 - scripts/build-config | 56 ++++++++++++++++++++++++++++------------------- scripts/build-submodules | 1 - scripts/defaults.py | 15 ++----------- scripts/live-build-config | 15 +++++-------- 6 files changed, 56 insertions(+), 47 deletions(-) create mode 100644 data/defaults.json delete mode 100644 data/kernel_version (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json new file mode 100644 index 00000000..c403c862 --- /dev/null +++ b/data/defaults.json @@ -0,0 +1,15 @@ +{ + "architecture": "amd64", + "debian_mirror": "http://deb.debian.org/debian", + "debian_security_mirror": "http://deb.debian.org/debian-security", + "debian_distribution": "jessie", + "vyos_mirror": "http://dev.packages.vyos.net/repositories/current", + "vyos_branch": "current", + "kernel_version": "4.19.28", + "kernel_flavor": "amd64-vyos", + "additional_repositories": [ + "deb http://repo.saltstack.com/apt/debian/8/amd64/2017.7 jessie main", + "deb http://repo.powerdns.com/debian jessie-rec-41 main" + ], + "custom_packages": [] +} diff --git a/data/kernel_version b/data/kernel_version deleted file mode 100644 index cef3eaf2..00000000 --- a/data/kernel_version +++ /dev/null @@ -1 +0,0 @@ -4.19.28 diff --git a/scripts/build-config b/scripts/build-config index ce83f74e..a12ecdc4 100755 --- a/scripts/build-config +++ b/scripts/build-config @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2018, VyOS maintainers and contributors +# Copyright (C) 2019, 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 @@ -49,19 +49,28 @@ def get_validator(optdict, name): return None +# Load the build flavor file +build_flavor = os.getenv('VYOS_BUILD_FLAVOR') +if build_flavor is None: + build_flavor = defaults.DEFAULT_BUILD_FLAVOR +try: + with open(build_flavor, 'r') as f: + build_defaults = json.load(f) +except Exception as e: + print("Failed to open the build flavor file {0}: {1}".format(build_flavor, e)) + sys.exit(1) + + # Options dict format: # '$option_name_without_leading_dashes': { ('$help_string', $default_value_generator_thunk, $value_checker_thunk) } options = { - 'architecture': ('Image target architecture (amd64 or i386 or armhf)', lambda: 'amd64', lambda x: x in ['amd64', 'i386', 'armhf']), + 'architecture': ('Image target architecture (amd64 or i386 or armhf)', lambda: build_defaults['architecture'], lambda x: x in ['amd64', 'i386', 'armhf']), 'build-by': ('Builder identifier (e.g. jrandomhacker@example.net)', get_default_build_by, None), - 'debian-mirror': ('Debian repository mirror for ISO build', lambda: defaults.DEBIAN_MIRROR, None), - 'debian-security-mirror': ('Debian security updated mirror', lambda: defaults.DEBIAN_SECURITY_MIRROR, None), - 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: defaults.DEBIAN_MIRROR, None), - 'salt-mirror': ('Salt package mirror', lambda: defaults.SALT_MIRROR, None), - 'vyos-mirror': ('VyOS package mirror', lambda: defaults.VYOS_MIRROR, None), - 'pdns-mirror': ('PowerDNS package mirror', lambda: defaults.PDNS_MIRROR, None), + 'debian-mirror': ('Debian repository mirror for ISO build', lambda: build_defaults['debian_mirror'], None), + 'debian-security-mirror': ('Debian security updated mirror', lambda: build_defaults['debian_security_mirror'], None), + 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: build_defaults['debian_mirror'], None), + 'vyos-mirror': ('VyOS package mirror', lambda: build_defaults["vyos_mirror"], None), 'build-type': ('Build type, release or development', lambda: 'development', lambda x: x in ['release', 'development']), - 'custom-packages': ('Custom packages to install from repositories', lambda: '', None), 'version': ('Version number (release builds only)', None, None) } @@ -80,6 +89,7 @@ parser.add_argument('--debug', help="Enable debug output", action='store_true') # Custom APT entry and APT key options can be used multiple times parser.add_argument('--custom-apt-entry', help="Custom APT entry", action='append') parser.add_argument('--custom-apt-key', help="Custom APT key file", action='append') +parser.add_argument('--custom-package', help="Custom package to install from repositories", action='append') args = vars(parser.parse_args()) @@ -95,8 +105,8 @@ for k, v in args.items(): # Some fixup for mirror settings. # The idea is: if --debian-mirror is specified but --pbuilder-debian-mirror is not, # use the --debian-mirror value for both lb and pbuilder bootstrap -if (args['debian_mirror'] != defaults.DEBIAN_MIRROR) and \ - (args['pbuilder_debian_mirror'] == defaults.DEBIAN_MIRROR): +if (args['debian_mirror'] != build_defaults["debian_mirror"]) and \ + (args['pbuilder_debian_mirror'] == build_defaults["debian_mirror"]): args['pbuilder_debian_mirror'] = args['debian_mirror'] # Version can only be set for release builds, @@ -109,16 +119,19 @@ if args['build_type'] == 'development': # Populate some defaults that are not configurable, # but that are handy to have in the options hash -args['distribution'] = defaults.DEBIAN_DISTRIBUTION +args['distribution'] = build_defaults["debian_distribution"] args['build_dir'] = os.path.join(os.getcwd(), defaults.BUILD_DIR) args['pbuilder_config'] = defaults.PBUILDER_CONFIG -args['vyos_branch'] = defaults.VYOS_BRANCH +args['vyos_branch'] = build_defaults["vyos_branch"] -# Convert a whitespace-separated string of custom packages to a list -if args['custom_packages']: - args['custom_packages'] = re.split(r'\s+', args['custom_packages']) -else: - args['custom_packages'] = [] +# Add custom packages from build defaults +if not args['custom_package']: + args['custom_package'] = [] +args['custom_package'] = args['custom_package'] + build_defaults['custom_packages'] + +if not args['custom_apt_entry']: + args['custom_apt_entry'] = [] +args['custom_apt_entry'] = args['custom_apt_entry'] + build_defaults['additional_repositories'] # Check the build environment and dependencies @@ -126,10 +139,8 @@ env_check_retval = os.system("scripts/check-build-env") if env_check_retval > 0: print("Build environment check failed, fix the issues and retry") -# Get the kernel version from data/kernel_version -with open("data/kernel_version") as f: - kernel_version = f.read().strip() - args['kernel_version'] = kernel_version +args['kernel_version'] = build_defaults['kernel_version'] +args['kernel_flavor'] = build_defaults['kernel_flavor'] # Save to file @@ -138,3 +149,4 @@ print("Saving the build config to {0}".format(defaults.BUILD_CONFIG)) with open(defaults.BUILD_CONFIG, 'w') as f: json.dump(args, f, indent=4, sort_keys=True) print("\n", file=f) + diff --git a/scripts/build-submodules b/scripts/build-submodules index e6e9cda3..fc8fdf83 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -343,7 +343,6 @@ build_kernel() { PATCHLEVEL=$(grep "^PATCHLEVEL" $PKGDIR/vyos-kernel/Makefile | grep -Eo '[0-9]{1,4}') SUBLEVEL=$(grep "^SUBLEVEL" $PKGDIR/vyos-kernel/Makefile | grep -Eo '[0-9]{1,4}') ARCH=$(dpkg --print-architecture) - echo "$VERSION.$PATCHLEVEL.$SUBLEVEL" > $ROOTDIR/data/kernel_version status_ok } build_kernel diff --git a/scripts/defaults.py b/scripts/defaults.py index 5f1941c1..5d489e48 100644 --- a/scripts/defaults.py +++ b/scripts/defaults.py @@ -21,27 +21,16 @@ import os BUILD_DIR = 'build' BUILD_CONFIG = os.path.join(BUILD_DIR, 'build-config.json') -# The default mirror was chosen entirely at random -DEBIAN_MIRROR = 'http://deb.debian.org/debian' -DEBIAN_SECURITY_MIRROR = 'http://deb.debian.org/debian-security' - -DEBIAN_DISTRIBUTION = 'jessie' - -SALT_MIRROR = 'http://repo.saltstack.com/apt/debian/8/amd64/2017.7' -PDNS_MIRROR = 'http://repo.powerdns.com/debian' - PBUILDER_CONFIG = os.path.join(BUILD_DIR, 'pbuilderrc') PBUILDER_DIR = os.path.join(BUILD_DIR, 'pbuilder') LB_CONFIG_DIR = os.path.join(BUILD_DIR, 'config') CHROOT_INCLUDES_DIR = os.path.join(LB_CONFIG_DIR, 'includes.chroot') -VYOS_MIRROR = 'http://dev.packages.vyos.net/repositories/current' - -VYOS_BRANCH = 'current' - ARCHIVES_DIR = 'config/archives/' VYOS_REPO_FILE = 'config/archives/vyos.list.chroot' CUSTOM_REPO_FILE = 'config/archives/custom.list.chroot' CUSTOM_PACKAGE_LIST_FILE = 'config/package-lists/custom.list.chroot' + +DEFAULT_BUILD_FLAVOR = 'data/defaults.json' diff --git a/scripts/live-build-config b/scripts/live-build-config index 1aea4dc5..f158ba5c 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -36,12 +36,12 @@ lb_config_tmpl = """ lb config noauto \ --architectures {{architecture}} \ --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay" \ - --linux-flavours {{architecture}}-vyos \ + --linux-flavours {{kernel_flavor}} \ --linux-packages linux-image-{{kernel_version}} \ --bootloader syslinux,grub-efi \ --binary-images iso-hybrid \ --debian-installer false \ - --distribution jessie \ + --distribution {{distribution}} \ --iso-application "VyOS" \ --iso-publisher "{{build_by}}" \ --iso-volume "VyOS" \ @@ -70,8 +70,6 @@ debug = build_config['debug'] print("Setting up additional APT entries") vyos_repo_entry = "deb {0}/vyos {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch']) vyos_debian_repo_entry = "deb {0}/debian {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch']) -salt_repo_entry = "deb {0} {1} main\n".format(build_config['salt_mirror'], build_config['distribution']) -pdns_repo_entry = "deb {0} {1}-rec-41 main\n".format(build_config['pdns_mirror'], build_config['distribution']) apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE) @@ -79,14 +77,10 @@ if debug: print("Adding these entries to {0}:".format(apt_file)) print("\t", vyos_repo_entry) print("\t", vyos_debian_repo_entry) - print("\t", salt_repo_entry) - print("\t", pdns_repo_entry) with open(apt_file, 'w') as f: f.write(vyos_repo_entry) f.write(vyos_debian_repo_entry) - f.write(salt_repo_entry) - f.write(pdns_repo_entry) # Add custom APT entries if build_config['custom_apt_entry']: @@ -97,6 +91,7 @@ if build_config['custom_apt_entry']: print(entries) with open(custom_apt_file, 'w') as f: f.write(entries) + f.write("\n") # Add custom APT keys if build_config['custom_apt_key']: @@ -106,9 +101,9 @@ if build_config['custom_apt_key']: shutil.copy(k, os.path.join(key_dir, dst_name)) # Add custom packages -if build_config['custom_packages']: +if build_config['custom_package']: package_list_file = os.path.join(build_config['build_dir'], defaults.CUSTOM_PACKAGE_LIST_FILE) - packages = "\n".join(build_config['custom_packages']) + packages = "\n".join(build_config['custom_package']) with open (package_list_file, 'w') as f: f.write(packages) -- cgit v1.2.3 From b2779e8b7969a3648d78e8a055734b81f059634e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 28 Mar 2019 22:50:22 +0100 Subject: live-build: set jessie-backports mirror to archive.debian.org --- data/defaults.json | 1 + scripts/live-build-config | 1 + 2 files changed, 2 insertions(+) (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json index c403c862..c27df223 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -2,6 +2,7 @@ "architecture": "amd64", "debian_mirror": "http://deb.debian.org/debian", "debian_security_mirror": "http://deb.debian.org/debian-security", + "debian_security_mirror": "http://archive.debian.org/debian", "debian_distribution": "jessie", "vyos_mirror": "http://dev.packages.vyos.net/repositories/current", "vyos_branch": "current", diff --git a/scripts/live-build-config b/scripts/live-build-config index f158ba5c..8175eab7 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -51,6 +51,7 @@ lb config noauto \ --mirror-chroot-security {{debian_security_mirror}} \ --mirror-binary {{debian_mirror}} \ --mirror-binary-security {{debian_security_mirror}} \ + --mirror-binary-backports {{debian_backports_mirror}} \ --archive-areas "main contrib non-free" \ --firmware-chroot false \ --firmware-binary false \ -- cgit v1.2.3 From 166f8735e4e7fc4d2cc17ead2bb81124de648068 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 28 Mar 2019 22:50:40 +0100 Subject: live-build: fix copy/paste error Commit b2779e8b7969 ("live-build: set jessie-backports mirror to archive.debian.org") set the debian security mirror again instead of specifying a new key debian backports. --- data/defaults.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json index c27df223..b459eac1 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -2,7 +2,7 @@ "architecture": "amd64", "debian_mirror": "http://deb.debian.org/debian", "debian_security_mirror": "http://deb.debian.org/debian-security", - "debian_security_mirror": "http://archive.debian.org/debian", + "debian_backports_mirror": "http://archive.debian.org/debian", "debian_distribution": "jessie", "vyos_mirror": "http://dev.packages.vyos.net/repositories/current", "vyos_branch": "current", -- cgit v1.2.3 From 9a0007d2ab47c2611d38047629b55ea63f79c748 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 31 Mar 2019 11:28:00 +0200 Subject: Revert "live-build: fix copy/paste error" This reverts commit 166f8735e4e7fc4d2cc17ead2bb81124de648068. --- data/defaults.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json index b459eac1..c27df223 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -2,7 +2,7 @@ "architecture": "amd64", "debian_mirror": "http://deb.debian.org/debian", "debian_security_mirror": "http://deb.debian.org/debian-security", - "debian_backports_mirror": "http://archive.debian.org/debian", + "debian_security_mirror": "http://archive.debian.org/debian", "debian_distribution": "jessie", "vyos_mirror": "http://dev.packages.vyos.net/repositories/current", "vyos_branch": "current", -- cgit v1.2.3 From c88f1a9bd2afab5e93a6b3fc719131eb7e4009c3 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 31 Mar 2019 11:28:06 +0200 Subject: Revert "live-build: set jessie-backports mirror to archive.debian.org" This reverts commit b2779e8b7969a3648d78e8a055734b81f059634e. --- data/defaults.json | 1 - scripts/live-build-config | 1 - 2 files changed, 2 deletions(-) (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json index c27df223..c403c862 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -2,7 +2,6 @@ "architecture": "amd64", "debian_mirror": "http://deb.debian.org/debian", "debian_security_mirror": "http://deb.debian.org/debian-security", - "debian_security_mirror": "http://archive.debian.org/debian", "debian_distribution": "jessie", "vyos_mirror": "http://dev.packages.vyos.net/repositories/current", "vyos_branch": "current", diff --git a/scripts/live-build-config b/scripts/live-build-config index 8175eab7..f158ba5c 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -51,7 +51,6 @@ lb config noauto \ --mirror-chroot-security {{debian_security_mirror}} \ --mirror-binary {{debian_mirror}} \ --mirror-binary-security {{debian_security_mirror}} \ - --mirror-binary-backports {{debian_backports_mirror}} \ --archive-areas "main contrib non-free" \ --firmware-chroot false \ --firmware-binary false \ -- cgit v1.2.3 From dda8ec6f3a46b2dfe9f627c620b7fb57c25d70dc Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 31 Mar 2019 14:26:49 +0200 Subject: live-build: reconfigure build after jessie-backports moved to Debian archive Debian Team finally shut down all jessie-backport mirrors after announcing discontinuation [1] in July 2018. As we heavily rely on Backported Packages for VyOS 1.2 we need to move the installation mirrors to Debian Archive. In addition the repo signing keys already expired requiring us to set Acquire::Check-Valid-Until=false when building the ISO. [1] https://lists.debian.org/debian-backports-announce/2018/07/msg00000.html [2] https://wiki.debian.org/LTS/FAQ#Who_fixes_security_issues_with_packages_in_jessie-backports.3F --- data/defaults.json | 3 ++- scripts/live-build-config | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'data') diff --git a/data/defaults.json b/data/defaults.json index c403c862..36ec598b 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -9,7 +9,8 @@ "kernel_flavor": "amd64-vyos", "additional_repositories": [ "deb http://repo.saltstack.com/apt/debian/8/amd64/2017.7 jessie main", - "deb http://repo.powerdns.com/debian jessie-rec-41 main" + "deb http://repo.powerdns.com/debian jessie-rec-41 main", + "deb http://archive.debian.org/debian/ jessie-backports main" ], "custom_packages": [] } diff --git a/scripts/live-build-config b/scripts/live-build-config index f158ba5c..9b7c2d67 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -54,9 +54,9 @@ lb config noauto \ --archive-areas "main contrib non-free" \ --firmware-chroot false \ --firmware-binary false \ - --updates true \ + --updates false \ --security true \ - --backports true \ + --apt-options "--yes -oAcquire::Check-Valid-Until=false" \ --apt-indices false "${@}" """ -- cgit v1.2.3