1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
#!/bin/sh
echo "Determining which files goes where through \
the magic of regular expressions."
# Pretty dead simple. The pattern files include
# regular expression that match some files. Files that
# match patterns in binary.patterns go into the base
# package. Same goes for the X11 package. Files
# that don't match anything go into the NO-X package etc.
DIR=$1/
LDIR=${#DIR}
echo "erlang-base"
find $DIR -type f | \
grep -E -f debian/patterns/erlang-base.patterns | \
cut -c $LDIR- > debian/erlang-base.install
# Here, files that matched above shouldn't
# be looked at.
echo "erlang-examples"
find $DIR -type f | \
grep -v -E -f debian/patterns/erlang-base.patterns | \
grep -E -f debian/patterns/erlang-examples.patterns | \
cut -c $LDIR- > debian/erlang-examples.install
echo "erlang-src"
find $DIR -type f | \
grep -v -E -f debian/patterns/erlang-base.patterns | \
grep -v -E -f debian/patterns/erlang-examples.patterns | \
grep -E -f debian/patterns/erlang-src.patterns | \
cut -c $LDIR- > debian/erlang-src.install
echo "erlang-dev"
find $DIR -type f | \
grep -E -e './usr/lib/erlang/usr/include' | \
cut -c $LDIR- | sed -e 's!$! usr/lib/erlang/usr/include!' > debian/erlang-dev.install
echo 'debian/scripts/erlang-depends usr/bin' >> debian/erlang-dev.install
find $DIR -type f | \
grep -v -E -f debian/patterns/erlang-base.patterns | \
grep -v -E -f debian/patterns/erlang-examples.patterns | \
grep -v -E -f debian/patterns/erlang-src.patterns | \
grep -E -f debian/patterns/erlang-dev.patterns | \
cut -c $LDIR- >> debian/erlang-dev.install
PACKAGES='asn1 common-test crypto debugger dialyzer diameter
edoc eldap et eunit ftp inets jinterface megaco mnesia
observer odbc os-mon parsetools public-key reltool
runtime-tools snmp ssh ssl syntax-tools tftp tools
wx xmerl'
CMD='grep -v -E -e ./usr/lib/erlang/usr/include |
grep -v -E -f debian/patterns/erlang-base.patterns |
grep -v -E -f debian/patterns/erlang-examples.patterns |
grep -v -E -f debian/patterns/erlang-src.patterns |
grep -v -E -f debian/patterns/erlang-dev.patterns'
CMD1=$CMD
MODULES=""
for fn in $(awk -- '/\.beam$/ {system("basename " $1 " .beam")}' debian/erlang-base.install)
do
MODULES="$MODULES{\"$fn\", \"erlang-base\"},\n"
done
PACKAGES2="\"dev\", \"nox\", \"x11\""
for pkg in $PACKAGES ; do
echo erlang-$pkg
find $DIR -type f | eval $CMD | \
grep -E -f debian/patterns/erlang-$pkg.patterns | \
cut -c $LDIR- | sort > debian/erlang-$pkg.install
CMD1="$CMD1 | grep -v -E -f debian/patterns/erlang-$pkg.patterns"
for fn in $(awk -- '/\.beam$/ {system("basename " $1 " .beam")}' debian/erlang-$pkg.install)
do
MODULES="$MODULES{\"$fn\", \"erlang-$pkg\"},\n"
done
PACKAGES2="$PACKAGES2, \"$pkg\""
done
sed -i -e "s/@PACKAGES@/$PACKAGES2/" -e "s/@MODULES@/$MODULES/" debian/scripts/erlang-depends
echo "FILES WHICH HAVEN'T REACHED ANY PACKAGE"
find $DIR -type f | eval $CMD1
echo "PACKAGES INTERSECTIONS"
for pkg1 in $PACKAGES ; do
for pkg2 in $PACKAGES ; do
if [ $pkg1 != $pkg2 ] ; then
comm -1 -2 debian/erlang-$pkg1.install debian/erlang-$pkg2.install
fi
done
done
echo "---------------------------------------"
|