Contents of /smage/branches/alx07x-unstable/core/ica-client/ica-client-13.8.0.10299729-r4.smage2
Parent Directory | Revision Log
Revision 15518 -
(show annotations)
(download)
Wed Sep 9 13:53:34 2020 UTC (3 years, 7 months ago) by niro
File size: 13499 byte(s)
Wed Sep 9 13:53:34 2020 UTC (3 years, 7 months ago) by niro
File size: 13499 byte(s)
-release branches/alx07x-unstable
1 | # $Id$ |
2 | |
3 | PNAME="ica-client" |
4 | PVER="13.8.0.10299729" |
5 | PBUILD="r4" |
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 | ENABLE_USBDAEMON=0 |
14 | # install no x11 components from platform SDK |
15 | ENABLE_NOX11COMPONENTS=1 |
16 | # create a split dev-package, 1=true/ 0=false |
17 | ENABLE_DEV_PACKAGE=1 |
18 | |
19 | SPECIAL_VARS="ENABLE_USBDAEMON ENABLE_NOX11COMPONENTS" |
20 | |
21 | SPLIT_PACKAGES="ica-client-common ica-client-libs ica-client-wfica ica-client-pnabrowse ica-client-storebrowse ica-client" |
22 | |
23 | if [[ ${ENABLE_USBDAEMON} = 1 ]] |
24 | then |
25 | SPLIT_PACKAGES+=" ica-client-usbdaemon" |
26 | fi |
27 | |
28 | if [[ ${ENABLE_DEV_PACKAGE} = 1 ]] |
29 | then |
30 | SPLIT_PACKAGES+=" ica-client-dev" |
31 | fi |
32 | |
33 | LIBS_DEPEND=">= sys-libs/libstdc++-5.1" |
34 | COMMON_DEPEND=">= sys-libs/zlib-1.2 |
35 | >= net-dns/libidn-1.31" |
36 | STOREBROWSE_DEPEND=">= dev-libs/libxml2-2.9" |
37 | CLIENT_DEPEND=">= dev-libs/glib2-2.44 |
38 | >= dev-libs/atk-2.16 |
39 | >= net-libs/libcurl-7 |
40 | >= x11-libs/libX11-1.6 |
41 | >= x11-libs/libXext-1.3 |
42 | >= x11-libs/libXfixes-5 |
43 | >= x11-libs/libXinerama-1.1 |
44 | >= x11-libs/libXrender-0.9 |
45 | >= x11-libs/cairo-1.14 |
46 | >= x11-libs/gdk-pixbuf-2.30 |
47 | >= x11-libs/pango-1.36 |
48 | >= x11-libs/gtk2+-2.24 |
49 | >= media-fonts/font-adobe-75dpi-1" |
50 | # >= media-libs/alsa-lib-1.0.29 |
51 | # >= media-libs/libogg-1.3 |
52 | # >= media-libs/libvorbis-1.3 |
53 | |
54 | if [[ ${ENABLE_USBDAEMON} = 1 ]] |
55 | then |
56 | USB_DEPEND="${LIBS_DEPEND} |
57 | >= sys-fs/udev-218" |
58 | fi |
59 | |
60 | SDEPEND=">= virtual/sed |
61 | ${LIBS_DEPEND} |
62 | ${COMMON_DEPEND} |
63 | ${STOREBROWSE_DEPEND} |
64 | ${CLIENT_DEPEND}" |
65 | |
66 | if [[ ${ENABLE_USBDAEMON} = 1 ]] |
67 | then |
68 | SDEPEND="${SDEPEND} |
69 | ${USB_DEPEND}" |
70 | fi |
71 | |
72 | SRCFILE="linuxx86-${PVER}.tar.gz" |
73 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
74 | |
75 | # no X storebrowse etc |
76 | PLATFORM_SDK_SRCFILE="PlatformOptimizationSDK.linux-${PVER}.tgz" |
77 | |
78 | sminclude mtools udev systemd alx |
79 | |
80 | # += to add injection files (alx.sminc) |
81 | SRC_URI+=( |
82 | http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE} |
83 | mirror://ica-client/${SRCFILE} |
84 | ) |
85 | |
86 | if [[ ${ENABLE_USBDAEMON} = 1 ]] |
87 | then |
88 | SRC_URI+=( mirror://ica-client/ctxusbd.service |
89 | mirror://ica-client/ctxusbd.rules |
90 | mirror://ica-client/ctxusbd.tmpfilesd ) |
91 | fi |
92 | |
93 | if [[ ${ENABLE_NOX11COMPONENTS} = 1 ]] |
94 | then |
95 | SRC_URI+=( mirror://ica-client/${PLATFORM_SDK_SRCFILE} ) |
96 | fi |
97 | |
98 | split_info_ica-client-common() |
99 | { |
100 | DESCRIPTION="Citrix ICA client - common files." |
101 | DEPEND="" |
102 | } |
103 | |
104 | split_info_ica-client-libs() |
105 | { |
106 | DESCRIPTION="Citrix ICA client - minimal libs for pnabrowse/storebrowse/wfica.no_X" |
107 | DEPEND="${LIBS_DEPEND}" |
108 | } |
109 | |
110 | split_info_ica-client-wfica() |
111 | { |
112 | DESCRIPTION="Citrix ICA client - wfica utility." |
113 | DEPEND="== net-misc/ica-client-common-${PVER} |
114 | == net-misc/ica-client-libs-${PVER} |
115 | ${COMMON_DEPEND}" |
116 | } |
117 | |
118 | split_info_ica-client-pnabrowse() |
119 | { |
120 | DESCRIPTION="Citrix ICA client - pnabrowse utility." |
121 | DEPEND="== net-misc/ica-client-common-${PVER} |
122 | == net-misc/ica-client-libs-${PVER} |
123 | == net-misc/ica-client-wfica-${PVER}" |
124 | } |
125 | |
126 | split_info_ica-client-storebrowse() |
127 | { |
128 | DESCRIPTION="Citrix ICA client - storebrowse utility." |
129 | DEPEND="== net-misc/ica-client-common-${PVER} |
130 | == net-misc/ica-client-libs-${PVER} |
131 | == net-misc/ica-client-wfica-${PVER} |
132 | ${STOREBROWSE_DEPEND}" |
133 | |
134 | } |
135 | |
136 | split_info_ica-client() |
137 | { |
138 | DESCRIPTION="Citrix ICA client." |
139 | DEPEND="== net-misc/ica-client-common-${PVER} |
140 | == net-misc/ica-client-libs-${PVER} |
141 | == net-misc/ica-client-wfica-${PVER} |
142 | == net-misc/ica-client-pnabrowse-${PVER} |
143 | == net-misc/ica-client-storebrowse-${PVER} |
144 | ${CLIENT_DEPEND}" |
145 | } |
146 | |
147 | split_info_ica-client-usbdaemon() |
148 | { |
149 | DESCRIPTION="Citrix ICA client - usb daemon." |
150 | DEPEND="${USB_DEPEND}" |
151 | } |
152 | |
153 | split_info_ica-client-dev() |
154 | { |
155 | DESCRIPTION="Citrix ICA client dev files." |
156 | DEPEND="== net-misc/ica-client-${PVER}" |
157 | } |
158 | |
159 | install_from_psf() |
160 | { |
161 | local psf line type file symlink pkg attr user group |
162 | psf="$1" |
163 | |
164 | minstalldir /opt/Citrix/ICAClient || die |
165 | |
166 | cat ${psf} | while read line |
167 | do |
168 | set $line |
169 | type="$1" |
170 | file="$2" |
171 | case $type in |
172 | s|h) |
173 | symlink="$3" |
174 | shift |
175 | ;; |
176 | d|f) |
177 | symlink="" |
178 | ;; |
179 | esac |
180 | |
181 | pkg="$3" |
182 | attr="$4" |
183 | user="$5" |
184 | group="$6" |
185 | |
186 | case ${file} in |
187 | .) continue ;; |
188 | esac |
189 | |
190 | case ${type} in |
191 | d) |
192 | minstalldir /opt/Citrix/ICAClient/${file} || die |
193 | ;; |
194 | f) |
195 | case ${attr} in |
196 | 555) minstallexec ${file} /opt/Citrix/ICAClient/${file} || die ;; |
197 | 444) minstallfile ${file} /opt/Citrix/ICAClient/${file} || die ;; |
198 | esac |
199 | ;; |
200 | s) |
201 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
202 | ;; |
203 | h) |
204 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
205 | ;; |
206 | esac |
207 | done |
208 | } |
209 | |
210 | src_prepare() |
211 | { |
212 | munpack ${SRCFILE} ${SRCDIR} || die |
213 | if [[ ${ENABLE_NOX11COMPONENTS} = 1 ]] |
214 | then |
215 | munpack ${PLATFORM_SDK_SRCFILE} ${SRCDIR} || die |
216 | fi |
217 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
218 | |
219 | sed 's:###ICAROOT###:/opt/Citrix/ICAClient:g' usb/ctxusbd.rc usb/ica-usb.rules || die |
220 | } |
221 | |
222 | src_compile() |
223 | { |
224 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
225 | |
226 | # install to a fake installdir to move them later in packaging phase |
227 | local old_bindir="${BINDIR}" |
228 | export BINDIR="${BUILDDIR}/fakeinstall" |
229 | |
230 | # read psf file and install files and symlinks |
231 | minstalldir /opt/Citrix/ICAClient || die |
232 | install_from_psf ${SRCDIR}/linuxx86/linuxx86.psf || die |
233 | |
234 | # eula symlink is a must or wfica and co will not find UIDialog.so |
235 | mlink ./nls/en.UTF-8/eula.txt /opt/Citrix/ICAClient/eula.txt || die |
236 | mlink ../en.UTF-8/eula.txt /opt/Citrix/ICAClient/nls/en/eula.txt || die |
237 | |
238 | # symlink some inis to config dir from nls dir |
239 | minstalldir /opt/Citrix/ICAClient/config || die |
240 | mlink ../nls/en/appsrv.template /opt/Citrix/ICAClient/config/appsrv.template || die |
241 | mlink ../nls/en/module.ini /opt/Citrix/ICAClient/config/module.ini || die |
242 | mlink ../nls/en/wfclient.template /opt/Citrix/ICAClient/config/wfclient.template || die |
243 | |
244 | # make this installation a server installation to seperate config files for every user |
245 | memptyfile /opt/Citrix/ICAClient/config/.server || die |
246 | |
247 | # # set default browserprotocol to tcp/ip |
248 | # # ( citrix named this in their config as UDP) |
249 | # sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
250 | # |
251 | # newer XenApp use https |
252 | sed -i "s:^\(BrowserProtocol=\).*:\1HTTPonTCP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
253 | |
254 | # auto enable com port mapping for com1 and com2 |
255 | sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \ |
256 | ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
257 | |
258 | # fixes some hardcoded pathes |
259 | minstalldir /etc/env.d || die |
260 | MCONFIG="/etc/env.d/10ica-client" |
261 | mclearconfig || die |
262 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
263 | |
264 | # create wfica.sh |
265 | MCONFIG="/opt/Citrix/ICAClient/wfica.sh" |
266 | mclearconfig || die |
267 | maddconfig '#!/bin/sh' || die |
268 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
269 | maddconfig 'export ICAROOT' || die |
270 | maddconfig 'LD_LIBRARY_PATH=${ICAROOT}/lib' || die |
271 | maddconfig 'export LD_LIBRARY_PATH' || die |
272 | maddconfig '$ICAROOT/wfica -file $1' || die |
273 | mchmod 0755 /opt/Citrix/ICAClient/wfica.sh || die |
274 | |
275 | # create wfica_assoc.sh |
276 | MCONFIG="/opt/Citrix/ICAClient/wfica_assoc.sh" |
277 | mclearconfig || die |
278 | maddconfig '#!/bin/sh' || die |
279 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
280 | maddconfig 'export ICAROOT' || die |
281 | maddconfig '$ICAROOT/wfica -associate -fileparam $1' || die |
282 | mchmod 0755 /opt/Citrix/ICAClient/wfica_assoc.sh || die |
283 | |
284 | # install wrappers to prevent slowdowns with other locales than 'C' |
285 | minstalldir /usr/bin || die |
286 | MCONFIG="/usr/bin/wfica" |
287 | mclearconfig || die |
288 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/wfica $*' || die |
289 | mchmod 0755 /usr/bin/wfica || die |
290 | MCONFIG="/usr/bin/pnabrowse" |
291 | mclearconfig || die |
292 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/pnabrowse $*' || die |
293 | mchmod 0755 /usr/bin/pnabrowse || die |
294 | MCONFIG="/usr/bin/storebrowse" |
295 | mclearconfig || die |
296 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/storebrowse $*' || die |
297 | mchmod 0755 /usr/bin/storebrowse || die |
298 | |
299 | # replace binaries but default wfica to X implementation |
300 | if [[ ${ENABLE_NOX11COMPONENTS} = 1 ]] |
301 | then |
302 | cd ${SRCDIR}/CitrixPluginSDK |
303 | minstallexec bin/pnabrowse.no_X /opt/Citrix/ICAClient/util/pnabrowse || die |
304 | minstallexec bin/storebrowse.no_X /opt/Citrix/ICAClient/util/storebrowse || die |
305 | |
306 | mmove ${BINDIR}/opt/Citrix/ICAClient/wfica /opt/Citrix/ICAClient/wfica.X || die |
307 | minstallexec bin/wfica_for_plugins /opt/Citrix/ICAClient/wfica.no_X || die |
308 | mlink wfica.X /opt/Citrix/ICAClient/wfica || die |
309 | fi |
310 | |
311 | # insert our company cert |
312 | mcinjectfile ESA-CA.pem /opt/Citrix/ICAClient/keystore/cacerts/ || die |
313 | # rehash all certificates |
314 | ICAROOT=${BINDIR}/opt/Citrix/ICAClient/keystore/cacerts ${BINDIR}/opt/Citrix/ICAClient/util/ctx_rehash || die |
315 | |
316 | # reset bindir |
317 | export BINDIR="${old_bindir}" |
318 | } |
319 | |
320 | src_install_ica-client-common() |
321 | { |
322 | cd ${BUILDDIR}/fakeinstall |
323 | |
324 | # etc |
325 | minstalldir /etc || die |
326 | mmove etc/env.d /etc || die |
327 | |
328 | # keystore + config + gtk |
329 | minstalldir /opt/Citrix/ICAClient || die |
330 | mmove opt/Citrix/ICAClient/config /opt/Citrix/ICAClient/ || die |
331 | mmove opt/Citrix/ICAClient/keystore /opt/Citrix/ICAClient/ || die |
332 | mmove opt/Citrix/ICAClient/gtk /opt/Citrix/ICAClient/ || die |
333 | |
334 | # minimal nls |
335 | minstalldir /opt/Citrix/ICAClient/nls || die |
336 | mmove opt/Citrix/ICAClient/nls/en /opt/Citrix/ICAClient/nls/ || die |
337 | mmove opt/Citrix/ICAClient/nls/en.UTF-8 /opt/Citrix/ICAClient/nls/ || die |
338 | # nls symlinks |
339 | mmove opt/Citrix/ICAClient/nls/C /opt/Citrix/ICAClient/nls/ || die |
340 | mmove opt/Citrix/ICAClient/nls/en.UTF8 /opt/Citrix/ICAClient/nls/ || die |
341 | mmove opt/Citrix/ICAClient/nls/en.utf8 /opt/Citrix/ICAClient/nls/ || die |
342 | |
343 | # eula |
344 | mmove opt/Citrix/ICAClient/eula.txt /opt/Citrix/ICAClient/ || die |
345 | } |
346 | |
347 | src_install_ica-client-libs() |
348 | { |
349 | cd ${BUILDDIR}/fakeinstall |
350 | |
351 | minstalldir /opt/Citrix/ICAClient/lib || die |
352 | mmove opt/Citrix/ICAClient/libproxy.so /opt/Citrix/ICAClient/ || die |
353 | mmove opt/Citrix/ICAClient/lib/libAMSDK.so /opt/Citrix/ICAClient/lib/ || die |
354 | } |
355 | |
356 | src_install_ica-client-wfica() |
357 | { |
358 | cd ${BUILDDIR}/fakeinstall |
359 | |
360 | minstalldir /opt/Citrix/ICAClient || die |
361 | mmove opt/Citrix/ICAClient/wfica /opt/Citrix/ICAClient/ || die |
362 | if [[ ${ENABLE_NOX11COMPONENTS} = 1 ]] |
363 | then |
364 | mmove opt/Citrix/ICAClient/wfica.X /opt/Citrix/ICAClient/ || die |
365 | mmove opt/Citrix/ICAClient/wfica.no_X /opt/Citrix/ICAClient/ || die |
366 | fi |
367 | minstalldir /usr/bin || die |
368 | mmove usr/bin/wfica /usr/bin/ || die |
369 | } |
370 | |
371 | src_install_ica-client-pnabrowse() |
372 | { |
373 | cd ${BUILDDIR}/fakeinstall |
374 | |
375 | minstalldir /opt/Citrix/ICAClient/util || die |
376 | mmove opt/Citrix/ICAClient/util/pnabrowse /opt/Citrix/ICAClient/util/ || die |
377 | mmove opt/Citrix/ICAClient/util/pnabrowse_launch /opt/Citrix/ICAClient/util/ || die |
378 | mmove opt/Citrix/ICAClient/CHARICONV.DLL /opt/Citrix/ICAClient/ || die |
379 | minstalldir /usr/bin || die |
380 | mmove usr/bin/pnabrowse /usr/bin/ || die |
381 | } |
382 | |
383 | src_install_ica-client-storebrowse() |
384 | { |
385 | cd ${BUILDDIR}/fakeinstall |
386 | |
387 | minstalldir /opt/Citrix/ICAClient/util || die |
388 | mmove opt/Citrix/ICAClient/util/storebrowse /opt/Citrix/ICAClient/util/ || die |
389 | mmove opt/Citrix/ICAClient/AuthManagerDaemon /opt/Citrix/ICAClient/ || die |
390 | mmove opt/Citrix/ICAClient/PrimaryAuthManager /opt/Citrix/ICAClient/ || die |
391 | mmove opt/Citrix/ICAClient/ServiceRecord /opt/Citrix/ICAClient/ || die |
392 | minstalldir /usr/bin || die |
393 | mmove usr/bin/storebrowse /usr/bin/ || die |
394 | } |
395 | |
396 | src_install_ica-client() |
397 | { |
398 | cd ${BUILDDIR}/fakeinstall |
399 | minstalldir /opt/Citrix/ICAClient/ || die |
400 | |
401 | # only keep the essential files to run wfica, pnabrowse or storebrowse |
402 | mmove opt/Citrix/ICAClient/PDCRYPT1.DLL /opt/Citrix/ICAClient/ || die |
403 | minstalldir /opt/Citrix/ICAClient/icons || die |
404 | mmove opt/Citrix/ICAClient/icons/receiver.png /opt/Citrix/ICAClient/icons/ || die |
405 | minstalldir /opt/Citrix/ICAClient/keyboard || die |
406 | mmove opt/Citrix/ICAClient/keyboard/keyboard.ini /opt/Citrix/ICAClient/keyboard/ || die |
407 | mmove opt/Citrix/ICAClient/keyboard/automatic.kbd /opt/Citrix/ICAClient/keyboard/ || die |
408 | mmove opt/Citrix/ICAClient/keyboard/linux.kbd /opt/Citrix/ICAClient/keyboard/ || die |
409 | minstalldir /opt/Citrix/ICAClient/lib || die |
410 | mmove opt/Citrix/ICAClient/lib/UIDialogLib.so /opt/Citrix/ICAClient/lib/ || die |
411 | minstalldir /opt/Citrix/ICAClient/util || die |
412 | mmove opt/Citrix/ICAClient/util/new_store /opt/Citrix/ICAClient/util/ || die |
413 | } |
414 | |
415 | src_install_ica-client-usbdaemon() |
416 | { |
417 | cd ${SRCDIR}/linuxx86/linuxx86.cor/usb |
418 | mcopy -a \* /opt/Citrix/ICAClient || die |
419 | mdelete /opt/Citrix/ICAClient/ctxusbd.rc || die |
420 | minstallunit ctxusbd.service || die |
421 | minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die |
422 | minstalldir /usr/bin || die |
423 | mlink /opt/Citrix/ICAClient/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die |
424 | mlink /opt/Citrix/ICAClient/ctxusb /usr/bin/ctxusb || die |
425 | minstalldir /usr/sbin || die |
426 | mlink /opt/Citrix/ICAClient/ctxusbd /usr/sbin/ctxusbd || die |
427 | minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die |
428 | } |
429 | |
430 | src_install_ica-client-dev() |
431 | { |
432 | cd ${BUILDDIR}/fakeinstall |
433 | |
434 | # move the rest to -dev |
435 | mmove etc / || die |
436 | mmove opt / || die |
437 | mmove usr / || die |
438 | } |
439 | |
440 | preinstall_ica-client-common() |
441 | { |
442 | add_conf_prot_mask /etc/env.d |
443 | } |
444 | |
445 | postinstall_ica-client-wfica() |
446 | { |
447 | if [[ ${ENABLE_NOX11COMPONENTS} = 1 ]] |
448 | then |
449 | # replace wfica on serversystem with no_X version |
450 | if [[ -n $(magequery -n serversystem) ]] |
451 | then |
452 | ln -snf wfica.no_X ${MROOT}/opt/Citrix/ICAClient/wfica |
453 | fi |
454 | fi |
455 | } |
456 | |
457 | postinstall_ica-client-usbdaemon() |
458 | { |
459 | if [[ ${ENABLE_USBDAEMON} = 1 ]] |
460 | then |
461 | [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd |
462 | mstartunit ctxusbd.service |
463 | fi |
464 | } |
465 | |
466 | postremove_ica-client-usbdaemon() |
467 | { |
468 | # always try to stop this service |
469 | mstopunit ctxusbd.service |
470 | } |