Adjustments to ensure install.pl copies all files
This commit is contained in:
		
							parent
							
								
									22f7e35522
								
							
						
					
					
						commit
						44c00f8379
					
				
							
								
								
									
										20
									
								
								install.pl
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								install.pl
									
									
									
									
									
								
							| @ -24,19 +24,23 @@ my $scripts = "$repo_dir/scripts"; | |||||||
| 
 | 
 | ||||||
| chdir $scripts or die "Unable to change into $scripts: $!"; | chdir $scripts or die "Unable to change into $scripts: $!"; | ||||||
| 
 | 
 | ||||||
| print "Installing scripts"; | print "Installing scripts\n"; | ||||||
| 
 | 
 | ||||||
| opendir(my $repo_scripts, $scripts) or die "Unable to open directory: $!"; | opendir(my $repo_scripts, $scripts) or die "Unable to open directory: $!"; | ||||||
| my @script_files = grep { -f "$scripts/$_" } readdir($repo_scripts); | my @script_files = grep { -f "$scripts/$_" } readdir($repo_scripts); | ||||||
| closedir($repo_scripts); | closedir($repo_scripts); | ||||||
| 
 | 
 | ||||||
| foreach my $file (@script_files) { | foreach my $file (@script_files) { | ||||||
|     my $repo_file_path = "$repo_scripts/$file"; |     my $repo_file_path = "$scripts/$file"; | ||||||
|     my $install_file_path = "$install_dir/$file"; |     my $install_file_path = "$install_dir/$file"; | ||||||
| 
 | 
 | ||||||
|  |     print "Repo file: $repo_file_path\n"; | ||||||
|  |     print "Dest: $install_file_path\n"; | ||||||
|  | 
 | ||||||
|     if (!-e $install_file_path || !compare_checksums($repo_file_path, $install_file_path)) { |     if (!-e $install_file_path || !compare_checksums($repo_file_path, $install_file_path)) { | ||||||
|         print "Copying $file...\n"; |         print "Copying $file...\n"; | ||||||
|         copy($repo_file_path, $install_file_path) or die "Copy failed: $!"; |         copy($repo_file_path, $install_file_path) or die "Copy failed: $!"; | ||||||
|  |         chmod(0755, $install_file_path) or die "Failed to set execute permission: $!"; | ||||||
|     } else { |     } else { | ||||||
|         print "Skipping $file (Checksum matched)\n"; |         print "Skipping $file (Checksum matched)\n"; | ||||||
|     } |     } | ||||||
| @ -47,7 +51,15 @@ print "Ensure that $install_dir is in your PATH\n"; | |||||||
| 
 | 
 | ||||||
| sub compare_checksums { | sub compare_checksums { | ||||||
|     my ($file1, $file2) = @_; |     my ($file1, $file2) = @_; | ||||||
|     my $digest1 = Digest::MD5->new->addfile($file1)->hexdigest; |      | ||||||
|     my $digest2 = Digest::MD5->new->addfile($file2)->hexdigest; |     open my $fh1, '<', $file1 or die "Could not open file $file1: $!"; | ||||||
|  |     open my $fh2, '<', $file2 or die "Could not open file $file2: $!"; | ||||||
|  |      | ||||||
|  |     my $digest1 = Digest::MD5->new->addfile($fh1)->hexdigest; | ||||||
|  |     my $digest2 = Digest::MD5->new->addfile($fh2)->hexdigest; | ||||||
|  |      | ||||||
|  |     close $fh1; | ||||||
|  |     close $fh2; | ||||||
|  |      | ||||||
|     return $digest1 eq $digest2; |     return $digest1 eq $digest2; | ||||||
| } | } | ||||||
| @ -1,5 +1,6 @@ | |||||||
| #!/usr/bin/perl | #!/usr/bin/perl | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # ds - calculate and display the size of a given directory in a human readable format | # ds - calculate and display the size of a given directory in a human readable format | ||||||
| # Copyright Frederick Boniface 2023 - fredboniface.co.uk | # Copyright Frederick Boniface 2023 - fredboniface.co.uk | ||||||
| # | # | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| #!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # regain - search folders below working directory and call regainer on each album found | # regain - search folders below working directory and call regainer on each album found | ||||||
| # Copyright Frederick Boniface 2023 - fredboniface.co.uk | # Copyright Frederick Boniface 2023 - fredboniface.co.uk | ||||||
| # | # | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| #!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # regainer - advanced ReplayGain tagging | # regainer - advanced ReplayGain tagging | ||||||
| # Copyright 2016 Calvin Walton <calvin.walton@kepstin.ca> | # Copyright 2016 Calvin Walton <calvin.walton@kepstin.ca> | ||||||
| # | # | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user