summaryrefslogtreecommitdiff
path: root/scripts/tothreaded
Side-by-side diff
Diffstat (limited to 'scripts/tothreaded') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/tothreaded4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/tothreaded b/scripts/tothreaded
index 31ed31e..f916ad8 100755
--- a/scripts/tothreaded
+++ b/scripts/tothreaded
@@ -1,130 +1,130 @@
#!/bin/sh
# PURPOSE :
#
# this script converts a non-threaded control file to a threaded one
# by extending appropriate names with -mt as extension
#
# eg abc.control becoms abc-mt.control
#
#
# make sure that the depends expression has enough spaces
# expression can contian : , ( ) || &&
#
tokenize() {
sed "s/,/ & /g" | sed "s/)/ & /g" | sed "s/(/ & /g" | sed "s/|/ & /g" | sed "s/&/ & /g"
}
#
# function converts package name to threaded equivalend IF the
# package file HAS a threaded version
#
findthreadedequiv() {
local isin i
for i in $*
do
isin=`grep "^$i\$" "$ALLTHREADEDPKGSFILE"`
if [ -z "$isin" ]
then
# no threaded package
- echo -n "$i "
+ echo -n "$i"
else
# threaded package
- echo -n "${isin}-mt "
+ echo -n "${isin}-mt"
fi
done
echo
}
#
# signature of binary files
# currently obsolete
#
# ISBINARY="*ELF*LSB*"
usage() {
echo "Usage : tothreaded <controlfile> <ALLPackages file>"
exit 2
}
. scripts/SpecialMTFiles
#
# get the name of the controlfile to check for threading
#
if [ -z "$1" ]
then
usage
fi
controlfile=$1
shift
case $controlfile in
*-mt.control)
#already threaded
echo $controlfile
exit 0;
;;
esac
#
# file containing list of all known threaded packages
#
if [ -z "$1" ]
then
usage
fi
ALLTHREADEDPKGSFILE=$1
shift
#
# strip out the name of the package
#
packagename=${controlfile##*/} # path
packagename=${packagename%.control} # extension
#
# generate new control file
#
newcontrolfile=${controlfile/\.control/-mt\.control}
#
# read all lines in original control file
#
while read line
do
case $line in
# convert some files to threaded equivalent
"Files:"*)
files=${line#Files:}
# thread-converted files
T_files=`ConvertSpecialFiles "$files"`
echo "Files: $T_files"
;;
"Package: "*)
T_package=`findthreadedequiv ${line#Package: }`
echo "Package: ${T_package}"
;;
"Depends: "*)
depends=`echo "${line#Depends: }" | tokenize`
T_depends=`findthreadedequiv ${depends}`
echo "Depends: $T_depends"
;;
"Provides: "*)
T_provides=`findthreadedequiv ${line#Provides: }`
echo "Provides: $T_provides"
;;
"Recommends: "*)
T_recommends=`findthreadedequiv ${line#Recommends: }`
echo "Recommends: $T_recommends"
;;
"Conflicts: "*)
conflicts=`echo "${line#Conflicts: }" | tokenize`
T_conflicts=`findthreadedequiv ${conflicts}`
echo "Conflicts: $T_conflicts"
;;
*":"*)
echo "$line"
;;
*) # al other lines