logo

badwolf

minimalist and privacy-oriented web browser based on WebKitGTK git clone https://hacktivis.me/git/badwolf.git
commit: eceb1437726a1fae5280ec57bb35a8065996e21d
parent 0199df2a85269e4f7f759a75e7ad89fa7386a1a4
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Tue, 22 Feb 2022 00:29:50 +0100

Move linting to own `lint` target

Diffstat:

MMakefile5++++-
MREADME.md30++++++++++++++++++++++--------
Mconfigure8+-------
3 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/Makefile b/Makefile @@ -50,10 +50,13 @@ badwolf: $(OBJS) uri_test: uri.o uri_test.o $(CC) -std=c11 -o $@ uri.o uri_test.o $(LDFLAGS) $(LIBS) - $(DBG) ./$@ .PHONY: test test: $(EXE_test) + $(DBG) ./uri_test + +.PHONY: lint +lint: $(MANDOC) -Tlint -Wunsupp,error,warning ./badwolf.1 $(SHELLCHECK) ./configure diff --git a/README.md b/README.md @@ -51,21 +51,35 @@ You need to have gettext installed. If you want a GUI, poedit exists and Weblate - `*.sign` files are minisign (OpenBSD `signify(1)` compatible) signatures, they key used for it can be found at <https://hacktivis.me/releases/signify/> as well as other places (feel free to ping me to get it) ## Manual Installation -Dependencies are: - +### Dependencies - POSIX-compatible Shell (ie. mrsh, dash, lksh) +- POSIX-compatible make(1) (ie. {Free,Net,Open}BSD make, GNU make) +- A pkg-config implementation (pkgconf is recommended) - C11 Compiler (such as clang or gcc) - [WebKitGTK](https://webkitgtk.org/), only the latest stable(2.32.0+) is supported - [libxml-2.0](http://www.xmlsoft.org/), no known version limitation -- POSIX make with extension for shell in variables (works with GNU, {Net,Free,Open}BSD) -- A pkg-config implementation (pkgconf is recommended) - (optional) gettext implementation (such as GNU Gettext) -- (optional, test) [mandoc](https://mdocml.bsd.lv/) (the command) for linting the manpage -- (optional, test) [shellcheck](https://www.shellcheck.net/) for linting the `./configure` script +- (optional, lint) [mandoc](https://mdocml.bsd.lv/) (the command) for linting the manpage +- (optional, lint) [shellcheck](https://www.shellcheck.net/) for linting the `./configure` script + +### Compiling +``` +./configure && make +``` + +Note: `configure` is a simple shell script (so not autotools) which supports variables like `PREFIX`. + +### Installing +``` +make install +# DESTDIR is supported +``` + +Debian users will probably want to use `checkinstall` instead. -Compilation is done with `./configure && make`, install with `make install` (`DESTDIR` and `PREFIX` environment variables are supported, amongs other common ones). An example AppArmor profile is provided at `usr.bin.badwolf`, please do some long runtime checks before shipping it or a modified version, help can be provided but with no support. +An example AppArmor profile is provided at `usr.bin.badwolf`, please do some long runtime checks before shipping it or a modified version, help can be provided but with no support. -You'll also need inkscape (command line only) if you want to regenerate the icons, for example after modifying them or adding a new size. These aren't needed for normal installation as it is bundled. +If you modify the icons, you'll need `inkscape` (command line only), to regenerate the bitmap versions. It isn't needed for a normal installation as the bitmap icons are bundled. ## Notes Most of the privacy/security stuff will be done with patches against WebKit as quite a lot isn’t into [WebKitSettings](https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html) and with generic WebKit extensions that should be resuseable. diff --git a/configure b/configure @@ -33,13 +33,7 @@ Variables: Variables are set in the following order: Default, Environment, Arguments -Dependencies: -- gtk+-3.0 -- libxml-2.0 -- webkit2gtk-4.1 version >=${min_webkitgtk} or webkit2gtk-4.0 version >=${min_webkitgtk} -- libsoup-2.4 or glib-2.0 version >=${min_glib_guri} -- mandoc: for linting the manual page (optional, test dep) -- shellcheck: for linting ./configure (optional, test dep) +Dependencies: See README.md END }