#!/bin/bash

# Generates the urls.txt file in the current directory: make sure is writable!

parse_rosa_old() {
    xzdec $1 | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=''","url='nourl'",g | sed s,"url='",, | sed s,"sourcerpm='",, | sed s,\',,g | sed s,\ ,,g | sed s,"-[^-]*-[^-]*rpm",":", | sed '1~2 {N;s/\n/ /g}' | sort | uniq | grep -v "nourl" >> temp.txt
}

parse_rosa_new() {
    xzdec $1 | sed s,"<info","\n<info",g | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=\"\"","url=\"nourl\"",g | sed s,"url=\"",, | sed s,".*sourcerpm=",, | sed s,"license=.*",, | sed s,\",,g | sed s,\ ,,g | grep "rpm" | sed s,"-[^-]*-[^-]*rpm",": ", | sort | uniq | grep -v "nourl" >> temp.txt
}

parse_mageia() {
    xzdec $1 | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=''","url='nourl'",g | sed s,"url='",, | sed s,"sourcerpm='",, | sed s,\',,g | sed s,\ ,,g | sed s,"-[^-]*-[^-]*rpm",":", | sed '1~2 {N;s/\n/ /g}' | sort | uniq | grep -v "nourl" >> temp.txt
}

# Rosa 2016
#
#echo "Downloading Rosa 2016.1 lists"
#echo "" > temp.txt
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/main/release/media_info/info.xml.lzma -o rosa-main.xml.lzma
#parse_rosa_old rosa-main.xml.lzma
#rm -f rosa-main.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/main/updates/media_info/info.xml.lzma -o rosa-main-updates.xml.lzma
#parse_rosa_new rosa-main-updates.xml.lzma
#rm -f rosa-main-updates.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/contrib/release/media_info/info.xml.lzma -o rosa-contrib.xml.lzma
#parse_rosa_new rosa-contrib.xml.lzma
#rm -f rosa-contrib.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/contrib/updates/media_info/info.xml.lzma -o rosa-contrib-updates.xml.lzma
#parse_rosa_new rosa-contrib-updates.xml.lzma
#rm -f rosa-contrib-updates.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/non-free/release/media_info/info.xml.lzma -o rosa-nonfree.xml.lzma
#parse_rosa_new rosa-nonfree.xml.lzma
#rm -f rosa-nonfree.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/non-free/updates/media_info/info.xml.lzma -o rosa-nonfree-updates.xml.lzma
#parse_rosa_new rosa-nonfree-updates.xml.lzma
#rm -f rosa-nonfree-updates.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/restricted/release/media_info/info.xml.lzma -o rosa-restricted.xml.lzma
#parse_rosa_new rosa-restricted.xml.lzma
#rm -f rosa-restricted.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2016.1/repository/x86_64/restricted/updates/media_info/info.xml.lzma -o rosa-restricted-updates.xml.lzma
#parse_rosa_new rosa-restricted-updates.xml.lzma
#rm -f rosa-restricted-updates.xml.lzma


echo "Downloading Rosa 2023.1 lists"

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/main/release/media_info/info.xml.lzma -o rosa-main.xml.lzma
curl -o $HOME/.config/mib-report/rosa-main.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/main/release/repodata/ | grep primary.xml.xz | tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-main.xml.xz
rm -f $HOME/.config/mib-report/rosa-main.xml.xz

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/main/updates/media_info/info.xml.lzma -o rosa-main-updates.xml.lzma
curl -o $HOME/.config/mib-report/rosa-main-updates.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/main/updates/repodata/ | grep primary.xml.xz |tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-main-updates.xml.xz
rm -f $HOME/.config/mib-report/rosa-main-updates.xml.xz

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/contrib/release/media_info/info.xml.lzma -o rosa-contrib.xml.lzma
curl -o $HOME/.config/mib-report/rosa-contrib.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/contrib/release/repodata/ | grep primary.xml.xz |tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-contrib.xml.xz
rm -f $HOME/.config/mib-report/rosa-contrib.xml.xz

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/contrib/updates/media_info/info.xml.lzma -o rosa-contrib-updates.xml.lzma
curl -o $HOME/.config/mib-report/rosa-contrib-updates.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/contrib/updates/repodata/ | grep primary.xml.xz | tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-contrib-updates.xml.xz
rm -f $HOME/.config/mib-report/rosa-contrib-updates.xml.xz

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/non-free/release/media_info/info.xml.lzma -o rosa-nonfree.xml.lzma
curl -o $HOME/.config/mib-report/rosa-nonfree.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/non-free/release/repodata/ | grep primary.xml.xz |tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-nonfree.xml.xz
rm -f $HOME/.config/mib-report/rosa-nonfree.xml.xz

