From 046406ab6b13659f4be843d3d2d5639efaf425fe Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 12 Nov 2002 12:05:40 +0000 Subject: printer related modules cleaning : - create the printer/ hierarchy - split services related stuff into services.pm & printer::services, - move things that've nothing to do with printers into common.pm (alternatives, permissions, ...) - move eveything related to cups, gimp-print, detection, {star,open}office to the corresponding splited printer:: module - big consolidation of printer::office (it was obvious there were tons of duplication between staroffice and openoffice managment) - move other stuff into printer::main, printer::common, status : print.pm has been heavily splited (now one can begin to understand the little bits). printerdrake still needs to be splited/cleaned and eventually removed since printer/printerdrake modules separation is not understandable by other people till, in printer::gimp, $lprcommand is neither declared nor setted nowhere. idem in mdk9.0 ... --- perl-install/printer/default.pm | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 perl-install/printer/default.pm (limited to 'perl-install/printer/default.pm') diff --git a/perl-install/printer/default.pm b/perl-install/printer/default.pm new file mode 100644 index 000000000..5c15645d2 --- /dev/null +++ b/perl-install/printer/default.pm @@ -0,0 +1,51 @@ +package printer::default; + +use strict; +use run_program; +use common; + +#-configuration directory of Foomatic +my $FOOMATICCONFDIR = "/etc/foomatic"; +#-location of the file containing the default spooler's name +my $FOOMATIC_DEFAULT_SPOOLER = "$FOOMATICCONFDIR/defaultspooler"; + +sub set_printer { + my ($printer) = $_[0]; + run_program::rooted($::prefix, "foomatic-configure", + "-D", "-q", "-s", $printer->{SPOOLER}, + "-n", $printer->{DEFAULT}) or return 0; + return 1; +} + +sub get_printer { + my $printer = $_[0]; + local *F; + open F, ($::testing ? $::prefix : "chroot $::prefix/ ") . + "foomatic-configure -Q -q -s $printer->{SPOOLER} |" or return undef; + my $line; + while ($line = ) { + if ($line =~ m!^\s*(.*)\s*$!) { + return $1; + } + } + return undef; +} + +sub printer_type($) { "LOCAL" } + +sub get_spooler () { + if (-f "$::prefix$FOOMATIC_DEFAULT_SPOOLER") { + my $spool = cat_("$::prefix$FOOMATIC_DEFAULT_SPOOLER"); + chomp $spool; + return $spool if $spool =~ /cups|lpd|lprng|pdq/; + } +} + +sub set_spooler ($) { + my ($printer) = @_; + # Mark the default driver in a file + output_p("$::prefix$FOOMATIC_DEFAULT_SPOOLER", $printer->{SPOOLER}); +} + + +1; -- cgit v1.2.1