summaryrefslogtreecommitdiff
path: root/dh_elpa
diff options
context:
space:
mode:
Diffstat (limited to 'dh_elpa')
-rwxr-xr-xdh_elpa30
1 files changed, 28 insertions, 2 deletions
diff --git a/dh_elpa b/dh_elpa
index be68a1f..562d7e4 100755
--- a/dh_elpa
+++ b/dh_elpa
@@ -2,12 +2,38 @@
use strict;
use Cwd qw{ getcwd };
-use File::Temp qw{ tempdir };
+use File::Temp qw{ tempdir tempfile};
+use File::Slurp;
+use IO::Handle;
use Debian::Debhelper::Dh_Lib;
init();
+sub doit_quietly {
+ my ($handle,$tmpfile) = tempfile(UNLINK=>1);
+ my $exitcode;
+
+ verbose_print(escape_shell(@_));
+ open (CPERR,">&STDERR") or die "$!";
+ open (CPOUT,">&STDOUT") or die "$!";
+ STDOUT->fdopen($handle,'w');
+ STDERR->fdopen($handle,'w');
+ my $ret=doit_noerror(@_);
+ STDOUT->fdopen(\*CPOUT,'w');
+ STDERR->fdopen(\*CPERR,'w');
+
+ if (!$ret){
+ $exitcode=$?;
+ close($handle) or die "$!";
+ my $log = read_file ($tmpfile);
+ print $log;
+ my $command=join(" ",@_);
+ error("$command returned exit code ".($exitcode >> 8));
+ }
+
+}
+
my $elpadir="/usr/share/emacs/site-lisp/elpa";
foreach my $package (@{$dh{DOPACKAGES}}) {
@@ -53,7 +79,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
chdir $cwd or die "$!";
}
- doit(qw{emacs -batch -Q -l package},
+ doit_quietly(qw{emacs -batch -Q -l package},
'--eval',"(add-to-list 'package-directory-list \"$elpadir\")",
qw{-f package-initialize -l dh-elpa.el},
qw{-f dhelpa-batch-install-file}, "$tmp/$elpadir", $pkg_file);