diff options
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | sbolint | 59 | ||||
-rwxr-xr-x | sbopkglint | 2 |
3 files changed, 38 insertions, 25 deletions
@@ -1,7 +1,7 @@ PROJ=sbo-maintainer-tools # for now, VERSION has to be updated here and also in both scripts. -VERSION=0.5.1 +VERSION=0.5.2 PREFIX=/usr/local DESTDIR= @@ -1,10 +1,14 @@ #!/usr/bin/perl -w # note to self: keep this in sync with VER in sbopkglint and VERSION in Makefile. -$VERSION="0.5.1"; +$VERSION="0.5.2"; # ChangeLog: +# 0.5.2 20220702 bkw: if SlackBuild doesn't exist, skip other checks. + +# 0.5.1 20220702 bkw: only check junk files if checking a tarball. + # 20220513 bkw: starting with 0.5, moved to sbo-maintainer-tools repo. # 0.4 20220314 bkw: add -a option to check all builds in the git repo. @@ -79,8 +83,8 @@ with the upload form's submission checker. Lack of errors/warnings from sbolint does not guarantee that your build will be accepted! sbolint doesn't check built packages, and never executes the build -script. If you want a lint tool for binary Slackware packages, try -pprkut's B<lintpkg>. +script. If you want a lint tool for binary Slackware packages, use +B<sbopkglint>. =head1 OPTIONS @@ -267,7 +271,7 @@ B. Watson <urchlay@slackware.uk>, aka Urchlay on Libera IRC. =head1 SEE ALSO -B<sbofixinfo>(1), B<sbosearch>(1) +B<sbopkglint>(1), B<sbofixinfo>(1), B<sbosearch>(1) =cut @@ -599,20 +603,22 @@ sub run_checks { $buildname = `readlink -n -e .`; $buildname =~ s,.*/,,; - my @checks = ( - \&check_readme, - \&check_slackdesc, - \&check_info, - \&check_script, - \&check_images, - ); - - # if we're in a git repo, it's assumed we're going to track extra - # files with git, and use git to update the build, not tar it up - # and use the web form. - push @checks, \&check_junkfiles if $checking_tarball; - for(@checks) { - $_->($build); + if(script_exists()) { + my @checks = ( + \&check_readme, + \&check_slackdesc, + \&check_info, + \&check_script, + \&check_images, + ); + + # we only care about the junkfiles check for tarballs; don't + # try to second-guess the user otherwise. + push @checks, \&check_junkfiles if $checking_tarball; + + for(@checks) { + $_->($build); + } } chdir_or_die($oldcwd); @@ -1067,6 +1073,15 @@ sub curl_head_request { ## # and sometimes it's a different letter (r, or g, or capital V, etc). ## } +sub script_exists { + my $file = $buildname . ".SlackBuild"; + unless(-e $file) { + log_error("$file does not exist, this is not a valid SlackBuild dir"); + return 0; + } + return 1; +} + # NOT going to police the script too much. Would end up rewriting most of # the shell, in perl. Plus, it'd become a straitjacket. Here's what I'll # implement: @@ -1086,11 +1101,9 @@ sub curl_head_request { sub check_script { my $file = $buildname . ".SlackBuild"; - if(-e $file) { - my $gotmode = 07777 & ((stat($file))[2]); - unless($gotmode == 0644 || (!$in_git_repo && $gotmode == 0755)) { - log_error("$file must have mode 644" . ($in_git_repo ? "" : " (or 0755)") . ", not %04o", $gotmode); - } + my $gotmode = 07777 & ((stat($file))[2]); + unless($gotmode == 0644 || (!$in_git_repo && $gotmode == 0755)) { + log_error("$file must have mode 644" . ($in_git_repo ? "" : " (or 0755)") . ", not %04o", $gotmode); } my @lines = check_and_read($file); @@ -3,7 +3,7 @@ # 20220408 bkw: note to self: VER must be in sync with VERSION in sbolint # and the Makefile. -VER=0.5.1 +VER=0.5.2 : <<EOF =pod |