aboutgitcodebugslistschat
path: root/Makefile
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2022-08-10 00:21:09 +0200
committerStefano Brivio <sbrivio@redhat.com>2022-08-20 19:07:12 +0200
commitc5f4ba1b1b27a6879855127dcd4947a081e0d249 (patch)
tree7ba198b2c79a79b46a55842db71799e1aaf35b00 /Makefile
parentf3aaced135331d15573bd00c1f73392dd323de63 (diff)
downloadpasst-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar.gz
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar.bz2
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar.lz
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar.xz
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.tar.zst
passt-c5f4ba1b1b27a6879855127dcd4947a081e0d249.zip
Makefile: Ugly hack to get a "plain" Markdown version of README
Distribution packages reasonably expect to have a human-readable Markdown version of the README under /usr/share/doc/, but all we have right now is a heavily web-oriented version. Introduce a ugly hack to strip web-oriented parts from the current README and install it. It should probably work the other way around: a human-readable README could be used as a source for the web page. But cgit needs a file that's in the tree, not something that can be built, and https://passt.top/ is based on cgit. It should eventually be doable to work around this in cgit, instead. Reported-by: Benson Muite <benson_muite@emailplus.org> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile30
1 files changed, 27 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 0de872e..f03d117 100644
--- a/Makefile
+++ b/Makefile
@@ -90,7 +90,7 @@ else
BIN := passt pasta qrap
endif
-all: $(BIN) $(MANPAGES)
+all: $(BIN) $(MANPAGES) docs
static: CFLAGS += -static -DGLIBC_NO_STATIC_NSS
static: clean all
@@ -123,12 +123,14 @@ valgrind: all
clean:
$(RM) $(BIN) *.o seccomp.h pasta.1 \
passt.tar passt.tar.gz *.deb *.rpm \
- passt.pid
+ passt.pid README.plain.md
-install: $(BIN) $(MANPAGES)
+install: $(BIN) $(MANPAGES) docs
mkdir -p $(DESTDIR)$(prefix)/bin $(DESTDIR)$(prefix)/share/man/man1
cp -d $(BIN) $(DESTDIR)$(prefix)/bin
cp -d $(MANPAGES) $(DESTDIR)$(prefix)/share/man/man1
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/passt
+ cp -d README.plain.md $(DESTDIR)$(prefix)/share/doc/passt/README.md
uninstall:
$(RM) $(BIN:%=$(DESTDIR)$(prefix)/bin/%)
@@ -147,6 +149,28 @@ pkgs: static
--description="User-mode networking for VMs and namespaces" \
-k --version=g$(shell git rev-parse --short HEAD) passt.tar.gz
+# TODO: This hack makes a "plain" Markdown version of README.md that can be
+# reasonably shipped as documentation file, while the current README.md is
+# definitely intended for web browser consumption. It should probably work the
+# other way around: the web version should be obtained by adding HTML and
+# JavaScript portions to a plain Markdown, instead. However, cgit needs to use
+# a file in the git tree. Find a better way around this.
+docs: README.md
+ @( \
+ skip=0; \
+ while read l; do \
+ case $$l in \
+ "## Demo") exit 0 ;; \
+ "<!"*) ;; \
+ "</"*) skip=1 ;; \
+ "<"*) skip=2 ;; \
+ esac; \
+ \
+ [ $$skip -eq 0 ] && echo "$$l"; \
+ [ $$skip -eq 1 ] && skip=0; \
+ done < README.md; \
+ ) > README.plain.md
+
# Checkers currently disabled for clang-tidy:
# - llvmlibc-restrict-system-libc-headers
# TODO: this is Linux-only for the moment, nice to fix eventually