[Build][202012] Support Debian snapshot mirror to improve build stability (#14558)
#### Why I did it Cherry-pick commits from master to support the snapshot based mirror, and fix the code conflicts. And add the last commit to fix the build broken issue according to the mirror change.ad162ae0e
[Build] Optimize the version control for Debian packages (https://github.com/sonic-net/sonic-buildimage/pull/14557)38c5d7fce
[Build] Support j2 template for debian sources for docker ptf (https://github.com/sonic-net/sonic-buildimage/pull/13198)5e4826ebf
[Ci] Support to use the same snapshot for all platform builds (#13913)820692563
[Build] Change the default mirror version config file (#13786)5e4a866e3
[Build] Support Debian snapshot mirror to improve build stability (#13097)ac5d89c6a
[Build] Support j2 template for debian sources (#12557)
This commit is contained in:
parent
7c4b8bc813
commit
ae0a47dc6e
@ -40,12 +40,32 @@ parameters:
|
||||
- marvell-armhf
|
||||
|
||||
stages:
|
||||
- stage: Prepare
|
||||
jobs:
|
||||
- job: Prepare
|
||||
steps:
|
||||
- script: |
|
||||
DEFAULT_MIRROR_URL_PREFIX=http://packages.trafficmanager.net
|
||||
DEBIAN_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian/latest/timestamp)
|
||||
DEBIAN_SECURITY_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian-security/latest/timestamp)
|
||||
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP"
|
||||
echo "##vso[task.setvariable variable=DEBIAN_TIMESTAMP;isOutput=true]$DEBIAN_TIMESTAMP"
|
||||
echo "##vso[task.setvariable variable=DEBIAN_SECURITY_TIMESTAMP;isOutput=true]$DEBIAN_SECURITY_TIMESTAMP"
|
||||
name: SetVersions
|
||||
displayName: 'Set snapshot versions'
|
||||
- stage: Build
|
||||
dependsOn: Prepare
|
||||
variables:
|
||||
- name: CACHE_MODE
|
||||
value: none
|
||||
- name: VERSION_CONTROL_OPTIONS
|
||||
value: 'SONIC_VERSION_CONTROL_COMPONENTS='
|
||||
- name: SKIP_CHECKOUT
|
||||
value: true
|
||||
- name: DEBIAN_TIMESTAMP
|
||||
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_TIMESTAMP'] ]
|
||||
- name: DEBIAN_SECURITY_TIMESTAMP
|
||||
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_SECURITY_TIMESTAMP'] ]
|
||||
- template: .azure-pipelines/template-variables.yml@buildimage
|
||||
jobs:
|
||||
- template: azure-pipelines-build.yml
|
||||
@ -54,6 +74,21 @@ stages:
|
||||
buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} ENABLE_DOCKER_BASE_PULL=n SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y'
|
||||
preSteps:
|
||||
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage
|
||||
- checkout: self
|
||||
submodules: recursive
|
||||
fetchDepth: 0
|
||||
path: s
|
||||
displayName: 'Checkout code'
|
||||
- script: |
|
||||
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP"
|
||||
if [ "$MIRROR_SNAPSHOT" == y ]; then
|
||||
mkdir -p target/versions/default/
|
||||
echo "debian==$DEBIAN_TIMESTAMP" > target/versions/default/versions-mirror
|
||||
echo "debian-security==$DEBIAN_SECURITY_TIMESTAMP" >> target/versions/default/versions-mirror
|
||||
cat target/versions/default/versions-mirror
|
||||
fi
|
||||
displayName: 'Set snapshot versions'
|
||||
|
||||
- stage: UpgradeVersions
|
||||
jobs:
|
||||
- job: UpgradeVersions
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -77,3 +77,7 @@ files/build/tmp
|
||||
dockers/**/buildinfo
|
||||
platform/**/buildinfo
|
||||
sonic-slave*/**/buildinfo
|
||||
|
||||
# Debian mirror Sources
|
||||
sources.list.*
|
||||
!sources.list*.j2
|
||||
|
@ -135,12 +135,13 @@ SLAVE_IMAGE = $(SLAVE_BASE_IMAGE)-$(USER_LC)
|
||||
# Generate the version control build info
|
||||
$(shell SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
||||
TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||
scripts/generate_buildinfo_config.sh)
|
||||
|
||||
# Generate the slave Dockerfile, and prepare build info for it
|
||||
$(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) MULTIARCH_QEMU_ENVIRON=$(MULTIARCH_QEMU_ENVIRON) DOCKER_EXTRA_OPTS=$(DOCKER_EXTRA_OPTS) DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) j2 $(SLAVE_DIR)/Dockerfile.j2 > $(SLAVE_DIR)/Dockerfile)
|
||||
$(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) MULTIARCH_QEMU_ENVIRON=$(MULTIARCH_QEMU_ENVIRON) j2 $(SLAVE_DIR)/Dockerfile.user.j2 > $(SLAVE_DIR)/Dockerfile.user)
|
||||
$(shell BUILD_SLAVE=y DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) scripts/prepare_docker_buildinfo.sh $(SLAVE_BASE_IMAGE) $(SLAVE_DIR)/Dockerfile $(CONFIGURED_ARCH) "" $(BLDENV))
|
||||
$(shell BUILD_SLAVE=y DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/prepare_docker_buildinfo.sh $(SLAVE_BASE_IMAGE) $(SLAVE_DIR)/Dockerfile $(CONFIGURED_ARCH) "" $(BLDENV))
|
||||
|
||||
# Add the versions in the tag, if the version change, need to rebuild the slave
|
||||
SLAVE_BASE_TAG = $(shell cat $(SLAVE_DIR)/Dockerfile $(SLAVE_DIR)/buildinfo/versions/versions-* src/sonic-build-hooks/hooks/* | sha1sum | awk '{print substr($$1,0,11);}')
|
||||
@ -280,13 +281,20 @@ SONIC_BUILD_INSTRUCTION := make \
|
||||
SONIC_ENABLE_IMAGE_SIGNATURE=$(ENABLE_IMAGE_SIGNATURE) \
|
||||
SONIC_DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
||||
SLAVE_DIR=$(SLAVE_DIR) \
|
||||
MIRROR_URLS=$(MIRROR_URLS) \
|
||||
MIRROR_SECURITY_URLS=$(MIRROR_SECURITY_URLS) \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||
$(SONIC_OVERRIDE_BUILD_VARS)
|
||||
|
||||
.PHONY: sonic-slave-build sonic-slave-bash init reset
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
%::
|
||||
export MIRROR_URLS
|
||||
export MIRROR_SECURITY_URLS
|
||||
export SONIC_VERSION_CONTROL_COMPONENTS
|
||||
|
||||
%:: | sonic-build-hooks
|
||||
ifeq ($(MULTIARCH_QEMU_ENVIRON), y)
|
||||
@$(DOCKER_MULTIARCH_CHECK)
|
||||
ifneq ($(BLDENV), )
|
||||
@ -296,8 +304,6 @@ endif
|
||||
endif
|
||||
@$(OVERLAY_MODULE_CHECK)
|
||||
|
||||
@pushd src/sonic-build-hooks; TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) make all; popd
|
||||
@cp src/sonic-build-hooks/buildinfo/sonic-build-hooks* $(SLAVE_DIR)/buildinfo
|
||||
@docker inspect --type image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) &> /dev/null || \
|
||||
{ [ $(ENABLE_DOCKER_BASE_PULL) == y ] && { echo Image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) not found. Pulling...; } && \
|
||||
$(DOCKER_BASE_PULL) && \
|
||||
@ -322,6 +328,8 @@ endif
|
||||
sonic-build-hooks:
|
||||
@pushd src/sonic-build-hooks; TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) make all; popd
|
||||
@cp src/sonic-build-hooks/buildinfo/sonic-build-hooks* $(SLAVE_DIR)/buildinfo
|
||||
@[ "$(MULTIARCH_QEMU_ENVIRON)" == y ] && scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV)
|
||||
@scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV)
|
||||
|
||||
sonic-slave-base-build : sonic-build-hooks
|
||||
@$(OVERLAY_MODULE_CHECK)
|
||||
|
@ -107,6 +107,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT mount
|
||||
[ -d $TRUSTED_GPG_DIR ] && [ ! -z "$(ls $TRUSTED_GPG_DIR)" ] && sudo cp $TRUSTED_GPG_DIR/* ${FILESYSTEM_ROOT}/etc/apt/trusted.gpg.d/
|
||||
|
||||
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
|
||||
scripts/build_mirror_config.sh files/apt $CONFIGURED_ARCH $IMAGE_DISTRO
|
||||
sudo cp files/apt/sources.list.$CONFIGURED_ARCH $FILESYSTEM_ROOT/etc/apt/sources.list
|
||||
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages},no-check-valid-until} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
||||
|
||||
|
@ -27,13 +27,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Configure data sources for apt/dpkg
|
||||
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
||||
{% if CONFIGURED_ARCH == "armhf" %}
|
||||
COPY ["sources.list.armhf", "/etc/apt/sources.list"]
|
||||
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||
COPY ["sources.list.arm64", "/etc/apt/sources.list"]
|
||||
{% else %}
|
||||
COPY ["sources.list", "/etc/apt/sources.list"]
|
||||
{% endif %}
|
||||
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
||||
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
||||
COPY ["no-check-valid-until", "/etc/apt/apt.conf.d"]
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
## Debian mirror on Microsoft Azure
|
||||
## Ref: http://debian-archive.trafficmanager.net/
|
||||
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster-backports main contrib non-free
|
||||
|
||||
# Debian mirror supports multiple versions for a package
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster-backports main contrib non-free
|
@ -1,11 +0,0 @@
|
||||
## Debian mirror for ARM repo
|
||||
|
||||
# ARM repo
|
||||
deb [arch=arm64] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb-src [arch=arm64] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb [arch=arm64] http://security.debian.org buster/updates main contrib non-free
|
||||
deb-src [arch=arm64] http://security.debian.org buster/updates main contrib non-free
|
||||
deb [arch=arm64] http://deb.debian.org/debian/ buster-backports main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-backports main contrib non-free
|
@ -1,11 +0,0 @@
|
||||
## Debian mirror for ARM repo
|
||||
|
||||
# ARM repo
|
||||
deb [arch=armhf] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb-src [arch=armhf] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb [arch=armhf] http://security.debian.org buster/updates main contrib non-free
|
||||
deb-src [arch=armhf] http://security.debian.org buster/updates main contrib non-free
|
||||
deb [arch=armhf] http://deb.debian.org/debian/ buster-backports main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-backports main contrib non-free
|
@ -27,13 +27,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Configure data sources for apt/dpkg
|
||||
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
||||
{% if CONFIGURED_ARCH == "armhf" %}
|
||||
COPY ["sources.list.armhf", "/etc/apt/sources.list"]
|
||||
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||
COPY ["sources.list.arm64", "/etc/apt/sources.list"]
|
||||
{% else %}
|
||||
COPY ["sources.list", "/etc/apt/sources.list"]
|
||||
{% endif %}
|
||||
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
||||
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
||||
COPY ["no-check-valid-until", "/etc/apt/apt.conf.d"]
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
## Debian mirror on Microsoft Azure
|
||||
## Ref: http://debian-archive.trafficmanager.net/
|
||||
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian stretch-backports main contrib non-free
|
@ -1,11 +0,0 @@
|
||||
## Debian mirror for ARM repo
|
||||
|
||||
# ARM repo
|
||||
deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||
deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||
deb [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
||||
deb-src [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
||||
deb [arch=arm64] http://deb.debian.org/debian/ stretch-backports main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian stretch-backports main contrib non-free
|
@ -1,11 +0,0 @@
|
||||
## Debian mirror for ARM repo
|
||||
|
||||
# ARM repo
|
||||
deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||
deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||
deb [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
||||
deb-src [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
||||
deb [arch=armhf] http://deb.debian.org/debian/ stretch-backports main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian stretch-backports main contrib non-free
|
@ -9,9 +9,6 @@ FROM {{ prefix }}debian:stretch
|
||||
|
||||
MAINTAINER Pavel Shirshov
|
||||
|
||||
## Remove retired jessie-updates repo
|
||||
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
|
||||
|
||||
## Copy dependencies
|
||||
COPY \
|
||||
{% for deb in docker_ptf_debs.split(' ') -%}
|
||||
@ -19,13 +16,14 @@ debs/{{ deb }}{{' '}}
|
||||
{%- endfor -%}
|
||||
debs/
|
||||
|
||||
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
||||
|
||||
## Make apt-get non-interactive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
## Set the apt source, update package cache and install necessary packages
|
||||
## TODO: Clean up this step
|
||||
RUN sed --in-place 's/httpredir.debian.org/debian-archive.trafficmanager.net/' /etc/apt/sources.list \
|
||||
&& apt-get update \
|
||||
RUN apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get dist-upgrade -y \
|
||||
&& apt-get install -y \
|
||||
|
@ -1,13 +0,0 @@
|
||||
## Debian mirror on Microsoft Azure
|
||||
## Ref: http://debian-archive.trafficmanager.net/
|
||||
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free
|
||||
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free
|
||||
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster-backports main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb-src [arch=amd64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian-security/ buster_updates main contrib non-free
|
||||
deb-src [arch=amd64] http://packages.trafficmanager.net/debian/debian-security/ buster_updates main contrib non-free
|
||||
deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster-backports main contrib non-free
|
@ -1,13 +0,0 @@
|
||||
## Debian mirror for ARM
|
||||
## Not the repo mirror site can change in future, and needs to be updated to be in sync
|
||||
|
||||
deb [arch=arm64] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb-src [arch=arm64] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb [arch=arm64] http://deb.debian.org/debian buster-updates main contrib non-free
|
||||
deb-src [arch=arm64] http://deb.debian.org/debian buster-updates main contrib non-free
|
||||
deb [arch=arm64] http://ftp.debian.org/debian buster-backports main
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb-src [arch=arm64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb-src [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-backports main
|
@ -1,13 +0,0 @@
|
||||
## Debian mirror for ARM
|
||||
## Not the repo mirror site can change in future, and needs to be updated to be in sync
|
||||
|
||||
deb [arch=armhf] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb-src [arch=armhf] http://deb.debian.org/debian buster main contrib non-free
|
||||
deb [arch=armhf] http://deb.debian.org/debian buster-updates main contrib non-free
|
||||
deb-src [arch=armhf] http://deb.debian.org/debian buster-updates main contrib non-free
|
||||
deb [arch=armhf] http://ftp.debian.org/debian buster-backports main
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb-src [arch=armhf] http://packages.trafficmanager.net/debian/debian buster main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb-src [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free
|
||||
deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-backports main
|
20
files/apt/sources.list.j2
Normal file
20
files/apt/sources.list.j2
Normal file
@ -0,0 +1,20 @@
|
||||
# The configuration is generated by template
|
||||
# Please add additional sources in /etc/apt/sources.list.d
|
||||
|
||||
{% for mirror_url in MIRROR_URLS.split(',') %}
|
||||
deb [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }} main contrib non-free
|
||||
deb-src [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }} main contrib non-free
|
||||
deb [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}-updates main contrib non-free
|
||||
deb-src [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}-updates main contrib non-free
|
||||
deb [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}-backports main contrib non-free
|
||||
{% endfor %}
|
||||
{% for mirror_url in MIRROR_SECURITY_URLS.split(',') %}
|
||||
{% set dist_separator='/' %}{% if 'packages.trafficmanager.net/debian' in mirror_url %}{% set dist_separator='_' %}{% endif %}
|
||||
{% if DISTRIBUTION == 'stretch' or DISTRIBUTION == 'buster' %}
|
||||
deb [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}{{ dist_separator }}updates main contrib non-free
|
||||
deb-src [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}{{ dist_separator }}updates main contrib non-free
|
||||
{% else %}
|
||||
deb [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}-security main contrib non-free
|
||||
deb-src [arch={{ ARCHITECTURE }}] {{ mirror_url }} {{ DISTRIBUTION }}-security main contrib non-free
|
||||
{% endif %}
|
||||
{% endfor %}
|
@ -1,14 +0,0 @@
|
||||
https://github.com/CESNET/libyang.git==9a4e5b2ce30b9696116d6e654ee55caab5aafed8
|
||||
https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b
|
||||
https://github.com/jeroennijhof/pam_tacplus.git==4284d9016e64def2bb81d5f50f96dc3b59bfdc39
|
||||
https://github.com/jpirko/libteam.git==61e27812c1074a865d7e1a778c0ce442837c28d7
|
||||
https://github.com/Mellanox/libpsample.git==62bb27d9a49424e45191eee81df7ce0d8c74e774
|
||||
https://github.com/sflow/host-sflow==ae3d577fc497388d1dd75987fe131c1ad02c01d6
|
||||
https://github.com/sflow/sflowtool==4ce1223bb4c2cd0cbb1dd688dc0914561fcbb6c4
|
||||
https://github.com/thom311/libnl==cbafad9ddf24caef5230fef715d34f0539603be0
|
||||
https://salsa.debian.org/debian/libteam.git==48142125234a665ad5367b724af36a58fb484d3d
|
||||
https://salsa.debian.org/dhcp-team/isc-dhcp.git==7a6f5a9d178439a56a8eb0cd4446329a8d5631ce
|
||||
https://salsa.debian.org/kernel-team/ethtool/==68409b09a969b49a07fbf3930409f155b953434b
|
||||
https://salsa.debian.org/kernel-team/initramfs-tools.git==40e544e13611c1b2690eb99a8096fc16c1b9c74e
|
||||
https://salsa.debian.org/sk-guest/monit.git==c9da7ebb1f35dfba17b50b5969a6e75e29cbec0d
|
||||
https://salsa.debian.org/ssh-team/openssh.git==4cb9ac54235e8f90a590a976e1404480fb521930
|
@ -1,44 +0,0 @@
|
||||
http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.debian.tar.xz==c27e499611c48ba307792518d29cdcc7
|
||||
http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.dsc==d9572a9f48c88293341681601a7b18c5
|
||||
http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2.orig.tar.bz2==944558e88ddcc3b9b0d9550070fa3599
|
||||
http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.5.0-3.debian.tar.xz==c2a4cd6b79350378ca9a337b45b732c5
|
||||
http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.5.0-3.dsc==86e28662fa00bec000f22257d212873d
|
||||
http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.5.0.orig.tar.gz==37981f5d3a0f649381529cb41c0f1ff3
|
||||
http://deb.debian.org/debian/pool/main/m/makedumpfile/makedumpfile_1.6.1-1.debian.tar.xz==a677f850ad1e4f2600cc9c3f3c872927
|
||||
http://deb.debian.org/debian/pool/main/m/makedumpfile/makedumpfile_1.6.1.orig.tar.gz==16c0ae9902ae57be4a603a6ab1e86c53
|
||||
http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p12+dfsg-4.debian.tar.xz==bec40e0bda23a893e76843579c68d901
|
||||
http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p12+dfsg.orig.tar.xz==71044a49f4ab09c9bc10ed9862d22939
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0-6.debian.tar.xz==4c0d6cab366b4fdb0372299ecc8a219a
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0-6.dsc==278cfe25d286d1840ee366b557ed6ab0
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0.orig.tar.gz==38a27d391a2b03214b444cb13d5664f1
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.debian.tar.xz==ef340aedc6fd42c549cd503bffb498b2
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.dsc==be4ce11ef67268e59e4b6be587327c40
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0.orig.tar.gz==6d565680a4af0d2e261abbc3e3431b2b
|
||||
https://github.com/aristanetworks/sonic-firmware/raw/6d0d1661d92a342acedb6839dba970ae5778b478/phy/phy-credo_1.0_amd64.deb==dd74acbb7bf979b01c1a89e2a628aaf3
|
||||
https://github.com/CumulusNetworks/ifupdown2/archive/1.2.8-1.tar.gz==12f45e90d23178e96cf70f68dc9455e6
|
||||
https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.5/swagger-codegen-cli-2.4.5.jar==219f1453ff22482d9e080effbfa7fa81
|
||||
https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_4.19.152-1.debian.tar.xz==875d84b0edad0210c090195a8df4eb6c
|
||||
https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_4.19.152-1.dsc==e76d5deda89795939828c3b39b31d38f
|
||||
https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_4.19.152.orig.tar.xz==e3afaa4ac1387449dec703da494dd991
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4-1.debian.tar.xz==0a529cf8d1717b5c3dbe0c61b3512aa1
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4-1.dsc==b88b922d96688c948e90987fcaa3a2de
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4.orig.tar.gz==33e8d58623f99184e4e709cbbfe45db3
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang_1.0.184-2.debian.tar.xz==f159fbedc0b69d00b2bdb08db283c0bb
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang_1.0.184-2.dsc==98c68654fadc116346007be9282ae357
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang_1.0.184.orig.tar.gz==0ddfdf2dba5e73486c133c1fba1b3e8e
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.debian.tar.xz==ad957e90207d0669beb2109e4e325def
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.dsc==2443e4dffbdb020e7ab4f947a7904912
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg.orig.tar.xz==6391ae27eb1ae34ff5530712bb1c4209
|
||||
https://sonicstorage.blob.core.windows.net/packages/20190307/bcmcmd?sv=2015-04-05&sr=b&sig=sUdbU7oVbh5exbXXHVL5TDFBTWDDBASHeJ8Cp0B0TIc%3D&se=2038-05-06T22%3A34%3A19Z&sp=r==b8aefc751bdf93218716bca6797460ff
|
||||
https://sonicstorage.blob.core.windows.net/packages/20190307/dsserve?sv=2015-04-05&sr=b&sig=lk7BH3DtW%2F5ehc0Rkqfga%2BUCABI0UzQmDamBsZH9K6w%3D&se=2038-05-06T22%3A34%3A45Z&sp=r==f9d4b815ebb9be9f755dedca8a51170d
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/smartmontools_6.6-1.debian.tar.xz?sv=2015-04-05&sr=b&sig=H0RFeC41MCvhTQCln85DuPLn5v2goozwz%2FB9sA9p5eQ%3D&se=2046-08-20T23%3A46%3A02Z&sp=r==47a284f4762f86ba24753ea75d85e6cb
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/smartmontools_6.6-1.dsc?sv=2015-04-05&sr=b&sig=IS7FKUN%2Bvq0T55f4X2hGAViB70Y%2FgzjGgvzpUJLyUfA%3D&se=2046-08-20T23%3A46%3A57Z&sp=r==151f97b46df2dafbd5bb954bb419642c
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/smartmontools_6.6.orig.tar.gz?sv=2015-04-05&sr=b&sig=JZx4qiLuO36T0rsGqk4V2RDuWjRw6NztsLK7vlBYAkg%3D&se=2046-08-20T23%3A47%3A13Z&sp=r==9ae2c6e7131cd2813edcc65cbe5f223f
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.3.1-2+deb9u1.debian.tar.xz?sv=2015-04-05&sr=b&sig=yv77Fr5RtZgRTPmJK3j0lZ0BzsCiGaSs2i7NqQKEy2Y%3D&se=2155-07-05T11%3A39%3A59Z&sp=r==84dc9e966e116384ac13aeca16b9437a
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.3.1-2+deb9u1.dsc?sv=2015-04-05&sr=b&sig=Ph7aMqb%2F%2FE%2F8qwxMXoXb5oK1YPkfVt6PV8mBBv5Wi%2F4%3D&se=2155-07-05T11%3A42%3A29Z&sp=r==b14d356861eaa916f7f19098ab7b1d4e
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.3.1.orig.tar.gz?sv=2015-04-05&sr=b&sig=0Ai1FM604aGsF5uBu2yN8w9O1a6zNjIDCdaiTo24DyQ%3D&se=2155-07-05T11%3A40%3A14Z&sp=r==fbab6334919cbd71433213db18dbbdf0
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0-4.debian.tar.xz?sv=2015-04-05&sr=b&sig=dj9uJ5YjUNupcmuxSX6%2F5IS9NqaGAyM9iF2h%2F2rROZA%3D&se=2156-02-02T17%3A19%3A34Z&sp=r==52ad383b97ad051f4d1d25b54aaad569
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0-4.dsc?sv=2015-04-05&sr=b&sig=pWfg55owvQ2jZtZ6ylHp0OP8uZyfc9sxO6H%2BP4Ez7w4%3D&se=2156-02-02T17%3A20%3A05Z&sp=r==6917fe7b3ada9313be94713dd50fee7b
|
||||
https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0.orig.tar.gz?sv=2015-04-05&sr=b&sig=%2BrAjWESiSNRCMN7NGqEqVGceLefpwwS%2FWPKEfJpPLSQ%3D&se=2156-02-02T17%3A17%3A20Z&sp=r==0be59730ebce071eceaf6bfdb8d3a20e
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm-dev_4.3.7.1-7_amd64.deb==ec7a1c729dca33d18a71ac8a15f5ef0b
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm_4.3.7.1-7_amd64.deb==29314badd4324537d6be08acfff59d02
|
@ -1,2 +0,0 @@
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm-dev_4.3.7.1-7_amd64.deb==ec7a1c729dca33d18a71ac8a15f5ef0b
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm_4.3.7.1-7_amd64.deb==29314badd4324537d6be08acfff59d02
|
@ -1,4 +1,4 @@
|
||||
https://chromium.googlesource.com/chromium/tools/depot_tools.git==9e36ef60d0b3b3da1d79cf388275697281d27f21
|
||||
https://chromium.googlesource.com/chromium/tools/depot_tools.git==0d6cb8fa70c61b13dd2341c220fafdd1db2c30fe
|
||||
https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f
|
||||
https://github.com/CESNET/libyang.git==9a4e5b2ce30b9696116d6e654ee55caab5aafed8
|
||||
https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b
|
||||
|
14
files/build/versions/default/versions-mirror
Normal file
14
files/build/versions/default/versions-mirror
Normal file
@ -0,0 +1,14 @@
|
||||
deb.nodesource.com_node%5f10.x_dists_stretch==2021-04-06T21:05:39Z
|
||||
deb.nodesource.com_node%5f14.x_dists_buster==2023-02-17T00:35:28Z
|
||||
debian==20230420T000327Z
|
||||
debian-security==20230420T000140Z
|
||||
download.docker.com_linux_debian_dists_buster==2023-04-17T19:08:10Z
|
||||
download.docker.com_linux_debian_dists_stretch==2021-02-01T21:46:06Z
|
||||
packages.microsoft.com_repos_sonic-dev_dists_jessie==2022-10-31T19:34:29Z
|
||||
packages.trafficmanager.net_snapshot_debian-security_20230420T000140Z_dists_buster_updates==2023-04-19T23:04:41Z
|
||||
packages.trafficmanager.net_snapshot_debian-security_20230420T000140Z_dists_stretch_updates==2023-02-18T04:22:44Z
|
||||
packages.trafficmanager.net_snapshot_debian_20230420T000327Z_dists_buster==2022-09-10T11:30:54Z
|
||||
packages.trafficmanager.net_snapshot_debian_20230420T000327Z_dists_buster-backports==2023-04-19T20:11:39Z
|
||||
packages.trafficmanager.net_snapshot_debian_20230420T000327Z_dists_buster-updates==2023-04-19T20:11:40Z
|
||||
packages.trafficmanager.net_snapshot_debian_20230420T000327Z_dists_stretch-backports==2023-03-30T14:20:42Z
|
||||
packages.trafficmanager.net_snapshot_debian_20230420T000327Z_dists_stretch-updates==2021-08-14T07:47:11Z
|
@ -11,6 +11,9 @@ http://deb.debian.org/debian/pool/main/m/makedumpfile/makedumpfile_1.6.1-1.debia
|
||||
http://deb.debian.org/debian/pool/main/m/makedumpfile/makedumpfile_1.6.1.orig.tar.gz==16c0ae9902ae57be4a603a6ab1e86c53
|
||||
http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p12+dfsg-4.debian.tar.xz==bec40e0bda23a893e76843579c68d901
|
||||
http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p12+dfsg.orig.tar.xz==71044a49f4ab09c9bc10ed9862d22939
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0-6.debian.tar.xz==4c0d6cab366b4fdb0372299ecc8a219a
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0-6.dsc==278cfe25d286d1840ee366b557ed6ab0
|
||||
http://deb.debian.org/debian/pool/main/t/thrift//thrift_0.13.0.orig.tar.gz==38a27d391a2b03214b444cb13d5664f1
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.debian.tar.xz==ef340aedc6fd42c549cd503bffb498b2
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.dsc==be4ce11ef67268e59e4b6be587327c40
|
||||
http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0.orig.tar.gz==6d565680a4af0d2e261abbc3e3431b2b
|
||||
@ -20,8 +23,9 @@ https://deb.nodesource.com/gpgkey/nodesource.gpg.key==003b51a89a133b5db4cca98b2d
|
||||
https://deb.nodesource.com/node_10.x/dists/stretch/Release==22738118af583db3bfad39d6fcb4fa5a
|
||||
https://deb.nodesource.com/node_14.x/dists/buster/Release==42875141604382f0abb4d047f645dfe1
|
||||
https://deb.nodesource.com/setup_10.x==6742c0148159980e8f6e886df1f8bbe1
|
||||
https://deb.nodesource.com/setup_14.x==6c6544a971533fb0e3c6ef55b15e0c54
|
||||
https://deb.nodesource.com/setup_14.x==1c9de9348c0acd5f2ee422a6d0c333b3
|
||||
https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15
|
||||
https://github.com/aristanetworks/sonic-firmware/raw/6d0d1661d92a342acedb6839dba970ae5778b478/phy/phy-credo_1.0_amd64.deb==dd74acbb7bf979b01c1a89e2a628aaf3
|
||||
https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/bfnplatform_20220221_sai.1.7.1_deb10.deb==65de37f7834823ba69ab5e55acc5c5f4
|
||||
https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/bfnsdk_20220221_sai.1.7.1_deb10.deb==75df8156b85467b501dc67f1914d6ed7
|
||||
https://github.com/CentecNetworks/sonic-binaries/raw/master/amd64/libsai_1.6.3-1_amd64.deb==e7a41e5cf06b44ae3ed615d553de40d3
|
||||
@ -72,6 +76,7 @@ https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.debian.tar.xz==ad957e90207d0669beb2109e4e325def
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.dsc==2443e4dffbdb020e7ab4f947a7904912
|
||||
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg.orig.tar.xz==6391ae27eb1ae34ff5530712bb1c4209
|
||||
https://sonicstorage.blob.core.windows.net/packages/20190307/bcmcmd?sv=2015-04-05&sr=b&sig=sUdbU7oVbh5exbXXHVL5TDFBTWDDBASHeJ8Cp0B0TIc%3D&se=2038-05-06T22%3A34%3A19Z&sp=r==b8aefc751bdf93218716bca6797460ff
|
||||
https://sonicstorage.blob.core.windows.net/packages/20190307/dsserve?sv=2015-04-05&sr=b&sig=lk7BH3DtW%2F5ehc0Rkqfga%2BUCABI0UzQmDamBsZH9K6w%3D&se=2038-05-06T22%3A34%3A45Z&sp=r==f9d4b815ebb9be9f755dedca8a51170d
|
||||
https://sonicstorage.blob.core.windows.net/packages/cmake/cmake-data_3.13.2-1_bpo9%2B1_all.deb?st=2020-03-27T02%3A22%3A24Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=Xby%2Bm3OZOjPB%2FSlDbHD65yDcPzAgoys%2FA3vK8RB4BzA%3D==147cf42f3a68f6d6f1e53d95a599a1af
|
||||
https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_amd64.deb?st=2020-03-27T02%3A27%3A21Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=4MvmmDBQuicFEJYakLm7xCNU19yJ8GIP4ankFSnITKY%3D==e75c741e8b6918b8f03625e456fa0275
|
||||
@ -93,6 +98,8 @@ https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1~b
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1_bpo10+1_arm64.deb?sv=2015-04-05&sr=b&sig=GbkJV2wWln3hoz27zKi5erdk3NDKrAFrQriA97bcRCY%3D&se=2030-10-24T04%3A22%3A21Z&sp=r==282b4766cc9ac7d8bb70622bd69d9f5c
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1_bpo10+1_armhf.deb?sv=2015-04-05&sr=b&sig=67vHAMxsl%2BS3X1KsqhdYhakJkGdg5FKSPgU8kUiw4as%3D&se=2030-10-24T04%3A22%3A40Z&sp=r==62f287117afab6caaec564232ebbb5de
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r==2d58c3c3358290c04d5e0ba70f297f18
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm-dev_4.3.7.1-7_amd64.deb==ec7a1c729dca33d18a71ac8a15f5ef0b
|
||||
https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_4.3_202012/4.3.7.1-7/libsaibcm_4.3.7.1-7_amd64.deb==29314badd4324537d6be08acfff59d02
|
||||
https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282
|
||||
https://storage.googleapis.com/golang/go1.14.2.linux-arm64.tar.gz==e5f79b403701e00f20d13f0ea561b064
|
||||
https://storage.googleapis.com/golang/go1.14.2.linux-armv6l.tar.gz==04467414e783b18de4278e9f24baf4be
|
@ -1 +0,0 @@
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r==2d58c3c3358290c04d5e0ba70f297f18
|
@ -1,2 +0,0 @@
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=2Ketg7BmkZEaTxR%2FgvAFVmhjn7ywdmkc7l2T2rsL57o%3D&se=2030-09-06T19%3A45%3A20Z&sp=r==09af97c096f4c854d238f91614a3415b
|
||||
https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r==2d58c3c3358290c04d5e0ba70f297f18
|
@ -1,2 +0,0 @@
|
||||
https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz==6f56ef28c93cee644e8c4aaaef7cfb55
|
||||
https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py==628956b660575965429cec84b1778816
|
@ -1,2 +0,0 @@
|
||||
https://chromium.googlesource.com/chromium/tools/depot_tools.git==9e36ef60d0b3b3da1d79cf388275697281d27f21
|
||||
https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f
|
@ -1,2 +0,0 @@
|
||||
https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15
|
||||
https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282
|
@ -1,2 +0,0 @@
|
||||
https://chromium.googlesource.com/chromium/tools/depot_tools.git==9e36ef60d0b3b3da1d79cf388275697281d27f21
|
||||
https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f
|
@ -1,4 +0,0 @@
|
||||
https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15
|
||||
https://sonicstorage.blob.core.windows.net/packages/cmake/cmake-data_3.13.2-1_bpo9%2B1_all.deb?st=2020-03-27T02%3A22%3A24Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=Xby%2Bm3OZOjPB%2FSlDbHD65yDcPzAgoys%2FA3vK8RB4BzA%3D==147cf42f3a68f6d6f1e53d95a599a1af
|
||||
https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_amd64.deb?st=2020-03-27T02%3A27%3A21Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=4MvmmDBQuicFEJYakLm7xCNU19yJ8GIP4ankFSnITKY%3D==e75c741e8b6918b8f03625e456fa0275
|
||||
https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282
|
@ -1,56 +1,13 @@
|
||||
binutils-aarch64-linux-gnu==2.31.1-16
|
||||
bzip2==1.0.6-9.2~deb10u1
|
||||
curl==7.64.0-4+deb10u2
|
||||
dbus==1.12.20-0+deb10u1
|
||||
distro-info-data==0.41+deb10u5
|
||||
grub-common==2.06-3~deb10u1
|
||||
grub2-common==2.06-3~deb10u1
|
||||
icu-devtools==63.1-6+deb10u3
|
||||
isc-dhcp-client==4.4.1-2+deb10u1
|
||||
libc-dev-bin==2.28-10+deb10u1
|
||||
libc-l10n==2.28-10+deb10u1
|
||||
libc6-dev==2.28-10+deb10u1
|
||||
libcryptsetup12==2:2.3.7-1+deb11u1~bpo10+1
|
||||
libcurl3-gnutls==7.64.0-4+deb10u2
|
||||
libcurl4==7.64.0-4+deb10u2
|
||||
libdbus-1-3==1.12.20-0+deb10u1
|
||||
libdns-export1104==1:9.11.5.P4+dfsg-5.1+deb10u7
|
||||
libexpat1==2.2.6-2+deb10u4
|
||||
libexpat1-dev==2.2.6-2+deb10u4
|
||||
libglib2.0-0==2.58.3-2+deb10u3
|
||||
libgssapi-krb5-2==1.17-3+deb10u4
|
||||
libicu-dev==63.1-6+deb10u3
|
||||
libicu63==63.1-6+deb10u3
|
||||
libisc-export1100==1:9.11.5.P4+dfsg-5.1+deb10u7
|
||||
libk5crypto3==1.17-3+deb10u4
|
||||
libkrb5-3==1.17-3+deb10u4
|
||||
libkrb5support0==1.17-3+deb10u4
|
||||
libksba8==1.3.5-2
|
||||
libncurses6==6.1+20181013-2+deb10u2
|
||||
libpython3.7==3.7.3-2+deb10u3
|
||||
libpython3.7-dev==3.7.3-2+deb10u3
|
||||
libpython3.7-minimal==3.7.3-2+deb10u3
|
||||
libpython3.7-stdlib==3.7.3-2+deb10u3
|
||||
libsqlite3-0==3.27.2-3+deb10u1
|
||||
libssl-dev==1.1.1n-0+deb10u3
|
||||
libssl1.1==1.1.1n-0+deb10u3
|
||||
libxml2==2.9.4+dfsg1-7+deb10u4
|
||||
libxml2-dev==2.9.4+dfsg1-7+deb10u4
|
||||
libxslt1-dev==1.1.32-2.2~deb10u1
|
||||
libxslt1.1==1.1.32-2.2~deb10u1
|
||||
libxml2==2.9.4+dfsg1-7+deb10u5
|
||||
libxml2-dev==2.9.4+dfsg1-7+deb10u5
|
||||
libxslt1-dev==1.1.32-2.2~deb10u2
|
||||
libxslt1.1==1.1.32-2.2~deb10u2
|
||||
linux-image-4.19.0-12-2-arm64-unsigned==4.19.152-1
|
||||
linux-libc-dev==4.19.249-2
|
||||
locales==2.28-10+deb10u1
|
||||
openssl==1.1.1n-0+deb10u3
|
||||
pkg-config==0.29-6
|
||||
python3.7==3.7.3-2+deb10u3
|
||||
python3.7-dev==3.7.3-2+deb10u3
|
||||
python3.7-minimal==3.7.3-2+deb10u3
|
||||
sudo==1.8.27-1+deb10u3
|
||||
tsingma-bsp==1.0
|
||||
unzip==6.0-23+deb10u2
|
||||
vim==2:8.1.0875-5+deb10u2
|
||||
vim-common==2:8.1.0875-5+deb10u2
|
||||
vim-runtime==2:8.1.0875-5+deb10u2
|
||||
xxd==2:8.1.0875-5+deb10u2
|
||||
zlib1g-dev==1:1.2.11.dfsg-1+deb10u1
|
||||
zlib1g-dev==1:1.2.11.dfsg-1+deb10u2
|
@ -1,56 +1,13 @@
|
||||
binutils-arm-linux-gnueabihf==2.31.1-16
|
||||
bzip2==1.0.6-9.2~deb10u1
|
||||
curl==7.64.0-4+deb10u2
|
||||
dbus==1.12.20-0+deb10u1
|
||||
distro-info-data==0.41+deb10u5
|
||||
grub-common==2.06-3~deb10u1
|
||||
grub2-common==2.06-3~deb10u1
|
||||
icu-devtools==63.1-6+deb10u3
|
||||
isc-dhcp-client==4.4.1-2+deb10u1
|
||||
libc-dev-bin==2.28-10+deb10u1
|
||||
libc-l10n==2.28-10+deb10u1
|
||||
libc6-dev==2.28-10+deb10u1
|
||||
libcryptsetup12==2:2.3.7-1+deb11u1~bpo10+1
|
||||
libcurl3-gnutls==7.64.0-4+deb10u2
|
||||
libcurl4==7.64.0-4+deb10u2
|
||||
libdbus-1-3==1.12.20-0+deb10u1
|
||||
libdns-export1104==1:9.11.5.P4+dfsg-5.1+deb10u7
|
||||
libexpat1==2.2.6-2+deb10u4
|
||||
libexpat1-dev==2.2.6-2+deb10u4
|
||||
libglib2.0-0==2.58.3-2+deb10u3
|
||||
libgssapi-krb5-2==1.17-3+deb10u4
|
||||
libicu-dev==63.1-6+deb10u3
|
||||
libicu63==63.1-6+deb10u3
|
||||
libisc-export1100==1:9.11.5.P4+dfsg-5.1+deb10u7
|
||||
libk5crypto3==1.17-3+deb10u4
|
||||
libkrb5-3==1.17-3+deb10u4
|
||||
libkrb5support0==1.17-3+deb10u4
|
||||
libksba8==1.3.5-2
|
||||
libncurses6==6.1+20181013-2+deb10u2
|
||||
libpython3.7==3.7.3-2+deb10u3
|
||||
libpython3.7-dev==3.7.3-2+deb10u3
|
||||
libpython3.7-minimal==3.7.3-2+deb10u3
|
||||
libpython3.7-stdlib==3.7.3-2+deb10u3
|
||||
libsqlite3-0==3.27.2-3+deb10u1
|
||||
libssl-dev==1.1.1n-0+deb10u3
|
||||
libssl1.1==1.1.1n-0+deb10u3
|
||||
libxml2==2.9.4+dfsg1-7+deb10u4
|
||||
libxml2-dev==2.9.4+dfsg1-7+deb10u4
|
||||
libxslt1-dev==1.1.32-2.2~deb10u1
|
||||
libxslt1.1==1.1.32-2.2~deb10u1
|
||||
libxml2==2.9.4+dfsg1-7+deb10u5
|
||||
libxml2-dev==2.9.4+dfsg1-7+deb10u5
|
||||
libxslt1-dev==1.1.32-2.2~deb10u2
|
||||
libxslt1.1==1.1.32-2.2~deb10u2
|
||||
linux-image-4.19.0-12-2-armmp==4.19.152-1
|
||||
linux-libc-dev==4.19.249-2
|
||||
locales==2.28-10+deb10u1
|
||||
mrvlprestera==1.0
|
||||
openssl==1.1.1n-0+deb10u3
|
||||
pkg-config==0.29-6
|
||||
python3.7==3.7.3-2+deb10u3
|
||||
python3.7-dev==3.7.3-2+deb10u3
|
||||
python3.7-minimal==3.7.3-2+deb10u3
|
||||
sudo==1.8.27-1+deb10u3
|
||||
unzip==6.0-23+deb10u2
|
||||
vim==2:8.1.0875-5+deb10u2
|
||||
vim-common==2:8.1.0875-5+deb10u2
|
||||
vim-runtime==2:8.1.0875-5+deb10u2
|
||||
xxd==2:8.1.0875-5+deb10u2
|
||||
zlib1g-dev==1:1.2.11.dfsg-1+deb10u1
|
||||
zlib1g-dev==1:1.2.11.dfsg-1+deb10u2
|
@ -1 +0,0 @@
|
||||
https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15
|
@ -186,6 +186,9 @@ TRUSTED_GPG_URLS = https://packages.trafficmanager.net/debian/public_key.gpg,htt
|
||||
# docker: docker base images
|
||||
SONIC_VERSION_CONTROL_COMPONENTS ?= none
|
||||
|
||||
# MIRROR_SNAPSHOT - support mirror snapshot flag
|
||||
MIRROR_SNAPSHOT ?= n
|
||||
|
||||
# SONiC docker registry
|
||||
#
|
||||
# Set the env variable ENABLE_DOCKER_BASE_PULL = y to enable pulling sonic-slave docker from registry
|
||||
|
55
scripts/build_mirror_config.sh
Executable file
55
scripts/build_mirror_config.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Generate the sources.list.<arch> in the config path
|
||||
CONFIG_PATH=$1
|
||||
export ARCHITECTURE=$2
|
||||
export DISTRIBUTION=$3
|
||||
|
||||
DEFAULT_MIRROR_URL_PREFIX=http://packages.trafficmanager.net
|
||||
MIRROR_VERSION_FILE=
|
||||
[[ "$SONIC_VERSION_CONTROL_COMPONENTS" == *deb* || $SONIC_VERSION_CONTROL_COMPONENTS == *all* ]] && MIRROR_VERSION_FILE=files/build/versions/default/versions-mirror
|
||||
[ -f target/versions/default/versions-mirror ] && MIRROR_VERSION_FILE=target/versions/default/versions-mirror
|
||||
|
||||
# The default mirror urls
|
||||
DEFAULT_MIRROR_URLS=http://debian-archive.trafficmanager.net/debian/,http://packages.trafficmanager.net/debian/debian/
|
||||
DEFAULT_MIRROR_SECURITY_URLS=http://debian-archive.trafficmanager.net/debian-security/,http://packages.trafficmanager.net/debian/debian-security/
|
||||
|
||||
|
||||
# The debian-archive.trafficmanager.net does not support armhf, use debian.org instead
|
||||
if [ "$ARCHITECTURE" == "armhf" ]; then
|
||||
DEFAULT_MIRROR_URLS=http://deb.debian.org/debian/,http://packages.trafficmanager.net/debian/debian/
|
||||
DEFAULT_MIRROR_SECURITY_URLS=http://deb.debian.org/debian-security/,http://packages.trafficmanager.net/debian/debian-security/
|
||||
fi
|
||||
|
||||
if [ "$MIRROR_SNAPSHOT" == y ]; then
|
||||
if [ -f "$MIRROR_VERSION_FILE" ]; then
|
||||
DEBIAN_TIMESTAMP=$(grep "^debian==" $MIRROR_VERSION_FILE | tail -n 1 | sed 's/.*==//')
|
||||
DEBIAN_SECURITY_TIMESTAMP=$(grep "^debian-security==" $MIRROR_VERSION_FILE | tail -n 1 | sed 's/.*==//')
|
||||
elif [ -z "$DEBIAN_TIMESTAMP" ] || [ -z "$DEBIAN_SECURITY_TIMESTAMP" ]; then
|
||||
DEBIAN_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian/latest/timestamp)
|
||||
DEBIAN_SECURITY_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian-security/latest/timestamp)
|
||||
fi
|
||||
|
||||
DEFAULT_MIRROR_URLS=http://deb.debian.org/debian/,http://packages.trafficmanager.net/snapshot/debian/$DEBIAN_TIMESTAMP/
|
||||
DEFAULT_MIRROR_SECURITY_URLS=http://deb.debian.org/debian-security/,http://packages.trafficmanager.net/snapshot/debian-security/$DEBIAN_SECURITY_TIMESTAMP/
|
||||
|
||||
mkdir -p target/versions/default
|
||||
if [ ! -f target/versions/default/versions-mirror ]; then
|
||||
echo "debian==$DEBIAN_TIMESTAMP" > target/versions/default/versions-mirror
|
||||
echo "debian-security==$DEBIAN_SECURITY_TIMESTAMP" >> target/versions/default/versions-mirror
|
||||
fi
|
||||
fi
|
||||
|
||||
[ -z "$MIRROR_URLS" ] && MIRROR_URLS=$DEFAULT_MIRROR_URLS
|
||||
[ -z "$MIRROR_SECURITY_URLS" ] && MIRROR_SECURITY_URLS=$DEFAULT_MIRROR_SECURITY_URLS
|
||||
|
||||
TEMPLATE=files/apt/sources.list.j2
|
||||
[ -f files/apt/sources.list.$ARCHITECTURE.j2 ] && TEMPLATE=files/apt/sources.list.$ARCHITECTURE.j2
|
||||
[ -f $CONFIG_PATH/sources.list.j2 ] && TEMPLATE=$CONFIG_PATH/sources.list.j2
|
||||
[ -f $CONFIG_PATH/sources.list.$ARCHITECTURE.j2 ] && TEMPLATE=$CONFIG_PATH/sources.list.$ARCHITECTURE.j2
|
||||
|
||||
MIRROR_URLS=$MIRROR_URLS MIRROR_SECURITY_URLS=$MIRROR_SECURITY_URLS j2 $TEMPLATE | sed '/^$/N;/^\n$/D' > $CONFIG_PATH/sources.list.$ARCHITECTURE
|
||||
if [ "$MIRROR_SNAPSHOT" == y ]; then
|
||||
# Set the snapshot mirror, and add the SET_REPR_MIRRORS flag
|
||||
sed -i -e "/^#*deb.*packages.trafficmanager.net/! s/^#*deb/#&/" -e "\$a#SET_REPR_MIRRORS" $CONFIG_PATH/sources.list.$ARCHITECTURE
|
||||
fi
|
@ -8,3 +8,4 @@ mkdir -p $BUILDINFO_PATH/buildinfo/config
|
||||
|
||||
echo "PACKAGE_URL_PREFIX=$PACKAGE_URL_PREFIX" > $BUILDINFO_CONFIG
|
||||
echo "SONIC_VERSION_CONTROL_COMPONENTS=$SONIC_VERSION_CONTROL_COMPONENTS" >> $BUILDINFO_CONFIG
|
||||
echo "export MIRROR_SNAPSHOT=$MIRROR_SNAPSHOT" >> $BUILDINFO_CONFIG
|
||||
|
@ -22,6 +22,10 @@ if [ -z "$DISTRO" ]; then
|
||||
[ -z "$DISTRO" ] && DISTRO=jessie
|
||||
fi
|
||||
|
||||
if [[ "$IMAGENAME" == sonic-slave-* ]] || [[ "$IMAGENAME" == docker-base-* ]] || [[ "$IMAGENAME" == docker-ptf ]]; then
|
||||
scripts/build_mirror_config.sh ${DOCKERFILE_PATH} $ARCH $DISTRO
|
||||
fi
|
||||
|
||||
# add script for reproducible build. using sha256 instead of tag for docker base image.
|
||||
scripts/docker_version_control.sh $@
|
||||
|
||||
|
@ -475,12 +475,13 @@ class VersionBuild:
|
||||
module.filter(ctypes=ctypes)
|
||||
|
||||
def get_default_module(self):
|
||||
if DEFAULT_MODULE in self.modules:
|
||||
return self.modules[DEFAULT_MODULE]
|
||||
default_module = self.modules.get(DEFAULT_MODULE, VersionModule(DEFAULT_MODULE, []))
|
||||
ctypes = self.get_component_types()
|
||||
dists = self.get_dists()
|
||||
components = []
|
||||
for ctype in ctypes:
|
||||
if ctype in DEFAULT_OVERWRITE_COMPONENTS:
|
||||
continue
|
||||
if ctype == 'deb':
|
||||
for dist in dists:
|
||||
versions = self._get_versions(ctype, dist)
|
||||
@ -492,7 +493,9 @@ class VersionBuild:
|
||||
common_versions = self._get_common_versions(versions)
|
||||
component = Component(common_versions, ctype)
|
||||
components.append(component)
|
||||
return VersionModule(DEFAULT_MODULE, components)
|
||||
module = VersionModule(DEFAULT_MODULE, components)
|
||||
module.overwrite(default_module, True, True)
|
||||
return module
|
||||
|
||||
def get_aggregatable_modules(self):
|
||||
modules = {}
|
||||
|
3
slave.mk
3
slave.mk
@ -75,6 +75,7 @@ export IMAGE_DISTRO
|
||||
export IMAGE_DISTRO_DEBS_PATH
|
||||
export MULTIARCH_QEMU_ENVIRON
|
||||
export DOCKER_BASE_ARCH
|
||||
export MIRROR_SNAPSHOT
|
||||
|
||||
###############################################################################
|
||||
## Utility rules
|
||||
@ -125,6 +126,8 @@ export TRUSTED_GPG_URLS
|
||||
export SONIC_VERSION_CONTROL_COMPONENTS
|
||||
DEFAULT_CONTAINER_REGISTRY := $(SONIC_DEFAULT_CONTAINER_REGISTRY)
|
||||
export DEFAULT_CONTAINER_REGISTRY
|
||||
export MIRROR_URLS
|
||||
export MIRROR_SECURITY_URLS
|
||||
|
||||
ifeq ($(SONIC_ENABLE_PFCWD_ON_START),y)
|
||||
ENABLE_PFCWD_ON_START = y
|
||||
|
@ -12,39 +12,7 @@ FROM {{ prefix }}debian:buster
|
||||
MAINTAINER gulv@microsoft.com
|
||||
|
||||
COPY ["no-check-valid-until", "/etc/apt/apt.conf.d/"]
|
||||
|
||||
RUN echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian buster-backports main" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian-security buster_updates main contrib non-free" >> /etc/apt/sources.list
|
||||
|
||||
{%- if CONFIGURED_ARCH == "armhf" %}
|
||||
RUN echo "deb [arch=armhf] http://deb.debian.org/debian buster main contrib non-free" > /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://deb.debian.org/debian buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://deb.debian.org/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://deb.debian.org/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://security.debian.org buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://security.debian.org buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo 'deb [arch=armhf] http://ftp.debian.org/debian buster-backports main' >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian-security buster_updates main contrib non-free" >> /etc/apt/sources.list
|
||||
{%- elif CONFIGURED_ARCH == "arm64" %}
|
||||
RUN echo "deb [arch=arm64] http://deb.debian.org/debian buster main contrib non-free" > /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://deb.debian.org/debian buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://deb.debian.org/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://deb.debian.org/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://security.debian.org buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://security.debian.org buster/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo 'deb [arch=arm64] http://ftp.debian.org/debian buster-backports main' >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian buster-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian-security buster_updates main contrib non-free" >> /etc/apt/sources.list
|
||||
{%- endif %}
|
||||
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
||||
|
||||
## Make apt-get non-interactive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
@ -10,40 +10,7 @@ FROM {{ prefix }}debian:stretch
|
||||
MAINTAINER gulv@microsoft.com
|
||||
|
||||
COPY ["no-check-valid-until", "/etc/apt/apt.conf.d/"]
|
||||
|
||||
RUN echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian stretch-backports main" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.trafficmanager.net/debian/debian-security stretch_updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=amd64] http://packages.microsoft.com/debian/9/prod stretch main" >> /etc/apt/sources.list
|
||||
|
||||
{%- if CONFIGURED_ARCH == "armhf" %}
|
||||
RUN echo "deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=armhf] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo 'deb [arch=armhf] http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=armhf] http://packages.trafficmanager.net/debian/debian-security stretch_updates main contrib non-free" >> /etc/apt/sources.list
|
||||
{%- elif CONFIGURED_ARCH == "arm64" %}
|
||||
RUN echo "deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb-src [arch=arm64] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo 'deb [arch=arm64] http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb [arch=arm64] http://packages.trafficmanager.net/debian/debian-security stretch_updates main contrib non-free" >> /etc/apt/sources.list
|
||||
{%- endif %}
|
||||
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
||||
|
||||
## Make apt-get non-interactive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
@ -11,7 +11,7 @@ POST_VERSION_PATH=$BUILDINFO_PATH/post-versions
|
||||
VERSION_DEB_PREFERENCE=$BUILDINFO_PATH/versions/01-versions-deb
|
||||
WEB_VERSION_FILE=$VERSION_PATH/versions-web
|
||||
BUILD_WEB_VERSION_FILE=$BUILD_VERSION_PATH/versions-web
|
||||
REPR_MIRROR_URL_PATTERN='http:\/\/packages.trafficmanager.net\/debian'
|
||||
REPR_MIRROR_URL_PATTERN='http:\/\/packages.trafficmanager.net\/'
|
||||
DPKG_INSTALLTION_LOCK_FILE=/tmp/.dpkg_installation.lock
|
||||
|
||||
. $BUILDINFO_PATH/config/buildinfo.config
|
||||
@ -72,14 +72,39 @@ set_reproducible_mirrors()
|
||||
{
|
||||
# Remove the charater # in front of the line if matched
|
||||
local expression="s/^#\(.*$REPR_MIRROR_URL_PATTERN\)/\1/"
|
||||
# Add the character # in front of the line, if not match the URL pattern condition
|
||||
local expression2="/^#*deb.*$REPR_MIRROR_URL_PATTERN/! s/^#*deb/#&/"
|
||||
local expression3="\$a#SET_REPR_MIRRORS"
|
||||
if [ "$1" = "-d" ]; then
|
||||
# Add the charater # in front of the line if match
|
||||
expression="s/^deb.*$REPR_MIRROR_URL_PATTERN/#\0/"
|
||||
# Remove the character # in front of the line, if not match the URL pattern condition
|
||||
expression2="/^#*deb.*$REPR_MIRROR_URL_PATTERN/! s/^#(#*deb)/\1/"
|
||||
expression3="/#SET_REPR_MIRRORS/d"
|
||||
fi
|
||||
|
||||
local mirrors="/etc/apt/sources.list $(find /etc/apt/sources.list.d/ -type f)"
|
||||
for mirror in $mirrors; do
|
||||
if ! grep -iq "$REPR_MIRROR_URL_PATTERN" "$mirror"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Make sure no duplicate operations on the mirror config file
|
||||
if ([ "$1" == "-d" ] && ! grep -iq "#SET_REPR_MIRRORS" "$mirror") ||
|
||||
([ "$1" != "-d" ] && grep -iq "#SET_REPR_MIRRORS" "$mirror"); then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Enable or disable the reproducible mirrors
|
||||
$SUDO sed -i "$expression" "$mirror"
|
||||
|
||||
# Enable or disable the none reproducible mirrors
|
||||
if [ "$MIRROR_SNAPSHOT" == y ]; then
|
||||
$SUDO sed -ri "$expression2" "$mirror"
|
||||
fi
|
||||
|
||||
# Add or remove the SET_REPR_MIRRORS flag
|
||||
$SUDO sed -i "$expression3" "$mirror"
|
||||
done
|
||||
}
|
||||
|
||||
@ -313,6 +338,9 @@ update_version_file()
|
||||
update_version_files()
|
||||
{
|
||||
local version_names="versions-deb versions-py2 versions-py3"
|
||||
if [ "$MIRROR_SNAPSHOT" == y ]; then
|
||||
version_names="versions-py2 versions-py3"
|
||||
fi
|
||||
for version_name in $version_names; do
|
||||
update_version_file $version_name
|
||||
done
|
||||
|
@ -18,6 +18,13 @@ dpkg-query -W -f '${Package}==${Version}\n' >> "${TARGET_PATH}/versions-deb-${DI
|
||||
## Add the the packages purged
|
||||
[ -f $POST_VERSION_PATH/purge-versions-deb ] && cat $POST_VERSION_PATH/purge-versions-deb >> "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}"
|
||||
|
||||
## Add mirror versions
|
||||
while read -r line; do
|
||||
mirror=$(echo "$line" | sed "s/.*\///" | sed "s/_InRelease.*//")
|
||||
date=$(date --date="$(echo "$line" | cut -d: -f3-)" +%Y-%m-%dT%H:%M:%SZ)
|
||||
echo "$mirror==$date" >> ${TARGET_PATH}/versions-mirror
|
||||
done < <(grep Date: /var/lib/apt/lists/*_InRelease 2>/dev/null)
|
||||
|
||||
## Print the unique and sorted result
|
||||
sort -u "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}" -o "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}"
|
||||
if [ -e "${TARGET_PATH}/versions-py2-${DIST}-${ARCH}" ]; then
|
||||
@ -26,5 +33,8 @@ fi
|
||||
if [ -e "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}" ]; then
|
||||
sort -u "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}" -o "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}"
|
||||
fi
|
||||
if [ -e "${TARGET_PATH}/versions-mirror" ]; then
|
||||
sort -u "${TARGET_PATH}/versions-mirror" -o "${TARGET_PATH}/versions-mirror"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user