From 1710d97b6bfe7a537078b2e806d90389ac71d8e4 Mon Sep 17 00:00:00 2001 From: Lluis Campos Date: Mon, 31 Jan 2022 14:30:53 +0100 Subject: [PATCH 1/6] MEN-5410: Modify Debian packages installation for new repositories Changelog: Download and install Debian packages taking into account the target OS. Now downloads.mender.io serves four distributions: the two latests releases for Debian and Ubuntu. Probe /etc/os-release to figure out the correct package to install, and fallback to Debian Buster packages which was the previous default. Signed-off-by: Lluis Campos (cherry picked from commit b19680413f59ca403006c077f4bea10249b22c40) --- configs/mender_convert_config | 6 +++++- mender-convert-modify | 24 +++++++++++++++--------- modules/probe.sh | 23 +++++++++++++++++++++++ 3 files changed, 43 insertions(+), 10 deletions(-) diff --git a/configs/mender_convert_config b/configs/mender_convert_config index 4357caf..31cb651 100644 --- a/configs/mender_convert_config +++ b/configs/mender_convert_config @@ -146,10 +146,14 @@ MENDER_ADDON_CONFIGURE_VERSION="latest" # what you are doing. MENDER_STORAGE_URL="https://downloads.mender.io" -# Mender APT repo, containing binary files, do not modify this unless you know +# Mender APT repo url, containing binary files, do not modify this unless you know # what you are doing. MENDER_APT_REPO_URL="${MENDER_STORAGE_URL}/repos/debian" +# Mender APT repo available distributions, do not modify this unless you know +# what you are doing. +MENDER_APT_REPO_DISTS="debian/buster debian/bullseye ubuntu/bionic ubuntu/focal" + # Mender GitHub organization URL prefix MENDER_GITHUB_ORG="https://github.com/mendersoftware" diff --git a/mender-convert-modify b/mender-convert-modify index 3529a03..d301450 100755 --- a/mender-convert-modify +++ b/mender-convert-modify @@ -102,17 +102,23 @@ mkdir -p work/deb-packages log_info "Installing Mender client and related files" deb_arch=$(probe_debian_arch_name) +deb_distro=$(probe_debian_distro_name) +deb_codename=$(probe_debian_distro_codename) +if ! [[ "$MENDER_APT_REPO_DISTS" == *"${deb_distro}/${deb_codename}"* ]]; then + deb_distro="debian" + deb_codename="buster" +fi if [ "${MENDER_CLIENT_INSTALL}" = "y" ]; then log_info "Installing Mender client version ${MENDER_CLIENT_VERSION}" if [ "${MENDER_CLIENT_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "stable" "mender-client") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-client") elif [ "${MENDER_CLIENT_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "experimental" "mender-client") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-client") else - DEBIAN_REVISION="-1" + DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-client" "${MENDER_CLIENT_VERSION}${DEBIAN_REVISION}") fi @@ -133,11 +139,11 @@ if [ "${MENDER_ADDON_CONNECT_INSTALL}" = "y" ]; then log_info "Installing Mender Connect addon" if [ "${MENDER_ADDON_CONNECT_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "stable" "mender-connect") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-connect") elif [ "${MENDER_ADDON_CONNECT_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "experimental" "mender-connect") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-connect") else - DEBIAN_REVISION="-1" + DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-connect" "${MENDER_ADDON_CONNECT_VERSION}${DEBIAN_REVISION}") fi @@ -152,11 +158,11 @@ if [ "${MENDER_ADDON_CONFIGURE_INSTALL}" = "y" ]; then log_info "Installing Mender Configure addon" if [ "${MENDER_ADDON_CONFIGURE_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "stable" "mender-configure") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-configure") elif [ "${MENDER_ADDON_CONFIGURE_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "experimental" "mender-configure") + deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-configure") else - DEBIAN_REVISION="-1" + DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-configure" "${MENDER_ADDON_CONFIGURE_VERSION}${DEBIAN_REVISION}") fi diff --git a/modules/probe.sh b/modules/probe.sh index 4a71aab..e90902a 100644 --- a/modules/probe.sh +++ b/modules/probe.sh @@ -97,6 +97,29 @@ probe_debian_arch_name() { echo "${deb_arch}" } +# Prints Debian distro name based on ID from /etc/os-release +# +# Special handling for raspbian, where ID_LIKE is used instead +# +# No input parameters and these work on the assumption that boot and root parts +# are mounted at work/boot and work/rootfs +probe_debian_distro_name() { + distro_name="$(. work/rootfs/etc/os-release && echo "$ID")" + if [[ "$distro_name" == "raspbian" ]]; then + distro_name="$(. work/rootfs/etc/os-release && echo "$ID_LIKE")" + fi + echo "${distro_name}" +} + +# Prints Debian distro codename based on VERSION_CODENAME from /etc/os-release +# +# No input parameters and these work on the assumption that boot and root parts +# are mounted at work/boot and work/rootfs +probe_debian_distro_codename() { + distro_codename="$(. work/rootfs/etc/os-release && echo "$VERSION_CODENAME")" + echo "${distro_codename}" +} + # Prints GRUB EFI target name depending on target architecture # # This is what the file name should be when put on target boot part. From 27f4a5cafb45b397aaf8484b561a684b1bea7b35 Mon Sep 17 00:00:00 2001 From: Lluis Campos Date: Mon, 31 Jan 2022 14:40:01 +0100 Subject: [PATCH 2/6] mender_convert_config: Refactor deb packages install into a function Do not repeat yourself... Changelog: None Signed-off-by: Lluis Campos (cherry picked from commit 423686a44b761d105026f9a1243b2b51b12e52a7) --- mender-convert-modify | 52 ++++--------------------------------------- modules/deb.sh | 39 +++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 49 deletions(-) diff --git a/mender-convert-modify b/mender-convert-modify index d301450..1da575f 100755 --- a/mender-convert-modify +++ b/mender-convert-modify @@ -97,36 +97,14 @@ mkdir -p work/rootfs sudo mount ${boot_part} work/boot sudo mount ${root_part} work/rootfs -mkdir -p work/deb-packages - log_info "Installing Mender client and related files" -deb_arch=$(probe_debian_arch_name) -deb_distro=$(probe_debian_distro_name) -deb_codename=$(probe_debian_distro_codename) -if ! [[ "$MENDER_APT_REPO_DISTS" == *"${deb_distro}/${deb_codename}"* ]]; then - deb_distro="debian" - deb_codename="buster" -fi - if [ "${MENDER_CLIENT_INSTALL}" = "y" ]; then - log_info "Installing Mender client version ${MENDER_CLIENT_VERSION}" - - if [ "${MENDER_CLIENT_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-client") - elif [ "${MENDER_CLIENT_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-client") - else - DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" - deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-client" "${MENDER_CLIENT_VERSION}${DEBIAN_REVISION}") - fi - - deb_extract_package "work/deb-packages/${deb_name}" "work/rootfs/" + deb_get_and_install_pacakge mender-client "${MENDER_CLIENT_VERSION}" # Save installed client version for tests in Yocto variable format - testscfg_add "PREFERRED_VERSION_mender-client" "$(echo ${deb_name} | sed -r 's/.*_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')" - + testscfg_add "PREFERRED_VERSION_mender-client" "$(echo ${DEB_NAME} | sed -r 's/.*_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')" fi if [ "${MENDER_ENABLE_SYSTEMD}" == "y" ]; then @@ -135,38 +113,16 @@ if [ "${MENDER_ENABLE_SYSTEMD}" == "y" ]; then fi if [ "${MENDER_ADDON_CONNECT_INSTALL}" = "y" ]; then - log_info "Installing Mender Connect addon" - - if [ "${MENDER_ADDON_CONNECT_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-connect") - elif [ "${MENDER_ADDON_CONNECT_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-connect") - else - DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" - deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-connect" "${MENDER_ADDON_CONNECT_VERSION}${DEBIAN_REVISION}") - fi - - deb_extract_package "work/deb-packages/${deb_name}" "work/rootfs/" + deb_get_and_install_pacakge mender-connect "${MENDER_ADDON_CONNECT_VERSION}" run_and_log_cmd "sudo ln -sf /lib/systemd/system/mender-connect.service \ work/rootfs/etc/systemd/system/multi-user.target.wants/mender-connect.service" fi if [ "${MENDER_ADDON_CONFIGURE_INSTALL}" = "y" ]; then - log_info "Installing Mender Configure addon" - - if [ "${MENDER_ADDON_CONFIGURE_VERSION}" = "latest" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "mender-configure") - elif [ "${MENDER_ADDON_CONFIGURE_VERSION}" = "master" ]; then - deb_name=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "mender-configure") - else - DEBIAN_REVISION="-1+${deb_distro}+${deb_codename}" - deb_name=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "mender-configure" "${MENDER_ADDON_CONFIGURE_VERSION}${DEBIAN_REVISION}") - fi - - deb_extract_package "work/deb-packages/${deb_name}" "work/rootfs/" + deb_get_and_install_pacakge mender-configure "${MENDER_ADDON_CONFIGURE_VERSION}" fi # Do this unconditionally even if not installing mender-configure. The reason is diff --git a/modules/deb.sh b/modules/deb.sh index 5729962..c250753 100644 --- a/modules/deb.sh +++ b/modules/deb.sh @@ -1,5 +1,5 @@ # -# Copyright 2020 Northern.tech AS +# Copyright 2022 Northern.tech AS # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +14,7 @@ # limitations under the License. source modules/log.sh +source modules/probe.sh . # Download of latest deb package for the given distribution of an APT repository # @@ -111,3 +112,39 @@ function deb_extract_package() { log_info "Successfully installed $(basename ${deb_package}) into ${dest_dir}" } + +# Download and install the binary files of a deb package into work/deb-packages +# This is the main entry point of deb.sh +# Defines variable DEB_NAME with the actual filename installed +# +# $1 - Package name +# $2 - Package version +# +function deb_get_and_install_pacakge() { + if [[ $# -ne 2 ]]; then + log_fatal "deb_get_and_install_pacakge() requires 2 arguments" + fi + local package="$1" + local version="$2" + + mkdir -p work/deb-packages + + local deb_arch=$(probe_debian_arch_name) + local deb_distro=$(probe_debian_distro_name) + local deb_codename=$(probe_debian_distro_codename) + if ! [[ "$MENDER_APT_REPO_DISTS" == *"${deb_distro}/${deb_codename}"* ]]; then + deb_distro="debian" + deb_codename="buster" + fi + + DEB_NAME="" + if [ "${version}" = "latest" ]; then + DEB_NAME=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/stable" "${package}") + elif [ "${version}" = "master" ]; then + DEB_NAME=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "${package}") + else + local debian_version="-1+${deb_distro}+${deb_codename}" + DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${package}" "${version}${debian_version}") + fi + deb_extract_package "work/deb-packages/${DEB_NAME}" "work/rootfs/" +} From c01dcb741ec652ec979d9d393d5936caac74f760 Mon Sep 17 00:00:00 2001 From: Lluis Campos Date: Mon, 31 Jan 2022 20:40:36 +0100 Subject: [PATCH 3/6] MEN-5410: Fallback to old version strings when package is missing Otherwise won't be possible to install old versions published with the old schema. Amends commit b196804 Changelog: None Signed-off-by: Lluis Campos (cherry picked from commit 766f2a9c2bcf0f98bf55d69134b50bd937cf8190) --- modules/deb.sh | 19 ++++++++++++++++--- modules/run.sh | 20 ++++++++++++++++++-- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/modules/deb.sh b/modules/deb.sh index c250753..28572f6 100644 --- a/modules/deb.sh +++ b/modules/deb.sh @@ -82,11 +82,17 @@ function deb_from_repo_pool_get() { local -r deb_package_path="pool/${component}/${initial}/${package}/${package}_${version}_${architecture}.deb" local -r filename=$(basename $deb_package_path) - run_and_log_cmd "wget -Nq ${repo_url}/${deb_package_path} -P ${download_dir}" + run_and_log_cmd_noexit "wget -Nq ${repo_url}/${deb_package_path} -P ${download_dir}" + local exit_code=$? rm -f /tmp/Packages - log_info "Successfully downloaded ${filename}" - echo ${filename} + if [[ ${exit_code} -ne 0 ]]; then + log_warn "Could not download ${filename}" + echo "" + else + log_info "Successfully downloaded ${filename}" + echo ${filename} + fi } # Extract the binary files of a deb package into a directory @@ -145,6 +151,13 @@ function deb_get_and_install_pacakge() { else local debian_version="-1+${deb_distro}+${deb_codename}" DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${package}" "${version}${debian_version}") + if [[ -z "${DEB_NAME}" ]]; then + local debian_version_fallback="-1" + DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${package}" "${version}${debian_version_fallback}") + if [[ -z "${DEB_NAME}" ]]; then + log_fatal "Specified version for ${package} cannot be found, tried ${version}${debian_version} and ${version}${debian_version_fallback}" + fi + fi fi deb_extract_package "work/deb-packages/${DEB_NAME}" "work/rootfs/" } diff --git a/modules/run.sh b/modules/run.sh index a52efd3..93f9159 100644 --- a/modules/run.sh +++ b/modules/run.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2019 Northern.tech AS +# Copyright 2022 Northern.tech AS # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Run a command, capture output and log it +# Run a command, capture and log output, and exit on non-zero return code # # $1 - command to run function run_and_log_cmd() { @@ -31,3 +31,19 @@ function run_and_log_cmd() { exit ${exit_code} fi } + +# Run a command, capture and log output, and return the command's return code +# +# $1 - command to run +function run_and_log_cmd_noexit() { + local -r cmd="${1}" + local -r position="(${BASH_SOURCE[1]}:${BASH_LINENO[0]}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }" + local exit_code=0 + output="$({ eval ${cmd}; } 2>&1)" || exit_code=$? + local log_msg="Running: ${position} \n\r\n\r\t${cmd}" + if [[ "${output}" != "" ]]; then + log_msg="${log_msg}\n\t${output}\n" + fi + log_debug "${log_msg}" + return ${exit_code} +} From 5cccaa4b1efe3047ea94d552e1ab5e955002c586 Mon Sep 17 00:00:00 2001 From: Lluis Campos Date: Mon, 31 Jan 2022 20:59:53 +0100 Subject: [PATCH 4/6] MEN-5410: URL encode '+' also on pool downloads Now the packages from tags will also contain this character. Same fix as in ed5da386. Changelog: None Signed-off-by: Lluis Campos (cherry picked from commit 6a72ff4cae337278dadceb7d18e7ef1c0d43ff18) --- modules/deb.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/deb.sh b/modules/deb.sh index 28572f6..229eee3 100644 --- a/modules/deb.sh +++ b/modules/deb.sh @@ -82,7 +82,8 @@ function deb_from_repo_pool_get() { local -r deb_package_path="pool/${component}/${initial}/${package}/${package}_${version}_${architecture}.deb" local -r filename=$(basename $deb_package_path) - run_and_log_cmd_noexit "wget -Nq ${repo_url}/${deb_package_path} -P ${download_dir}" + local -r deb_package_url=$(echo ${repo_url}/${deb_package_path} | sed 's/+/%2B/g') + run_and_log_cmd_noexit "wget -Nq ${deb_package_url} -P ${download_dir}" local exit_code=$? rm -f /tmp/Packages From 01494ec0b9af00c045bb4ef53a84dd061d6c6250 Mon Sep 17 00:00:00 2001 From: Lluis Campos Date: Tue, 1 Feb 2022 10:09:47 +0100 Subject: [PATCH 5/6] Fix installation of user specified versions for mender-configure add-on It has been broken since the introduction of mender-configure. This add-on is architecture independent, so when downloading the .deb directly from the pool we need to look for "all" suffix instead of the target architecture. This worked fine for "latest" and "master" versions because the filename for these were resolved via repository's Packages. Changelog: title Signed-off-by: Lluis Campos (cherry picked from commit d460de3c80e120792bb1c0987f591ef9e89b49b1) --- mender-convert-modify | 2 +- modules/deb.sh | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/mender-convert-modify b/mender-convert-modify index 1da575f..6419be3 100755 --- a/mender-convert-modify +++ b/mender-convert-modify @@ -122,7 +122,7 @@ fi if [ "${MENDER_ADDON_CONFIGURE_INSTALL}" = "y" ]; then log_info "Installing Mender Configure addon" - deb_get_and_install_pacakge mender-configure "${MENDER_ADDON_CONFIGURE_VERSION}" + deb_get_and_install_pacakge mender-configure "${MENDER_ADDON_CONFIGURE_VERSION}" "true" fi # Do this unconditionally even if not installing mender-configure. The reason is diff --git a/modules/deb.sh b/modules/deb.sh index 229eee3..346de7e 100644 --- a/modules/deb.sh +++ b/modules/deb.sh @@ -126,13 +126,15 @@ function deb_extract_package() { # # $1 - Package name # $2 - Package version +# $3 - Arch independent (optional, default "false") # function deb_get_and_install_pacakge() { - if [[ $# -ne 2 ]]; then - log_fatal "deb_get_and_install_pacakge() requires 2 arguments" + if ! [[ $# -eq 2 || $# -eq 3 ]]; then + log_fatal "deb_get_and_install_pacakge() requires 2 or 3 arguments" fi local package="$1" local version="$2" + local arch_indep="${3:-false}" mkdir -p work/deb-packages @@ -150,11 +152,19 @@ function deb_get_and_install_pacakge() { elif [ "${version}" = "master" ]; then DEB_NAME=$(deb_from_repo_dist_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${deb_distro}/${deb_codename}/experimental" "${package}") else + # On direct downloads, the architecture suffix will be "all" for arch independent packages + local pool_arch="" + if [[ "$arch_indep" == "true" ]]; then + pool_arch="all" + else + pool_arch="$deb_arch" + fi + local debian_version="-1+${deb_distro}+${deb_codename}" - DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${package}" "${version}${debian_version}") + DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${pool_arch} "${package}" "${version}${debian_version}") if [[ -z "${DEB_NAME}" ]]; then local debian_version_fallback="-1" - DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${deb_arch} "${package}" "${version}${debian_version_fallback}") + DEB_NAME=$(deb_from_repo_pool_get "work/deb-packages" ${MENDER_APT_REPO_URL} ${pool_arch} "${package}" "${version}${debian_version_fallback}") if [[ -z "${DEB_NAME}" ]]; then log_fatal "Specified version for ${package} cannot be found, tried ${version}${debian_version} and ${version}${debian_version_fallback}" fi From ad742a222ec361e6d6d63f55c0d2c40b73a06026 Mon Sep 17 00:00:00 2001 From: Ole Petter Date: Thu, 20 Jan 2022 12:39:33 +0100 Subject: [PATCH 6/6] Bump license year to 2022 Changelog: None Signed-off-by: Ole Petter (cherry picked from commit 9fdb558426236b4390503e9c2fc656dfb764e57c) --- LICENSE | 2 +- LIC_FILES_CHKSUM.sha256 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 9f2ba3e..c58aee7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2021 Northern.tech AS +Copyright 2022 Northern.tech AS All content in this project is licensed under the Apache License v2, unless indicated otherwise. diff --git a/LIC_FILES_CHKSUM.sha256 b/LIC_FILES_CHKSUM.sha256 index ef08ffa..0c4ef15 100644 --- a/LIC_FILES_CHKSUM.sha256 +++ b/LIC_FILES_CHKSUM.sha256 @@ -1 +1 @@ -b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE +1033348db7606a7e61b6484f293847cf8d7a35766efebb97e304d4bd5d7f3f6b LICENSE