Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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