~rdoering/ubuntu/lucid/erlang/fix-535090

« back to all changes in this revision

Viewing changes to debian/scripts/analyse

  • Committer: Elliot Murphy
  • Date: 2009-12-22 02:56:21 UTC
  • mfrom: (3.3.5 sid)
  • Revision ID: elliot@elliotmurphy.com-20091222025621-qv3rja8gbpiabkbe
* Merge with Debian testing; remaining Ubuntu changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to. (LP #438365)
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
* Fixed dialyzer(1) manpage which was placed into section 3 and conflicted
  with dialyzer(3erl).
* New upstream release (it adds a new binary package erlang-erl-docgen).
* Refreshed patches, removed most of emacs.patch which is applied upstream.
* Linked run_test binary from erlang-common-test package to /usr/bin.
* Fixed VCS headers in debian/control.
* Moved from prebuilt manpages to generated from sources. This adds
  erlang-manpages binary package and xsltproc build dependency.

Show diffs side-by-side

added added

removed removed

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