[Top][All Lists]
[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;
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/04
- [commit-womb] gnumaint/fsd gnufsd-psql,
Kaloian Doganov <=
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06
- [commit-womb] gnumaint/fsd gnufsd-psql, Kaloian Doganov, 2009/06/06