Contents of /smage/trunk/core/ica-client/ica-client-19.3.0.5-r2.smage2
Parent Directory | Revision Log
Revision 13101 -
(show annotations)
(download)
Wed Jun 26 12:47:41 2019 UTC (5 years, 2 months ago) by niro
File size: 9655 byte(s)
Wed Jun 26 12:47:41 2019 UTC (5 years, 2 months ago) by niro
File size: 9655 byte(s)
-added ica-client-libcurl3 to fix CURL_OPENSSL_3 issues with storebrowse and added shared-mime-info to fix gtk-warnings while loading pngs etc
1 | # $Id$ |
2 | |
3 | PNAME="ica-client" |
4 | PVER="19.3.0.5" |
5 | PBUILD="r2" |
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 | # install no x11 components from platform SDK |
15 | NOX11COMPONENTS=1 |
16 | |
17 | SPECIAL_VARS="USBDAEMON NOX11COMPONENTS" |
18 | |
19 | # these deps are essential to run storebrowse: |
20 | # >= net-libs/ica-client-libcurl3-7 |
21 | # >= x11-misc/shared-mime-info-1.8 |
22 | DEPEND=">= sys-libs/libstdc++-5.1 |
23 | >= sys-libs/zlib-1.2 |
24 | >= dev-libs/glib2-2.56 |
25 | >= dev-libs/atk-2.28 |
26 | >= dev-libs/libxml2-2.9 |
27 | >= net-dns/libidn-1.35 |
28 | >= net-libs/libcurl-7 |
29 | >= x11-libs/libX11-1.6 |
30 | >= x11-libs/libXext-1.3 |
31 | >= x11-libs/libXfixes-5 |
32 | >= x11-libs/libXinerama-1.1 |
33 | >= x11-libs/libXrender-0.9 |
34 | >= x11-libs/cairo-1.14 |
35 | >= x11-libs/gdk-pixbuf-2.36 |
36 | >= x11-libs/pango-1.42 |
37 | >= x11-libs/gtk2+-2.24 |
38 | >= media-fonts/font-adobe-75dpi-1 |
39 | >= net-libs/ica-client-libcurl3-7 |
40 | >= x11-misc/shared-mime-info-1.8" |
41 | |
42 | # >= media-libs/alsa-lib-1.0.29 |
43 | # >= media-libs/libogg-1.3 |
44 | # >= media-libs/libvorbis-1.3 |
45 | |
46 | if [[ ${USBDAEMON} = 1 ]] |
47 | then |
48 | DEPEND="${DEPEND} |
49 | >= sys-fs/udev-230" |
50 | fi |
51 | |
52 | SDEPEND=">= virtual/sed" |
53 | |
54 | SRCFILE="linuxx86-${PVER}.tar.gz" |
55 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
56 | |
57 | # no X storebrowse etc |
58 | PLATFORM_SDK_SRCFILE="PlatformOptimizationSDK.linux-${PVER}.tgz" |
59 | |
60 | # only keep the essential files to run wfica, pnabrowse or storebrowse |
61 | ALX_PKG_KEEP="etc/env.d/10ica-client |
62 | opt/Citrix/ICAClient/AuthManagerDaemon |
63 | opt/Citrix/ICAClient/CHARICONV.DLL |
64 | opt/Citrix/ICAClient/PDCRYPT1.DLL |
65 | opt/Citrix/ICAClient/PrimaryAuthManager |
66 | opt/Citrix/ICAClient/ServiceRecord |
67 | opt/Citrix/ICAClient/libctxssl.so |
68 | opt/Citrix/ICAClient/libproxy.so |
69 | opt/Citrix/ICAClient/wfica |
70 | opt/Citrix/ICAClient/wfica.X |
71 | opt/Citrix/ICAClient/wfica.no_X |
72 | opt/Citrix/ICAClient/config |
73 | opt/Citrix/ICAClient/gtk |
74 | opt/Citrix/ICAClient/icons/receiver.png |
75 | opt/Citrix/ICAClient/keyboard/keyboard.ini |
76 | opt/Citrix/ICAClient/keyboard/automatic.kbd |
77 | opt/Citrix/ICAClient/keyboard/linux.kbd |
78 | opt/Citrix/ICAClient/keystore/cacerts |
79 | opt/Citrix/ICAClient/lib/UIDialogLib.so |
80 | opt/Citrix/ICAClient/lib/libAMSDK.so |
81 | opt/Citrix/ICAClient/nls/C |
82 | opt/Citrix/ICAClient/nls/en/appsrv.ini |
83 | opt/Citrix/ICAClient/nls/en/appsrv.template |
84 | opt/Citrix/ICAClient/nls/en/eula.txt |
85 | opt/Citrix/ICAClient/nls/en/module.ini |
86 | opt/Citrix/ICAClient/nls/en/pna.nls |
87 | opt/Citrix/ICAClient/nls/en/wfclient.ini |
88 | opt/Citrix/ICAClient/nls/en/wfclient.template |
89 | opt/Citrix/ICAClient/nls/en.UTF-8/eula.txt |
90 | opt/Citrix/ICAClient/nls/en.UTF8 |
91 | opt/Citrix/ICAClient/nls/en.utf8 |
92 | opt/Citrix/ICAClient/util/ctx_rehash |
93 | opt/Citrix/ICAClient/util/new_store |
94 | opt/Citrix/ICAClient/util/pnabrowse |
95 | opt/Citrix/ICAClient/util/pnabrowse_launch |
96 | opt/Citrix/ICAClient/util/storebrowse |
97 | opt/Citrix/ICAClient/eula.txt |
98 | usr/bin/wfica |
99 | usr/bin/pnabrowse |
100 | usr/bin/storebrowse" |
101 | |
102 | if [[ ${USBDAEMON} = 1 ]] |
103 | then |
104 | ALX_PKG_KEEP+=" usr/lib/systemd/system/ctxusb.service |
105 | usr/lib/udev/rules.d/85-ctxusbd.rules |
106 | opt/Citrix/ICAClient/ctx_usb_isactive |
107 | opt/Citrix/ICAClient/usb.conf |
108 | opt/Citrix/ICAClient/VDGUSB.DLL |
109 | opt/Citrix/ICAClient/ctxusbd |
110 | opt/Citrix/ICAClient/ctxusb |
111 | usr/bin/ctx_usb_isactive |
112 | usr/bin/ctxusb |
113 | usr/sbin/ctxusbd |
114 | etc/tmpfiles.d/ctxusb.conf" |
115 | fi |
116 | |
117 | sminclude mtools udev systemd alx-split |
118 | |
119 | # += to add injection files (alx.sminc) |
120 | SRC_URI+=( |
121 | http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE} |
122 | mirror://ica-client/${SRCFILE} |
123 | ) |
124 | |
125 | if [[ ${USBDAEMON} = 1 ]] |
126 | then |
127 | SRC_URI+=( mirror://ica-client/ctxusbd.service |
128 | mirror://ica-client/ctxusbd.rules |
129 | mirror://ica-client/ctxusbd.tmpfilesd ) |
130 | fi |
131 | |
132 | if [[ ${NOX11COMPONENTS} = 1 ]] |
133 | then |
134 | SRC_URI+=( mirror://ica-client/${PLATFORM_SDK_SRCFILE} ) |
135 | fi |
136 | |
137 | install_from_psf() |
138 | { |
139 | local psf line type file symlink pkg attr user group |
140 | psf="$1" |
141 | |
142 | minstalldir /opt/Citrix/ICAClient || die |
143 | |
144 | cat ${psf} | while read line |
145 | do |
146 | set $line |
147 | type="$1" |
148 | file="$2" |
149 | case $type in |
150 | s|h) |
151 | symlink="$3" |
152 | shift |
153 | ;; |
154 | d|f) |
155 | symlink="" |
156 | ;; |
157 | esac |
158 | |
159 | pkg="$3" |
160 | attr="$4" |
161 | user="$5" |
162 | group="$6" |
163 | |
164 | case ${file} in |
165 | .) continue ;; |
166 | esac |
167 | |
168 | case ${type} in |
169 | d) |
170 | minstalldir /opt/Citrix/ICAClient/${file} || die |
171 | ;; |
172 | f) |
173 | case ${attr} in |
174 | 555) minstallexec ${file} /opt/Citrix/ICAClient/${file} || die ;; |
175 | 444) minstallfile ${file} /opt/Citrix/ICAClient/${file} || die ;; |
176 | esac |
177 | ;; |
178 | s) |
179 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
180 | ;; |
181 | h) |
182 | mlink ${symlink} /opt/Citrix/ICAClient/${file} || die |
183 | ;; |
184 | esac |
185 | done |
186 | } |
187 | |
188 | src_prepare() |
189 | { |
190 | munpack ${SRCFILE} ${SRCDIR} || die |
191 | if [[ ${NOX11COMPONENTS} = 1 ]] |
192 | then |
193 | munpack ${PLATFORM_SDK_SRCFILE} ${SRCDIR} || die |
194 | fi |
195 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
196 | |
197 | sed 's:###ICAROOT###:/opt/Citrix/ICAClient:g' usb/ctxusbd.rc usb/ica-usb.rules || die |
198 | } |
199 | |
200 | alx_generic_src_install() |
201 | { |
202 | cd ${SRCDIR}/linuxx86/linuxx86.cor |
203 | |
204 | minstalldir /opt/Citrix/ICAClient || die |
205 | # read psf file and install files and symlinks |
206 | install_from_psf ${SRCDIR}/linuxx86/linuxx86.psf || die |
207 | |
208 | # eula symlink is a must or wfica and co will not find UIDialog.so |
209 | mlink ./nls/en.UTF-8/eula.txt /opt/Citrix/ICAClient/eula.txt || die |
210 | mlink ../en.UTF-8/eula.txt /opt/Citrix/ICAClient/nls/en/eula.txt || die |
211 | |
212 | # symlink some inis to config dir from nls dir |
213 | minstalldir /opt/Citrix/ICAClient/config || die |
214 | mlink ../nls/en/appsrv.template /opt/Citrix/ICAClient/config/appsrv.template || die |
215 | mlink ../nls/en/module.ini /opt/Citrix/ICAClient/config/module.ini || die |
216 | mlink ../nls/en/wfclient.template /opt/Citrix/ICAClient/config/wfclient.template || die |
217 | |
218 | # make this installation a server installation to seperate config files for every user |
219 | memptyfile /opt/Citrix/ICAClient/config/.server || die |
220 | |
221 | # create wfica.sh |
222 | MCONFIG="/opt/Citrix/ICAClient/wfica.sh" |
223 | mclearconfig || die |
224 | maddconfig '#!/bin/sh' || die |
225 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
226 | maddconfig 'export ICAROOT' || die |
227 | maddconfig 'LD_LIBRARY_PATH=${ICAROOT}/lib' || die |
228 | maddconfig 'export LD_LIBRARY_PATH' || die |
229 | maddconfig '$ICAROOT/wfica -file $1' || die |
230 | mchmod 0755 /opt/Citrix/ICAClient/wfica.sh || die |
231 | |
232 | # create wfica_assoc.sh |
233 | MCONFIG="/opt/Citrix/ICAClient/wfica_assoc.sh" |
234 | mclearconfig || die |
235 | maddconfig '#!/bin/sh' || die |
236 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
237 | maddconfig 'export ICAROOT' || die |
238 | maddconfig '$ICAROOT/wfica -associate -fileparam $1' || die |
239 | mchmod 0755 /opt/Citrix/ICAClient/wfica_assoc.sh || die |
240 | |
241 | # install wrappers to prevent slowdowns with other locales than 'C' |
242 | minstalldir /usr/bin || die |
243 | MCONFIG="/usr/bin/wfica" |
244 | mclearconfig || die |
245 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/wfica $*' || die |
246 | mchmod 0755 /usr/bin/wfica || die |
247 | MCONFIG="/usr/bin/pnabrowse" |
248 | mclearconfig || die |
249 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/pnabrowse $*' || die |
250 | mchmod 0755 /usr/bin/pnabrowse || die |
251 | MCONFIG="/usr/bin/storebrowse" |
252 | mclearconfig || die |
253 | maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/storebrowse $*' || die |
254 | mchmod 0755 /usr/bin/storebrowse || die |
255 | |
256 | # fixes some hardcoded pathes |
257 | minstalldir /etc/env.d || die |
258 | MCONFIG="/etc/env.d/10ica-client" |
259 | mclearconfig || die |
260 | maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die |
261 | |
262 | # # set default browserprotocol to tcp/ip |
263 | # # ( citrix named this in their config as UDP) |
264 | # sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
265 | # |
266 | # newer XenApp use https |
267 | sed -i "s:^\(BrowserProtocol=\).*:\1HTTPonTCP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
268 | |
269 | # auto enable com port mapping for com1 and com2 |
270 | sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \ |
271 | ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.template || die |
272 | |
273 | if [[ ${USBDAEMON} = 1 ]] |
274 | then |
275 | cd ${SRCDIR}/linuxx86/linuxx86.cor/usb |
276 | mcopy -a \* /opt/Citrix/ICAClient || die |
277 | mdelete /opt/Citrix/ICAClient/ctxusbd.rc || die |
278 | minstallunit ctxusbd.service || die |
279 | minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die |
280 | minstalldir /usr/bin || die |
281 | mlink /opt/Citrix/ICAClient/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die |
282 | mlink /opt/Citrix/ICAClient/ctxusb /usr/bin/ctxusb || die |
283 | minstalldir /usr/sbin || die |
284 | mlink /opt/Citrix/ICAClient/ctxusbd /usr/sbin/ctxusbd || die |
285 | minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die |
286 | fi |
287 | |
288 | # replace binaries but default wfica to X implementation |
289 | if [[ ${NOX11COMPONENTS} = 1 ]] |
290 | then |
291 | cd ${SRCDIR}/CitrixPluginSDK |
292 | minstallexec bin/pnabrowse.no_X /opt/Citrix/ICAClient/util/pnabrowse || die |
293 | minstallexec bin/storebrowse.no_X /opt/Citrix/ICAClient/util/storebrowse || die |
294 | |
295 | mmove ${BINDIR}/opt/Citrix/ICAClient/wfica /opt/Citrix/ICAClient/wfica.X || die |
296 | minstallexec bin/wfica_for_plugins /opt/Citrix/ICAClient/wfica.no_X || die |
297 | mlink wfica.X /opt/Citrix/ICAClient/wfica || die |
298 | fi |
299 | |
300 | # insert our company cert |
301 | mcinjectfile ESA-CA.pem /opt/Citrix/ICAClient/keystore/cacerts/ || die |
302 | # rehash all certificates |
303 | ICAROOT=${BINDIR}/opt/Citrix/ICAClient/keystore/cacerts ${BINDIR}/opt/Citrix/ICAClient/util/ctx_rehash || die |
304 | } |
305 | |
306 | preinstall() |
307 | { |
308 | add_conf_prot_mask /etc/env.d |
309 | } |
310 | |
311 | postinstall() |
312 | { |
313 | if [[ ${NOX11COMPONENTS} = 1 ]] |
314 | then |
315 | # replace wfica on serversystem with no_X version |
316 | if [[ -n $(magequery -n serversystem) ]] |
317 | then |
318 | ln -snf wfica.no_X ${MROOT}/opt/Citrix/ICAClient/wfica |
319 | fi |
320 | fi |
321 | |
322 | if [[ ${USBDAEMON} = 1 ]] |
323 | then |
324 | [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd |
325 | mstartunit ctxusbd.service |
326 | fi |
327 | } |
328 | |
329 | postremove() |
330 | { |
331 | # always try to stop this service |
332 | mstopunit ctxusbd.service |
333 | } |