mirror of
				https://github.com/samba-team/samba.git
				synced 2025-10-31 12:23:52 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			965 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			965 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #! /usr/bin/env perl -w
 | |
|     eval 'exec /usr/bin/env perl -S $0 ${1+"$@"}'
 | |
|         if 0; #$running_under_some_shell
 | |
| 
 | |
| use strict;
 | |
| use File::Find ();
 | |
| use File::Path qw(mkpath);
 | |
| use Cwd 'abs_path';
 | |
| 
 | |
| # Set the variable $File::Find::dont_use_nlink if you're using AFS,
 | |
| # since AFS cheats.
 | |
| 
 | |
| # for the convenience of &wanted calls, including -eval statements:
 | |
| use vars qw/*name *dir *prune/;
 | |
| *name   = *File::Find::name;
 | |
| *dir    = *File::Find::dir;
 | |
| *prune  = *File::Find::prune;
 | |
| my $builddir = abs_path($ENV{samba_builddir});
 | |
| my $srcdir = abs_path($ENV{samba_srcdir});
 | |
| sub wanted;
 | |
| 
 | |
| 
 | |
| 
 | |
| # Traverse desired filesystems
 | |
| File::Find::find({wanted => \&wanted, no_chdir => 1}, $srcdir);
 | |
| exit;
 | |
| 
 | |
| 
 | |
| sub wanted {
 | |
|     my ($dev,$ino,$mode,$nlink,$uid,$gid,$newdir);
 | |
| 
 | |
|     if ((($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
 | |
| 	(-d _) && (($newdir = abs_path($_)) !~ /$builddir/)) 
 | |
|         { 
 | |
| 	  $newdir =~ s!$srcdir!$builddir!; 
 | |
| 	  mkpath($newdir);
 | |
| 	  print("Creating $newdir\n");
 | |
| 	}
 | |
| }
 | |
| 
 |