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 8438 - (hide 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 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     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     }