#!/bin/bash
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

DISTRO=debian
DIST=sid

# Keep the "experimental" repo before the "sid" repo.  There are some packages
# that are currently only available in experimental like libgtk-4-1, but if it
# were to be placed first, experimental (unreleased) versions of other packages
# like libc6 would take precedence over the sid (released) versions.  While this
# may be useful for certain kinds of development, the standard sysroots should
# continue to be shipped only with released packages.
# Also keep "stretch" before "sid".  For now, it's needed to bring back
# libgnome-keyring-dev which has since been deprecated and removed from sid.
# It will be needed until gnome keyring is removed (http://crbug.com/466975 and
# http://crbug.com/355223).
ARCHIVE_URL="https://snapshot.debian.org/archive/debian"
ARCHIVE_TIMESTAMP=20210309T203820Z
APT_SOURCES_LIST="${ARCHIVE_URL}/${ARCHIVE_TIMESTAMP}/ stretch main
${ARCHIVE_URL}/${ARCHIVE_TIMESTAMP}/ experimental main
${ARCHIVE_URL}/${ARCHIVE_TIMESTAMP}/ sid main"

# gpg keyring file generated using generate_debian_archive_unstable.sh
KEYRING_FILE="${SCRIPT_DIR}/debian_archive_unstable.gpg"

HAS_ARCH_AMD64=1
HAS_ARCH_I386=1
HAS_ARCH_ARM=1
HAS_ARCH_ARM64=1
HAS_ARCH_ARMEL=1
HAS_ARCH_MIPS=1
HAS_ARCH_MIPS64EL=1

