dopush();
}
+our $sourcechanges;
+
sub cmd_push_source {
prep_push();
fail "dgit push-source: --include-dirty/--ignore-dirty does not make".
"sense with push-source!" if $includedirty;
+ clean_tree();
+ build_maybe_quilt_fixup();
if ($changesfile) {
my $changes = parsecontrol("$buildproductsdir/$changesfile",
"source changes file");
}
} else {
# Building a source package is very fast, so just do it
- build_source_for_push();
+ build_source();
+ die "er, patches are applied dirtily but shouldn't be.."
+ if $patches_applied_dirtily;
+ $changesfile = $sourcechanges;
}
dopush();
}
#---------- building etc. ----------
our $version;
-our $sourcechanges;
our $dscfn;
#----- `3.0 (quilt)' handling -----
check_not_dirty();
}
-sub build_prep () {
+sub build_prep ($) {
+ my ($wantsrc) = @_;
build_prep_early();
clean_tree();
build_maybe_quilt_fixup();
build_prep_early();
my @dbp = (@dpkgbuildpackage, qw(-us -uc), changesopts_initial(), @ARGV);
my $wantsrc = massage_dbp_args \@dbp;
+ build_prep($wantsrc);
if ($wantsrc & WANTSRC_SOURCE) {
build_source();
midbuild_checkchanges_vanilla $wantsrc;
- } else {
- build_prep();
}
if ($wantsrc & WANTSRC_BUILDER) {
push @dbp, changesopts_version();
}
}
+ build_prep($wantsrc);
if ($wantsrc & WANTSRC_SOURCE) {
build_source();
midbuild_checkchanges_vanilla $wantsrc;
if (!$clean_using_builder) {
push @cmd, '--git-cleaner=true';
}
- build_prep();
}
maybe_unapply_patches_again();
if ($wantsrc & WANTSRC_BUILDER) {
}
sub cmd_git_build { cmd_gbp_build(); } # compatibility with <= 1.0
-sub build_source_for_push {
- build_source();
- maybe_unapply_patches_again();
- $changesfile = $sourcechanges;
-}
-
sub build_source {
- build_prep_early();
- build_prep();
$sourcechanges = changespat $version,'source';
if (act_local()) {
unlink "$buildproductsdir/$sourcechanges" or $!==ENOENT
}
sub cmd_build_source {
- build_prep_early();
badusage "build-source takes no additional arguments" if @ARGV;
+ build_prep(WANTSRC_SOURCE);
build_source();
maybe_unapply_patches_again();
printdone "source built, results in $dscfn and $sourcechanges";
}
sub cmd_sbuild {
+ build_prep(WANTSRC_SOURCE); # not BUILDER because sbuild uses the .dsc
build_source();
midbuild_checkchanges();
in_bpd {
$tagformat_want = [ $1, 'command line', 1 ];
# 1 menas overrides distro configuration
} elsif (m/^--always-split-source-build$/s) {
- # undocumented, for testing
+ # undocumented, was once for testing, now a no-op
push @ropts, $_;
$need_split_build_invocation = 1;
} elsif (m/^--config-lookup-explode=(.+)$/s) {