From b10711d42e65c1ae604891d33cfd83628ca7aa64 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 27 Jan 2019 13:04:11 +0100 Subject: build-submodules: add libyang --- scripts/build-submodules | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'scripts/build-submodules') diff --git a/scripts/build-submodules b/scripts/build-submodules index 0d11c059..b3ea2c1a 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -140,6 +140,44 @@ if [ $INIT_PACKAGES ]; then initialize_packages fi +build_libyang() { + PKG=libyang + COMMITID=$(cd $PKGDIR/$PKG; git rev-parse --short=10 HEAD) + if ! package_in_buildlist $1; then + return 0 + fi + status_start "Building package: $PKG Commit id: $COMMITID" + if [ ! -f "$PKGDIR/$PKG/README.md" ]; then + status_skip "No source for: $PKG" + return 1 + fi + + ( set -e; set -x + cd $PKGDIR/$PKG + git checkout 179da47f2e8de + + git clean -dxf + git reset --hard + + mkdir build + cd build + + cmake .. + make build-deb + + cp debs/* $PKGDIR + + ) >>$PKGDIR/$PKG.buildlog 2>&1 + + if [ $? -ne 0 ]; then + status_fail + error_msg "Failed to build package $PKG, look in $PKG.buildlog to examine the fault\n" + return 2 + fi + status_ok +} +build_libyang + build_frr() { PKG=frr COMMITID=$(cd $PKGDIR/$PKG; git rev-parse --short=10 HEAD) -- cgit v1.2.3 From 9210522425e2cd6ed5d9f83ad594e5588671863e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 27 Jan 2019 13:06:16 +0100 Subject: build-submodules: report back package error when build with --verbose --- scripts/build-submodules | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/build-submodules') diff --git a/scripts/build-submodules b/scripts/build-submodules index b3ea2c1a..6fd945d1 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -104,6 +104,9 @@ build_package() { ) >>$PKGDIR/$PKG.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail + if [ $VERBOSE -eq 1 ]; then + cat $PKGDIR/$PKG.buildlog + fi error_msg "Failed to build package $PKG, look in $PKG.buildlog to examine the fault\n" return 2 fi -- cgit v1.2.3 From 000cd8b2d962989e26c847a6337bc1b3a3f1c6a9 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 27 Jan 2019 16:19:19 +0100 Subject: build-submodules: change VERBOSE logic --- scripts/build-submodules | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'scripts/build-submodules') diff --git a/scripts/build-submodules b/scripts/build-submodules index 6fd945d1..79abf59f 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -24,6 +24,7 @@ print_help() { } BUILDLIST="" +VERBOSE=0 while test $# -gt 0 do @@ -70,6 +71,19 @@ status_skip() { error_msg() { echo -ne " $1\n" } + +verbose_msg() { + if [ $VERBOSE -ne 0 ]; then + echo "Current Environment:" + env + + if [ ! -z "$1" ]; then + echo "Logfile:" + cat $1 + fi + fi +} + ROOTDIR="$(pwd)" PKGDIR="$ROOTDIR/packages" SCRIPTDIR="$ROOTDIR/scripts" @@ -104,9 +118,7 @@ build_package() { ) >>$PKGDIR/$PKG.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail - if [ $VERBOSE -eq 1 ]; then - cat $PKGDIR/$PKG.buildlog - fi + verbose_msg "$PKGDIR/$PKG.buildlog" error_msg "Failed to build package $PKG, look in $PKG.buildlog to examine the fault\n" return 2 fi @@ -131,9 +143,7 @@ initialize_packages() { ) >>$PKGDIR/init-packages.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail - if [ $VERBOSE -eq 1 ]; then - cat $PKGDIR/init-packages.buildlog - fi + verbose_msg "$PKGDIR/init-packages.buildlog" error_msg "Failed to update all package, look in init-packages.buildlog to examine the fault\n" return 1 fi @@ -311,9 +321,7 @@ build_kernel() { ) >>$PKGDIR/vyos-kernel.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail - if [ $VERBOSE -eq 1 ]; then - cat $PKGDIR/vyos-kernel.buildlog - fi + verbose_msg "$PKGDIR/vyos-kernel.buildlog" error_msg "Failed to build package vyos-kernel, look in vyos-kernel.buildlog to examine the fault\n" return 1 fi @@ -370,9 +378,7 @@ build_wireguard() { ) >>$PKGDIR/vyos-wireguard.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail - if [ $VERBOSE -eq 1 ]; then - cat $PKGDIR/vyos-wireguard.buildlog - fi + verbose_msg "$PKGDIR/vyos-wireguard.buildlog" error_msg "Failed to build package vyos-wireguard, look in vyos-wireguard.buildlog to examine the fault\n" return 2 fi @@ -421,9 +427,7 @@ build_accel-ppp() { ) >>$PKGDIR/vyos-accel-ppp.buildlog 2>&1 if [ $? -ne 0 ]; then status_fail - if [ $VERBOSE -eq 1 ]; then - cat $PKGDIR/vyos-accel-ppp.buildlog - fi + verbose_msg "$PKGDIR/vyos-accel-ppp.buildlog" error_msg "Failed to build package vyos-accel-ppp, look in vyos-accel-ppp.buildlog to examine the fault\n" return 1 fi -- cgit v1.2.3 From 9170ead86561b0d494df5ac464a04d703a61e036 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 27 Jan 2019 18:08:53 +0100 Subject: build-submodules: source OPAM environemnt if not present --- scripts/build-submodules | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'scripts/build-submodules') diff --git a/scripts/build-submodules b/scripts/build-submodules index 79abf59f..6423a14a 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -88,6 +88,15 @@ ROOTDIR="$(pwd)" PKGDIR="$ROOTDIR/packages" SCRIPTDIR="$ROOTDIR/scripts" +# Source OPAM environment if not already set +if [ -z "$OPAMROOT" ]; then + if [ -x "$(command -v opam)" ]; then + eval $(opam env --root=/opt/opam --set-root) + else + echo "WARNING: 'opam' not installed, can't build VyConf and libvyosconfig" + fi +fi + package_in_buildlist() { # Return true if buildlist is not set if [ -z "$BUILDLIST" ]; then -- cgit v1.2.3 From 9df5e15e9939dea7e5ecc944661d0ecb8eb0ccf4 Mon Sep 17 00:00:00 2001 From: Nicholas Humfrey Date: Tue, 29 Jan 2019 23:12:00 +0000 Subject: T1202: Add `hvinfo` to the packages directory (#43) --- .gitmodules | 6 +++++- docker/Dockerfile | 5 +++++ packages/hvinfo | 1 + scripts/build-submodules | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) create mode 160000 packages/hvinfo (limited to 'scripts/build-submodules') diff --git a/.gitmodules b/.gitmodules index 22bb87d5..8be1f363 100644 --- a/.gitmodules +++ b/.gitmodules @@ -236,4 +236,8 @@ [submodule "packages/igmpproxy"] path = packages/igmpproxy url = https://github.com/vyos/igmpproxy.git - branch = current \ No newline at end of file + branch = current +[submodule "packages/hvinfo"] + path = packages/hvinfo + url = https://github.com/dmbaturin/hvinfo.git + branch = master diff --git a/docker/Dockerfile b/docker/Dockerfile index bca48ff8..889652f3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -234,6 +234,11 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \ dpkg-buildpackage -uc -us -tc -b && \ dpkg -i ../libvyosconfig0_*_amd64.deb +# Packages needed for hvinfo +RUN apt-get update && apt-get install -y \ + gnat \ + gprbuild + # Packages needed for vyos-1x RUN apt-get update && apt-get install -y \ whois diff --git a/packages/hvinfo b/packages/hvinfo new file mode 160000 index 00000000..6d15dff8 --- /dev/null +++ b/packages/hvinfo @@ -0,0 +1 @@ +Subproject commit 6d15dff8eb5418a23035d18078f367bc799b702c diff --git a/scripts/build-submodules b/scripts/build-submodules index 0d11c059..11d386fd 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -198,6 +198,7 @@ for PKG in mdns-repeater \ eventwatchd \ ddclient \ rtrlib \ + hvinfo \ igmpproxy \ libvyosconfig \ vyatta-bash \ -- cgit v1.2.3 From 9779f9938e1a80736738b2b9021a0db4dd872bfa Mon Sep 17 00:00:00 2001 From: Nicholas Humfrey Date: Wed, 30 Jan 2019 10:04:31 +0000 Subject: T1214: Add `ipaddrcheck` to the packages directory --- .gitmodules | 4 ++++ docker/Dockerfile | 6 ++++++ packages/ipaddrcheck | 1 + scripts/build-submodules | 1 + 4 files changed, 12 insertions(+) create mode 160000 packages/ipaddrcheck (limited to 'scripts/build-submodules') diff --git a/.gitmodules b/.gitmodules index 2257b9f1..dd608357 100644 --- a/.gitmodules +++ b/.gitmodules @@ -245,3 +245,7 @@ path = packages/libyang url = https://github.com/opensourcerouting/libyang.git branch = debian +[submodule "packages/ipaddrcheck"] + path = packages/ipaddrcheck + url = https://github.com/vyos/ipaddrcheck.git + branch = master diff --git a/docker/Dockerfile b/docker/Dockerfile index 13919ede..38dea015 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -234,6 +234,12 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \ dpkg-buildpackage -uc -us -tc -b && \ dpkg -i ../libvyosconfig0_*_amd64.deb +# Packages needed for ipaddrcheck +RUN apt-get update && apt-get install -y \ + libpcre3-dev \ + libcidr-dev \ + check + # Packages needed for hvinfo RUN apt-get update && apt-get install -y \ gnat \ diff --git a/packages/ipaddrcheck b/packages/ipaddrcheck new file mode 160000 index 00000000..8f0d655c --- /dev/null +++ b/packages/ipaddrcheck @@ -0,0 +1 @@ +Subproject commit 8f0d655cc68995a0ef88dc905dc62db2af23ec90 diff --git a/scripts/build-submodules b/scripts/build-submodules index a167b6e0..ae0c1c09 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -260,6 +260,7 @@ for PKG in mdns-repeater \ rtrlib \ hvinfo \ igmpproxy \ + ipaddrcheck \ libvyosconfig \ vyatta-bash \ vyatta-biosdevname \ -- cgit v1.2.3 From b9239d076d220059f2596f1163d785e953652964 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Wed, 30 Jan 2019 22:04:09 +0100 Subject: build-submodules: add vyos-vmwaretools-scripts --- scripts/build-submodules | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/build-submodules') diff --git a/scripts/build-submodules b/scripts/build-submodules index ae0c1c09..f3ab6cf7 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -303,6 +303,7 @@ for PKG in mdns-repeater \ vyos-opennhrp \ vyos-salt-minion \ vyos-strongswan \ + vyos-vmwaretools-scripts \ vyos-world \ vyos-1x \ ; do -- cgit v1.2.3 From 78d69b0c252ba82da6bd4dbcbe50037052d58668 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Wed, 30 Jan 2019 22:04:59 +0100 Subject: Revert "T1214: Add `ipaddrcheck` to the packages directory" libcidr-dev is not available until Debian Buster thus the container can't be build. This reverts commit 9779f9938e1a80736738b2b9021a0db4dd872bfa. --- .gitmodules | 4 ---- docker/Dockerfile | 6 ------ packages/ipaddrcheck | 1 - scripts/build-submodules | 1 - 4 files changed, 12 deletions(-) delete mode 160000 packages/ipaddrcheck (limited to 'scripts/build-submodules') diff --git a/.gitmodules b/.gitmodules index dd608357..2257b9f1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -245,7 +245,3 @@ path = packages/libyang url = https://github.com/opensourcerouting/libyang.git branch = debian -[submodule "packages/ipaddrcheck"] - path = packages/ipaddrcheck - url = https://github.com/vyos/ipaddrcheck.git - branch = master diff --git a/docker/Dockerfile b/docker/Dockerfile index 38dea015..13919ede 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -234,12 +234,6 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \ dpkg-buildpackage -uc -us -tc -b && \ dpkg -i ../libvyosconfig0_*_amd64.deb -# Packages needed for ipaddrcheck -RUN apt-get update && apt-get install -y \ - libpcre3-dev \ - libcidr-dev \ - check - # Packages needed for hvinfo RUN apt-get update && apt-get install -y \ gnat \ diff --git a/packages/ipaddrcheck b/packages/ipaddrcheck deleted file mode 160000 index 8f0d655c..00000000 --- a/packages/ipaddrcheck +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8f0d655cc68995a0ef88dc905dc62db2af23ec90 diff --git a/scripts/build-submodules b/scripts/build-submodules index f3ab6cf7..af992649 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -260,7 +260,6 @@ for PKG in mdns-repeater \ rtrlib \ hvinfo \ igmpproxy \ - ipaddrcheck \ libvyosconfig \ vyatta-bash \ vyatta-biosdevname \ -- cgit v1.2.3 From 5a53953ab8dfa61305c837da6d912a2e8cee9711 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 31 Jan 2019 18:59:09 +0100 Subject: build-submodules: add ipaddrcheck --- .gitmodules | 3 +++ packages/ipaddrcheck | 1 + scripts/build-submodules | 1 + 3 files changed, 5 insertions(+) create mode 160000 packages/ipaddrcheck (limited to 'scripts/build-submodules') diff --git a/.gitmodules b/.gitmodules index 2257b9f1..9d3fcf23 100644 --- a/.gitmodules +++ b/.gitmodules @@ -245,3 +245,6 @@ path = packages/libyang url = https://github.com/opensourcerouting/libyang.git branch = debian +[submodule "packages/ipaddrcheck"] + path = packages/ipaddrcheck + url = https://github.com/vyos/ipaddrcheck.git diff --git a/packages/ipaddrcheck b/packages/ipaddrcheck new file mode 160000 index 00000000..8f0d655c --- /dev/null +++ b/packages/ipaddrcheck @@ -0,0 +1 @@ +Subproject commit 8f0d655cc68995a0ef88dc905dc62db2af23ec90 diff --git a/scripts/build-submodules b/scripts/build-submodules index af992649..f3ab6cf7 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -260,6 +260,7 @@ for PKG in mdns-repeater \ rtrlib \ hvinfo \ igmpproxy \ + ipaddrcheck \ libvyosconfig \ vyatta-bash \ vyatta-biosdevname \ -- cgit v1.2.3 From b008fa4b62242248e5a41c6fa07fa25bcddac138 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 1 Feb 2019 19:43:24 +0100 Subject: Add lldp and pdns-recursor submodules --- .gitmodules | 6 ++++++ packages/lldpd | 1 + packages/pdns-recursor | 1 + scripts/build-submodules | 1 + 4 files changed, 9 insertions(+) create mode 160000 packages/lldpd create mode 160000 packages/pdns-recursor (limited to 'scripts/build-submodules') diff --git a/.gitmodules b/.gitmodules index 9d3fcf23..55e8e1b2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -248,3 +248,9 @@ [submodule "packages/ipaddrcheck"] path = packages/ipaddrcheck url = https://github.com/vyos/ipaddrcheck.git +[submodule "packages/lldpd"] + path = packages/lldpd + url = https://github.com/vincentbernat/lldpd.git +[submodule "packages/pdns-recursor"] + path = packages/pdns-recursor + url = https://salsa.debian.org/dns-team/pdns-recursor.git diff --git a/packages/lldpd b/packages/lldpd new file mode 160000 index 00000000..adbb26bc --- /dev/null +++ b/packages/lldpd @@ -0,0 +1 @@ +Subproject commit adbb26bc0a49d083472d24762255ff48bd001e45 diff --git a/packages/pdns-recursor b/packages/pdns-recursor new file mode 160000 index 00000000..28af51a3 --- /dev/null +++ b/packages/pdns-recursor @@ -0,0 +1 @@ +Subproject commit 28af51a3942875f0896fab2ea5945ded4a191975 diff --git a/scripts/build-submodules b/scripts/build-submodules index f3ab6cf7..e6e9cda3 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -261,6 +261,7 @@ for PKG in mdns-repeater \ hvinfo \ igmpproxy \ ipaddrcheck \ + lldpd \ libvyosconfig \ vyatta-bash \ vyatta-biosdevname \ -- 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 'scripts/build-submodules') 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