#!/usr/bin/env bash set -euo pipefail enable_deb822_sources() { local file="$1" local tmp tmp="$(mktemp)" awk ' /^Types:/ { if ($0 !~ /(^|[[:space:]])deb-src($|[[:space:]])/) { print $0 " deb-src" next } } { print } ' "$file" > "$tmp" cat "$tmp" > "$file" rm -f "$tmp" } enable_legacy_sources() { local file="$1" local output="$2" awk ' /^[[:space:]]*deb[[:space:]]/ { line = $0 sub(/^[[:space:]]*deb[[:space:]]+/, "deb-src ", line) print line } ' "$file" > "$output" } found_sources=0 for sources_file in /etc/apt/sources.list.d/*.sources; do if [[ -f "$sources_file" ]]; then found_sources=1 enable_deb822_sources "$sources_file" fi done if [[ -f /etc/apt/sources.list ]]; then found_sources=1 enable_legacy_sources /etc/apt/sources.list \ /etc/apt/sources.list.d/codex-deb-src.list fi if [[ "$found_sources" -eq 0 ]]; then echo "No apt source list files were found under /etc/apt" >&2 exit 1 fi