# Sysroot packages: these are the packages needed to build chrome.
# NOTE: When DEBIAN_PACKAGES is modified, the packagelist files must be updated
# by running this script in GeneratePackageList mode.
DEBIAN_PACKAGES="\
  comerr-dev
  krb5-multidev
  libappindicator-dev
  libappindicator1
  libappindicator3-1
  libappindicator3-dev
  libasound2
  libasound2-dev
  libasyncns0
  libatk-bridge2.0-0
  libatk-bridge2.0-dev
  libatk1.0-0
  libatk1.0-dev
  libatomic1
  libatspi2.0-0
  libatspi2.0-dev
  libattr1
  libaudit1
  libavahi-client3
  libavahi-common3
  libblkid-dev
  libblkid1
  libbluetooth-dev
  libbluetooth3
  libbrotli-dev
  libbrotli1
  libbsd0
  libc6
  libc6-dev
  libcairo-gobject2
  libcairo-script-interpreter2
  libcairo2
  libcairo2-dev
  libcap-dev
  libcap-ng0
  libcap2
  libcolord2
  libcom-err2
  libcups2
  libcups2-dev
  libcupsimage2
  libcupsimage2-dev
  libdatrie-dev
  libcurl3-gnutls
  libcurl4-gnutls-dev
  libdatrie1
  libdb5.3
  libdbus-1-3
  libdbus-1-dev
  libdbus-glib-1-2
  libdbusmenu-glib-dev
  libdbusmenu-glib4
  libdbusmenu-gtk3-4
  libdbusmenu-gtk4
  libdeflate0
  libdrm-amdgpu1
  libdrm-dev
  libdrm-nouveau2
  libdrm-radeon1
  libdrm2
  libegl-dev
  libegl1
  libegl1-mesa
  libegl1-mesa-dev
  libelf-dev
  libelf1
  libepoxy-dev
  libepoxy0
  libevdev-dev
  libevdev2
  libevent-2.1-7
  libexpat1
  libexpat1-dev
  libffi-dev
  libffi6
  libffi7
  libflac-dev
  libflac8
  libfontconfig-dev
  libfontconfig1
  libfreetype-dev
  libfreetype6
  libfribidi-dev
  libfribidi0
  libgbm-dev
  libgbm1
  libgcc-10-dev
  libgcc1
  libgcrypt20
  libgcrypt20-dev
  libgdk-pixbuf-2.0-0
  libgdk-pixbuf-2.0-dev
  libgl-dev
  libgl1
  libgl1-mesa-dev
  libgl1-mesa-glx
  libglapi-mesa
  libgles-dev
  libgles1
  libgles2
  libglib2.0-0
  libglib2.0-dev
  libglvnd-dev
  libglvnd0
  libglx-dev
  libglx0
  libgmp10
  libgnome-keyring-dev
  libgnome-keyring0
  libgnutls-dane0
  libgnutls-openssl27
  libgnutls28-dev
  libgnutls30
  libgnutlsxx28
  libgomp1
  libgpg-error-dev
  libgpg-error0
  libgraphene-1.0-0
  libgraphene-1.0-dev
  libgraphite2-3
  libgraphite2-dev
  libgssapi-krb5-2
  libgssrpc4
  libgtk-3-0
  libgtk-3-dev
  libgtk2.0-0
  libgudev-1.0-0
  libharfbuzz-dev
  libharfbuzz-gobject0
  libharfbuzz-icu0
  libharfbuzz0b
  libhogweed6
  libice6
  libicu-le-hb0
  libicu67
  libidl-2-0
  libidn11
  libidn2-0
  libindicator3-7
  libindicator7
  libinput-dev
  libinput10
  libjbig0
  libjpeg62-turbo
  libjpeg62-turbo-dev
  libjson-glib-1.0-0
  libjsoncpp-dev
  libjsoncpp24
  libk5crypto3
  libkadm5clnt-mit12
  libkadm5srv-mit12
  libkdb5-10
  libkeyutils1
  libkrb5-3
  libkrb5-dev
  libkrb5support0
  liblcms2-2
  libldap-2.4-2
  libltdl7
  liblz4-1
  liblzma5
  liblzo2-2
  libmd0
  libminizip-dev
  libminizip1
  libmount-dev
  libmount1
  libmtdev1
  libncurses-dev
  libncurses6
  libncursesw6
  libnettle8
  libnghttp2-14
  libnsl2
  libnspr4
  libnspr4-dev
  libnss-db
  libnss3
  libnss3-dev
  libogg-dev
  libogg0
  libopengl0
  libopus-dev
  libopus0
  libp11-kit0
  libpam0g
  libpam0g-dev
  libpango-1.0-0
  libpango1.0-dev
  libpangocairo-1.0-0
  libpangoft2-1.0-0
  libpangox-1.0-0
  libpangoxft-1.0-0
  libpci-dev
  libpci3
  libpciaccess0
  libpcre16-3
  libpcre2-16-0
  libpcre2-32-0
  libpcre2-8-0
  libpcre2-dev
  libpcre2-posix0
  libpcre2-posix2
  libpcre3
  libpcre3-dev
  libpcre32-3
  libpcrecpp0v5
  libpipewire-0.3-0
  libpipewire-0.3-dev
  libpixman-1-0
  libpixman-1-dev
  libpng-dev
  libpng16-16
  libpsl5
  libpthread-stubs0-dev
  libpulse-dev
  libpulse-mainloop-glib0
  libpulse0
  libre2-9
  libre2-dev
  librest-0.7-0
  librtmp1
  libsasl2-2
  libselinux1
  libselinux1-dev
  libsepol1
  libsepol1-dev
  libsm6
  libsnappy-dev
  libsnappy1v5
  libsndfile1
  libsoup-gnome2.4-1
  libsoup2.4-1
  libspa-0.2-dev
  libspeechd-dev
  libspeechd2
  libsqlite3-0
  libssh2-1
  libssl-dev
  libssl1.1
  libstdc++-10-dev
  libstdc++6
  libsystemd0
  libtasn1-6
  libthai-dev
  libthai0
  libtiff5
  libtinfo6
  libtirpc3
  libudev-dev
  libudev1
  libunbound8
  libunistring2
  libuuid1
  libva-dev
  libva-drm2
  libva-glx2
  libva-wayland2
  libva-x11-2
  libva2
  libvorbis0a
  libvorbisenc2
  libvpx-dev
  libvpx6
  libvulkan-dev
  libvulkan1
  libwacom2
  libwayland-client0
  libwayland-cursor0
  libwayland-dev
  libwayland-egl1
  libwayland-egl1-mesa
  libwayland-server0
  libwebp-dev
  libwebp6
  libwebpdemux2
  libwebpmux3
  libwrap0
  libx11-6
  libx11-dev
  libx11-xcb-dev
  libx11-xcb1
  libxau-dev
  libxau6
  libxcb-dri2-0
  libxcb-dri2-0-dev
  libxcb-dri3-0
  libxcb-dri3-dev
  libxcb-glx0
  libxcb-glx0-dev
  libxcb-present-dev
  libxcb-present0
  libxcb-render0
  libxcb-render0-dev
  libxcb-shm0
  libxcb-shm0-dev
  libxcb-sync1
  libxcb-xfixes0
  libxcb1
  libxcb1-dev
  libxcomposite-dev
  libxcomposite1
  libxcursor-dev
  libxcursor1
  libxdamage-dev
  libxdamage1
  libxdmcp-dev
  libxdmcp6
  libxext-dev
  libxext6
  libxfixes-dev
  libxfixes3
  libxft-dev
  libxft2
  libxi-dev
  libxi6
  libxinerama-dev
  libxinerama1
  libxkbcommon-dev
  libxkbcommon0
  libxml2
  libxml2-dev
  libxrandr-dev
  libxrandr2
  libxrender-dev
  libxrender1
  libxshmfence-dev
  libxshmfence1
  libxslt1-dev
  libxslt1.1
  libxss-dev
  libxss1
  libxt-dev
  libxt6
  libxtst-dev
  libxtst6
  libxxf86vm-dev
  libxxf86vm1
  libzstd1
  linux-libc-dev
  mesa-common-dev
  shared-mime-info
  speech-dispatcher
  uuid-dev
  wayland-protocols
  x11proto-composite-dev
  x11proto-damage-dev
  x11proto-dev
  x11proto-fixes-dev
  x11proto-input-dev
  x11proto-kb-dev
  x11proto-randr-dev
  x11proto-record-dev
  x11proto-render-dev
  x11proto-scrnsaver-dev
  x11proto-xext-dev
  x11proto-xinerama-dev
  zlib1g
  zlib1g-dev
