Hello Mr. Powell,

thanks for your advice.

I did as you told me:
> 
> a)  get the latest test version of LPRng:
> 
> ftp://ftp.astart.com/pub/LPRng/private/    <<< - look here for latest test version
>
this was LPRng-3.6.23.tgz
  
> b)  Install it.
> 
> In the printcap entry, add the following line:
> 
> pr...:   <- printcap entry
>   :incoming_control_filter=/usr/local/libexec/filters/fixhp
now looks like this
fleet2:
        :lf=/var/log/lpd-errs
        :rm=192.168.250.4
        :rp=raw
        :sd=/var/spool/lpd/fleet2
        :mx#0:sh
        :ff_separator
        :lpd_bounce
        :ifhp=model=hp5simx,status@
        :filter=/usr/libexec/filters/ifhp
        :incoming_control_filter=/usr/libexec/filters/fixhp 

 
> Put the following in the /usr/local/libexec/filters/fixhp file:
I put it in /usr/libexec/filters/fixhp
> 
> #!/bin/perl
> #  fix up the control file with HP options
> #  Note that this must be done BEFORE processing the
> #  control file
> #
> my(@file,@options,$options,$debug);
> @file = <>;
> print "file '" . join("','",@file) . "'\n" if $debug;
> @options =
>       grep /./,
>       map { if(/^N O/){ $v= $_; chomp $v; $v =~ s/^N O//; $v; } else { "" } } @file;
> print "option list '" . join("','",@options) . "'\n" if $debug;
> $options = join(",",@options);
> print "options '$options'\n" if $debug;
> @file = grep !/^N /, @file;
> print "new file '" . join("','",@file) . "'\n" if $debug;
> if( $options ){
>     if( not (grep { s/$/,$options/ if /^Z/; } @file) ){
>               print "Z" . $options . "\n";
>       }
> }
> print @file if @file;
> exit 0;
> 
 Lets run through what "should" happen:
>
> The job arrives at the spooler.
> The 'incoming_control_filter' program is run, producing the
>   new control file.
> The fixhp perl script will find all the 'N ' lines, extract
> the options,  and then remove them.  It puts the
> extracted 'N O' options into the Z line.
>
What really happens:
the cf-file gets messed up or is empty

the status file contains lines like these:
INCOMING_CONTROL_FILTER: Can't open -A0: No such file or directory at
2000-08-10-12:24:39.360 ## A=0 number=0 process=12910
INCOMING_CONTROL_FILTER: Can't open -j000: No such file or directory at
2000-08-10-12:24:39.363 ## A=0 number=0 process=12910

OKAY, so why I'm not frustrated ?
There is a Beta version LPRng-3.6.23beta2.tgz

I installed it without adding the incoming control filter and it really
works. Now all the -o options are nicely translated to -Z options even 
without the :prefix stuff.
Only problem - the df* job files are not removed from the spool dir.

> Enjoy
Yes, I did.

So long, Philipp.


-----------------------------------------------------------------------------
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to