Thanks. I have taken into account your suggestions and made another script.<br><br>This had been not a competition to beautify or verify the rigidity of the script, rather to see if opensuse accepted it. Which it still doesnt<br>
Something to do with lp user file create permissions.<br>
Though the script works fine on ubuntu and fedora.<br>And also, this is my first shell script <br><br><br>#!/bin/bash -e<br># CUPS filter to process ODT files using abiword<br><br><br># $6 happens to be the path to file passed as argument<br>
fn=&quot;$6&quot;<br><br>#in case its not defined<br>TMPDIR=&quot;/tmp&quot;<br><br># we are creating a dummy folder, which can take different file types using mkdir, change to =&quot;/tmp/cups-odftops&quot;<br>sandbox=&quot;${TMPDIR-/tmp}/cups-odftops.$$$$&quot;<br>
(umask 077 &amp;&amp; mkdir &quot;$sandbox&quot;) || exit 1<br><br>#our two dummy files<br>fn1=&quot;$sandbox/temp123.odt&quot;<br>cp &quot;$fn&quot; &quot;$fn1&quot;<br><br># Call abiword quietly, securely <br>abiword --to=&quot;ps&quot; &quot;$fn1&quot;<br>
fn2=&quot;`echo &quot;$fn1&quot; | sed -e &#39;s/odt/ps/&#39; `&quot;<br><br>#check if our version doesn&#39;t require an intermediate conversion, if it does, do it, else break;
<br><br>if [ -n &quot;`grep -q &quot;%!PS-Adobe-3.0&quot; &lt; &quot;$fn2&quot; `&quot; ];then<br>abiword --to=&quot;doc&quot; &quot;$fn1&quot;<br>abiword --to=&quot;ps&quot; &quot;`echo &quot;$fn1&quot; | sed -e &#39;s/odt/doc/&#39; `&quot;<br>
fi<br><br>cat &quot;$fn2&quot;<br>#remove the sandbox folder, for debugging purposes check by commenting the following line and see what is in the /tmp/ folder<br>#rm -rf $sandbox<br>#NOTES: CURSE me for not realizing that these scripts cant write to anyplace other than tmp dirs, and wasting about 20 hrs doing all sorts of combinations of selinux tweaking, writing sample scripts (which magically did the job) and CHMODing<br>
<br>