diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2004-03-11 12:20:08 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2004-03-11 12:20:08 +0000 |
commit | c05ed87c39fd86500be6c4138b038cc44fdfb196 (patch) | |
tree | 604faf75df3452679d2e79b6262cc792c7ac0288 | |
parent | b2ce946695a8f33e338146adb836c26581b6cc80 (diff) | |
download | perl-MDK-Common-c05ed87c39fd86500be6c4138b038cc44fdfb196.tar perl-MDK-Common-c05ed87c39fd86500be6c4138b038cc44fdfb196.tar.gz perl-MDK-Common-c05ed87c39fd86500be6c4138b038cc44fdfb196.tar.bz2 perl-MDK-Common-c05ed87c39fd86500be6c4138b038cc44fdfb196.tar.xz perl-MDK-Common-c05ed87c39fd86500be6c4138b038cc44fdfb196.zip |
cp_af() now handles devices (mknod)
-rw-r--r-- | MDK/Common/File.pm | 8 | ||||
-rw-r--r-- | perl-MDK-Common.spec | 5 |
2 files changed, 10 insertions, 3 deletions
diff --git a/MDK/Common/File.pm b/MDK/Common/File.pm index c596ad5..4573fc4 100644 --- a/MDK/Common/File.pm +++ b/MDK/Common/File.pm @@ -161,7 +161,7 @@ sub rm_rf { sub cp_with_option { my $option = shift @_; - my $keep_symlinks = $option =~ /a/; + my $keep_special = $option =~ /a/; my $dest = pop @_; @@ -177,10 +177,14 @@ sub cp_with_option { if (-d $src) { -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n"; cp_af(glob_($src), $dest); - } elsif (-l $src && $keep_symlinks) { + } elsif (-l $src && $keep_special) { unless (symlink(readlink($src) || die("readlink failed: $!"), $dest)) { warn "symlink: can't create symlink $dest: $!\n"; } + } elsif ((-b $src || -c $src) && $keep_special) { + my @stat = stat($src); + require MDK::Common::System; + MDK::Common::System::syscall_('mknod', $dest, $stat[2], $stat[6]) or die "mknod failed (dev $_): $!"; } else { local *F; open F, $src or die "can't open $src for reading: $!\n"; local *G; open G, "> $dest"; diff --git a/perl-MDK-Common.spec b/perl-MDK-Common.spec index 5ff2d31..8659f0b 100644 --- a/perl-MDK-Common.spec +++ b/perl-MDK-Common.spec @@ -2,7 +2,7 @@ # do not change the version here, change in MDK/Common.pm.pl %define version THEVERSION -%define release 2mdk +%define release 3mdk %ifarch x86_64 %define build_option PERL_CHECKER_TARGET='debug-code BCSUFFIX=""' @@ -72,6 +72,9 @@ rm -rf $RPM_BUILD_ROOT # MODIFY IN THE CVS: cvs.mandrakesoft.com:/cooker soft/perl-MDK-Common %changelog +* Thu Mar 11 2004 Pixel <pixel@mandrakesoft.com> 1.1.11-3mdk +- cp_af() now handles devices (mknod) + * Fri Feb 13 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.10-2mdk - update gtk2-perl binding fake package |