Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9221 - (hide 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 niro 8438 # $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 niro 9221 opt/Citrix/ICAClient/nls/en.UTF8
75     opt/Citrix/ICAClient/nls/en.utf8
76 niro 8438 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 niro 9221 mlink ../en.UTF-8/eula.txt /opt/Citrix/ICAClient/nls/en/eula.txt || die
186 niro 8438
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     }