"

DEBIAN_PACKAGES_AMD64="
  libgtk-4-1
  libgtk-4-dev
  liblsan0
  libtsan0
"

DEBIAN_PACKAGES_X86="
  libasan6
  libcilkrts5
  libdrm-intel1
  libgtk-4-1
  libgtk-4-dev
  libitm1
  libmpx2
  libquadmath0
  libubsan1
"

DEBIAN_PACKAGES_ARM="
  libasan6
  libdrm-etnaviv1
  libdrm-exynos1
  libdrm-freedreno1
  libdrm-omap1
  libdrm-tegra0
  libgtk-4-1
  libgtk-4-dev
  libubsan1
"

DEBIAN_PACKAGES_ARM64="
  libasan6
  libdrm-etnaviv1
  libdrm-freedreno1
  libdrm-tegra0
  libgmp10
  libgtk-4-1
  libgtk-4-dev
  libitm1
  liblsan0
  libthai0
  libtsan0
  libubsan1
"

DEBIAN_PACKAGES_ARMEL="
  libasan6
  libdrm-exynos1
  libdrm-freedreno1
  libdrm-omap1
  libdrm-tegra0
  libgtk-4-1
  libgtk-4-dev
  libubsan1
"

DEBIAN_PACKAGES_MIPS64EL="
"

. "${SCRIPT_DIR}/sysroot-creator.sh"
