#!/bin/bash

set -e

#MIRROR="http://http.kali.org/"
MIRROR="http://192.168.1.4:9999/kali/"
COMPONENTS="main contrib non-free"
ARCHES="i386 amd64 armel armhf"
REPOSITORIES="kali kali-only kali-proposed-updates debian-testing"

download_sources() {
	dist="$1"
	for c in $COMPONENTS; do
		wget $MIRROR/dists/$dist/$c/source/Sources.gz \
			-O data/$dist/Sources_${c}.gz
	done
	zcat data/$dist/Sources_*.gz >data/$dist/Sources
}

download_packages() {
	dist="$1"
	arch="$2"
	for c in $COMPONENTS; do
		wget $MIRROR/dists/$dist/$c/binary-$arch/Packages.gz \
			-O data/$dist/Packages_${arch}_${c}.gz
	done
	zcat data/$dist/Packages_${arch}_*.gz \
		> data/$dist/Packages_$arch
}

for dist in $REPOSITORIES; do
	mkdir -p data/$dist
	touch data/$dist/BugsV
	download_sources $dist
	for arch in $ARCHES; do
		download_packages $dist $arch
	done
done

# Create empty files and other required directories
touch data/kali/Urgency
touch data/kali/Dates

mkdir -p data/empty
touch data/empty/BugsV
touch data/empty/Sources
touch data/empty/Packages_{amd64,i386,armel,armhf}

mkdir -p data/output
mkdir -p data/britney-unstable
touch data/britney-unstable/BugsV

# Merge multiple k-o + testing into britney-unstable
cat data/kali-only/Sources data/debian-testing/Sources \
	>data/britney-unstable/Sources
for arch in $ARCHES; do
	cat data/kali-only/Packages_$arch \
	data/debian-testing/Packages_$arch >data/britney-unstable/Packages_$arch
done
