Package: dupload
Severity: wishlist
Tags: patch
Hi,
It's usefull to have a local 'cp' method in dupload, specially in
conjunction with cvs-autoreleasedeb or svn-autoreleasedeb, so the user
can release automatically to a local repository easier...
Thanks in advance,
daniel
--- /usr/bin/dupload.ori 2006-08-14 16:25:40.795862312 +0100
+++ /usr/bin/dupload 2006-08-14 16:30:02.718044088 +0100
@@ -464,6 +464,8 @@
p "Uploading (scp) to $host ($fqdn)\n";
} elsif ($method eq "rsync") {
p "Uploading (rsync) to $host ($fqdn)\n";
+} elsif ($method eq "cp") {
+ p "Copying (cp) to $incoming\n";
} else {
fatal("Unknown upload method\n");
}
@@ -548,6 +550,24 @@
}
$t = 1;
$batchmode = 1;
+ } elsif ($method eq "cp") {
+ $mode = (stat($file))[2];
+ unless ($dry) {
+ system("cp -p $options $file $incoming");
+ fatal("cp $file failed\n") if $?;
+ $t = time() - $t;
+ # Small optimization
+ if ($mode != 33188) { # rw-r--r-- aka 0644
+ system("chmod 0644 $incoming/$file");
+ fatal("chmod 0644 failed\n") if $?;
+ }
+ } else {
+ p "\n+ cp -p $options $file $incoming";
+ if ($mode != 33188) { # rw-r--r-- aka 0644
+ p "\n+ chmod 0644 $incoming/$file";
+ }
+ $t = 1;
+ }
}
if ($queuedir) {
@@ -569,6 +589,13 @@
} else {
p "\n+ ssh -x -l $login $fqdn \"mv $incoming$file $queuedir$file\"";
}
+ } elsif ($method eq "cp") {
+ unless ($dry) {
+ system("mv $incoming$file $queuedir$file");
+ fatal("mv failed\n") if $?;
+ } else {
+ p "\n+ mv $incoming$file $queuedir$file";
+ }
}
}