Functions.pm 678 B

1234567891011121314151617181920212223242526272829303132
  1. package Dpkg::Source::Functions;
  2. use strict;
  3. use warnings;
  4. use Exporter;
  5. our @ISA = qw(Exporter);
  6. our @EXPORT_OK = qw(erasedir);
  7. use Dpkg::ErrorHandling qw(syserr subprocerr failure);
  8. use Dpkg::Gettext;
  9. use POSIX;
  10. sub erasedir {
  11. my ($dir) = @_;
  12. if (not lstat($dir)) {
  13. return if $! == ENOENT;
  14. syserr(_g("cannot stat directory %s (before removal)"), $dir);
  15. }
  16. system 'rm','-rf','--',$dir;
  17. subprocerr("rm -rf $dir") if $?;
  18. if (not stat($dir)) {
  19. return if $! == ENOENT;
  20. syserr(_g("unable to check for removal of dir `%s'"), $dir);
  21. }
  22. failure(_g("rm -rf failed to remove `%s'"), $dir);
  23. }
  24. # vim: set et sw=4 ts=8
  25. 1;