Files
ngx_http_monitoring_module/scripts/enable-apt-source-repos.sh

54 lines
1.1 KiB
Bash

#!/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