Magellan Linux

Annotation of /smage/trunk/core/ica-client/ica-client-13.5.0.10185126-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9595 - (hide annotations) (download)
Thu Jul 27 13:27:34 2017 UTC (7 years, 1 month ago) by niro
File size: 9098 byte(s)
auto added: ver bump to 13.6.0.10243651-r1
1 niro 9457 # $Id$
2    
3     PNAME="ica-client"
4     PVER="13.5.0.10185126"
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 niro 9595 >= net-misc/curl-7
25 niro 9457 >= 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     }