Here's a revised patch for using a debOrigScript property to acquire an orig tarball. This adds an option to force the use of downloading a tarball using origUrl. I think this is useful when a package does get accepted into Debian and there's no longer a need to generate the tarball.
--- svn-buildpackage.bak 2008-01-01 04:45:51.000000000 -0500 +++ svn-buildpackage 2008-01-01 13:59:32.000000000 -0500 @@ -6,6 +6,7 @@ use Getopt::Long qw(:config no_ignore_case bundling pass_through); use File::Basename; use Cwd; +use POSIX; # WEXITSTATUS use strict; #use diagnostics; @@ -47,6 +48,7 @@ Miscelaneous: --svn-pkg PACKAGE Specifies the package name --svn-override a=b Override some config variable (comma separated list) + --svn-use-origurl Download tarball using origUrl instead of debOrigScript --svn-verbose More verbose program output --svn-noninteractive Turn off interactive mode -h, --help Show this help message @@ -84,6 +86,7 @@ my $package; my $opt_savecfg; my $opt_dbgsdcommon; +my $opt_use_origurl; my %options = ( # "h|help" => \&help, @@ -108,6 +111,7 @@ "svn-postbuild=s" => \$opt_postbuild, "svn-pretag=s" => \$opt_pretag, "svn-posttag=s" => \$opt_posttag, + "svn-use-origurl" => \$opt_use_origurl, # and for compatibility with old config directives "pre-tag-action=s" => \$opt_pretag, "post-tag-action=s" => \$opt_posttag, @@ -326,11 +330,30 @@ $origfile = long_path($origExpect); # for the actual operation } else { - if ($$c{"origUrl"}) { + if (($$c{"debOrigScript"}) && (!$opt_use_origurl)) { # use an external script to acquire debian orig tarball + my $top_dir = getcwd(); + my $tar_dir = $$c{"origDir"}; + my $debScript = $$c{"debOrigScript"}; + my $debScript_abs_path = long_path($debScript); # use absolute path to script + print "Orig tarball not found (expected $origExpect), fetching using script $debScript...\n"; + print "Running script from $tar_dir\n"; + chdir($tar_dir); + my $sysret = WEXITSTATUS(system($debScript_abs_path)); # assume a non-interactive script + if (0 != $sysret) { # script failed + die "Fetching of orig tarball using $debScript failed...\n"; + } + $origfile = long_path($origExpect); # now the file should exist + chdir($top_dir); + } elsif ($$c{"origUrl"}) { my $oUrl = $$c{"origUrl"}; print "Orig tarball not found (expected $origExpect), fetching from $oUrl...\n"; mkdir -p $$c{"origDir"} if (! -d $$c{"origDir"}); - system "wget -O $origExpect $oUrl" ; + my $wget_bin = '/usr/bin/wget'; + my @args = ('-O', $origExpect, $oUrl); + my $sysret = WEXITSTATUS(system($wget_bin, @args)); + if (0 != $sysret) { # downloading orig tarball failed + die "Fetching of tarball from $oUrl failed\n"; + } $origfile = long_path($origExpect); # now the file should exist }; }