Contents of /smage/trunk/core/ica-client/ica-client-13.2.0.322243-r1.smage2
Parent Directory | Revision Log
Revision 7016 -
(show annotations)
(download)
Thu Aug 20 08:56:59 2015 UTC (9 years, 1 month ago) by niro
File size: 7213 byte(s)
Thu Aug 20 08:56:59 2015 UTC (9 years, 1 month ago) by niro
File size: 7213 byte(s)
auto added: ver bump to 13.2.0.322243-r2
1 | # $Id$ |
2 | |
3 | PNAME="ica-client" |
4 | PVER="13.2.0.322243" |
5 | PBUILD="r1" |
6 | |
7 | PCAT="net-misc" |
8 | |
9 | DESCRIPTION="Citrix ICA client." |
10 | HOMEPAGE="http://www.citrix.com/" |
11 | |
12 | # install usb daemon, 1=true/ 0=false |
13 | USBDAEMON=0 |
14 | SPECIAL_VARS="USBDAEMON" |
15 | |
16 | DEPEND=">= x11-libs/libXaw-1 |
17 | >= x11-libs/libX11-1.6 |
18 | >= x11-libs/libSM-1.2 |
19 | >= x11-libs/libICE-1 |
20 | >= x11-libs/libXpm-3.5 |
21 | >= x11-libs/libXinerama-1.1 |
22 | >= x11-libs/openmotif-2.4 |
23 | >= x11-libs/libXp-1 |
24 | >= dev-libs/glib2-2.42 |
25 | >= x11-libs/gdk-pixbuf-2.26 |
26 | >= dev-libs/atk-2.14 |
27 | >= x11-libs/cairo-1.14 |
28 | >= x11-libs/pango-1.36 |
29 | >= x11-libs/gtk2+-2.24 |
30 | >= media-fonts/font-adobe-75dpi-1 |
31 | >= media-libs/alsa-lib-1.0.29 |
32 | >= media-libs/libogg-1.3 |
33 | >= media-libs/libvorbis-1.3" |
34 | |
35 | if [[ ${USBDAEMON} = 1 ]] |
36 | then |
37 | DEPEND="${DEPEND} |
38 | >= sys-fs/udev-218" |
39 | fi |
40 | |
41 | SDEPEND=">= virtual/sed" |
42 | |
43 | SRCFILE="linuxx86-${PVER}.tar.gz" |
44 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
45 | |
46 | # only keep the essential files to run wfica |
47 | ALX_PKG_KEEP="etc/env.d |
48 | usr/bin/wfica |
49 | opt/Citrix/ICAClient/wfica |
50 | opt/Citrix/ICAClient/wfica.sh" |
51 | |
52 | # needed to run wfica |
53 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/CHARICONV.DLL" |
54 | |
55 | # needed for basic session encryption |
56 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/PDCRYPT1.DLL" |
57 | |
58 | # proxy support, needed by wfica |
59 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/libproxy.so" |
60 | |
61 | # wfica configuration files |
62 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/config |
63 | opt/Citrix/ICAClient/nls/en/appsrv.ini |
64 | opt/Citrix/ICAClient/nls/en/module.ini |
65 | opt/Citrix/ICAClient/nls/en/wfclient.ini" |
66 | |
67 | # keyboard layouts |
68 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/keyboard/keyboard.ini |
69 | opt/Citrix/ICAClient/keyboard/automatic.kbd |
70 | opt/Citrix/ICAClient/keyboard/linux.kbd" |
71 | |
72 | # language support |
73 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/nls/C |
74 | opt/Citrix/ICAClient/nls/en/Wfica" |
75 | |
76 | # keep UTF-8 too |
77 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/nls/en/UTF-8/Wfica" |
78 | |
79 | # required data files |
80 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/gtk |
81 | opt/Citrix/ICAClient/icons/receiver.png" |
82 | |
83 | # keep pnabrowse/storebrowse utility for mcore-tools |
84 | ALX_PKG_KEEP+=" opt/Citrix/ICAClient/util/pnabrowse |
85 | opt/Citrix/ICAClient/util/storebrowse" |
86 | |
87 | # compat symlink |
88 | if [[ ${COMPATSYMLINK} = 1 ]] |
89 | then |
90 | ALX_PKG_KEEP+=" usr/lib/ICAClient" |
91 | fi |
92 | |
93 | if [[ ${USBDAEMON} = 1 ]] |
94 | then |
95 | ALX_PKG_KEEP+=" etc/rc.d/init.d/ctxusbd |
96 | lib/udev/rules.d/85-ctxusbd.rules |
97 | opt/Citrix/ICAClient/ctx_usb_isactive |
98 | opt/Citrix/ICAClient/usb.conf |
99 | opt/Citrix/ICAClient/VDGUSB.DLL |
100 | opt/Citrix/ICAClient/ctxusbd |
101 | opt/Citrix/ICAClient/ctxusb" |
102 | fi |
103 | |
104 | sminclude mtools udev systemd alx-split |
105 | |
106 | SRC_URI=( |
107 | http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE} |
108 | mirror://ica-client/${SRCFILE} |
109 | ) |
110 | |
111 | if [[ ${USBDAEMON} = 1 ]] |
112 | then |
113 | SRC_URI+=( mirror://ica-client/ctxusbd.service |
114 | mirror://ica-client/ctxusbd.rules |
115 | mirror://ica-client/ctxusbd.tmpfilesd ) |
116 | fi |
117 | |
118 | install_from_psf() |
119 | { |
120 | local psf line type file symlink pkg attr user group |
121 | psf="$1" |
122 | |
123 | minstalldir /opt/Citrix/ICAClient || die |
124 | |
125 | cat ${psf} | while read line |
126 | do |
127 | set $line |
128 | type="$1" |
129 | file="$2" |
130 | case $type in |
131 | s|h) |
132 | symlink="$3" |
133 | shift |
134 | ;; |
135 | d|f) |
136 | symlink="" |
137 | ;; |
138 | esac |
139 | |
140 | pkg="$3" |
141 | attr="$4" |
142 | user="$5" |
143 | group="$6" |
144 | |
145 | case ${file} in |
146 | .) continue ;; |
147 | esac |
148 | |
149 | case ${type} in |
150 | d) |
151 | minstalldir /opt/Citrix/ICAClient/${file} || die |
152 | ;; |
153 | f) |
154 | case ${attr} in |
155 | 555) minstallexec ${file} /opt/Citrix/ICAClient/${file} || die ;; |
156 | 444) minstallfile ${file} /opt/Citrix/ICAClient/${file} || die ;; |
157 | esac |
158 | ;; |
159 | s) |
160 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
161 | ;; |
162 | h) |
163 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
164 | ;; |
165 | esac |
166 | done |
167 | } |
168 | |
169 | src_prepare() |
170 | { |
171 | munpack ${SRCFILE} ${SRCDIR} || die |
172 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
173 | |
174 | sed 's:###ICAROOT###:/opt/Citrix/ICAClient:g' usb/ctxusbd.rc usb/ica-usb.rules || die |
175 | } |
176 | |
177 | alx_generic_src_install() |
178 | { |
179 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
180 | |
181 | minstalldir /opt/Citrix/ICAClient || die |
182 | # read psf file and install files and symlinks |
183 | install_from_psf ${SRCDIR}/linuxx86/linuxx86.psf |
184 | |
185 | # symlink some inis to config dir from nls dir |
186 | minstalldir /opt/Citrix/ICAClient/config || die |
187 | mlink ../nls/en/appsrv.ini /opt/Citrix/ICAClient/config/appsrv.ini || die |
188 | mlink ../nls/en/module.ini /opt/Citrix/ICAClient/config/module.ini || die |
189 | mlink ../nls/en/wfclient.ini /opt/Citrix/ICAClient/config/wfclient.ini || die |
190 | |
191 | # make this installation a server installation to seperate config files for every user |
192 | memptyfile /opt/Citrix/ICAClient/config/.server || die |
193 | |
194 | # create wfica.sh |
195 | MCONFIG="/opt/Citrix/ICAClient/wfica.sh" |
196 | mclearconfig || die |
197 | maddconfig '#!/bin/sh' || die |
198 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
199 | maddconfig 'export ICAROOT' || die |
200 | maddconfig 'LD_LIBRARY_PATH=${ICAROOT}/lib' || die |
201 | maddconfig 'export LD_LIBRARY_PATH' || die |
202 | maddconfig '\$ICAROOT/wfica -file \$1' || die |
203 | mchmod 0755 /opt/Citrix/ICAClient/wfica.sh || die |
204 | |
205 | # create wfica_assoc.sh |
206 | MCONFIG="/opt/Citrix/ICAClient/wfica_assoc.sh" |
207 | mclearconfig || die |
208 | maddconfig '#!/bin/sh' || die |
209 | maddconfig 'ICAROOT=${INST_DIR}' || die |
210 | maddconfig 'export ICAROOT' || die |
211 | maddconfig '\$ICAROOT/wfica -associate -fileparam \$1' || die |
212 | mchmod 0755 /opt/Citrix/ICAClient/wfica_assoc.sh || die |
213 | |
214 | # install wrappers to prevent slowdowns with other locales than 'C' |
215 | minstalldir /usr/bin || die |
216 | MCONFIG="/usr/bin/wfcmgr" |
217 | mclearconfig || die |
218 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/wfcmgr.bin $*' || die |
219 | MCONFIG="/usr/bin/wfica" |
220 | mclearconfig || die |
221 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/wfica $*' || die |
222 | mchmod 0755 /usr/bin/wfcmgr || die |
223 | mchmod 0755 /usr/bin/wfica || die |
224 | |
225 | # fixes some hardcoded pathes |
226 | minstalldir /etc/env.d || die |
227 | MCONFIG="/etc/env.d/10ica-client" |
228 | mclearconfig || die |
229 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
230 | |
231 | # # set default browserprotocol to tcp/ip |
232 | # # ( citrix named this in their config as UDP) |
233 | # sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die |
234 | # |
235 | # newer XenApp use https |
236 | sed -i "s:^\(BrowserProtocol=\).*:\1HTTPonTCP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die |
237 | |
238 | # auto enable com port mapping for com1 and com2 |
239 | sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \ |
240 | ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die |
241 | |
242 | if [[ ${USBDAEMON} = 1 ]] |
243 | then |
244 | cd ${SRCDIR}/linuxx86/linuxx86.cor/usb |
245 | mcopy -a \* /opt/Citrix/ICAClient || die |
246 | mdelete /opt/Citrix/ICAClient/ctxusbd.rc || die |
247 | minstallunit ctxusbd.service || die |
248 | minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die |
249 | minstalldir /usr/bin || die |
250 | mlink /opt/Citrix/ICAClient/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die |
251 | mlink /opt/Citrix/ICAClient/ctxusb /usr/bin/ctxusb || die |
252 | minstalldir /usr/sbin || die |
253 | mlink /opt/Citrix/ICAClient/ctxusbd /usr/sbin/ctxusbd || die |
254 | minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die |
255 | fi |
256 | } |
257 | |
258 | preinstall() |
259 | { |
260 | add_conf_prot_mask /etc/env.d |
261 | } |
262 | |
263 | postinstall() |
264 | { |
265 | if [[ ${USBDAEMON} = 1 ]] |
266 | then |
267 | [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd |
268 | mstartunit ctxusbd.service |
269 | fi |
270 | } |
271 | |
272 | postremove() |
273 | { |
274 | # always try to stop this service |
275 | mstopunit ctxusbd.service |
276 | } |