#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/non-free/updates/media_info/info.xml.lzma -o rosa-nonfree-updates.xml.lzma
curl -o $HOME/.config/mib-report/rosa-nonfree-updates.xml.xz -# `lynx --dump -nonumbers https://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/non-free/updates/repodata/ | grep primary.xml.xz | tail -n 1`
parse_rosa_new $HOME/.config/mib-report/rosa-nonfree-updates.xml.xz
rm -f $HOME/.config/mib-report/rosa-nonfree-updates.xml.xz

# In Rosa 2023.1 there is no more a Restricted repository
#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/restricted/release/media_info/info.xml.lzma -o rosa-restricted.xml.lzma
#parse_rosa_new rosa-restricted.xml.lzma
#rm -f rosa-restricted.xml.lzma
#
#curl -# http://abf-downloads.rosalinux.ru/rosa2023.1/repository/x86_64/restricted/updates/media_info/info.xml.lzma -o rosa-restricted-updates.xml.lzma
#parse_rosa_new rosa-restricted-updates.xml.lzma
#rm -f rosa-restricted-updates.xml.lzma


# OpenMandriva
#echo "Downloading OpenMandriva lists"

#curl -# http://abf-downloads.rosalinux.ru/cooker/repository/i586/main/release/media_info/info.xml.lzma -o cooker-main.xml.lzma
#lzmadec cooker-main.xml.lzma | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=''","url='nourl'",g | sed s,"url='",, | sed s,"sourcerpm='",, | sed s,\',,g | sed s,\ ,,g | sed s,"-[^-]*-[^-]*rpm",":", | sed '1~2 {N;s/\n/ /g}' | sort | uniq | grep -v "nourl" >> temp.txt
#rm -f cooker-main.xml.lzma

#curl -# http://abf-downloads.rosalinux.ru/cooker/repository/i586/contrib/release/media_info/info.xml.lzma -o cooker-contrib.xml.lzma
#lzmadec cooker-contrib.xml.lzma | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=''","url='nourl'",g | sed s,"url='",, | sed s,"sourcerpm='",, | sed s,\',,g | sed s,\ ,,g | sed s,"-[^-]*-[^-]*rpm",":", | sed '1~2 {N;s/\n/ /g}' | sort | uniq | grep -v "nourl" >> temp.txt
#rm -f cooker-contrib.xml.lzma

#curl -# http://abf-downloads.rosalinux.ru/cooker/repository/i586/non-free/release/media_info/info.xml.lzma -o cooker-nonfree.xml.lzma
#lzmadec cooker-nonfree.xml.lzma | grep "sourcerpm" -A 1 --group-separator=--- | sed '/---/d'| sed s,"url=''","url='nourl'",g | sed s,"url='",, | sed s,"sourcerpm='",, | sed s,\',,g | sed s,\ ,,g | sed s,"-[^-]*-[^-]*rpm",":", | sed '1~2 {N;s/\n/ /g}' | sort | uniq | grep -v "nourl" >> temp.txt
#rm -f cooker-nonfree.xml.lzma


# Mageia
echo "Downloading Mageia lists"

curl -# https://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/x86_64/media/core/release/media_info/info.xml.lzma -o cauldron-core.xml.lzma
parse_mageia cauldron-core.xml.lzma
rm -f cauldron-core.xml.lzma

curl -# https://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/x86_64/media/tainted/release/media_info/info.xml.lzma -o cauldron-tainted.xml.lzma
parse_mageia cauldron-tainted.xml.lzma
rm -f cauldron-tainted.xml.lzma

curl -# https://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/x86_64/media/nonfree/release/media_info/info.xml.lzma -o cauldron-nonfree.xml.lzma
parse_mageia cauldron-nonfree.xml.lzma
rm -f cauldron-nonfree.xml.lzma


echo "Generating urls.txt in current directory"

cat temp.txt | sort | uniq > urls.txt
rm -f temp.txt

