aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2023-05-28 04:58:49 -0400
committerB. Watson <urchlay@slackware.uk>2023-05-28 04:58:49 -0400
commit5d7d78379ac850ce675a21a4831653c00e143432 (patch)
treea00154d197bb061e2afd00ae66f91fa473a2d4fc
parent9666c3e1c01fb60af88046ad2f0b086b78912ae2 (diff)
downloadsbo-maintainer-tools-5d7d78379ac850ce675a21a4831653c00e143432.tar.gz
sbolint: tighten up doinst.sh check, tweak docs a bit.
-rw-r--r--TODO3
-rwxr-xr-xsbolint33
2 files changed, 21 insertions, 15 deletions
diff --git a/TODO b/TODO
index b60b791..f47d104 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,6 @@
+TODO: sbolint should warn if LIBDIRSUFFIX and/or SLKCFLAGS are
+ set but never used. And/or, sbopklint could complain if
+ the SlackBuild sets SLKCFLAGS but there's no native code.
TODO: check for non-executable shared libs.
Future options:
diff --git a/sbolint b/sbolint
index 4711a30..bfa3de6 100755
--- a/sbolint
+++ b/sbolint
@@ -11,29 +11,31 @@ sbolint - check SlackBuild directories or tarballs for common errors.
=head1 SYNOPSIS
-B<sbolint> [--help | --man ] | [-a] [-q] [-u] [-n] [build [build ...]]
+B<sbolint> [--help | --man | --version ] | [-a] [-q] [-u] [-n] [-r] [-c] [-m] [build [build ...]]
=head1 DESCRIPTION
-sbolint checks for common errors in SlackBuilds.org scripts. It's
-intended for slackbuild authors and maintainers, and can cut down on
+B<sbolint> checks for common errors in SlackBuilds.org scripts. It's
+intended for SlackBuild authors and maintainers, and can cut down on
"There was a problem with your upload" errors from the submission form.
The [build] arguments must be either directories or tarballs, each
containing a SlackBuild script, slack-desc, README, and .info file.
With no [build] arguments, the current directory is checked.
-sbolint will flag errors for problems that would prevent the build from
-being accepted by the upload form (or by the SBo admins, if if passes
-the upload checks). There may also be warnings, which are things that
-(probably) won't stop your build from being accepted, but may cause the
-SBo admins extra work.
+B<sbolint> will flag errors for problems that would prevent the
+build from being accepted by the upload form (or by the SBo admins,
+if if passes the upload checks). There may also be warnings, which
+are things that (probably) won't stop your build from being accepted,
+but may cause the SBo admins extra work. There are also notes, which
+are things that won't generally do any harm, but might be worth
+investigating and cleaning up.
-sbolint was not written by the SlackBuilds.org team, and shares no code
-with the upload form's submission checker. Lack of errors/warnings from
-sbolint does not guarantee that your build will be accepted!
+B<sbolint> shares no code with the upload form's submission checker. Lack
+of errors/warnings from B<sbolint> does not guarantee that your build
+will be accepted!
-sbolint doesn't check built packages, and never executes the build
+B<sbolint> doesn't check built packages, and never executes the build
script. If you want a lint tool for binary Slackware packages, use
B<sbopkglint>.
@@ -46,7 +48,8 @@ Do not bundle options. Use e.g. B<-q -r>, not B<-qr>.
=item B<-a>
Check all builds in the git repository. This must be run from within a
-git tree (e.g. one made with "git clone").
+git tree (e.g. one made with "git clone"). This option also turns on
+B<-q> (quiet).
=item B<-q>
@@ -1014,7 +1017,7 @@ sub check_dl_and_md5 {
if($url_head) {
curl_head_request($file, $u) || do {
- warn '$u is '. $u;
+ #warn '$u is '. $u;
log_warning("$file: $dlkey URL '$u' broken?");
};
} elsif($url_download) {
@@ -1220,7 +1223,7 @@ sub check_script {
if($output !~ m,\$\{OUTPUT:-(?:/tmp|(["'])/tmp\1)\},) {
log_error("$file:$lineno: OUTPUT=\${OUTPUT:-/tmp} is required");
}
- } elsif(/^[^#]*\$\{?CWD\}?\/doinst\.sh/) {
+ } elsif(/^[^#]*\$\{?CWD\}?\/doinst\.sh(?:"|'|\s|>)/) {
# 20220205 bkw: some scripts don't have a doinst.sh in the
# script dir, but they create one with >> (the jack rt audio stuff
# does this).