summaryrefslogtreecommitdiffstats
path: root/urpm
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2004-11-04 16:22:30 +0000
committerRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2004-11-04 16:22:30 +0000
commit5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713 (patch)
tree58dea230537df4a31645a841cc6b87b87188b8a9 /urpm
parenta0bd3573950dc7366957fbd15ff63591ef29af98 (diff)
downloadurpmi-5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713.tar
urpmi-5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713.tar.gz
urpmi-5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713.tar.bz2
urpmi-5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713.tar.xz
urpmi-5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713.zip
Factor some system()s
Diffstat (limited to 'urpm')
-rw-r--r--urpm/download.pm5
-rw-r--r--urpm/util.pm12
2 files changed, 14 insertions, 3 deletions
diff --git a/urpm/download.pm b/urpm/download.pm
index 734487d9..f9f4be2d 100644
--- a/urpm/download.pm
+++ b/urpm/download.pm
@@ -160,8 +160,9 @@ sub sync_file {
foreach (@_) {
my ($in) = m!^(?:removable[^:]*:/|file:/)(/.*)!;
propagate_sync_callback($options, 'start', $_);
- system("cp", "-p", "-R", $in || $_, ref($options) ? $options->{dir} : $options)
- and die N("copy failed");
+ require urpm::util;
+ urpm::util::copy($in || $_, ref($options) ? $options->{dir} : $options)
+ or die N("copy failed");
propagate_sync_callback($options, 'end', $_);
}
}
diff --git a/urpm/util.pm b/urpm/util.pm
index eb2fc912..8abb816e 100644
--- a/urpm/util.pm
+++ b/urpm/util.pm
@@ -75,7 +75,17 @@ sub offset_pathname {
sub md5sum {
#- Use an external command to avoid depending on perl
my ($file) = @_;
- return( (split ' ', `md5sum '$file'`)[0] );
+ return((split ' ', `md5sum '$file'`)[0]);
+}
+
+sub copy {
+ my ($file, $dest) = @_;
+ !system("/bin/cp", "-p", "-R", $file, $dest);
+}
+
+sub move {
+ my ($file, $dest) = @_;
+ rename($file, $dest) or !system("/bin/mv", "-f", $file, $dest);
}
1;