#!/bin/bash
function PrimaryXml {
wget -q -O - "$1/repodata/repomd.xml" \
| grep primary.xml \
| sed -n -e 's/.*"\(.*\)".*/\1/p'
}
function GetPackages {
BaseUrl="$1"
# Packages end with - and start with /
Include=`echo $2 | sed 's/ /-|\//g'`
Exclude=`echo $3 | sed 's/ /-|\//g'`
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
Packages=0
GetPackages "$BaseUrl" "$Include" "$Exclude" | {
while read i ; do
if [ ! -f `basename $i` ] ; then
test -d `dirname $i` || mkdir -p `dirname $i`
echo "Downloading $BaseUrl$i..."
wget -q -O "`basename $i`" "$BaseUrl$i"
fi
Packages=$((Packages+1))
done
echo "Download complete: $Packages from $BaseUrl"
}
}
DownloadPackages http://linuxdownload.adobe.com/linux/x86_64/ flash-player
DownloadPackages https://packagecloud.io/slacktechnologies/slack/fedora/21/x86_64/ slack
DownloadPackages https://dl.google.com/linux/chrome/rpm/stable/x86_64/ google-chrome-stable
DownloadPackages https://packages.microsoft.com/yumrepos/vscode/ code
DownloadPackages http://download1.rpmfusion.org/free/fedora/releases/26/Everything/x86_64/os/ akmod-VirtualBox VirtualBox exfat-utils ffmpeg faad2-libs live555 libdca libmpeg2 libavdevice opencore-amr vlc vo-amrwbenc twolame-libs x264-libs x265-libs xvidcore -v i686