summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-03-04 20:37:10 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-03-04 20:37:10 +0100
commit4432b7407e6afbbb5e91ad24455556d0e679a4f9 (patch)
tree659b3c959cdc6c5ddbc50bf401afe3f253fb0ae3 /src
parentafef235f8a51f46f6e01a152e6a42f1c966a1e71 (diff)
downloadabrt-4432b7407e6afbbb5e91ad24455556d0e679a4f9.tar.gz
abrt-4432b7407e6afbbb5e91ad24455556d0e679a4f9.tar.xz
abrt-4432b7407e6afbbb5e91ad24455556d0e679a4f9.zip
abrt-debuginfo-install: use -debuginfo repos which match enabled "usual" repos
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/Daemon/abrt-debuginfo-install23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/Daemon/abrt-debuginfo-install b/src/Daemon/abrt-debuginfo-install
index 1b6af74a..0d9401b1 100755
--- a/src/Daemon/abrt-debuginfo-install
+++ b/src/Daemon/abrt-debuginfo-install
@@ -145,14 +145,12 @@ print_package_names() {
else
echo "`count_words $missing_debuginfo_files` missing debuginfos, getting package list from repositories" >&2
fi
- # when we look for debuginfo we need only -debuginfo* repos, so we can disable the rest and thus make it faster
- # also we want only fedora repositories, because abrt won't work for other packages anyway
# --showduplicates: do not just show the latest package
# (tried to use -R2 to abort on stuck yum lock but -R is not about that)
- local cmd="yum $yumopts '--disablerepo=*' '--enablerepo=fedora-debuginfo*' '--enablerepo=updates-debuginfo*' --showduplicates --quiet provides $missing_debuginfo_files"
+ local cmd="yum $yumopts $yum_repo_opts --showduplicates --quiet provides $missing_debuginfo_files"
echo "$cmd" >"yum_provides.$1.OUT"
$debug && echo "Running: $cmd" >&2
- # eval is needed to strip away ''s; cant remove them above and just use
+ # eval is needed to strip away ''s in $yum_repo_opts; cant remove them and just use
# unquoted $cmd, that would perform globbing on '*'
local yum_provides_OUT="`eval $cmd 2>&1`"
local err=$?
@@ -199,9 +197,10 @@ download_packages() {
for pkg in $packages; do
echo "Download $i/$num_packages: $pkg"
echo "Download $i/$num_packages: $pkg" >>yumdownloader.OUT
- # We can't handle packages from non Fedora repos, so we look and download only
- # from Fedora repos which makes it faster
- yumdownloader --disablerepo="*" --enablerepo="fedora-debuginfo*" --enablerepo="updates-debuginfo*" --quiet $pkg >>yumdownloader.OUT 2>&1
+ cmd="yumdownloader $yum_repo_opts --quiet $pkg"
+ $debug && echo "Running: $cmd" >&2
+ # eval is needed to strip away ''s in $yum_repo_opts
+ eval $cmd >>yumdownloader.OUT 2>&1
err=$?
echo "exitcode:$err" >>yumdownloader.OUT
echo >>yumdownloader.OUT
@@ -299,6 +298,16 @@ build_ids=`printf "%s\n" "$eu_unstrip_OUT" \
done | sort | uniq | xargs`
$debug && echo "build_ids:$build_ids"
+
+# Prepare list of repos to use.
+# When we look for debuginfo we need only -debuginfo* repos, we can disable the rest
+# and thus make it faster.
+yum_repo_opts="'--disablerepo=*'"
+for enabled_repo in `yum repolist | grep 'enabled:' | cut -f1 -d' ' | grep -v -- '-debuginfo'`; do
+ yum_repo_opts="$yum_repo_opts '--enablerepo=${enabled_repo}-debuginfo*'"
+done
+
+
# We try to not run yum without -C unless absolutely necessary.
# Therefore we loop. yum is run by print_package_names function,
# on first iteration it is run with -C, on second - without,