diff options
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 36 |
1 files changed, 17 insertions, 19 deletions
@@ -6393,22 +6393,6 @@ sub cmd_gbp_build { } sub cmd_git_build { cmd_gbp_build(); } # compatibility with <= 1.0 -sub move_dsc_to_bpd ($) { - my ($dscfn) = @_; - printdebug "moving $dscfn and all referenced files to ".bpd_abs()."\n"; - $dsc = parsecontrol($dscfn, "source package"); - foreach my $l (split /\n/, getfield $dsc, 'Files') { - $l =~ m/\S+$/ or next; - $l =~ s/.* //; - printdebug "found $l - renaming\n"; - rename "$l", bpd_abs()."/$l" - or fail "put in place new source file ($l): $!"; - } - printdebug "moving $dscfn to ".bpd_abs()."/$dscfn\n"; - rename "$dscfn", bpd_abs()."/$dscfn" - or fail "put in place new source file ($dscfn): $!"; -} - sub building_source_in_playtree { # If $includedirty, we have to build the source package from the # working tree, not a playtree, so that uncommitted changes are @@ -6456,9 +6440,23 @@ sub build_source { 'exec >../$1; shift; exec "$@"','x', $sourcechanges, @dpkggenchanges, qw(-S), changesopts(); changedir '..'; - move_dsc_to_bpd($dscfn); - rename "$sourcechanges", bpd_abs()."/$sourcechanges" - or fail "put in place source changes file ($sourcechanges): $!"; + + printdebug "moving $dscfn, $sourcechanges, etc. to ".bpd_abs()."\n"; + $dsc = parsecontrol($dscfn, "source package"); + + my $mv = sub { + my ($why, $l) = @_; + printdebug " renaming ($why) $l\n"; + rename "$l", bpd_abs()."/$l" + or fail "put in place new built file ($l): $!"; + }; + foreach my $l (split /\n/, getfield $dsc, 'Files') { + $l =~ m/\S+$/ or next; + $mv->('Files', $&); + } + $mv->('dsc', $dscfn); + $mv->('changes', $sourcechanges); + changedir $maindir; } |