wok-tiny view fbvnc/receipt @ rev 71

fbvnc: disable fields with javascript
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Nov 03 09:02:32 2011 +0100 (2011-11-03)
parents 05be185b867c
children efbd89023863
line source
1 # SliTaz package receipt.
3 PACKAGE="fbvnc"
4 VERSION="20110416"
5 CATEGORY="network"
6 SHORT_DESC="VNC client in frame buffer."
7 MAINTAINER="pascal.bellard@slitaz.org"
8 WEB_SITE="http://repo.or.cz/w/fbvnc.git"
9 TARBALL="$PACKAGE-$VERSION.tar.gz"
10 [ -n "$TARGET" ] || TARGET="i486"
11 BUILD_DEPENDS="uclibc-cross-compiler-$TARGET"
12 DEPENDS="base-tiny"
14 # Rules to configure and make the package.
15 compile_rules()
16 {
17 [ -s $SOURCES_REPOSITORY/$TARBALL ] ||
18 wget -O $SOURCES_REPOSITORY/$TARBALL \
19 $WEB_SITE/snapshot/e42bc02b14b3331e7c7f45c6b42179d0af99ed7b.tar.gz
20 tar xzf $SOURCES_REPOSITORY/$TARBALL
21 mv $PACKAGE $src
22 cd $src
23 sed -i "s/^CC.*/CC = uclibc-$TARGET-gcc/;s/^LDFLAGS.*/& -s/" Makefile
24 patch -p0 < ../stuff/fbvnc.u &&
25 make
26 }
29 # Rules to gen a SliTaz package suitable for Tazpkg.
30 genpkg_rules()
31 {
32 mkdir -p $fs/usr/bin
33 cp $src/fbvnc $fs/usr/bin
34 }
36 config_form()
37 {
38 case "$START" in
39 no|yes|ask) ;;
40 *) START="cmdline" ;;
41 esac
42 case "$BPP" in
43 8|24|32) ;;
44 *) BPP=16 ;;
45 esac
46 [ -n "$PORT" ] || PORT=5900
47 [ -n "$SERVER" ] || SERVER="192.168.0.10"
48 cat <<EOT
49 <table>
50 <tr>
51 <td>Autostart</td>
52 <td>
53 <input type="radio" name="START" $([ "$START" == "no" ] && echo "checked=checked ")value="no"> never
54 <input type="radio" name="START" $([ "$START" == "yes" ] && echo "checked=checked ")value="yes"> always
55 <input type="radio" name="START" $([ "$START" == "ask" ] && echo "checked=checked ")value="ask"> ask during boot
56 <input type="radio" name="START" $([ "$START" == "cmdline" ] && echo "checked=checked ")value="cmdline"> with kernel argument 'fbvnc=<i>server</i>:<i>port</i>'
57 </td>
58 </tr>
59 <tr>
60 <td>Bits per pixel</td>
61 <td>
62 <input type="radio" name="BPP" $([ "$BPP" == "8" ] && echo "checked=checked ")value="8"> 8
63 <input type="radio" name="BPP" $([ "$BPP" == "16" ] && echo "checked=checked ")value="16"> 16
64 <input type="radio" name="BPP" $([ "$BPP" == "32" ] && echo "checked=checked ")value="32"> 32
65 </td>
66 </tr>
67 <tr>
68 <td>Default server</td>
69 <td><input type="text" name="SERVER" value="$SERVER"></td>
70 </tr>
71 <tr>
72 <td>Default port</td>
73 <td><input type="text" name="PORT" value="$PORT"></td>
74 </tr>
75 </table>
76 EOT
77 }
79 config_note()
80 {
81 cat <<EOT
82 <script type="text/javascript">
83 function update_form()
84 {
85 var hide = true
86 for (var i = 0; i < document.forms.length; i++) {
87 for (var j = 0; j < document.forms[i].elements.length; j++) {
88 var obj = document.forms[i].elements[j]
89 if (obj.name == "START" && obj.defaultValue == "yes"
90 && obj.checked == true)
91 hide = false
92 }
93 }
94 for (var i = 0; i < document.forms.length; i++) {
95 for (var j = 0; j < document.forms[i].elements.length; j++) {
96 var obj = document.forms[i].elements[j]
97 switch (obj.name) {
98 case "SERVER" :
99 case "PORT" :
100 obj.disabled = hide; break;
101 }
102 }
103 }
104 }
105 update_form()
106 window.onchange = update_form
107 //-->
108 </script>
109 EOT
110 }
112 post_install()
113 {
114 case "$START" in
115 on) cat >> $1/etc/init.d/local.sh <<EOT
117 # From fbvnc
118 VNCSERVER="$SERVER"
119 VNCPORT="$PORT"
120 sed -i "s|tty1:.*|tty1::respawn:/usr/bin/fbvnc -bpp $BPP $SERVER $PORT|" /etc/inittab
121 kill -1 1
122 EOT
123 ;;
124 ask) cat >> $1/etc/init.d/local.sh <<EOT
126 # From fbvnc
127 echo -n "VNC server to connect (example: 192.168.0.123 5900): "
128 read -t 30 SERVER
129 [ -n "\$SERVER" ] &&
130 sed -i "s|tty1:.*|tty1::respawn:/usr/bin/fbvnc -bpp $BPP \$SERVER|" /etc/inittab
131 set -- \$SERVER 5900
132 VNCSERVER="\$1"
133 VNCPORT="\$2"
134 kill -1 1
135 EOT
136 ;;
137 cmdline) cat >> $1/etc/init.d/local.sh <<EOT
139 # From fbvnc
140 for i in \$(cat /proc/cmdline); do
141 case "\$i" in
142 fbvnc=*)
143 i=\${i#fbvnc=}
144 sed -i "s|tty1:.*|tty1::respawn:/usr/bin/fbvnc -bpp $BPP \${i/:/ }|" /etc/inittab
145 set -- \${i/:/ } 5900
146 VNCSERVER="\$1"
147 VNCPORT="\$2"
148 kill -1 1
149 esac
150 done
151 EOT
152 ;;
153 esac
154 }