diff options
author | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-11-04 16:22:30 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-11-04 16:22:30 +0000 |
commit | 5ed8cc71bb4a24dcf6b8f0e1ea2b655c1fc24713 (patch) | |
tree | 58dea230537df4a31645a841cc6b87b87188b8a9 /urpm | |
parent | a0bd3573950dc7366957fbd15ff63591ef29af98 (diff) | |
download | urpmi-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.pm | 5 | ||||
-rw-r--r-- | urpm/util.pm | 12 |
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; |