Magellan Linux

Contents of /smage/trunk/core/ica-client/ica-client-12.1.0-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4672 - (show annotations) (download)
Fri Mar 22 13:07:39 2013 UTC (11 years, 3 months ago) by niro
File size: 5198 byte(s)
auto added: ver bump to 12.1.0-r3
1 # $Id$
2
3 PNAME="ica-client"
4 PVER="12.1.0"
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=1
14 SPECIAL_VARS="USBDAEMON"
15
16 # install /usr/lib/ICAClient compat symlink, 1=true/ 0=false
17 COMPATSYMLINK=1
18
19 DEPEND=">= x11-libs/libXaw-1
20 >= x11-libs/libX11-1.4
21 >= x11-libs/libSM-1.2
22 >= x11-libs/libICE-1
23 >= x11-libs/libXpm-3.5
24 >= x11-libs/libXinerama-1.1
25 >= x11-libs/openmotif-2.3
26 >= x11-libs/libXp-1
27 >= media-fonts/font-adobe-75dpi-1
28 >= media-libs/alsa-lib-1.0.24
29 >= media-libs/libogg-1.3
30 >= media-libs/libvorbis-1.3"
31
32 if [[ ${USBDAEMON} = true ]]
33 then
34 DEPEND="${DEPEND}
35 >= sys-fs/udev-185"
36
37 # ctxusb daemon
38 USB_PVER="2.2"
39 USB_SRCFILE="ctxusb_${USB_PVER}-1.i386.rpm"
40 USB_SRCDIR="${BUILDDIR}/ctxusb_${USB_PVER}"
41 fi
42
43 SDEPEND=">= app-arch/rpm2targz-9.0
44 >= virtual/sed"
45
46 SRCFILE="ICAClient-${PVER}-0.i386.rpm"
47 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
48
49 # only keep the essential files to run wfica
50 ALX_PKG_KEEP="etc/env.d
51 usr/bin/wfica
52 opt/ica-client/wfica
53 opt/ica-client/wfica.sh"
54
55 # needed to run wfica
56 ALX_PKG_KEEP+=" opt/ica-client/CHARICONV.DLL"
57
58 # needed for basic session encryption
59 ALX_PKG_KEEP+=" opt/ica-client/PDCRYPT1.DLL"
60
61 # proxy support, needed by wfica
62 ALX_PKG_KEEP+=" opt/ica-client/libproxy.so"
63
64 # wfica configuration files
65 ALX_PKG_KEEP+=" opt/ica-client/config
66 opt/ica-client/nls/en/appsrv.ini
67 opt/ica-client/nls/en/module.ini
68 opt/ica-client/nls/en/wfclient.ini"
69
70 # keyboard layouts
71 ALX_PKG_KEEP+=" opt/ica-client/keyboard/keyboard.ini
72 opt/ica-client/keyboard/automatic.kbd
73 opt/ica-client/keyboard/linux.kbd"
74
75 # language support
76 ALX_PKG_KEEP+=" opt/ica-client/nls/C
77 opt/ica-client/nls/en/Wfica"
78
79 # keep UTF-8 too
80 ALX_PKG_KEEP+=" opt/ica-client/nls/en/UTF-8/Wfica"
81
82 # required data files
83 ALX_PKG_KEEP+=" opt/ica-client/gtk
84 opt/ica-client/icons/receiver.png"
85
86 # compat symlink
87 if [[ ${COMPATSYMLINK} = 1 ]]
88 then
89 ALX_PKG_KEEP+=" usr/lib/ICAClient"
90 fi
91
92 if [[ ${USBDAEMON} = 1 ]]
93 then
94 ALX_PKG_KEEP+=" etc/rc.d/init.d/ctxusbd
95 lib/udev/rules.d/85-ctxusbd.rules
96 opt/ica-client/ctx_usb_isactive
97 opt/ica-client/usb.conf
98 opt/ica-client/VDGUSB.DLL
99 opt/ica-client/ctxusbd
100 opt/ica-client/ctxusb"
101 fi
102
103 sminclude mtools alx-split
104
105 SRC_URI=(
106 http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE}
107 mirror://ica-client/${SRCFILE}
108 )
109
110 if [[ ${USBDAEMON} = 1 ]]
111 then
112 SRC_URI=( ${SRC_URI[*]}
113 http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${USB_SRCFILE}
114 mirror://ica-client/${USB_SRCFILE}
115 mirror://ica-client/ctxusbd.service
116 mirror://ica-client/ctxusbd.rules
117 mirror://ica-client/ctxusbd.tmpfile
118 )
119 fi
120
121 src_prepare()
122 {
123 munpack ${SRCFILE} ${SRCDIR} || die
124
125 if [[ ${USBDAEMON} = 1 ]]
126 then
127 munpack ${USB_SRCFILE} ${USB_SRCDIR} || die
128 fi
129 }
130
131 alx_generic_src_install()
132 {
133 cd ${SRCDIR}/opt/Citrix/ICAClient
134
135 minstalldir /opt/ica-client || die
136 mcopy -a \* /opt/ica-client || die
137
138 # symlink some inis to config dir from nls dir
139 minstalldir /opt/ica-client/config || die
140 mlink ../nls/en/appsrv.ini /opt/ica-client/config/appsrv.ini || die
141 mlink ../nls/en/module.ini /opt/ica-client/config/module.ini || die
142 mlink ../nls/en/wfclient.ini /opt/ica-client/config/wfclient.ini || die
143
144 # install wrappers to prevent slowdowns with other locales than 'C'
145 minstalldir /usr/bin || die
146 MCONFIG="/usr/bin/wfcmgr"
147 mclearconfig || die
148 maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfcmgr.bin $*' || die
149 MCONFIG="/usr/bin/wfica"
150 mclearconfig || die
151 maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfica $*' || die
152 mchmod 0755 /usr/bin/wfcmgr || die
153 mchmod 0755 /usr/bin/wfica || die
154
155 # fixes some hardcoded pathes
156 minstalldir /etc/env.d || die
157 MCONFIG="/etc/env.d/10ica-client"
158 mclearconfig || die
159 maddconfig 'ICAROOT=/opt/ica-client' || die
160
161 # compat symlink
162 if [[ ${COMPATSYMLINK} = 1 ]]
163 then
164 minstalldir /usr/lib || die
165 mlink /opt/ica-client /usr/lib/ICAClient || die
166 fi
167
168 # set default browserprotocol to tcp/ip
169 # ( citrix named this in their config as UDP)
170 sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" ${BINDIR}/opt/ica-client/config/wfclient.ini || die
171
172 # auto enable com port mapping for com1 and com2
173 sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \
174 ${BINDIR}/opt/ica-client/config/wfclient.ini || die
175
176 if [[ ${USBDAEMON} = 1 ]]
177 then
178 cd ${USB_SRCDIR}/opt/Citrix/ICAClient
179 mcopy -a \* /opt/ica-client || die
180 minstallunit ctxusbd.service || die
181 minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die
182 minstalldir /usr/bin || die
183 mlink /opt/ica-client/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die
184 mlink /opt/ica-client/ctxusb /usr/bin/ctxusb || die
185 minstalldir /usr/sbin || die
186 mlink /opt/ica-client/ctxusbd /usr/sbin/ctxusbd || die
187 minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die
188 fi
189 }
190
191 preinstall()
192 {
193 add_conf_prot_mask /etc/env.d
194 }
195
196 postinstall()
197 {
198 if [[ ${USBDAEMON} = 1 ]]
199 then
200 [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd
201 mstartunit ctxusbd.service
202 fi
203 }
204
205 postremove()
206 {
207 # always try to stop this service
208 mstopunit ctxusbd.service
209 }