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>
This commit is contained in:
parent
f3aaced135
commit
c5f4ba1b1b
4 changed files with 30 additions and 6 deletions
30
Makefile
30
Makefile
|
@ -90,7 +90,7 @@ else
|
||||||
BIN := passt pasta qrap
|
BIN := passt pasta qrap
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: $(BIN) $(MANPAGES)
|
all: $(BIN) $(MANPAGES) docs
|
||||||
|
|
||||||
static: CFLAGS += -static -DGLIBC_NO_STATIC_NSS
|
static: CFLAGS += -static -DGLIBC_NO_STATIC_NSS
|
||||||
static: clean all
|
static: clean all
|
||||||
|
@ -123,12 +123,14 @@ valgrind: all
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(BIN) *.o seccomp.h pasta.1 \
|
$(RM) $(BIN) *.o seccomp.h pasta.1 \
|
||||||
passt.tar passt.tar.gz *.deb *.rpm \
|
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
|
mkdir -p $(DESTDIR)$(prefix)/bin $(DESTDIR)$(prefix)/share/man/man1
|
||||||
cp -d $(BIN) $(DESTDIR)$(prefix)/bin
|
cp -d $(BIN) $(DESTDIR)$(prefix)/bin
|
||||||
cp -d $(MANPAGES) $(DESTDIR)$(prefix)/share/man/man1
|
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:
|
uninstall:
|
||||||
$(RM) $(BIN:%=$(DESTDIR)$(prefix)/bin/%)
|
$(RM) $(BIN:%=$(DESTDIR)$(prefix)/bin/%)
|
||||||
|
@ -147,6 +149,28 @@ pkgs: static
|
||||||
--description="User-mode networking for VMs and namespaces" \
|
--description="User-mode networking for VMs and namespaces" \
|
||||||
-k --version=g$(shell git rev-parse --short HEAD) passt.tar.gz
|
-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:
|
# Checkers currently disabled for clang-tidy:
|
||||||
# - llvmlibc-restrict-system-libc-headers
|
# - llvmlibc-restrict-system-libc-headers
|
||||||
# TODO: this is Linux-only for the moment, nice to fix eventually
|
# TODO: this is Linux-only for the moment, nice to fix eventually
|
||||||
|
|
|
@ -39,7 +39,7 @@ hostb ./passt -P __PIDFILE__ &
|
||||||
sleep 1
|
sleep 1
|
||||||
host echo
|
host echo
|
||||||
hout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | head -1
|
hout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | head -1
|
||||||
hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
|
hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile README.md | tr '\n' ' '; echo
|
||||||
|
|
||||||
|
|
||||||
test OpenSUSE Leap 15.1
|
test OpenSUSE Leap 15.1
|
||||||
|
|
|
@ -38,7 +38,7 @@ endef
|
||||||
hostb ./passt -P __PIDFILE__ &
|
hostb ./passt -P __PIDFILE__ &
|
||||||
sleep 1
|
sleep 1
|
||||||
host echo
|
host echo
|
||||||
hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile | tr '\n' ' '; echo
|
hout GUEST_FILES ls -1 *.c *.h *.sh passt.1 qrap.1 Makefile README.md | tr '\n' ' '; echo
|
||||||
|
|
||||||
|
|
||||||
test Ubuntu 14.04.5 LTS (Trusty Tahr), amd64
|
test Ubuntu 14.04.5 LTS (Trusty Tahr), amd64
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/sh -e
|
#! /bin/sh -e
|
||||||
|
|
||||||
IMG="$1"
|
IMG="$1"
|
||||||
PASST_FILES="$(echo ../*.c ../*.h ../*.sh ../*.1 ../Makefile)"
|
PASST_FILES="$(echo ../*.c ../*.h ../*.sh ../*.1 ../Makefile ../README.md)"
|
||||||
|
|
||||||
virt-edit -a $IMG /lib/systemd/system/serial-getty@.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --autologin root -8 --keep-baud 115200,38400,9600 %I $TERM/g'
|
virt-edit -a $IMG /lib/systemd/system/serial-getty@.service -e 's/ExecStart=.*/ExecStart=\/sbin\/agetty --autologin root -8 --keep-baud 115200,38400,9600 %I $TERM/g'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue