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 8438 - (show annotations) (download)
Thu Jan 28 09:42:24 2016 UTC (8 years, 3 months ago) by niro
File size: 8039 byte(s)
-drop obsolete xerces-c dependency
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/util/ctx_rehash
75 opt/Citrix/ICAClient/util/new_store
76 opt/Citrix/ICAClient/util/pnabrowse
77 opt/Citrix/ICAClient/util/pnabrowse_launch
78 opt/Citrix/ICAClient/util/storebrowse
79 opt/Citrix/ICAClient/eula.txt
80 usr/bin/wfica
81 usr/bin/pnabrowse
82 usr/bin/storebrowse"
83
84 if [[ ${USBDAEMON} = 1 ]]
85 then
86 ALX_PKG_KEEP+=" usr/lib/systemd/system/ctxusb.service
87 usr/lib/udev/rules.d/85-ctxusbd.rules
88 opt/Citrix/ICAClient/ctx_usb_isactive
89 opt/Citrix/ICAClient/usb.conf
90 opt/Citrix/ICAClient/VDGUSB.DLL
91 opt/Citrix/ICAClient/ctxusbd
92 opt/Citrix/ICAClient/ctxusb
93 usr/bin/ctx_usb_isactive
94 usr/bin/ctxusb
95 usr/sbin/ctxusbd
96 etc/tmpfiles.d/ctxusb.conf"
97 fi
98
99 sminclude mtools udev systemd alx-split
100
101 # += to add injection files (alx.sminc)
102 SRC_URI+=(
103 http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE}
104 mirror://ica-client/${SRCFILE}
105 )
106
107 if [[ ${USBDAEMON} = 1 ]]
108 then
109 SRC_URI+=( mirror://ica-client/ctxusbd.service
110 mirror://ica-client/ctxusbd.rules
111 mirror://ica-client/ctxusbd.tmpfilesd )
112 fi
113
114 install_from_psf()
115 {
116 local psf line type file symlink pkg attr user group
117 psf="$1"
118
119 minstalldir /opt/Citrix/ICAClient || die
120
121 cat ${psf} | while read line
122 do
123 set $line
124 type="$1"
125 file="$2"
126 case $type in
127 s|h)
128 symlink="$3"
129 shift
130 ;;
131 d|f)
132 symlink=""
133 ;;
134 esac
135
136 pkg="$3"
137 attr="$4"
138 user="$5"
139 group="$6"
140
141 case ${file} in
142 .) continue ;;
143 esac
144
145 case ${type} in
146 d)
147 minstalldir /opt/Citrix/ICAClient/${file} || die
148 ;;
149 f)
150 case ${attr} in
151 555) minstallexec ${file} /opt/Citrix/ICAClient/${file} || die ;;
152 444) minstallfile ${file} /opt/Citrix/ICAClient/${file} || die ;;
153 esac
154 ;;
155 s)
156 mlink ${symlink} /opt/Citrix/ICAClient/${file} || die
157 ;;
158 h)
159 mlink ${symlink} /opt/Citrix/ICAClient/${file} || die
160 ;;
161 esac
162 done
163 }
164
165 src_prepare()
166 {
167 munpack ${SRCFILE} ${SRCDIR} || die
168 cd ${SRCDIR}/linuxx86/linuxx86.cor
169
170 sed 's:###ICAROOT###:/opt/Citrix/ICAClient:g' usb/ctxusbd.rc usb/ica-usb.rules || die
171 }
172
173 alx_generic_src_install()
174 {
175 cd ${SRCDIR}/linuxx86/linuxx86.cor
176
177 minstalldir /opt/Citrix/ICAClient || die
178 # read psf file and install files and symlinks
179 install_from_psf ${SRCDIR}/linuxx86/linuxx86.psf || die
180
181 # eula symlink is a must or wfica and co will not find UIDialog.so
182 mlink ./nls/en.UTF-8/eula.txt /opt/Citrix/ICAClient/eula.txt || die
183
184 # symlink some inis to config dir from nls dir
185 minstalldir /opt/Citrix/ICAClient/config || die
186 mlink ../nls/en/appsrv.ini /opt/Citrix/ICAClient/config/appsrv.ini || die
187 mlink ../nls/en/module.ini /opt/Citrix/ICAClient/config/module.ini || die
188 mlink ../nls/en/wfclient.ini /opt/Citrix/ICAClient/config/wfclient.ini || die
189
190 # make this installation a server installation to seperate config files for every user
191 memptyfile /opt/Citrix/ICAClient/config/.server || die
192
193 # create wfica.sh
194 MCONFIG="/opt/Citrix/ICAClient/wfica.sh"
195 mclearconfig || die
196 maddconfig '#!/bin/sh' || die
197 maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die
198 maddconfig 'export ICAROOT' || die
199 maddconfig 'LD_LIBRARY_PATH=${ICAROOT}/lib' || die
200 maddconfig 'export LD_LIBRARY_PATH' || die
201 maddconfig '$ICAROOT/wfica -file $1' || die
202 mchmod 0755 /opt/Citrix/ICAClient/wfica.sh || die
203
204 # create wfica_assoc.sh
205 MCONFIG="/opt/Citrix/ICAClient/wfica_assoc.sh"
206 mclearconfig || die
207 maddconfig '#!/bin/sh' || die
208 maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die
209 maddconfig 'export ICAROOT' || die
210 maddconfig '$ICAROOT/wfica -associate -fileparam $1' || die
211 mchmod 0755 /opt/Citrix/ICAClient/wfica_assoc.sh || die
212
213 # install wrappers to prevent slowdowns with other locales than 'C'
214 minstalldir /usr/bin || die
215 MCONFIG="/usr/bin/wfica"
216 mclearconfig || die
217 maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/wfica $*' || die
218 mchmod 0755 /usr/bin/wfica || die
219 MCONFIG="/usr/bin/pnabrowse"
220 mclearconfig || die
221 maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/pnabrowse $*' || die
222 mchmod 0755 /usr/bin/pnabrowse || die
223 MCONFIG="/usr/bin/storebrowse"
224 mclearconfig || die
225 maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/Citrix/ICAClient/lib" /opt/Citrix/ICAClient/util/storebrowse $*' || die
226 mchmod 0755 /usr/bin/storebrowse || die
227
228 # fixes some hardcoded pathes
229 minstalldir /etc/env.d || die
230 MCONFIG="/etc/env.d/10ica-client"
231 mclearconfig || die
232 maddconfig 'ICAROOT=/opt/Citrix/ICAClient' || die
233
234 # # set default browserprotocol to tcp/ip
235 # # ( citrix named this in their config as UDP)
236 # sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die
237 #
238 # newer XenApp use https
239 sed -i "s:^\(BrowserProtocol=\).*:\1HTTPonTCP:" ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die
240
241 # auto enable com port mapping for com1 and com2
242 sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \
243 ${BINDIR}/opt/Citrix/ICAClient/config/wfclient.ini || die
244
245 if [[ ${USBDAEMON} = 1 ]]
246 then
247 cd ${SRCDIR}/linuxx86/linuxx86.cor/usb
248 mcopy -a \* /opt/Citrix/ICAClient || die
249 mdelete /opt/Citrix/ICAClient/ctxusbd.rc || die
250 minstallunit ctxusbd.service || die
251 minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die
252 minstalldir /usr/bin || die
253 mlink /opt/Citrix/ICAClient/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die
254 mlink /opt/Citrix/ICAClient/ctxusb /usr/bin/ctxusb || die
255 minstalldir /usr/sbin || die
256 mlink /opt/Citrix/ICAClient/ctxusbd /usr/sbin/ctxusbd || die
257 minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die
258 fi
259
260 # insert our company cert
261 mcinjectfile ESA.pem /opt/Citrix/ICAClient/keystore/cacerts/ || die
262 # rehash all certificates
263 ICAROOT=${BINDIR}/opt/Citrix/ICAClient/keystore/cacerts ${BINDIR}/opt/Citrix/ICAClient/util/ctx_rehash || die
264 }
265
266 preinstall()
267 {
268 add_conf_prot_mask /etc/env.d
269 }
270
271 postinstall()
272 {
273 if [[ ${USBDAEMON} = 1 ]]
274 then
275 [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd
276 mstartunit ctxusbd.service
277 fi
278 }
279
280 postremove()
281 {
282 # always try to stop this service
283 mstopunit ctxusbd.service
284 }