#!/bin/sh -e

###############
# write header
#

cat <<-EOF
#!/bin/sh
# auto-generated file from apt-zip-list
set -e
err(){ echo >&2 "Fetching \$1 failed (\$2)"; }
do_wget(){
	wget -t3 -nv -O \$2 \$1
	ret=$?
	[ "\`which md5sum\`" ] && 
		if [ "\`md5sum \$2 | cut -d' ' -f1\`" = \$4 ]
		then return 0
		else err \$2 "wrong MD5"; return 1
		fi
	[ "\`which gzip\`" ] &&
		if ar p \$2 data.tar.gz | gzip -t
		then return 0
		else err \$2 "wrong contents"; return 1
		fi
	return $ret
}
EOF


###############
# Write tar-dependant stuff
#

if [ "$OPTION_TAR" = 1 ]
then
    cat <<-EOF
getfile(){
	do_wget \$1 \$2 \$3 \$4 &&
	tar rf $APTZIPTARFILE \$2 &&
	rm \$2
}
touch foo-stamp && tar cf $APTZIPTARFILE foo-stamp && rm foo-stamp
EOF
else
    cat <<-EOF
getfile(){
	do_wget \$1 \$2 \$3 \$4 &&
	mv \$2 ../disk/
}
mkdir -p partial disk && cd partial
EOF
fi

###############
# Feed the data to the core function
#

cat <<-EOF
while read URL FILE SIZE MD5
do getfile \$URL \$FILE \$SIZE \$MD5
done <<EOP
EOF

###############
# The data itself
#
cat

echo "EOP"
