diff options
Diffstat (limited to 'sbolint')
| -rwxr-xr-x | sbolint | 31 | 
1 files changed, 29 insertions, 2 deletions
| @@ -291,6 +291,22 @@ cache must be checked before this command is run.  =back +=item - + +Image files are checked for permissions (0644), filename (extension +must match filetype, e.g. a GIF image must not be named image.jpg), +and correctness (must not be truncated/corrupt). + +=item - + +Patch files (anything named *.diff or *.patch) are checked for +permissions (0644) and DOS/Windows CRLF line endings. If a patch +file has CRLF endings, it B<cannot> be checked into SBo's repository, +because git will strip the CR (\r) from every line, meaning the patch +will fail to apply. In this case, the best solution is to gzip the +patch, and have the SlackBuild use e.g. "zcat $CWD/blah.diff.gz | +patch -p1" to apply it. +  =back  =head1 EXIT STATUS @@ -721,6 +737,7 @@ sub run_checks {  				\&check_script,  				\&check_doinst,  				\&check_images, +				\&check_patches,  				\&check_empty_hidden,  				); @@ -785,7 +802,14 @@ sub check_and_read {  		}  	} -	log_error("$file has DOS-style CRLF line endings") if $crlf_err; +	if($crlf_err) { +		if($file =~ /\.(diff|patch)$/i) { +			log_error("$file has DOS-style CRLF line endings, git will mess it up unless you gzip it!") if $crlf_err; +		} else { +			log_error("$file has DOS-style CRLF line endings") if $crlf_err; +		} +	} +  	log_error("$file has no newline at EOF") if $lastline_nonl;  	return @lines;  } @@ -1738,8 +1762,11 @@ sub check_junkfiles {  # if anything *.diff or *.patch contains \r, warn the  # user about git stripping the \r's (better gzip it). +# 20231223 bkw: this check relies on check_and_read special-casing +# filenames ending in *.diff or *.patch.  sub check_patches { -	for(<*.diff>,<*.patch>) { +	my $patches = `find . \\( -iname '*.diff' -o -iname '*.patch' \\) -print0`; +	for(split /\x00/, $patches) {  		check_and_read($_, 0644);  	}  } | 
