commit | author | age
|
2e9c17
|
1 |
#!/usr/bin/perl |
DS |
2 |
|
|
3 |
# |
|
4 |
# because Squeak has many plugins, |
|
5 |
# there are also many dependencies |
|
6 |
# in order to have a small "kernel" package |
|
7 |
# this script is used |
|
8 |
# |
|
9 |
# the script "classifies" plugins into currently 3 categories: |
6dfd01
|
10 |
# - squeak-nodisplay (only libc,libm math,libpthread, ksh) |
DS |
11 |
# - squeak-display-X11 (only x11,xext,xrender) |
|
12 |
# - squeak (ssl,ffi,pulseaudio freetype2,gnome, everything else) |
2e9c17
|
13 |
# |
DS |
14 |
# Usage: check the samplemanifest, |
|
15 |
# ./subversion.pl < ../manifests/sample-manifest.p5m > sample2.p5m |
|
16 |
# then classify the files as follows: |
|
17 |
# ./classify.pl < sample2.p5m |
|
18 |
# then alias the amd64 files (install in component directory) |
6dfd01
|
19 |
# ./amd64.pl < squeak.p5m > ../squeak.p5m |
2e9c17
|
20 |
# or run ./amd64-p5m.sh |
DS |
21 |
# |
|
22 |
|
6dfd01
|
23 |
open(NODISPLAY,">>","squeak-nodisplay.p5m") || die "Can't open squeak-nodisplay.p5m"; |
2e9c17
|
24 |
|
6dfd01
|
25 |
open(X11,">>","squeak-display-X11.p5m") || die "Can't open squeak-display-X11.p5m"; |
2e9c17
|
26 |
|
8a2cb9
|
27 |
open(SSL,">>","squeak-ssl.p5m") || die "Can't open squeak-ssl.p5m"; |
DS |
28 |
|
6dfd01
|
29 |
open(REST,">>","squeak.p5m") || die "Can't open squeak.p5m"; |
2e9c17
|
30 |
|
DS |
31 |
while (<>) { |
|
32 |
if (/^#/) { |
|
33 |
# ignore lines that start with comment |
|
34 |
} elsif (/^$/) { |
|
35 |
# ignore empty lines |
|
36 |
} elsif (/license /) { |
|
37 |
# ignore license lines |
|
38 |
} elsif (/set name=/) { |
|
39 |
# ignore those lines |
|
40 |
} elsif (/dir path=/) { |
|
41 |
# ignore those lines |
|
42 |
} elsif (/file path=/) { |
|
43 |
if (/Sun/) { |
|
44 |
# ignore the Sun sound plugin - we use pulseaudio |
|
45 |
} elsif (/usr\/bin/) { |
|
46 |
# don't deal with driver scripts here |
|
47 |
} elsif (/man1/) { |
|
48 |
# don't deal with the manpages here |
|
49 |
} elsif (/squeakvm/) { |
|
50 |
# don't deal with the actual binary here |
|
51 |
} elsif (/ckformat/) { |
|
52 |
# don't deal with the ckformat binary here |
|
53 |
} elsif (/AioPlugin/) { |
|
54 |
print NODISPLAY $_; |
|
55 |
} elsif (/ClipboardExtendedPlugin/) { |
|
56 |
print X11 $_; |
|
57 |
} elsif (/FileCopyPlugin/) { |
|
58 |
print NODISPLAY $_; |
|
59 |
} elsif (/HostWindowPlugin/) { |
|
60 |
print X11 $_; |
|
61 |
} elsif (/ImmX11Plugin/) { |
|
62 |
print X11 $_; |
|
63 |
} elsif (/Squeak3D/) { |
|
64 |
print X11 $_; |
8a2cb9
|
65 |
} elsif (/SqueakSSL/) { |
DS |
66 |
print SSL $_; |
2e9c17
|
67 |
} elsif (/B3DAcceleratorPlugin/) { |
DS |
68 |
print X11 $_; |
|
69 |
} elsif (/UnixOSProcessPlugin/) { |
|
70 |
print NODISPLAY $_; |
44bada
|
71 |
} elsif (/VectorEnginePlugin/) { |
DS |
72 |
print X11 $_; |
2e9c17
|
73 |
} elsif (/XDisplayControlPlugin/) { |
DS |
74 |
print X11 $_; |
|
75 |
} elsif (/vm-sound-null/) { |
|
76 |
print NODISPLAY $_; |
|
77 |
} elsif (/vm-display-null/) { |
|
78 |
print NODISPLAY $_; |
|
79 |
} elsif (/vm-display-X11/) { |
|
80 |
print X11 $_; |
|
81 |
} elsif (/vm-display-X11/) { |
|
82 |
print X11 $_; |
|
83 |
} elsif (/usr\/lib\/squeak/) { |
|
84 |
print REST $_; |
|
85 |
} else { |
|
86 |
# unclassified files |
|
87 |
print $_; |
|
88 |
} |
|
89 |
} elsif (/hardlink path=/) { |
|
90 |
# unclassified files |
|
91 |
print $_; |
|
92 |
} elsif (/link path=/) { |
|
93 |
# unclassified files |
|
94 |
print $_; |
|
95 |
} else { |
|
96 |
# unclassified files |
|
97 |
print $_; |
|
98 |
} |
|
99 |
} |
|
100 |
|