mirror of
				https://github.com/fspc/dswim.git
				synced 2025-10-31 00:15:35 -04:00 
			
		
		
		
	Added checks to make sure $tmp is writable and executable when automatic
db building is done.
This commit is contained in:
		
							parent
							
								
									c2e7737da7
								
							
						
					
					
						commit
						4350c68f9a
					
				
							
								
								
									
										45
									
								
								swim
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								swim
									
									
									
									
									
								
							| @ -805,6 +805,28 @@ sub command { | ||||
|     my $dpkg_status = "$parent$library/status"; | ||||
|     my $my_status = "$main::home$parent$library/status"; | ||||
|    if (!-f $my_status) { | ||||
|        if (  | ||||
| 	    (!-x $tmp && !-w $tmp) || | ||||
| 	     | ||||
| 	    !-x $tmp || | ||||
| 
 | ||||
| 	    !-w $tmp | ||||
| 
 | ||||
| 	   ) { | ||||
| 	   print STDERR "swim: $tmp is not "; | ||||
| 	   print STDERR "writable" if !-w $tmp; | ||||
| 	   print STDERR "/" if !-w $tmp; | ||||
| 	   print STDERR "executable" if !-x $tmp; | ||||
| 	   print STDERR " by your effective uid/gid\n"; | ||||
| 
 | ||||
| 	   print STDERR "swim: set \$tmp to a directory "; | ||||
| 	   print STDERR "writable" if !-w $tmp; | ||||
| 	   print STDERR "/" if !-w $tmp; | ||||
| 	   print STDERR "executable" if !-x $tmp; | ||||
| 	   print STDERR " by your effective uid/gid " .  | ||||
| 	       "in $ENV{HOME}/.swimrc\n"; | ||||
| 	   return "tmp not-writable"; | ||||
|        } | ||||
|        $commands{"check"} = 1; | ||||
|        require SWIM::DB; | ||||
|      SWIM::DB->import(qw(db)); | ||||
| @ -829,6 +851,29 @@ sub command { | ||||
| 	    if ( (stat($dpkg_status))[9] != (stat($my_status))[9] ) { | ||||
| 		my $diff = `diff $dpkg_status $my_status`; | ||||
| 		if ( $diff ) { | ||||
| 		    if (  | ||||
| 			 (!-x $tmp && !-w $tmp) || | ||||
| 			  | ||||
| 			 !-x $tmp || | ||||
| 
 | ||||
| 			 !-w $tmp | ||||
| 
 | ||||
| 			 ) { | ||||
| 			print STDERR "swim: $tmp is not "; | ||||
| 			print STDERR "writable" if !-w $tmp; | ||||
| 			print STDERR "/" if !-w $tmp; | ||||
| 			print STDERR "executable" if !-x $tmp; | ||||
| 			print STDERR " by your effective uid/gid\n"; | ||||
| 			 | ||||
| 			print STDERR "swim: set \$tmp to a directory "; | ||||
| 			print STDERR "writable" if !-w $tmp; | ||||
| 			print STDERR "/" if !-w $tmp; | ||||
| 			print STDERR "executable" if !-x $tmp; | ||||
| 			print STDERR " by your effective uid/gid " .  | ||||
| 			    "in $ENV{HOME}/.swimrc\n"; | ||||
| 			return "tmp not-writable"; | ||||
| 		    } | ||||
| 
 | ||||
| 		    $commands{"check"} = 1; | ||||
| 		    require SWIM::DB; | ||||
| 		  SWIM::DB->import(qw(db)); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user