Magellan Linux

Contents of /smage/trunk/core/ica-client/ica-client-19.3.0.5-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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