diff options
Diffstat (limited to 'sbolint')
| -rwxr-xr-x | sbolint | 19 | 
1 files changed, 17 insertions, 2 deletions
| @@ -1171,7 +1171,7 @@ sub check_script {  	}  	my $lineno = 0; -	my ($prgnam, $version, $build, $tag, $need_doinst, $slackdesc, $makepkg, $install); +	my ($prgnam, $version, $build, $tag, $need_doinst, $need_douninst, $slackdesc, $makepkg, $install);  	my ($cdpkg, $codestart, $lint_enabled, $print_pkg_name, $pkg_type, $arch_lineno);  	my ($old_arch, $old_flags, $have_py2, $have_py3);  	$lint_enabled = 1; @@ -1254,6 +1254,8 @@ sub check_script {  			# script dir, but they create one with >> (the jack rt audio stuff  			# does this).  			$need_doinst = $lineno; +		} elsif(/^[^#]*\$\{?CWD\}?\/douninst\.sh(?:"|'|\s|>)/) { +			$need_douninst = $lineno;  		} elsif(/^[^#]*slack-desc/) {  			$slackdesc = $lineno;  			$install = $lineno if m,install/,; # assume OK @@ -1382,16 +1384,29 @@ sub check_script {  		log_error("$file: nothing gets installed in \$PKG/install");  	} -	my $have_doinst = (-f "doinst.sh"); +	my $have_doinst   = (-f "doinst.sh"); +	my $have_douninst = (-f "douninst.sh"); +  	if($have_doinst) {  		check_and_read("doinst.sh", 0644);  	} + +	if($have_douninst) { +		check_and_read("douninst.sh", 0644); +	} +  	if($need_doinst && !$have_doinst) {  		log_error("$file:$need_doinst: script installs doinst.sh, but it doesn't exist");  	} elsif($have_doinst && !$need_doinst) {  		log_error("$file: doinst.sh exists, but the script doesn't install it");  	} +	if($need_douninst && !$have_douninst) { +		log_error("$file:$need_douninst: script installs douninst.sh, but it doesn't exist"); +	} elsif($have_douninst && !$need_douninst) { +		log_error("$file: douninst.sh exists, but the script doesn't install it"); +	} +  	if($old_arch) {  		# checking for the flags is supposed to let us tell the difference between  		# source builds and binary repacks. since we have 30 or so old binary repack | 
