From 594ad5d4e423d2b9d3c27f83e66122799bd747a6 Mon Sep 17 00:00:00 2001 From: Tomas Tomecek Date: Apr 03 2017 13:22:19 +0000 Subject: brt_dep_solver.sh: multiple fixes * use f26 repo (which is in Brno, we should probably make this easy for our friends in Germany and US, not sure if mirrorlist works here) * use BRT staging compose; contyk & jkaluza confirmed it should be okay * get all caps from base-runtime repo: don't care about api.txt since repo has all we need * disable all repos for every dnf invocation b/c it messes up results greatly * please rewrite the script into python, this version in shell was a great prototype Signed-off-by: Tomas Tomecek --- diff --git a/brt_dep_solver.sh b/brt_dep_solver.sh index 200149f..e83174a 100755 --- a/brt_dep_solver.sh +++ b/brt_dep_solver.sh @@ -1,6 +1,6 @@ #!/bin/bash -#set -e +# set -ex pkg=${1} CLEAN=${CLEAN:-true} @@ -16,15 +16,9 @@ function verbose_echo { function get-baseruntime-caps { provided_caps=brt-provides.txt - verbose_echo -n "Getting list of base-runtime rpms... " - wget --quiet -O api.txt https://github.com/fedora-modularity/base-runtime/blob/master/api.txt?raw=true && verbose_echo "DONE" - - verbose_echo -n "Modifying list of base-runtime rpms.." - # get package name of rpms on lines starting with '+', '*', or nothing - cat api.txt | sed '/^!/ d' | sed $'s/[+*]\t//g' | sed -e "s/-[^-]*-[^-]*$//" > brt-pkgs.txt && verbose_echo "DONE" verbose_echo -n "Getting capabilities provided by base-runtime packages... " - dnf repoquery --repofrompath brt,https://fedorapeople.org/groups/modularity/repos/base-runtime/26/ --provides -q `paste -s -d ' ' brt-pkgs.txt` > ${provided_caps} && verbose_echo "DONE" + dnf repoquery --disablerepo='*' --repofrompath brt,https://kojipkgs.stg.fedoraproject.org/compose/branched/jkaluza/latest-Boltron-26/compose/base-runtime/x86_64/os/ --enablerepo=brt --provides -q > ${provided_caps} && verbose_echo "DONE" } @@ -53,7 +47,7 @@ function resolve-deps { # TODO: use remote path for fedora repository SRPM_FLAG= [ "${runtime}" = "true" ] || SRPM_FLAG=--srpm - dnf --repofrompath fedora.repo,/etc/yum.repos.d/fedora.repo repoquery $SRPM_FLAG --requires -q ${pkg} > ${pkg}-caps.txt && verbose_echo "DONE" + dnf --disablerepo='*' --repofrompath f26,http://ftp.fi.muni.cz/pub/linux/fedora/linux/development/26/Everything/x86_64/os/ --enablerepo=f26 repoquery $SRPM_FLAG --requires -q ${pkg} > ${pkg}-caps.txt && verbose_echo "DONE" while read cap; do if [[ $cap != *" = "* ]]; then grep -wq "^${cap}*" ${provided_caps} || echo ${cap} >> ${pkg}-filtered-caps.txt @@ -63,7 +57,7 @@ function resolve-deps { done < ${pkg}-caps.txt while read cap; do - dnf repoquery --whatprovides ${cap} -q --latest-limit=1 >> cap2rpm.txt + dnf --disablerepo='*' --repofrompath f26,http://ftp.fi.muni.cz/pub/linux/fedora/linux/development/26/Everything/x86_64/os/ --enablerepo=f26 repoquery --whatprovides "${cap}" -q --latest-limit=1 >> cap2rpm.txt done < ${pkg}-filtered-caps.txt if [ "$runtime" = "true" ]; then