Update of /cvsroot/fink/fink/perlmod/Fink In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2113/perlmod/Fink
Modified Files: ChangeLog Config.pm PkgVersion.pm Log Message: Add --logfile flag to set explicit build-log filename (with %-exp). Index: PkgVersion.pm =================================================================== RCS file: /cvsroot/fink/fink/perlmod/Fink/PkgVersion.pm,v retrieving revision 1.476 retrieving revision 1.477 diff -u -d -r1.476 -r1.477 --- PkgVersion.pm 7 Oct 2005 02:47:33 -0000 1.476 +++ PkgVersion.pm 7 Oct 2005 21:36:10 -0000 1.477 @@ -4797,7 +4797,9 @@ my $self = shift; my $loggable = shift; - return if not Fink::Config::get_option("log_output"); + # if user gave logfile filename, assume he meant to log output + return unless Fink::Config::get_option("log_output") + || Fink::Config::get_option("logfile"); # stop logging if we were doing so # (redirect STD* back to their original file descriptors) @@ -4813,16 +4815,29 @@ # start logging if caller wants us to do so if ($loggable) { - $output_logfile = '/tmp/fink-build-log_' . $self->get_name() . '_' . - $self->get_fullversion() . '_' . - strftime('%Y.%m.%d-%H.%M.%S', localtime); + $output_logfile = Fink::Config::get_option("logfile"); + if ($output_logfile) { + $output_logfile = &expand_percent( + $output_logfile, + $self->{_expand}, + 'build log filename' + ); - # make sure logfile does not already exist (blindly writing to - # a file with a predictable filename in a world-writable - # directory as root is Bad) - sysopen my $log_fh, $output_logfile, O_WRONLY | O_CREAT | O_EXCL - or die "Can't write logfile $output_logfile: $!\n"; - close $log_fh; + # No tests of explicitly given filename...trust that user + # knows what he's doing. + } else { + # no user-specified, so we'll use default + $output_logfile = '/tmp/fink-build-log_' . $self->get_name() . '_' . + $self->get_fullversion() . '_' . + strftime('%Y.%m.%d-%H.%M.%S', localtime); + + # make sure logfile does not already exist (blindly writing to + # a file with a predictable filename in a world-writable + # directory as root is Bad) + sysopen my $log_fh, $output_logfile, O_WRONLY | O_CREAT | O_EXCL + or die "Can't write logfile $output_logfile: $!\n"; + close $log_fh; + } # stash original STD* file descriptors open $orig_fh{stdout}, '>&', STDOUT Index: Config.pm =================================================================== RCS file: /cvsroot/fink/fink/perlmod/Fink/Config.pm,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -r1.65 -r1.66 --- Config.pm 7 Oct 2005 02:47:33 -0000 1.65 +++ Config.pm 7 Oct 2005 21:36:10 -0000 1.66 @@ -224,6 +224,7 @@ [ 'build-as-nobody' => \$opts{build_as_nobody}, 'see man page' ], [ 'maintainer|m' => \$opts{maintainermode}, 'see man page' ], [ 'log-output|l!' => \$opts{log_output}, 'see man page' ], + [ 'logfile=s' => \$opts{logfile}, 'see man page' ], [ 'trees|t=s@' => $opts{include_trees}, 'see man page' ], [ 'exclude-trees|T=s@' => $opts{exclude_trees}, 'see man page' ], # [ 'interactive|i' => \$opts{interactive}, 'see man page' ], Index: ChangeLog =================================================================== RCS file: /cvsroot/fink/fink/perlmod/Fink/ChangeLog,v retrieving revision 1.1163 retrieving revision 1.1164 diff -u -d -r1.1163 -r1.1164 --- ChangeLog 7 Oct 2005 02:47:33 -0000 1.1163 +++ ChangeLog 7 Oct 2005 21:36:10 -0000 1.1164 @@ -1,3 +1,8 @@ +2005-10-07 Daniel Macks <[EMAIL PROTECTED]> + + * Config.pm, PkgVersion.pm: Implement --logfile cmdline flag to + specify buildlog filename (with %-expansion) + 2005-10-06 Daniel Macks <[EMAIL PROTECTED]> * Config.pm, PkgVersion.pm: Store copies of filehandles as ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits