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:
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
}