Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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