#!/bin/bash
function PrimaryXml {
wget -q -O - $1/repodata/repomd.xml \
| grep primary.xml \
| sed -n -e 's/.*"\(.*\)".*/\1/p'
}
function GetPackages {
BaseUrl="$1"
Include=`echo $2 | tr ' ' '|'`
Exclude=`echo $3 | tr ' ' '|'`
wget -q -O - $BaseUrl`PrimaryXml $BaseUrl` \
| zcat \
| sed -n -e 's/.*href="\([^"]*\)\".*/\1/p' \
| grep -E "rpm$" \
| ( [ -z "$Include" ] && cat || grep -E "($Include)" ) \
| ( [ -z "$Exclude" ] && cat || grep -vE "($Exclude)" ) \
}
function DownloadPackages {
BaseUrl="$1"
Mode=0
Include=""
Exclude=""
shift
while (($#)); do
if [[ "$1" == "-v" ]] ; then
Mode=1
else
if [ $Mode -eq 1 ] ; then
Exclude="$Exclude $1"
else
Include="$Include $1"
fi
fi
shift
done
GetPackages $BaseUrl "$Include" "$Exclude" | while read i ; do
if [ ! -f $i ] ; then
test -d `dirname $i` || mkdir -p `dirname $i`
echo "Downloading $BaseUrl$i..."
wget -q -O $i $BaseUrl$i
fi
done
echo "Download complete."
}
DownloadPackages https://dl.google.com/linux/chrome/rpm/stable/x86_64/ google-chrome-stable