abuild-lint

A linting utility for Alpine Linux APKBUILDs

git clone https://git.8pit.net/abuild-lint.git

commits

2018-03-19 GNUmakefile: make $(NAME) a phony target as well Sören Tempel
2018-03-19 GNUmakefile: use /usr/share/doc as default DOCDIR Sören Tempel
2018-03-19 README.md: Fix FAQ markup Sören Tempel
2018-03-18 GNUmakefile: add dist target Sören Tempel
2018-03-18 document some unexported functions and variables as well Sören Tempel

Clone the repository to access all 49 commits.

# abuild-lint

A linting utility for Alpine Linux APKBUILDs.

## Scope

Alpine Linux currently doesn't have a policy document describing how
APKBUILDs should be written. This tool tries to enforce some of
unwritten style practises and thus make it easier for contributors to
check their APKBUILDs for mistakes regarding style. It is not intended
to replace a policy document though.

## Installation

abuild-lint can either be installed using `go get` or using the provided
`GNUmakefile`. The latter installation method is preferred and boils
down to the following commands:

	$ make
	$ make install

## Documentation

End user documentation, which also documents which checks are performed
by abuild-lint, is available in the form of a man page.

The source code itself is documented using the standard go documentation
format. The documentation can be viewed using:

	$ go doc -cmd -u

## Tests

abuild-lint comes with a unit testsuite which can either be run using
`go test` or using the `check` target of the provided `GNUmakefile`.

## FAQ

**Q:** Why not write a code formating tool like `go fmt` instead?

**A:** The purpose of a formating tool is formating source code while the
purpose of this tool is warning about style mistakes. Some of the
mistakes abuild-lint currently warns about could be automatically fixed
by a formating tool and might be handled by a formating tool one day.

**Q:** What's the difference between `abuild sanitycheck` and abuild-lint?

**A:** `abuild sanitycheck` is concerned with the semantical correctness
of an APKBUILD while abuild-lint is concerned with the syntactical
correctness.

## License

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.