chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9d4fe1f
)
wip new arrangements for clean etc.
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 24 Aug 2013 13:10:38 +0000
(14:10 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 24 Aug 2013 13:10:38 +0000
(14:10 +0100)
dgit
patch
|
blob
|
history
diff --git
a/dgit
b/dgit
index f9c46c036cb00c037a6457e87546eac5f6a35c30..4792c5372f51c3f616c1205c05cbd9e8b0abaa42 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-24,6
+24,7
@@
use Data::Dumper;
use LWP::UserAgent;
use Dpkg::Control::Hash;
use File::Path;
use LWP::UserAgent;
use Dpkg::Control::Hash;
use File::Path;
+use File::Basename;
use Dpkg::Version;
use POSIX;
use Dpkg::Version;
use POSIX;
@@
-36,6
+37,7
@@
our $dryrun = 0;
our $changesfile;
our $new_package = 0;
our $existing_package = 'dpkg';
our $changesfile;
our $new_package = 0;
our $existing_package = 'dpkg';
+our $build_use_dpkgbuildpackage = 0;
our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
@@
-45,6
+47,7
@@
our (@dput) = qw(dput);
our (@debsign) = qw(debsign);
our (@sbuild) = qw(sbuild -A);
our (@dpkgbuildpackage) = qw(dpkg-buildpackage -i\.git/ -I.git);
our (@debsign) = qw(debsign);
our (@sbuild) = qw(sbuild -A);
our (@dpkgbuildpackage) = qw(dpkg-buildpackage -i\.git/ -I.git);
+our (@dpkgsource) = qw(dpkg-source -i\.git/ -I.git);
our (@mergechanges) = qw(mergechanges -f);
our (@mergechanges) = qw(mergechanges -f);
@@
-52,6
+55,7
@@
our %opts_opt_map = ('dget' => \@dget,
'dput' => \@dput,
'debsign' => \@debsign,
'sbuild' => \@sbuild,
'dput' => \@dput,
'debsign' => \@debsign,
'sbuild' => \@sbuild,
+ 'dpkg-source' => \@dpkgsource,
'dpkg-buildpackage' => \@dpkgbuildpackage,
'mergechanges' => \@mergechanges);
'dpkg-buildpackage' => \@dpkgbuildpackage,
'mergechanges' => \@mergechanges);
@@
-975,10
+979,22
@@
sub cmd_sbuild {
$package = getfield $clogp, 'Source';
my $isuite = getfield $clogp, 'Distribution';
my $version = getfield $clogp, 'Version';
$package = getfield $clogp, 'Source';
my $isuite = getfield $clogp, 'Distribution';
my $version = getfield $clogp, 'Version';
- runcmd_ordryrun (@dpkgbuildpackage, qw(-us -uc -S));
- chdir ".." or die $!;
my $sourcechanges = "${package}_${version}_source.changes";
my $dscfn = dscfn($version);
my $sourcechanges = "${package}_${version}_source.changes";
my $dscfn = dscfn($version);
+ if ($build_use_dpkgbuildpackage) {
+ runcmd_ordryrun (@dpkgbuildpackage, qw(-us -uc -S));
+ } else {
+ my $pwd = cmdoutput qw(env - pwd);
+ my $leafdir = basename $pwd;
+ chdir ".." or die $!;
+ runcmd_ordryrun @dpkgsource, qw(-b --), $leafdir;
+ chdir $pwd or die $!;
+ runcmd_ordryrun qw(sh -ec),
+ 'exec >$1; shift; exec "$@"','x',
+ $sourcechanges,
+ qw(dpkg-genchanges -S);
+ }
+ chdir ".." or die $!;
my $pat = "${package}_${version}_*.changes";
if (!$dryrun) {
stat $dscfn or fail "$dscfn (in parent directory): $!";
my $pat = "${package}_${version}_*.changes";
if (!$dryrun) {
stat $dscfn or fail "$dscfn (in parent directory): $!";