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";
+				}
 			}
 		}
 

Reply via email to