summaryrefslogtreecommitdiff
path: root/tools/repo2solv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/repo2solv.sh')
-rwxr-xr-xtools/repo2solv.sh21
1 files changed, 19 insertions, 2 deletions
diff --git a/tools/repo2solv.sh b/tools/repo2solv.sh
index 96873c8..7e3421e 100755
--- a/tools/repo2solv.sh
+++ b/tools/repo2solv.sh
@@ -4,6 +4,19 @@
# give it a directory of a local mirror of a repo and this
# tries to detect the repo type and generate one SOLV file on stdout
+test_susetags() {
+ if test -s content; then
+ DESCR=`grep DESCRDIR content | cut -d ' ' -f 2`
+ if test -z $DESCR; then
+ DESCR=suse/setup/descr
+ fi
+ test -d $DESCR
+ return $?
+ else
+ return 1
+ fi
+}
+
# this should signal an error if there is a problem
set -e
@@ -103,9 +116,13 @@ if test -d repodata; then
mergesolv $m_primfile $m_patchfile $m_updateinfofile $m_deltainfofile
rm -f $primfile $patchfile $updateinfofile $deltainfofile
-elif test -d suse/setup/descr && test -s content; then
+elif test_susetags; then
olddir=`pwd`
- cd suse/setup/descr || exit 2
+ DESCR=`grep DESCRDIR content | cut -d ' ' -f 2`
+ if test -z $DESCR; then
+ DESCR=suse/setup/descr
+ fi
+ cd ${DESCR} || exit 2
(
# First packages
if test -s packages.gz; then