updated on Wed Jan 25 00:20:47 UTC 2012
[aur-mirror.git] / lexmark_pro700 / lexmark_pro700.install
blobe3a8681da55acdbe28307bf97180478a777977ee
1  #!/bin/bash
3 post_install() {
4         echo 'Executing post install scripts ...'
6         ABS_ROOT=/usr/local/lexmark/legacy
7         REL_ROOT=/usr/local/lexmark/legacy
8         OEM=lexmark
10         release=`cat /etc/*release | grep Ubuntu`
11         if [ "$release" != "" ]; then
12             if [ -f $ABS_ROOT/bin/.scripts/apparmor.pl ]; then
13                 perl $ABS_ROOT/bin/.scripts/apparmor.pl
14                 apparmor_parser -r /etc/apparmor.d/usr.sbin.cupsd
15             fi
16         fi
17         echo 'update the demon script'
18         _ESC=`echo $ABS_ROOT | sed  's/\//\\\\\//g'`
19         if [ -f ${ABS_ROOT}/bin/.scripts/demon ]; then
20             cat ${ABS_ROOT}/bin/.scripts/demon | sed -e "s/__OEM__/${OEM}/" | sed -e "s/__ABS_ROOT__/${_ESC}/" > ${ABS_ROOT}/bin/.scripts/demon_tmp
21             mv ${ABS_ROOT}/bin/.scripts/demon_tmp ${ABS_ROOT}/bin/.scripts/demon
22         fi
24         script=''
26         #this is for fedora & suse
27         if [ -d /etc/X11/xinit/xinitrc.d ]; then
28             if [ ! -f /etc/X11/xinit/xinitrc.d/99demon2 ]; then
29                 cp ${ABS_ROOT}/bin/.scripts/demon /etc/X11/xinit/xinitrc.d/99demon2
30                 chmod 555 /etc/X11/xinit/xinitrc.d/99demon2
31                 script='/etc/X11/xinit/xinitrc.d/99demon2'
32             fi
33         fi
35         #this is for ubuntu
36         if [ -d /etc/X11/Xsession.d ]; then
37             if [ ! -f /etc/X11/Xsession.d/99demon2 ]; then
38                 cp ${ABS_ROOT}/bin/.scripts/demon /etc/X11/Xsession.d/99demon2
39                 chmod 555 /etc/X11/Xsession.d/99demon2
40                 script='/etc/X11/Xsession.d/99demon2'
41             fi
42         fi
44         echo 'create the pid file'
45         if [ ! -d /var/run/${OEM} ]; then
46             mkdir /var/run/${OEM}
47         fi
48         if [ -f /var/run/${OEM}/demond2.pid ]; then
49             chmod 666 /var/run/${OEM}/demond2.pid
50         else
51             echo > /var/run/${OEM}/demond2.pid
52             chmod 666 /var/run/${OEM}/demond2.pid
53         fi 
55         echo 'terminate previous running instance/s of device monitor'
56         killall -9 demond > /dev/null 2>&1
58         #get the username used to logged in to the 
59         #system by checking the USER environment variables
60         user1=$USER
61         user2=$SUDO_USER
62         user3=$USERNAME
63         username="root"
64 #       if [ "$user1" != "root" ]; then
65 #           username=$user1;
66 #       elif [ "$user2" != "root" ]; then
67 #           username=$user2;
68 #       elif [ "$user3" != "root" ]; then
69 #           username=$user3;
70 #       fi
72         echo 'run device monitor'
73         #TODO: investigate other ways to run daemon
74         #/bin/sh ${script}
75         if [ $username == "root" ]; then
76             #/bin/sh /usr/local/lexmark/legacy/bin/.scripts/demon
77             /bin/sh $script
78         else
79             sudo -u $username /usr/local/lexmark/legacy/bin/.scripts/demon
80             if [ $? -ne 0 ]; then
81                 #/bin/sh /usr/local/lexmark/legacy/bin/.scripts/demon
82                 /bin/sh $script
83             fi
84         fi;
87         echo 'add symbolic link to /usr/lib for 2008 HPEs'
88         if [ ! -d ${REL_ROOT} ]; then
89             ln -s ${ABS_ROOT} ${REL_ROOT}
90         fi
91         if [ ! -f ${REL_ROOT}/lib/liblxkrf08flib ]; then
92             ln -s ${REL_ROOT}/lib/liblxkrf08flib.so ${REL_ROOT}/lib/liblxkrf08flib
93         fi
94         if [ ! -f ${REL_ROOT}/lib/liblxkrf08flib ]; then
95             ln -s ${REL_ROOT}/lib/liblxkrf08flib.so /usr/lib/liblxkrf08flib
96         fi
97         if [ ! -f ${REL_ROOT}/lib/liblxkrf08flib ]; then
98             ln -s ${REL_ROOT}/lib/liblxkrf08flib.so /usr/lib/liblxkrf08flib.so
99         fi
100         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpec ]; then
101             ln -s ${REL_ROOT}/lib/liblxkrf08hpec.so ${REL_ROOT}/lib/liblxkrf08hpec
102         fi
103         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpec ]; then
104             ln -s ${REL_ROOT}/lib/liblxkrf08hpec.so /usr/lib/liblxkrf08hpec
105         fi
106         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpec ]; then
107             ln -s ${REL_ROOT}/lib/liblxkrf08hpec.so /usr/lib/liblxkrf08hpec.so
108         fi
109         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpeh ]; then
110             ln -s ${REL_ROOT}/lib/liblxkrf08hpeh.so ${REL_ROOT}/lib/liblxkrf08hpeh
111         fi
112         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpeh ]; then
113             ln -s ${REL_ROOT}/lib/liblxkrf08hpeh.so /usr/lib/liblxkrf08hpeh
114         fi
115         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpeh ]; then
116             ln -s ${REL_ROOT}/lib/liblxkrf08hpeh.so /usr/lib/liblxkrf08hpeh.so
117         fi
118         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpep ]; then
119             ln -s ${REL_ROOT}/lib/liblxkrf08hpep.so ${REL_ROOT}/lib/liblxkrf08hpep
120         fi
121         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpep ]; then
122             ln -s ${REL_ROOT}/lib/liblxkrf08hpep.so /usr/lib/liblxkrf08hpep
123         fi
124         if [ ! -f ${REL_ROOT}/lib/liblxkrf08hpep ]; then
125             ln -s ${REL_ROOT}/lib/liblxkrf08hpep.so /usr/lib/liblxkrf08hpep.so
126         fi
127         if [ ! -f ${REL_ROOT}/lib/liblxkrs08flib ]; then
128             ln -s ${REL_ROOT}/lib/liblxkrs08flib.so ${REL_ROOT}/lib/liblxkrs08flib
129         fi
130         if [ ! -f ${REL_ROOT}/lib/liblxkrs08flib ]; then
131             ln -s ${REL_ROOT}/lib/liblxkrs08flib.so /usr/lib/liblxkrs08flib
132         fi
133         if [ ! -f ${REL_ROOT}/lib/liblxkrs08flib ]; then
134             ln -s ${REL_ROOT}/lib/liblxkrs08flib.so /usr/lib/liblxkrs08flib.so
135         fi
136         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpec ]; then
137             ln -s ${REL_ROOT}/lib/liblxkrs08hpec.so ${REL_ROOT}/lib/liblxkrs08hpec
138         fi
139         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpec ]; then
140             ln -s ${REL_ROOT}/lib/liblxkrs08hpec.so /usr/lib/liblxkrs08hpec
141         fi
142         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpec ]; then
143             ln -s ${REL_ROOT}/lib/liblxkrs08hpec.so /usr/lib/liblxkrs08hpec.so
144         fi
145         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpeh ]; then
146             ln -s ${REL_ROOT}/lib/liblxkrs08hpeh.so ${REL_ROOT}/lib/liblxkrs08hpeh
147         fi
148         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpeh ]; then
149             ln -s ${REL_ROOT}/lib/liblxkrs08hpeh.so /usr/lib/liblxkrs08hpeh
150         fi
151         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpeh ]; then
152             ln -s ${REL_ROOT}/lib/liblxkrs08hpeh.so /usr/lib/liblxkrs08hpeh.so
153         fi
154         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpep ]; then
155             ln -s ${REL_ROOT}/lib/liblxkrs08hpep.so ${REL_ROOT}/lib/liblxkrs08hpep
156         fi
157         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpep ]; then
158             ln -s ${REL_ROOT}/lib/liblxkrs08hpep.so /usr/lib/liblxkrs08hpep
159         fi
160         if [ ! -f ${REL_ROOT}/lib/liblxkrs08hpep ]; then
161             ln -s ${REL_ROOT}/lib/liblxkrs08hpep.so /usr/lib/liblxkrs08hpep.so
162         fi
163         if [ ! -f ${REL_ROOT}/lib/liblxkyf08flib ]; then
164             ln -s ${REL_ROOT}/lib/liblxkyf08flib.so ${REL_ROOT}/lib/liblxkyf08flib
165         fi
166         if [ ! -f ${REL_ROOT}/lib/liblxkyf08flib ]; then
167             ln -s ${REL_ROOT}/lib/liblxkyf08flib.so /usr/lib/liblxkyf08flib
168         fi
169         if [ ! -f ${REL_ROOT}/lib/liblxkyf08flib ]; then
170             ln -s ${REL_ROOT}/lib/liblxkyf08flib.so /usr/lib/liblxkyf08flib.so
171         fi
172         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpec ]; then
173             ln -s ${REL_ROOT}/lib/liblxkyf08hpec.so ${REL_ROOT}/lib/liblxkyf08hpec
174         fi
175         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpec ]; then
176             ln -s ${REL_ROOT}/lib/liblxkyf08hpec.so /usr/lib/liblxkyf08hpec
177         fi
178         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpec ]; then
179             ln -s ${REL_ROOT}/lib/liblxkyf08hpec.so /usr/lib/liblxkyf08hpec.so
180         fi
181         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpeh ]; then
182             ln -s ${REL_ROOT}/lib/liblxkyf08hpeh.so ${REL_ROOT}/lib/liblxkyf08hpeh
183         fi
184         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpeh ]; then
185             ln -s ${REL_ROOT}/lib/liblxkyf08hpeh.so /usr/lib/liblxkyf08hpeh
186         fi
187         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpeh ]; then
188             ln -s ${REL_ROOT}/lib/liblxkyf08hpeh.so /usr/lib/liblxkyf08hpeh.so
189         fi
190         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpep ]; then
191             ln -s ${REL_ROOT}/lib/liblxkyf08hpep.so ${REL_ROOT}/lib/liblxkyf08hpep
192         fi
193         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpep ]; then
194             ln -s ${REL_ROOT}/lib/liblxkyf08hpep.so /usr/lib/liblxkyf08hpep
195         fi
196         if [ ! -f ${REL_ROOT}/lib/liblxkyf08hpep ]; then
197             ln -s ${REL_ROOT}/lib/liblxkyf08hpep.so /usr/lib/liblxkyf08hpep.so
198         fi
199         if [ ! -f ${REL_ROOT}/lib/liblxknf09hpec ]; then
200             ln -s ${REL_ROOT}/lib/liblxknf09hpec.so ${REL_ROOT}/lib/liblxknf09hpec
201         fi
202         if [ ! -f ${REL_ROOT}/lib/liblxkns09hpec ]; then
203             ln -s ${REL_ROOT}/lib/liblxkns09hpec.so ${REL_ROOT}/lib/liblxkns09hpec
204         fi
205         if [ ! -f ${REL_ROOT}/lib/liblxknf10hpec ]; then
206             ln -s ${REL_ROOT}/lib/liblxknf10hpec.so ${REL_ROOT}/lib/liblxknf10hpec
207         fi
208         if [ ! -f ${REL_ROOT}/lib/liblxkns10hpec ]; then
209             ln -s ${REL_ROOT}/lib/liblxkns10hpec.so ${REL_ROOT}/lib/liblxkns10hpec
210         fi
211         if [ ! -d ${REL_ROOT} ]; then
212             ln -s ${ABS_ROOT} ${REL_ROOT}
213         fi
215         BIN_FILENAME=lxhcp
216         CUPS_BACKEND_ROOT="/usr/lib/cups/backend"
217         CUPS_BACKEND_ROOT_64="/usr/lib64/cups/backend"
220         MACHINE_TYPE_A=`uname -m`
221         MACHINE_TYPE_B=`uname -i`
223         CUPS_BACKEND_PATH=$CUPS_BACKEND_ROOT
225         if [ ${MACHINE_TYPE_A} = 'x86_64' -o ${MACHINE_TYPE_B} = 'x86_64' ]; then
226                 if [ -d "$CUPS_BACKEND_ROOT_64" ]; then
227                         CUPS_BACKEND_PATH=$CUPS_BACKEND_ROOT_64
228                 else
229                         CUPS_BACKEND_PATH=$CUPS_BACKEND_ROOT
230                 fi
231         fi
234         if [ -f ${CUPS_BACKEND_PATH}/${BIN_FILENAME} ]; then
235                 ver1=`${CUPS_BACKEND_PATH}/${BIN_FILENAME} -v`
236                 ver2=`${ABS_ROOT}/bin/${BIN_FILENAME} -v`
237                 major1=`echo $ver1 | awk -F. '{print $1}'`
238                 major2=`echo $ver2 | awk -F. '{print $1}'`
239                 minor1=`echo $ver1 | awk -F. '{print $2}'`
240                 minor2=`echo $ver2 | awk -F. '{print $2}'`
241                 if [ $major2 -gt $major1 ]; then
242                         echo "Installing ${BIN_FILENAME} backend ..."
243                         cp ${ABS_ROOT}/bin/${BIN_FILENAME} ${CUPS_BACKEND_PATH}/${BIN_FILENAME}
244                 elif [ $major2 -eq $major1 ]; then
245                         if [ $minor2 -gt $minor1 ]; then
246                                 echo "Installing ${BIN_FILENAME} backend ...";
247                                 cp ${ABS_ROOT}/bin/${BIN_FILENAME} ${CUPS_BACKEND_PATH}/${BIN_FILENAME}
248                         fi
249                 fi
250         else
251                 echo "Installing ${BIN_FILENAME} backend ...";
252                 cp ${ABS_ROOT}/bin/${BIN_FILENAME} ${CUPS_BACKEND_PATH}/${BIN_FILENAME}
253         fi
254         if [ ! -d ${REL_ROOT} ]; then
255             ln -s ${ABS_ROOT} ${REL_ROOT}
256         fi
258         SCAN_LIB="/usr/lib/sane"
259         SCAN_LIB_64="/usr/lib64/sane"
261         MACHINE_TYPE_A=`uname -m`
262         MACHINE_TYPE_B=`uname -i`
263         echo 'Install scanner ...'
264         if [ ${MACHINE_TYPE_A} = 'x86_64' -o ${MACHINE_TYPE_B} = 'x86_64' ]; then
265            if [ -d ${SCAN_LIB_64} ]; then
266                 if [ ! -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ]; then
267                     ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1.0.18
268                 fi
269                 if [ ! -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1 ]; then
270                     ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1
271                 fi
272                 if [ ! -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so ]; then
273                     ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so
274                 fi
275            fi
276         fi
277         if [ -d ${SCAN_LIB} ]; then
278            if [ ! -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ]; then
279                ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1.0.18
280            fi
281            if [ ! -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1 ]; then
282                ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1
283            fi
284            if [ ! -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so ]; then
285                ln -s ${REL_ROOT}/lib/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so
286            fi
287         fi
288         if [ ! -f /etc/sane.d/LexmarkLegacy_1_0_0.conf ]; then
289             ln -s ${REL_ROOT}/etc/LexmarkLegacy_1_0_0.conf /etc/sane.d/LexmarkLegacy_1_0_0.conf
290         fi
291         if [ ! -f /etc/udev/rules.d/99-lexmarklegacy-10.rules ]; then
292             ln -s ${REL_ROOT}/etc/99-lexmarklegacy-10.rules /etc/udev/rules.d/99-lexmarklegacy-10.rules
293         fi
295         if [ -f "/sbin/udevadm" ] ; then
296            udevadm_version=`/sbin/udevadm version`
297            udevadm_new_version=126
298            if [ $udevadm_version -gt $udevadm_new_version ] ; then
299                 /sbin/udevadm control --reload-rules
300            else
301                 /sbin/udevadm control --reload_rules
302            fi
303         fi
305         scanlib_dll=`grep LexmarkLegacy_1_0_0 /etc/sane.d/dll.conf`
306         if [ "$scanlib_dll" = "" ]; then
307             echo "LexmarkLegacy_1_0_0" >> /etc/sane.d/dll.conf
308         fi
310         # Check if xsane image location exists 
311         if [ ! -f /usr/share/sane/xsane ]; then
312             # Copy scanner logo to xsane image location; 
313             # replace if there's an existing image copy 
314             cp -rf ${REL_ROOT}/etc/Lexmark-logo.xpm /usr/share/sane/xsane > /dev/null 2>&1
315         fi
318         #-- ADDED by rkhu (2010/09/08) ---
319         #-- DESC: Enable internationalization/localization support for
320         #         linux scanner driver
322         # The name for .mo files (should match backend name)
323         MO_NAME="sane-LexmarkLegacy_1_0_0.mo"
325         # Get list of language directories (directories are assumed
326         # to have been named after standard locale names/abbreviations)
327         DIRS=`ls ${REL_ROOT}/etc/locale`
329         # For all language directories
330         for DIR in $DIRS
331         do
332            MO_PATH="/usr/share/locale/${DIR}/LC_MESSAGES/${MO_NAME}"
334            # Check if the language file is not existing in OS locale directory
335            if [ ! -f ${MO_PATH} ]; then
336                # Link language file to OS locale directory
337                ln -s ${REL_ROOT}/etc/locale/${DIR}/LC_MESSAGES/*.mo ${MO_PATH} > /dev/null 2>&1
338            fi
339         done
341         #-- END (2010/09/08) ---
343         if [ ! -d ${REL_ROOT} ]; then
344             ln -s ${ABS_ROOT} ${REL_ROOT}
345         fi
346         ROOT1=/usr/share/cups/model/Lexmark
347         ROOT2=/usr/share/ppd/Lexmark
348         if [ ! -d ${ROOT1} ]; then
349             mkdir -p ${ROOT1}
350         fi
351         if [ ! -d ${ROOT2} ]; then
352             mkdir -p ${ROOT2}
353         fi
354         for item in lxPro700.ppd lxS600.ppd lxPro200-S500.ppd lxS300-S400.ppd lxZ2400.ppd lxX2600.ppd lxPro800-Pro900.ppd lxX3646.ppd lxX5666.ppd lxX4900.ppd lxX7600.ppd lxZ2300.ppd; do
355             if [ ! -f ${ROOT1}/${item} ]; then
356                 cp -R ${REL_ROOT}/etc/${item} ${ROOT1}/${item}
357             fi
358             if [ ! -f ${ROOT2}/${item} ]; then
359                 cp -R ${REL_ROOT}/etc/${item} ${ROOT2}/${item}
360             fi
361         done
362         echo 'Install DBUS service umf ...'
363         DBUS_SERVICE=umf-legacy
364         DBUS_CID=mdwapclss.apps.umframework.DBusProxyLegacy
366         if [ -d /etc/dbus-1/session.d ]; then
367             if [ ! -f /etc/dbus-1/session.d/${DBUS_SERVICE}.conf ]; then
368                 ln -s ${ABS_ROOT}/etc/umf.conf /etc/dbus-1/session.d/${DBUS_SERVICE}.conf
369             fi
370         fi
371         #this is for fedora & suse
372         if [ -d /etc/X11/xinit/xinitrc.d ]; then
373             if [ ! -f /etc/X11/xinit/xinitrc.d/99umf ]; then
374                 cp ${ABS_ROOT}/bin/.scripts/99umf /etc/X11/xinit/xinitrc.d
375                 chmod 555 /etc/X11/xinit/xinitrc.d/99umf
376             fi
377         fi
379         #this is for ubuntu
380         if [ -d /etc/X11/Xsession.d ]; then
381             if [ ! -f /etc/X11/Xsession.d/99umf ]; then
382                 cp ${ABS_ROOT}/bin/.scripts/99umf /etc/X11/Xsession.d
383                 chmod 644 /etc/X11/Xsession.d/99umf
384             fi
385         fi
387         echo 'creating the service file'
388         if [ ! -f /usr/share/dbus-1/services/${DBUS_SERVICE}.service ]; then
389             echo "[D-BUS Service]" > /usr/share/dbus-1/services/${DBUS_SERVICE}.service
390             echo "Name=${DBUS_CID}" >> /usr/share/dbus-1/services/${DBUS_SERVICE}.service
391             echo "Exec=${ABS_ROOT}/bin/.scripts/umf.sh" >> /usr/share/dbus-1/services/${DBUS_SERVICE}.service
392         fi
394         echo 'initializing umf.sh'
395         if [ -f ${ABS_ROOT}/bin/.scripts/umf.sh ]; then
396             rm -f ${ABS_ROOT}/bin/.scripts/umf.sh
397         fi
398         echo "#!/bin/sh" > ${ABS_ROOT}/bin/.scripts/umf.sh
399         echo "OS_ARCH=\`uname -aa | grep x86_64\`" >> ${ABS_ROOT}/bin/.scripts/umf.sh
400         echo "ARCH=''"                             >> ${ABS_ROOT}/bin/.scripts/umf.sh
401         echo "if [ -n \"\$OS_ARCH\" ]; then"       >> ${ABS_ROOT}/bin/.scripts/umf.sh
402         echo "  ARCH=64"                           >> ${ABS_ROOT}/bin/.scripts/umf.sh
403         echo "fi"                                  >> ${ABS_ROOT}/bin/.scripts/umf.sh
404         echo "JAVA_CMD=java"                                       >> ${ABS_ROOT}/bin/.scripts/umf.sh
406         echo "if [ -f \"/usr/local/lexmark/fwu_legacy/jre/bin/java\" ]; then"   >> ${ABS_ROOT}/bin/.scripts/umf.sh
407         echo "  JAVA_CMD=\"/usr/local/lexmark/fwu_legacy/jre/bin/java\""                >> ${ABS_ROOT}/bin/.scripts/umf.sh
408         echo "elif [ -f \"/usr/local/lexmark/wsu_legacy/jre/bin/java\" ]; then" >> ${ABS_ROOT}/bin/.scripts/umf.sh
409         echo "  JAVA_CMD=\"/usr/local/lexmark/wsu_legacy/jre/bin/java\""                >> ${ABS_ROOT}/bin/.scripts/umf.sh
410         echo "elif [ -f \"/usr/local/lexmark/legacy/jre/bin/java\" ]; then"     >> ${ABS_ROOT}/bin/.scripts/umf.sh
411         echo "  JAVA_CMD=\"/usr/local/lexmark/legacy/jre/bin/java\""                    >> ${ABS_ROOT}/bin/.scripts/umf.sh
412         echo "elif [ -f \"/usr/bin/java\" ]; then"                                                      >> ${ABS_ROOT}/bin/.scripts/umf.sh
413         echo "  JAVA_CMD=\"/usr/bin/java\""                                                             >> ${ABS_ROOT}/bin/.scripts/umf.sh
414         echo "elif [ -f \"/etc/alternatives/java\" ]; then"                             >> ${ABS_ROOT}/bin/.scripts/umf.sh
415         echo "  JAVA_CMD=\"/etc/alternatives/java\""                                            >> ${ABS_ROOT}/bin/.scripts/umf.sh
416         echo "else"                                                                                                             >> ${ABS_ROOT}/bin/.scripts/umf.sh
417         echo "  exit 1"                                                                                                         >> ${ABS_ROOT}/bin/.scripts/umf.sh
418         echo "fi"                                                                                                                       >> ${ABS_ROOT}/bin/.scripts/umf.sh
420         echo "\${JAVA_CMD} -Djava.library.path=${ABS_ROOT}/lib\${ARCH} -Ddbus=${DBUS_CID} -classpath ${ABS_ROOT}/jar/debug-disable-1.1.jar:${ABS_ROOT}/jar/hexdump-0.2.jar:${ABS_ROOT}/jar/libdbus-java-2.6.jar:${ABS_ROOT}/jar/unix-0.5.jar:${ABS_ROOT}/jar/xpp3_min-1.1.4c.jar:${ABS_ROOT}/jar/xstream-1.3.1.jar:${ABS_ROOT}/jar/uiframework.jar:${ABS_ROOT}/jar/tools.jar:${ABS_ROOT}/jar/devicecore.jar:${ABS_ROOT}/jar/config.jar:${ABS_ROOT}/jar/localize.jar:${ABS_ROOT}/jar/umframework.jar mdwapclss.apps.umframework.UserMessagingFramework"         >> ${ABS_ROOT}/bin/.scripts/umf.sh
421         chmod +x ${ABS_ROOT}/bin/.scripts/umf.sh
423         #remove remnant
424         rm -f /tmp/.umf_*
426         if [ ! -f /usr/share/applications/lxtoolboxlegacy.desktop ];
427         then
428            cp ${ABS_ROOT}/etc/lxtoolbox.desktop /usr/share/applications/lxtoolboxlegacy.desktop
429         fi
431         if [ -f /usr/share/gnome-menus/update-gnome-menus-cache ];
432         then
433            /usr/share/gnome-menus/update-gnome-menus-cache /usr/share/applications > /tmp/app
434            ls /usr/share/applications | grep desktop | grep cache | xargs -ti cp /tmp/app /usr/share/applications/{} > /dev/null 2>&1
435            rm /tmp/app
436         fi
439 #post_upgrade() {
440 #post_install
443 pre_remove() {
444         echo 'Executing pre remove scripts ...'
446         ABS_ROOT=/usr/local/lexmark/legacy
447         REL_ROOT=/usr/local/lexmark/legacy
448         OEM=lexmark
449         echo 'Remove demond ...'
450         #this is for fedora & suse
451         if [ -f /etc/X11/xinit/xinitrc.d/99demon2 ]; then
452             rm -f /etc/X11/xinit/xinitrc.d/99demon2
453         fi
455         #this is for ubuntu
456         if [ -f /etc/X11/Xsession.d/99demon2 ]; then
457             rm -f /etc/X11/Xsession.d/99demon2
458         fi
460         echo 'delete demond2.pid'
461         if [ -f /var/run/lexmark/demond2.pid ]; then
462             rm -f /var/run/lexmark/demond2.pid
463         fi
465         echo 'terminate previous running instance/s of device monitor'
466         killall -9 demond > /dev/null 2>&1
468         echo 'Remove symbolic link to /usr/lib for 2008 HPEs'
469         if [ -f ${REL_ROOT}/lib/liblxkrf08flib ]; then
470             unlink ${REL_ROOT}/lib/liblxkrf08flib
471         fi
472         if [ -f /usr/lib/liblxkrf08flib ]; then
473             unlink /usr/lib/liblxkrf08flib
474         fi
475         if [ -f /usr/lib/liblxkrf08flib.so ]; then
476             unlink /usr/lib/liblxkrf08flib.so
477         fi
478         if [ -f ${REL_ROOT}/lib/liblxkrf08hpec ]; then
479             unlink ${REL_ROOT}/lib/liblxkrf08hpec
480         fi
481         if [ -f /usr/lib/liblxkrf08hpec ]; then
482             unlink /usr/lib/liblxkrf08hpec
483         fi
484         if [ -f /usr/lib/liblxkrf08hpec.so ]; then
485             unlink /usr/lib/liblxkrf08hpec.so
486         fi
487         if [ -f ${REL_ROOT}/lib/liblxkrf08hpeh ]; then
488             unlink ${REL_ROOT}/lib/liblxkrf08hpeh
489         fi
490         if [ -f /usr/lib/liblxkrf08hpeh ]; then
491             unlink /usr/lib/liblxkrf08hpeh
492         fi
493         if [ -f /usr/lib/liblxkrf08hpeh.so ]; then
494             unlink /usr/lib/liblxkrf08hpeh.so
495         fi
496         if [ -f ${REL_ROOT}/lib/liblxkrf08hpep ]; then
497             unlink ${REL_ROOT}/lib/liblxkrf08hpep
498         fi
499         if [ -f /usr/lib/liblxkrf08hpep ]; then
500             unlink /usr/lib/liblxkrf08hpep
501         fi
502         if [ -f /usr/lib/liblxkrf08hpep.so ]; then
503             unlink /usr/lib/liblxkrf08hpep.so
504         fi
505         if [ -f ${REL_ROOT}/lib/liblxkrs08flib ]; then
506             unlink ${REL_ROOT}/lib/liblxkrs08flib
507         fi
508         if [ -f /usr/lib/liblxkrs08flib ]; then
509             unlink /usr/lib/liblxkrs08flib
510         fi
511         if [ -f /usr/lib/liblxkrs08flib.so ]; then
512             unlink /usr/lib/liblxkrs08flib.so
513         fi
514         if [ -f ${REL_ROOT}/lib/liblxkrs08hpec ]; then
515             unlink ${REL_ROOT}/lib/liblxkrs08hpec
516         fi
517         if [ -f /usr/lib/liblxkrs08hpec ]; then
518             unlink /usr/lib/liblxkrs08hpec
519         fi
520         if [ -f /usr/lib/liblxkrs08hpec.so ]; then
521             unlink /usr/lib/liblxkrs08hpec.so
522         fi
523         if [ -f ${REL_ROOT}/lib/liblxkrs08hpeh ]; then
524             unlink ${REL_ROOT}/lib/liblxkrs08hpeh
525         fi
526         if [ -f /usr/lib/liblxkrs08hpeh ]; then
527             unlink /usr/lib/liblxkrs08hpeh
528         fi
529         if [ -f /usr/lib/liblxkrs08hpeh.so ]; then
530             unlink /usr/lib/liblxkrs08hpeh.so
531         fi
532         if [ -f ${REL_ROOT}/lib/liblxkrs08hpep ]; then
533             unlink ${REL_ROOT}/lib/liblxkrs08hpep
534         fi
535         if [ -f /usr/lib/liblxkrs08hpep ]; then
536             unlink /usr/lib/liblxkrs08hpep
537         fi
538         if [ -f /usr/lib/liblxkrs08hpep.so ]; then
539             unlink /usr/lib/liblxkrs08hpep.so
540         fi
541         if [ -f ${REL_ROOT}/lib/liblxkyf08flib ]; then
542             unlink ${REL_ROOT}/lib/liblxkyf08flib
543         fi
544         if [ -f /usr/lib/liblxkyf08flib ]; then
545             unlink /usr/lib/liblxkyf08flib
546         fi
547         if [ -f /usr/lib/liblxkyf08flib.so ]; then
548             unlink /usr/lib/liblxkyf08flib.so
549         fi
550         if [ -f ${REL_ROOT}/lib/liblxkyf08hpec ]; then
551             unlink ${REL_ROOT}/lib/liblxkyf08hpec
552         fi
553         if [ -f /usr/lib/liblxkyf08hpec ]; then
554             unlink /usr/lib/liblxkyf08hpec
555         fi
556         if [ -f /usr/lib/liblxkyf08hpec.so ]; then
557             unlink /usr/lib/liblxkyf08hpec.so
558         fi
559         if [ -f ${REL_ROOT}/lib/liblxkyf08hpeh ]; then
560             unlink ${REL_ROOT}/lib/liblxkyf08hpeh
561         fi
562         if [ -f /usr/lib/liblxkyf08hpeh ]; then
563             unlink /usr/lib/liblxkyf08hpeh
564         fi
565         if [ -f /usr/lib/liblxkyf08hpeh.so ]; then
566             unlink /usr/lib/liblxkyf08hpeh.so
567         fi
568         if [ -f ${REL_ROOT}/lib/liblxkyf08hpep ]; then
569             unlink ${REL_ROOT}/lib/liblxkyf08hpep
570         fi
571         if [ -f /usr/lib/liblxkyf08hpep ]; then
572             unlink /usr/lib/liblxkyf08hpep
573         fi
574         if [ -f /usr/lib/liblxkyf08hpep.so ]; then
575             unlink /usr/lib/liblxkyf08hpep.so
576         fi
577         if [ -f ${REL_ROOT}/lib/liblxknf09hpec ]; then
578             unlink ${REL_ROOT}/lib/liblxknf09hpec
579         fi
580         if [ -f ${REL_ROOT}/lib/liblxkns09hpec ]; then
581             unlink ${REL_ROOT}/lib/liblxkns09hpec
582         fi
583         if [ -f ${REL_ROOT}/lib/liblxknf10hpec ]; then
584             unlink ${REL_ROOT}/lib/liblxknf10hpec
585         fi
586         if [ -f ${REL_ROOT}/lib/liblxkns10hpec ]; then
587             unlink ${REL_ROOT}/lib/liblxkns10hpec
588         fi
589         if [ ! -d ${REL_ROOT} ]; then
590             ln -s ${ABS_ROOT} ${REL_ROOT}
591         fi
592         OEM=lexmark
594         rm -rf ${ABS_ROOT}/docs/license*
595         rm -rf ${ABS_ROOT}/docs/EU*
596         echo 'Remove scanner ...'
598         SCAN_LIB="/usr/lib/sane"
599         SCAN_LIB_64="/usr/lib64/sane"
601         MACHINE_TYPE_A=`uname -m`
602         MACHINE_TYPE_B=`uname -i`
604         if [ ${MACHINE_TYPE_A} = 'x86_64' -o ${MACHINE_TYPE_B} = 'x86_64' ]; then
605            if [ -d ${SCAN_LIB_64} ]; then
606                if [ -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ]; then
607                    unlink ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1.0.18
608                fi
609                if [ -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so ]; then
610                    unlink ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so
611                fi
612                if [ -f ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1 ]; then
613                    unlink ${SCAN_LIB_64}/libsane-LexmarkLegacy_1_0_0.so.1
614                fi
615            fi
616         fi
617         if [ -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1.0.18 ]; then
618             unlink ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1.0.18
619         fi
620         if [ -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so ]; then
621             unlink ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so
622         fi
623         if [ -f ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1 ]; then
624             unlink ${SCAN_LIB}/libsane-LexmarkLegacy_1_0_0.so.1
625         fi
627         if [ -f /etc/sane.d/LexmarkLegacy_1_0_0.conf ]; then
628             unlink /etc/sane.d/LexmarkLegacy_1_0_0.conf
629         fi
630         if [ -f /etc/udev/rules.d/99-lexmarklegacy-10.rules ]; then
631             unlink /etc/udev/rules.d/99-lexmarklegacy-10.rules
632         fi
634         if [ -f "/sbin/udevadm" ] ; then
635            udevadm_version=`/sbin/udevadm version`
636            udevadm_new_version=126
637            if [ $udevadm_version -gt $udevadm_new_version ] ; then
638                 /sbin/udevadm control --reload-rules
639            else
640                 /sbin/udevadm control --reload_rules
641            fi
642         fi
645         #-- ADDED by rkhu (2010/09/08) ---
646         #-- DESC: Disable internationalization/localization support for
647         #         linux scanner driver
649         # The name for .mo files (should match backend name)
650         MO_NAME="sane-LexmarkLegacy_1_0_0.mo"
652         # Get list of language directories (directories are assumed
653         # to have been named after standard locale names/abbreviations)
654         DIRS=`ls ${REL_ROOT}/etc/locale`
656         # For all language directories
657         for DIR in $DIRS
658         do
659            MO_PATH="/usr/share/locale/${DIR}/LC_MESSAGES/${MO_NAME}"
661            # Check if the language file is existing in OS locale directory
662            if [ -f ${MO_PATH} ]; then
663                # Unlink language file to OS locale directory
664                unlink ${MO_PATH} > /dev/null 2>&1
665            fi
666         done
668         #-- END (2010/09/08) ---
671         OEM=lexmark
672         export IFS=" "
673         SIZE=`cat /etc/passwd | awk -F ":" '{print $6}' | wc -w`
675         counter=1
676         while [ $counter -le $SIZE ]
677         do
678             VALUE=`cat /etc/passwd | awk -F ":" '{print $6}' | sed -n $counter'p'`
680             if [ -d $VALUE/.$OEM ];
681             then
682                 rm -rf $VALUE/.$OEM
683             fi
685             counter=`expr $counter + 1`
686         done
688         ${ABS_ROOT}/bin/.scripts/unregisterPrinters.sh ${ABS_ROOT}
690         if [ -f ${ABS_ROOT}/etc/netscanconfig.xml ]; 
691         then
692             rm -rf ${ABS_ROOT}/etc/netscanconfig.xml
693         fi
694         if [ ! -d ${REL_ROOT} ]; then
695             ln -s ${ABS_ROOT} ${REL_ROOT}
696         fi
697         ROOT1=/usr/share/cups/model/Lexmark
698         ROOT2=/usr/share/ppd/Lexmark
699         for item in lxPro700.ppd lxS600.ppd lxPro200-S500.ppd lxS300-S400.ppd lxZ2400.ppd lxX2600.ppd lxPro800-Pro900.ppd lxX3646.ppd lxX5666.ppd lxX4900.ppd lxX7600.ppd lxZ2300.ppd; do
700             if [ -f ${ROOT1}/${item} ]; then
701                 unlink ${ROOT1}/${item}
702             fi
703             if [ -f ${ROOT2}/${item} ]; then
704                 unlink ${ROOT2}/${item}
705             fi
706         done
707         echo 'Remove DBUS service umf'
708         if [ -f /etc/dbus-1/session.d/umf.conf ]; then
709             unlink /etc/dbus-1/session.d/umf.conf
710         fi
712         #this is for fedora & suse
713         if [ -f /etc/X11/xinit/xinitrc.d/99umf ]; then
714             rm -f /etc/X11/xinit/xinitrc.d/99umf
715         fi
717         #this is for ubuntu
718         if [ -f /etc/X11/Xsession.d/99umf ]; then
719             rm -f /etc/X11/Xsession.d/99umf
720         fi
722         #removing the service file
723         if [ -f /usr/share/dbus-1/services/umf.service ]; then
724             rm -f /usr/share/dbus-1/services/umf.service
725         fi
727         #initializing umf.sh
728         if [ -f ${ABS_ROOT}/bin/.scripts/umf.sh ]; then
729             rm -f ${ABS_ROOT}/bin/.scripts/umf.sh
730         fi
731         echo 'Clean menu desktop file'
732         if [ -f /usr/share/applications/lxtoolboxlegacy.desktop ]; 
733         then
734            rm /usr/share/applications/lxtoolboxlegacy.desktop
735         fi
737         if [ -f /usr/share/gnome-menus/update-gnome-menus-cache ];
738         then
739            /usr/share/gnome-menus/update-gnome-menus-cache /usr/share/applications > /tmp/app
740            ls /usr/share/applications | grep desktop | grep cache | xargs -ti cp /tmp/app /usr/share/applications/{} > /dev/null 2>&1
741            rm /tmp/app
742         fi