commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-womb] gnumaint/fsd gnufsd-psql


From: Kaloian Doganov
Subject: [commit-womb] gnumaint/fsd gnufsd-psql
Date: Thu, 04 Jun 2009 10:44:26 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Kaloian Doganov <kaloian>       09/06/04 10:44:26

Modified files:
        fsd            : gnufsd-psql 

Log message:
        Use temporary file to invoke `fmt' avoiding libipc-run-perl dependency.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/fsd/gnufsd-psql?cvsroot=womb&r1=1.2&r2=1.3

Patches:
Index: gnufsd-psql
===================================================================
RCS file: /sources/womb/gnumaint/fsd/gnufsd-psql,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gnufsd-psql 20 Apr 2009 14:37:47 -0000      1.2
+++ gnufsd-psql 4 Jun 2009 10:44:26 -0000       1.3
@@ -1,16 +1,16 @@
 #!/usr/bin/env perl
-# $Id: gnufsd-psql,v 1.2 2009/04/20 14:37:47 kaloian Exp $
+# $Id: gnufsd-psql,v 1.3 2009/06/04 10:44:26 kaloian Exp $
 # Extract information about GNU packages from the Free Software
 # Directory's PostgreSQL database.
 #
 # Dependencies:
-#   perl (5.8.x), libdbd-pg-perl, libdate-calc-perl, libipc-run-perl
+#   perl (5.8.x), libdbd-pg-perl, libdate-calc-perl
 
 use warnings;
 use strict;
 use DBI;
 use Date::Calc qw ( check_date Delta_Days Add_Delta_YMD Today );
-use IPC::Run qw( run timeout );
+use File::Temp qw ( tmpnam );
 
 # Configuration:
 # ==============================
@@ -332,14 +332,35 @@
   return sort (@result);
 }
 
+# Reformat paragraph text using coreutils' fmt.
+sub fmt ($)
+{
+  my ($str) = @_;
+  # write input to temp file
+  my $filename;
+  $filename = tmpnam ();
+  open TMP, ">$filename" or die "Can't open file: $!";
+  print TMP $str;
+  close TMP or die "Can't close file: $!";
+
+  # invoke fmt
+  open(FMT, "fmt $filename |") or die "Can't fork: $!";
+
+  # read output
+  my (@lines) = <FMT>;
+  close FMT or die "Can't close file: $!";
+
+  # delete temp file
+  unlink $filename or die "Can't delete file: $!";
+  
+  return join ("", @lines);
+}
+
 # Formats long muliparagraph text to be suitable for dumping.
 sub format_full_descr($)
 {
   my ($descr) = @_;
-  my @cmd = "fmt";
-  my $out;
-  my $err;
-  run address@hidden, \$descr, \$out, \$err, timeout (20) or die "fmt: $?";
+  my $out = fmt ($descr);
   $out =~ s/\n/\n /g; # add space after every newline
   $out =~ s/\s+$//; # trim trailing whitespace
   return " " . $out;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]