bash autocompletions

This commit is contained in:
adam committed 2026-09-28 17:18:41 +00:00
1 parent 47808ffa17
commit 675f5308e6
7 files changed
+157 -5

No files matched your search

+7 -3
View File
@@ -17,6 +17,7 @@ SYSUSERSDIR := $(PREFIX)/lib/sysusers.d
TMPFILESDIR := $(PREFIX)/lib/tmpfiles.d
DOCDIR := $(PREFIX)/share/doc/$(NAME)
DATADIR := $(PREFIX)/share/$(NAME)
COMPLETIONDIR := $(PREFIX)/share/bash-completion/completions
# Fill in version and install paths
SUBST = sed -e 's|@VERSION@|$(VERSION)|g' -e 's|@BINDIR@|$(BINDIR)|g' -e 's|@DOCDIR@|$(DOCDIR)|g'
@@ -31,9 +32,10 @@ all: check
check:
bash -n bin/terractl
bash -n completions/bash/terractl
for f in $(MAINT_SCRIPTS); do sh -n $$f; done
@if command -v shellcheck >/dev/null; then \
shellcheck bin/terractl $(MAINT_SCRIPTS); \
shellcheck bin/terractl completions/bash/terractl $(MAINT_SCRIPTS); \
else \
echo "shellcheck not installed; skipped (apt install shellcheck)"; \
fi
@@ -41,7 +43,7 @@ check:
install:
install -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(UNITDIR) $(DESTDIR)$(SYSUSERSDIR) \
$(DESTDIR)$(TMPFILESDIR) $(DESTDIR)$(DOCDIR) $(DESTDIR)$(DATADIR) \
$(DESTDIR)$(SYSCONFDIR)/default
$(DESTDIR)$(COMPLETIONDIR) $(DESTDIR)$(SYSCONFDIR)/default
$(SUBST) bin/terractl > $(DESTDIR)$(BINDIR)/terractl
chmod 755 $(DESTDIR)$(BINDIR)/terractl
$(SUBST) systemd/terraria@.service > $(DESTDIR)$(UNITDIR)/terraria@.service
@@ -50,6 +52,7 @@ install:
install -m 644 config/tmpfiles.d/terractl.conf $(DESTDIR)$(TMPFILESDIR)/
install -m 644 docs/guide.md $(DESTDIR)$(DOCDIR)/README.md
install -m 644 tools/windows/export-tmod-mods.ps1 $(DESTDIR)$(DATADIR)/
install -m 644 completions/bash/terractl $(DESTDIR)$(COMPLETIONDIR)/terractl
@# Never overwrite local settings
@if [ -e $(DESTDIR)$(SYSCONFDIR)/default/terractl ]; then \
echo "keeping existing $(DESTDIR)$(SYSCONFDIR)/default/terractl"; \
@@ -67,7 +70,8 @@ install:
uninstall:
rm -f $(DESTDIR)$(BINDIR)/terractl \
$(DESTDIR)$(UNITDIR)/terraria@.service $(DESTDIR)$(UNITDIR)/terraria@.socket \
$(DESTDIR)$(SYSUSERSDIR)/terractl.conf $(DESTDIR)$(TMPFILESDIR)/terractl.conf
$(DESTDIR)$(SYSUSERSDIR)/terractl.conf $(DESTDIR)$(TMPFILESDIR)/terractl.conf \
$(DESTDIR)$(COMPLETIONDIR)/terractl
rm -rf $(DESTDIR)$(DOCDIR) $(DESTDIR)$(DATADIR)
@if [ -z "$(DESTDIR)" ] && [ -d /run/systemd/system ]; then systemctl daemon-reload; fi
@echo "Removed. Kept: $(SYSCONFDIR)/default/terractl, /var/lib/terraria and the terraria user."