shoes 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +12 -0
- data/CHANGELOG +29 -0
- data/COPYING +30 -0
- data/README.md +76 -0
- data/README.old +117 -0
- data/Rakefile +130 -0
- data/Rakefile.bk +651 -0
- data/app.yaml +7 -0
- data/bin/main.skel +104 -0
- data/bugs/issue-012e9468ddc7b0cb7e1503413a8a11c4f8707b67.yaml +21 -0
- data/bugs/issue-0711ff8b67baa63586f11d0096fee9dd4436bf58.yaml +23 -0
- data/bugs/issue-07f87998d93eb401e22395c11085676389b935c4.yaml +22 -0
- data/bugs/issue-0bff2d80008803cbc7efbcdacdc60ef2163664d2.yaml +22 -0
- data/bugs/issue-0c66f223d19efbca7b692f3b91961f407ad7abec.yaml +24 -0
- data/bugs/issue-183bc3c7a8f575aff2b24e0bf22aa0dfcc8e4fc2.yaml +29 -0
- data/bugs/issue-1bad1e60a04cb3adb6a8f3ded128af2e16b56ffe.yaml +18 -0
- data/bugs/issue-1f1d43f76bf4de79d7f94adbae6dd506a9d81633.yaml +41 -0
- data/bugs/issue-320924117cadb045cc91f2a6fca922b4d81d4bb5.yaml +20 -0
- data/bugs/issue-33e5c8355fbf65252ea9e939714651df8bd8cb3b.yaml +25 -0
- data/bugs/issue-36f7c8262a72bcd5e28cfa4ed29328b8237ea79b.yaml +20 -0
- data/bugs/issue-39bf04ee50c3bef67b89b8e9beb28657805587ce.yaml +18 -0
- data/bugs/issue-3e28ba7754f73d02ef416eef989af707a8c00f01.yaml +23 -0
- data/bugs/issue-3f638cc03f41f9c3fdf217355321f1563f8fee45.yaml +22 -0
- data/bugs/issue-41e48e14f1ef4f6deb69be68165d7dd3ffd99156.yaml +22 -0
- data/bugs/issue-4c9408166a2aa5dd333bbb05520deebf4ded08e0.yaml +22 -0
- data/bugs/issue-55c687e108ecd5aeb8e0d0aeb4294984f84acd3e.yaml +18 -0
- data/bugs/issue-5811d34692cc292717a58ec1df1f8948cf30d826.yaml +28 -0
- data/bugs/issue-5a7c1f59a0526f9cea7fb366867cf1e6ed8ef69d.yaml +22 -0
- data/bugs/issue-688a2c2566bef6a03efa57a4ae1f7cfa8fc74444.yaml +21 -0
- data/bugs/issue-78b16c7988ade2ef96e716fa8cb9a004bd4ced65.yaml +33 -0
- data/bugs/issue-804ee49f9800154eddf0650690c7a9bb5626253f.yaml +27 -0
- data/bugs/issue-807dd1c610b2e941a5d454e26b2eac27e89a0ab4.yaml +22 -0
- data/bugs/issue-822ee33ec11ebd25f90ea86e8438de7891e63aee.yaml +18 -0
- data/bugs/issue-82ff7152cebb8a1cb065b864cb4fe22de2328146.yaml +29 -0
- data/bugs/issue-856afbdcdd4970ad54b8ce4a6c017fbaab45f49d.yaml +31 -0
- data/bugs/issue-8d49e32fb21522651c67490adb4d80076dbb14e1.yaml +24 -0
- data/bugs/issue-91583359653a9d530c1e32be72d874d847a306e7.yaml +21 -0
- data/bugs/issue-af41a5229613172764e7d3c98431172db337053d.yaml +20 -0
- data/bugs/issue-bd9856b3788dd429c998a5af1b2aae8221cb80b7.yaml +28 -0
- data/bugs/issue-be22aef5c564fb7b5e9938343136a9cd6a2edb7b.yaml +22 -0
- data/bugs/issue-bf8697523c77c326e7e35fc82cf3dd739ae92310.yaml +27 -0
- data/bugs/issue-cdd4b4795f34d6ff46e56ece10f8216a4a5456b2.yaml +25 -0
- data/bugs/issue-d9bfb5581d745ef9deb3b9b2e08ef74d1cd43082.yaml +20 -0
- data/bugs/issue-e0ce2f687cc096f35715d28b0af88589f4ab6cc6.yaml +18 -0
- data/bugs/issue-e4b0aca4a10a574b333aeaecaaf221dbc5ed22c6.yaml +38 -0
- data/bugs/issue-f263746594b95ba778455730478ee8df60ee639d.yaml +22 -0
- data/bugs/project.yaml +72 -0
- data/builddeps.sh +102 -0
- data/fonts/Coolvetica.ttf +0 -0
- data/fonts/Lacuna.ttf +0 -0
- data/gemlib/shoes.rb +1 -0
- data/lib/shoes.rb +548 -0
- data/lib/shoes/cache.rb +54 -0
- data/lib/shoes/chipmunk.rb +35 -0
- data/lib/shoes/data.rb +39 -0
- data/lib/shoes/help.rb +468 -0
- data/lib/shoes/image.rb +25 -0
- data/lib/shoes/inspect.rb +128 -0
- data/lib/shoes/log.rb +48 -0
- data/lib/shoes/minitar.rb +986 -0
- data/lib/shoes/override.rb +38 -0
- data/lib/shoes/pack.rb +543 -0
- data/lib/shoes/search.rb +46 -0
- data/lib/shoes/setup.rb +329 -0
- data/lib/shoes/shy.rb +131 -0
- data/lib/shoes/shybuilder.rb +44 -0
- data/lib/shoes/version.rb +3 -0
- data/make/darwin/deps.vlc +12 -0
- data/make/darwin/dylibs.shoes +22 -0
- data/make/darwin/dylibs.video +11 -0
- data/make/darwin/env.rb +81 -0
- data/make/darwin/tasks.rb +105 -0
- data/make/linux/env.rb +65 -0
- data/make/linux/tasks.rb +61 -0
- data/make/make.rb +85 -0
- data/make/mingw/dlls +19 -0
- data/make/mingw/env.rb +69 -0
- data/make/mingw/tasks.rb +70 -0
- data/make/rakefile_common.rb +8 -0
- data/manual-snapshots/class-book.png +0 -0
- data/manual-snapshots/expert-definr.png +0 -0
- data/manual-snapshots/expert-funnies.png +0 -0
- data/manual-snapshots/expert-irb.png +0 -0
- data/manual-snapshots/expert-minesweeper.png +0 -0
- data/manual-snapshots/expert-othello.png +0 -0
- data/manual-snapshots/expert-pong.png +0 -0
- data/manual-snapshots/expert-tankspank.png +0 -0
- data/manual-snapshots/good-arc.png +0 -0
- data/manual-snapshots/good-clock.png +0 -0
- data/manual-snapshots/good-follow.png +0 -0
- data/manual-snapshots/good-reminder.png +0 -0
- data/manual-snapshots/good-vjot.png +0 -0
- data/manual-snapshots/simple-accordion.png +0 -0
- data/manual-snapshots/simple-anim-shapes.png +0 -0
- data/manual-snapshots/simple-anim-text.png +0 -0
- data/manual-snapshots/simple-arc.png +0 -0
- data/manual-snapshots/simple-bounce.png +0 -0
- data/manual-snapshots/simple-calc.png +0 -0
- data/manual-snapshots/simple-chipmunk.png +0 -0
- data/manual-snapshots/simple-control-sizes.png +0 -0
- data/manual-snapshots/simple-curve.png +0 -0
- data/manual-snapshots/simple-dialogs.png +0 -0
- data/manual-snapshots/simple-downloader.png +0 -0
- data/manual-snapshots/simple-draw.png +0 -0
- data/manual-snapshots/simple-editor.png +0 -0
- data/manual-snapshots/simple-form.png +0 -0
- data/manual-snapshots/simple-mask.png +0 -0
- data/manual-snapshots/simple-menu.png +0 -0
- data/manual-snapshots/simple-menu1.png +0 -0
- data/manual-snapshots/simple-rubygems.png +0 -0
- data/manual-snapshots/simple-slide.png +0 -0
- data/manual-snapshots/simple-sphere.png +0 -0
- data/manual-snapshots/simple-sqlite3.png +0 -0
- data/manual-snapshots/simple-timer.png +0 -0
- data/manual-snapshots/simple-video.png +0 -0
- data/platform/mac/Info.plist +55 -0
- data/platform/mac/build-deps.sh +658 -0
- data/platform/mac/command-manual.rb +1 -0
- data/platform/mac/deps-osx.patch +159 -0
- data/platform/mac/dmg_ds_store +0 -0
- data/platform/mac/pangorc +2 -0
- data/platform/mac/pkg-dmg +1447 -0
- data/platform/mac/shoes +31 -0
- data/platform/mac/shoes-launch +7 -0
- data/platform/mac/stub.m +178 -0
- data/platform/mac/version.plist +14 -0
- data/platform/msw/base.nsi +644 -0
- data/platform/msw/installer-1.bmp +0 -0
- data/platform/msw/installer-2.bmp +0 -0
- data/platform/msw/shoes.exe.manifest +17 -0
- data/platform/msw/shoes.ico +0 -0
- data/platform/msw/stub-inject.c +59 -0
- data/platform/msw/stub.c +271 -0
- data/platform/msw/stub32.h +14 -0
- data/platform/msw/stub32.rc +16 -0
- data/platform/nix/INSTALL +56 -0
- data/platform/nix/Makefile +144 -0
- data/platform/nix/shoes.launch +20 -0
- data/platform/skel.rb +27 -0
- data/rakefile_darwin.rb +7 -0
- data/rakefile_linux.rb +3 -0
- data/rakefile_mingw.rb +7 -0
- data/samples/class-book.rb +43 -0
- data/samples/class-book.yaml +387 -0
- data/samples/expert-definr.rb +23 -0
- data/samples/expert-funnies.rb +51 -0
- data/samples/expert-irb.rb +112 -0
- data/samples/expert-minesweeper.rb +267 -0
- data/samples/expert-othello.rb +319 -0
- data/samples/expert-pong.rb +62 -0
- data/samples/expert-tankspank.rb +385 -0
- data/samples/good-arc.rb +37 -0
- data/samples/good-clock.rb +51 -0
- data/samples/good-follow.rb +26 -0
- data/samples/good-reminder.rb +174 -0
- data/samples/good-vjot.rb +56 -0
- data/samples/simple-accordion.rb +75 -0
- data/samples/simple-anim-shapes.rb +17 -0
- data/samples/simple-anim-text.rb +13 -0
- data/samples/simple-arc.rb +23 -0
- data/samples/simple-bounce.rb +24 -0
- data/samples/simple-calc.rb +70 -0
- data/samples/simple-chipmunk.rb +26 -0
- data/samples/simple-control-sizes.rb +24 -0
- data/samples/simple-curve.rb +26 -0
- data/samples/simple-dialogs.rb +29 -0
- data/samples/simple-downloader.rb +27 -0
- data/samples/simple-draw.rb +13 -0
- data/samples/simple-editor.rb +28 -0
- data/samples/simple-form.rb +28 -0
- data/samples/simple-form.shy +0 -0
- data/samples/simple-mask.rb +21 -0
- data/samples/simple-menu.rb +31 -0
- data/samples/simple-menu1.rb +35 -0
- data/samples/simple-rubygems.rb +29 -0
- data/samples/simple-slide.rb +45 -0
- data/samples/simple-sphere.rb +28 -0
- data/samples/simple-sqlite3.rb +13 -0
- data/samples/simple-timer.rb +13 -0
- data/samples/simple-video.rb +13 -0
- data/shoes.gemspec +21 -0
- data/shoes/app.c +591 -0
- data/shoes/app.h +110 -0
- data/shoes/appwin32.h +13 -0
- data/shoes/appwin32.rc +28 -0
- data/shoes/canvas.c +2202 -0
- data/shoes/canvas.h +682 -0
- data/shoes/code.h +14 -0
- data/shoes/config.h +232 -0
- data/shoes/effects.c +243 -0
- data/shoes/effects.h +7 -0
- data/shoes/http.h +44 -0
- data/shoes/http/common.h +86 -0
- data/shoes/http/curl.c +259 -0
- data/shoes/http/nsurl.m +274 -0
- data/shoes/http/windownload.c +114 -0
- data/shoes/http/winhttp.c +216 -0
- data/shoes/http/winhttp.h +19 -0
- data/shoes/image.c +1020 -0
- data/shoes/internal.c +46 -0
- data/shoes/internal.h +63 -0
- data/shoes/native.h +110 -0
- data/shoes/native/cocoa.h +105 -0
- data/shoes/native/cocoa.m +1557 -0
- data/shoes/native/gtk.c +1257 -0
- data/shoes/native/windows.c +2392 -0
- data/shoes/ruby.c +5221 -0
- data/shoes/ruby.h +299 -0
- data/shoes/world.c +243 -0
- data/shoes/world.h +63 -0
- data/static/Shoes.icns +0 -0
- data/static/avatar.png +0 -0
- data/static/code_highlighter.js +188 -0
- data/static/code_highlighter_ruby.js +26 -0
- data/static/icon-debug.png +0 -0
- data/static/icon-error.png +0 -0
- data/static/icon-info.png +0 -0
- data/static/icon-warn.png +0 -0
- data/static/listbox_button1.png +0 -0
- data/static/listbox_button2.png +0 -0
- data/static/man-app.png +0 -0
- data/static/man-builds.png +0 -0
- data/static/man-builds1.png +0 -0
- data/static/man-editor-notepad.png +0 -0
- data/static/man-editor-osx.png +0 -0
- data/static/man-ele-background.png +0 -0
- data/static/man-ele-border.png +0 -0
- data/static/man-ele-button.png +0 -0
- data/static/man-ele-check.png +0 -0
- data/static/man-ele-editbox.png +0 -0
- data/static/man-ele-editline.png +0 -0
- data/static/man-ele-image.png +0 -0
- data/static/man-ele-listbox.png +0 -0
- data/static/man-ele-progress.png +0 -0
- data/static/man-ele-radio.png +0 -0
- data/static/man-ele-shape.png +0 -0
- data/static/man-ele-textblock.png +0 -0
- data/static/man-ele-video.png +0 -0
- data/static/man-intro-dmg.png +0 -0
- data/static/man-intro-exe.png +0 -0
- data/static/man-look-tiger.png +0 -0
- data/static/man-look-ubuntu.png +0 -0
- data/static/man-look-vista.png +0 -0
- data/static/man-run-osx.png +0 -0
- data/static/man-run-vista.png +0 -0
- data/static/man-run-xp.png +0 -0
- data/static/man-shot1.png +0 -0
- data/static/manual-en.txt +3531 -0
- data/static/manual-ja.txt +2825 -0
- data/static/manual.css +167 -0
- data/static/menu-corner1.png +0 -0
- data/static/menu-corner2.png +0 -0
- data/static/menu-gray.png +0 -0
- data/static/menu-left.png +0 -0
- data/static/menu-right.png +0 -0
- data/static/menu-top.png +0 -0
- data/static/shoes-dmg.jpg +0 -0
- data/static/shoes-icon-blue.png +0 -0
- data/static/shoes-icon.png +0 -0
- data/static/shoes-manual-apps.gif +0 -0
- data/static/shoes_main_window.png +0 -0
- data/static/stripe.png +0 -0
- data/static/stubs/blank.exe +0 -0
- data/static/stubs/blank.hfz +0 -0
- data/static/stubs/blank.run +375 -0
- data/static/stubs/cocoa-install +0 -0
- data/static/stubs/sh-install +49 -0
- data/static/stubs/shoes-stub-inject.exe +0 -0
- data/static/stubs/shoes-stub.exe +0 -0
- data/static/tutor-back.png +0 -0
- data/test/shoes_test.rb +8 -0
- data/test/test_helper.rb +25 -0
- data/use-deps +12 -0
- data/use-tmp-dep +8 -0
- metadata +509 -0
data/static/manual.css
ADDED
@@ -0,0 +1,167 @@
|
|
1
|
+
body {
|
2
|
+
font-family: verdana, arial, sans-serif;
|
3
|
+
background: #DDD;
|
4
|
+
margin: 0; padding: 0;
|
5
|
+
}
|
6
|
+
a {
|
7
|
+
color: #378;
|
8
|
+
text-decoration: none;
|
9
|
+
}
|
10
|
+
a.hi {
|
11
|
+
color: #C30;
|
12
|
+
font-weight: bold;
|
13
|
+
}
|
14
|
+
a:hover {
|
15
|
+
text-decoration: underline;
|
16
|
+
}
|
17
|
+
#main {
|
18
|
+
width: 720px;
|
19
|
+
margin: 40px auto;
|
20
|
+
}
|
21
|
+
.sidebar {
|
22
|
+
position: fixed;
|
23
|
+
width: 120px;
|
24
|
+
}
|
25
|
+
#manual {
|
26
|
+
float: right;
|
27
|
+
width: 540px;
|
28
|
+
padding: 20px;
|
29
|
+
border: solid 1px #BBB;
|
30
|
+
background: #eee;
|
31
|
+
margin-bottom: 80px;
|
32
|
+
}
|
33
|
+
#manual li {
|
34
|
+
margin-bottom: 8px;
|
35
|
+
}
|
36
|
+
h1 {
|
37
|
+
font-weight: normal;
|
38
|
+
font-size: 42px;
|
39
|
+
margin-top: 0;
|
40
|
+
}
|
41
|
+
h2 {
|
42
|
+
font-weight: normal;
|
43
|
+
font-size: 12px;
|
44
|
+
color: #777;
|
45
|
+
margin: 0;
|
46
|
+
}
|
47
|
+
h4 {
|
48
|
+
font-weight: normal;
|
49
|
+
font-size: 32px;
|
50
|
+
margin-bottom: 0;
|
51
|
+
}
|
52
|
+
#manual img {
|
53
|
+
display: block;
|
54
|
+
margin: 0 auto;
|
55
|
+
padding: 10px;
|
56
|
+
}
|
57
|
+
div.method {
|
58
|
+
background: #333;
|
59
|
+
padding: 4px;
|
60
|
+
color: #CCC;
|
61
|
+
}
|
62
|
+
div.method a {
|
63
|
+
color: white;
|
64
|
+
text-decoration: none;
|
65
|
+
font-weight: bold;
|
66
|
+
}
|
67
|
+
.intro {
|
68
|
+
font-size: 140%;
|
69
|
+
border-bottom: solid 1px #BBB;
|
70
|
+
}
|
71
|
+
.sidebar ul {
|
72
|
+
list-style: none;
|
73
|
+
text-align: center;
|
74
|
+
margin: 0; padding: 10px;
|
75
|
+
font-size: 18px;
|
76
|
+
}
|
77
|
+
.sidebar ul.sub {
|
78
|
+
margin: 6px 0; padding: 0;
|
79
|
+
border-left: solid 1px #CCC;
|
80
|
+
border-right: solid 1px #CCC;
|
81
|
+
}
|
82
|
+
.sidebar ul.sub li {
|
83
|
+
margin: 0; padding: 0;
|
84
|
+
font-size: 14px;
|
85
|
+
}
|
86
|
+
.sidebar ul.sub a {
|
87
|
+
font-weight: normal;
|
88
|
+
}
|
89
|
+
.sidebar a {
|
90
|
+
color: #666;
|
91
|
+
font-weight: bold;
|
92
|
+
text-decoration: none;
|
93
|
+
}
|
94
|
+
.sidebar .prime {
|
95
|
+
display: block;
|
96
|
+
color: #BBB;
|
97
|
+
font-size: 38px;
|
98
|
+
margin-bottom: 20px;
|
99
|
+
}
|
100
|
+
.sidebar a:hover {
|
101
|
+
color: black;
|
102
|
+
}
|
103
|
+
div.color {
|
104
|
+
width: 31%;
|
105
|
+
float: left;
|
106
|
+
text-align: center;
|
107
|
+
padding: 6px;
|
108
|
+
font-size: 80%;
|
109
|
+
}
|
110
|
+
div.color h3, div.color p {
|
111
|
+
margin: 4px;
|
112
|
+
}
|
113
|
+
p.next {
|
114
|
+
clear: both;
|
115
|
+
border-top: solid 1px #BBB;
|
116
|
+
text-align: right;
|
117
|
+
font-size: 120%;
|
118
|
+
padding: 8px;
|
119
|
+
}
|
120
|
+
|
121
|
+
/* code highlighting */
|
122
|
+
pre {
|
123
|
+
background: white;
|
124
|
+
padding: 8px 0;
|
125
|
+
border: solid 1px #ddd;
|
126
|
+
}
|
127
|
+
pre .comment, .ruby .comment {
|
128
|
+
color: #696;
|
129
|
+
} pre .string, .ruby .string {
|
130
|
+
color: teal;
|
131
|
+
}
|
132
|
+
pre .constant, .ruby .constant {
|
133
|
+
font-weight: bold;
|
134
|
+
}
|
135
|
+
pre .symbol, .ruby .symbol {
|
136
|
+
color: green;
|
137
|
+
}
|
138
|
+
pre .keywords, .ruby .keywords {
|
139
|
+
color: #662;
|
140
|
+
}
|
141
|
+
pre .global, pre .ivar, .ruby .ivar {
|
142
|
+
color: #F60;
|
143
|
+
}
|
144
|
+
pre .brackets, .ruby .brackets {
|
145
|
+
color: #993;
|
146
|
+
}
|
147
|
+
|
148
|
+
/* index pages */
|
149
|
+
#index .hibox {
|
150
|
+
background: white;
|
151
|
+
border: solid 1px #ddd;
|
152
|
+
}
|
153
|
+
#index .hibox p {
|
154
|
+
font-size: 14px;
|
155
|
+
margin: 8px;
|
156
|
+
}
|
157
|
+
#index h1 {
|
158
|
+
margin: 0;
|
159
|
+
}
|
160
|
+
#index ul {
|
161
|
+
list-style: none;
|
162
|
+
font-size: 13px;
|
163
|
+
}
|
164
|
+
#index ul a.hi,
|
165
|
+
#index ul a.lo {
|
166
|
+
font-size: 18px;
|
167
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/static/menu-top.png
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/static/stripe.png
ADDED
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,375 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# This script was generated using Makeself 2.1.4
|
3
|
+
FULLSIZE=#{FULLSIZE}
|
4
|
+
CRCsum="#{CRC}"
|
5
|
+
MD5="#{MD5}"
|
6
|
+
TMPROOT=${TMPDIR:=/tmp}
|
7
|
+
|
8
|
+
label="#{LABEL}"
|
9
|
+
script="./sh-install"
|
10
|
+
scriptargs=""
|
11
|
+
targetdir="dist"
|
12
|
+
filesizes="#{SIZE}"
|
13
|
+
keep=n
|
14
|
+
|
15
|
+
print_cmd_arg=""
|
16
|
+
if type printf > /dev/null; then
|
17
|
+
print_cmd="printf"
|
18
|
+
elif test -x /usr/ucb/echo; then
|
19
|
+
print_cmd="/usr/ucb/echo"
|
20
|
+
else
|
21
|
+
print_cmd="echo"
|
22
|
+
fi
|
23
|
+
|
24
|
+
unset CDPATH
|
25
|
+
|
26
|
+
MS_Printf()
|
27
|
+
{
|
28
|
+
$print_cmd $print_cmd_arg "$1"
|
29
|
+
}
|
30
|
+
|
31
|
+
MS_Progress()
|
32
|
+
{
|
33
|
+
while read a; do
|
34
|
+
MS_Printf .
|
35
|
+
done
|
36
|
+
}
|
37
|
+
|
38
|
+
MS_dd()
|
39
|
+
{
|
40
|
+
blocks=`expr $3 / 1024`
|
41
|
+
bytes=`expr $3 % 1024`
|
42
|
+
dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \
|
43
|
+
{ test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \
|
44
|
+
test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null
|
45
|
+
}
|
46
|
+
|
47
|
+
MS_Help()
|
48
|
+
{
|
49
|
+
cat << EOH >&2
|
50
|
+
Makeself version 2.1.4
|
51
|
+
1) Getting help or info about $0 :
|
52
|
+
$0 --help Print this message
|
53
|
+
$0 --info Print embedded info : title, default target directory, embedded script ...
|
54
|
+
$0 --lsm Print embedded lsm entry (or no LSM)
|
55
|
+
$0 --list Print the list of files in the archive
|
56
|
+
$0 --check Checks integrity of the archive
|
57
|
+
|
58
|
+
2) Running $0 :
|
59
|
+
$0 [options] [--] [additional arguments to embedded script]
|
60
|
+
with following options (in that order)
|
61
|
+
--confirm Ask before running embedded script
|
62
|
+
--noexec Do not run embedded script
|
63
|
+
--keep Do not erase target directory after running
|
64
|
+
the embedded script
|
65
|
+
--nox11 Do not spawn an xterm
|
66
|
+
--nochown Do not give the extracted files to the current user
|
67
|
+
--target NewDirectory Extract in NewDirectory
|
68
|
+
--tar arg1 [arg2 ...] Access the contents of the archive through the tar command
|
69
|
+
-- Following arguments will be passed to the embedded script
|
70
|
+
EOH
|
71
|
+
}
|
72
|
+
|
73
|
+
MS_Check()
|
74
|
+
{
|
75
|
+
OLD_PATH=$PATH
|
76
|
+
PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"}
|
77
|
+
MD5_PATH=`exec 2>&-; which md5sum || type md5sum | cut -c 11-`
|
78
|
+
MD5_PATH=${MD5_PATH:-`exec 2>&-; which md5 || type md5 | cut -c 8-`}
|
79
|
+
PATH=$OLD_PATH
|
80
|
+
MS_Printf "Verifying archive integrity..."
|
81
|
+
offset=`head -n 375 "$1" | wc -c | tr -d " "`
|
82
|
+
verb=$2
|
83
|
+
i=1
|
84
|
+
for s in $filesizes
|
85
|
+
do
|
86
|
+
crc=`echo $CRCsum | cut -d" " -f$i`
|
87
|
+
if test -x "$MD5_PATH"; then
|
88
|
+
md5=`echo $MD5 | cut -d" " -f$i`
|
89
|
+
if test $md5 = "00000000000000000000000000000000"; then
|
90
|
+
test x$verb = xy && echo " $1 does not contain an embedded MD5 checksum." >&2
|
91
|
+
else
|
92
|
+
md5sum=`MS_dd "$1" $offset $s | "$MD5_PATH" | cut -b-32`;
|
93
|
+
if test "$md5sum" != "$md5"; then
|
94
|
+
echo "Error in MD5 checksums: $md5sum is different from $md5" >&2
|
95
|
+
exit 2
|
96
|
+
else
|
97
|
+
test x$verb = xy && MS_Printf " MD5 checksums are OK." >&2
|
98
|
+
fi
|
99
|
+
crc="0000000000"; verb=n
|
100
|
+
fi
|
101
|
+
fi
|
102
|
+
if test $crc = "0000000000"; then
|
103
|
+
test x$verb = xy && echo " $1 does not contain a CRC checksum." >&2
|
104
|
+
else
|
105
|
+
sum1=`MS_dd "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'`
|
106
|
+
if test "$sum1" = "$crc"; then
|
107
|
+
test x$verb = xy && MS_Printf " CRC checksums are OK." >&2
|
108
|
+
else
|
109
|
+
echo "Error in checksums: $sum1 is different from $crc"
|
110
|
+
exit 2;
|
111
|
+
fi
|
112
|
+
fi
|
113
|
+
i=`expr $i + 1`
|
114
|
+
offset=`expr $offset + $s`
|
115
|
+
done
|
116
|
+
echo " All good."
|
117
|
+
}
|
118
|
+
|
119
|
+
UnTAR()
|
120
|
+
{
|
121
|
+
tar $1vf - 2>&1 || { echo Extraction failed. > /dev/tty; kill -15 $$; }
|
122
|
+
}
|
123
|
+
|
124
|
+
finish=true
|
125
|
+
xterm_loop=
|
126
|
+
nox11=n
|
127
|
+
copy=none
|
128
|
+
ownership=y
|
129
|
+
verbose=n
|
130
|
+
|
131
|
+
initargs="$@"
|
132
|
+
|
133
|
+
while true
|
134
|
+
do
|
135
|
+
case "$1" in
|
136
|
+
-h | --help)
|
137
|
+
MS_Help
|
138
|
+
exit 0
|
139
|
+
;;
|
140
|
+
--info)
|
141
|
+
echo Identification: "$label"
|
142
|
+
echo Target directory: "$targetdir"
|
143
|
+
echo Uncompressed size: #{RAWSIZE} KB
|
144
|
+
echo Compression: gzip
|
145
|
+
echo Date of packaging: #{TIME}
|
146
|
+
echo Built with Makeself version 2.1.4 on
|
147
|
+
echo Build command was: "/usr/bin/makeself \\
|
148
|
+
\"dist\" \\
|
149
|
+
\"pkg/#{NAME}.run\" \\
|
150
|
+
\"#{LABEL}\" \\
|
151
|
+
\"./sh-install\""
|
152
|
+
if test x$script != x; then
|
153
|
+
echo Script run after extraction:
|
154
|
+
echo " " $script $scriptargs
|
155
|
+
fi
|
156
|
+
if test x"" = xcopy; then
|
157
|
+
echo "Archive will copy itself to a temporary location"
|
158
|
+
fi
|
159
|
+
if test x"n" = xy; then
|
160
|
+
echo "directory $targetdir is permanent"
|
161
|
+
else
|
162
|
+
echo "$targetdir will be removed after extraction"
|
163
|
+
fi
|
164
|
+
exit 0
|
165
|
+
;;
|
166
|
+
--dumpconf)
|
167
|
+
echo LABEL=\"$label\"
|
168
|
+
echo SCRIPT=\"$script\"
|
169
|
+
echo SCRIPTARGS=\"$scriptargs\"
|
170
|
+
echo archdirname=\"dist\"
|
171
|
+
echo KEEP=n
|
172
|
+
echo COMPRESS=gzip
|
173
|
+
echo filesizes=\"$filesizes\"
|
174
|
+
echo CRCsum=\"$CRCsum\"
|
175
|
+
echo MD5sum=\"$MD5\"
|
176
|
+
echo OLDUSIZE=#{RAWSIZE}
|
177
|
+
echo OLDSKIP=376
|
178
|
+
exit 0
|
179
|
+
;;
|
180
|
+
--lsm)
|
181
|
+
cat << EOLSM
|
182
|
+
No LSM.
|
183
|
+
EOLSM
|
184
|
+
exit 0
|
185
|
+
;;
|
186
|
+
--list)
|
187
|
+
echo Target directory: $targetdir
|
188
|
+
offset=`head -n 375 "$0" | wc -c | tr -d " "`
|
189
|
+
for s in $filesizes
|
190
|
+
do
|
191
|
+
MS_dd "$0" $offset $s | eval "gzip -cd" | UnTAR t
|
192
|
+
offset=`expr $offset + $s`
|
193
|
+
done
|
194
|
+
exit 0
|
195
|
+
;;
|
196
|
+
--tar)
|
197
|
+
offset=`head -n 375 "$0" | wc -c | tr -d " "`
|
198
|
+
arg1="$2"
|
199
|
+
shift 2
|
200
|
+
for s in $filesizes
|
201
|
+
do
|
202
|
+
MS_dd "$0" $offset $s | eval "gzip -cd" | tar "$arg1" - $*
|
203
|
+
offset=`expr $offset + $s`
|
204
|
+
done
|
205
|
+
exit 0
|
206
|
+
;;
|
207
|
+
--check)
|
208
|
+
MS_Check "$0" y
|
209
|
+
exit 0
|
210
|
+
;;
|
211
|
+
--confirm)
|
212
|
+
verbose=y
|
213
|
+
shift
|
214
|
+
;;
|
215
|
+
--noexec)
|
216
|
+
script=""
|
217
|
+
shift
|
218
|
+
;;
|
219
|
+
--keep)
|
220
|
+
keep=y
|
221
|
+
shift
|
222
|
+
;;
|
223
|
+
--target)
|
224
|
+
keep=y
|
225
|
+
targetdir=${2:-.}
|
226
|
+
shift 2
|
227
|
+
;;
|
228
|
+
--nox11)
|
229
|
+
nox11=y
|
230
|
+
shift
|
231
|
+
;;
|
232
|
+
--nochown)
|
233
|
+
ownership=n
|
234
|
+
shift
|
235
|
+
;;
|
236
|
+
--xwin)
|
237
|
+
finish="echo Press Return to close this window...; read junk"
|
238
|
+
xterm_loop=1
|
239
|
+
shift
|
240
|
+
;;
|
241
|
+
--phase2)
|
242
|
+
copy=phase2
|
243
|
+
shift
|
244
|
+
;;
|
245
|
+
--)
|
246
|
+
shift
|
247
|
+
break ;;
|
248
|
+
-*)
|
249
|
+
echo Unrecognized flag : "$1" >&2
|
250
|
+
MS_Help
|
251
|
+
exit 1
|
252
|
+
;;
|
253
|
+
*)
|
254
|
+
break ;;
|
255
|
+
esac
|
256
|
+
done
|
257
|
+
|
258
|
+
case "$copy" in
|
259
|
+
copy)
|
260
|
+
tmpdir=$TMPROOT/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$
|
261
|
+
mkdir "$tmpdir" || {
|
262
|
+
echo "Could not create temporary directory $tmpdir" >&2
|
263
|
+
exit 1
|
264
|
+
}
|
265
|
+
SCRIPT_COPY="$tmpdir/makeself"
|
266
|
+
echo "Copying to a temporary location..." >&2
|
267
|
+
cp "$0" "$SCRIPT_COPY"
|
268
|
+
chmod +x "$SCRIPT_COPY"
|
269
|
+
cd "$TMPROOT"
|
270
|
+
exec "$SCRIPT_COPY" --phase2
|
271
|
+
;;
|
272
|
+
phase2)
|
273
|
+
finish="$finish ; rm -rf `dirname $0`"
|
274
|
+
;;
|
275
|
+
esac
|
276
|
+
|
277
|
+
if test "$nox11" = "n"; then
|
278
|
+
if tty -s; then # Do we have a terminal?
|
279
|
+
:
|
280
|
+
else
|
281
|
+
if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X?
|
282
|
+
if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable
|
283
|
+
GUESS_XTERMS="xterm rxvt dtterm eterm Eterm kvt konsole aterm"
|
284
|
+
for a in $GUESS_XTERMS; do
|
285
|
+
if type $a >/dev/null 2>&1; then
|
286
|
+
XTERM=$a
|
287
|
+
break
|
288
|
+
fi
|
289
|
+
done
|
290
|
+
chmod a+x $0 || echo Please add execution rights on $0
|
291
|
+
if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal!
|
292
|
+
exec $XTERM -title "$label" -e "$0" --xwin "$initargs"
|
293
|
+
else
|
294
|
+
exec $XTERM -title "$label" -e "./$0" --xwin "$initargs"
|
295
|
+
fi
|
296
|
+
fi
|
297
|
+
fi
|
298
|
+
fi
|
299
|
+
fi
|
300
|
+
|
301
|
+
if test "$targetdir" = "."; then
|
302
|
+
tmpdir="."
|
303
|
+
else
|
304
|
+
if test "$keep" = y; then
|
305
|
+
echo "Creating directory $targetdir" >&2
|
306
|
+
tmpdir="$targetdir"
|
307
|
+
dashp="-p"
|
308
|
+
else
|
309
|
+
tmpdir="$TMPROOT/selfgz$$$RANDOM"
|
310
|
+
dashp=""
|
311
|
+
fi
|
312
|
+
mkdir $dashp $tmpdir || {
|
313
|
+
echo 'Cannot create target directory' $tmpdir >&2
|
314
|
+
echo 'You should try option --target OtherDirectory' >&2
|
315
|
+
eval $finish
|
316
|
+
exit 1
|
317
|
+
}
|
318
|
+
fi
|
319
|
+
|
320
|
+
location="`pwd`"
|
321
|
+
if test x$SETUP_NOCHECK != x1; then
|
322
|
+
MS_Check "$0"
|
323
|
+
fi
|
324
|
+
offset=`head -n 375 "$0" | wc -c | tr -d " "`
|
325
|
+
|
326
|
+
if test x"$verbose" = xy; then
|
327
|
+
MS_Printf "About to extract #{RAWSIZE} KB in $tmpdir ... Proceed ? [Y/n] "
|
328
|
+
read yn
|
329
|
+
if test x"$yn" = xn; then
|
330
|
+
eval $finish; exit 1
|
331
|
+
fi
|
332
|
+
fi
|
333
|
+
|
334
|
+
MS_Printf "Uncompressing $label"
|
335
|
+
res=3
|
336
|
+
if test "$keep" = n; then
|
337
|
+
trap 'echo Signal caught, cleaning up >&2; cd $TMPROOT; /bin/rm -rf $tmpdir; eval $finish; exit 15' 1 2 3 15
|
338
|
+
fi
|
339
|
+
|
340
|
+
for s in $filesizes
|
341
|
+
do
|
342
|
+
if MS_dd "$0" $offset $s | eval "gzip -cd" | ( cd "$tmpdir"; UnTAR x ) | MS_Progress; then
|
343
|
+
if test x"$ownership" = xy; then
|
344
|
+
(PATH=/usr/xpg4/bin:$PATH; cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .)
|
345
|
+
fi
|
346
|
+
else
|
347
|
+
echo
|
348
|
+
echo "Unable to decompress $0" >&2
|
349
|
+
eval $finish; exit 1
|
350
|
+
fi
|
351
|
+
offset=`expr $offset + $s`
|
352
|
+
done
|
353
|
+
echo
|
354
|
+
|
355
|
+
cd "$tmpdir"
|
356
|
+
res=0
|
357
|
+
if test x"$script" != x; then
|
358
|
+
if test x"$verbose" = xy; then
|
359
|
+
MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] "
|
360
|
+
read yn
|
361
|
+
if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then
|
362
|
+
eval $script $scriptargs $*; res=$?;
|
363
|
+
fi
|
364
|
+
else
|
365
|
+
eval $script $scriptargs $*; res=$?
|
366
|
+
fi
|
367
|
+
if test $res -ne 0; then
|
368
|
+
test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2
|
369
|
+
fi
|
370
|
+
fi
|
371
|
+
if test "$keep" = n; then
|
372
|
+
cd $TMPROOT
|
373
|
+
/bin/rm -rf $tmpdir
|
374
|
+
fi
|
375
|
+
eval $finish; exit $res
|