Magellan Linux

Contents of /smage/trunk/core/ica-client/ica-client-13.3.0.344519-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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