chore: refactor release workflow for modular distro and upstream builds
This commit is contained in:
53
scripts/enable-apt-source-repos.sh
Normal file
53
scripts/enable-apt-source-repos.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user