base_url="http://mirror.yandex.ru/puppyrus/lf/u22/pkg"
dist="noble"

# Получаем список компонентов и архитектур из Release-файла
components=$(curl -s "$base_url/dists/$dist/Release" | awk -F': ' '/Components:/ {print $2}')
architectures=$(curl -s "$base_url/dists/$dist/Release" | awk -F': ' '/Architectures:/ {print $2}')

# Преобразуем в массивы
read -a comps <<< "$components"
read -a archs <<< "$architectures"

# Проходим по всем комбинациям компонент/архитектура
for comp in "${comps[@]}"; do
  for arch in "${archs[@]}"; do
    url="$base_url/dists/$dist/$comp/binary-$arch/Packages.gz"
    if curl -sf --head "$url" >/dev/null; then
      echo "=== $comp / $arch ===" >&2
      curl -s "$url" | gunzip | awk '/^Package:/ {print $2}'
    else
      # Попробуем без .gz
      url="${url%.gz}"
      if curl -sf --head "$url" >/dev/null; then
        echo "=== $comp / $arch ===" >&2
        curl -s "$url" | awk '/^Package:/ {print $2}'
      fi
    fi
  done
done
