File tree Expand file tree Collapse file tree 3 files changed +30
-3
lines changed
Expand file tree Collapse file tree 3 files changed +30
-3
lines changed Original file line number Diff line number Diff line change 1- PROG = doas
2- MAN = doas.1 doas.conf.5
1+ PROG = doas
2+ MAN = doas.1 doas.conf.5
3+ COMPLETION = doas.completion
34
4- SRCS = parse.y doas.c env.c
5+ SRCS = parse.y doas.c env.c
56
67include config.mk
78
@@ -19,17 +20,20 @@ install: ${PROG} ${MAN}
1920 mkdir -p -m 0755 ${DESTDIR}${BINDIR}
2021 mkdir -p -m 0755 ${DESTDIR}${MANDIR} /man1
2122 mkdir -p -m 0755 ${DESTDIR}${MANDIR} /man5
23+ mkdir -p -m 0755 ${DESTDIR}${COMPDIR} /completions
2224 cp -f ${PROG} ${DESTDIR}${BINDIR}
2325 chown ${BINOWN} :${BINGRP} ${DESTDIR}${BINDIR} /${PROG}
2426 chmod ${BINMODE} ${DESTDIR}${BINDIR} /${PROG}
2527 cp -f doas.1 ${DESTDIR}${MANDIR} /man1
2628 cp -f doas.conf.5 ${DESTDIR}${MANDIR} /man5
29+ cp -f doas.completion ${DESTDIR} $(COMPDIR ) /completions/doas
2730
2831uninstall :
2932 rm -f ${DESTDIR}${BINDIR} /${PROG}
3033 rm -f ${DESTDIR}${PAMDIR} /doas
3134 rm -f ${DESTDIR}${MANDIR} /man1/doas.1
3235 rm -f ${DESTDIR}${MANDIR} /man5/doas.conf.5
36+ rm -f ${DESTDIR}${COMPDIR} /completions/doas
3337
3438clean :
3539 rm -f ${PROG} ${OBJS} ${OBJS: .o=.d} parse.c
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ usage: configure [options]
1414 --bindir=DIR user executables [PREFIX/bin]
1515 --datadir=DIR architecture-independent data files [PREFIX/share]
1616 --mandir=DIR manual pages [DATADIR/man]
17+ --compdir=DIR bash completions [DATADIR/bash-completion]
1718 --sysconfdir=DIR directory for configuration files [/etc]
1819
1920 --build=build-alias a cpu-vendor-opsys for the system where the application will be built
@@ -50,6 +51,7 @@ for x; do
5051 --bindir) BINDIR=$var ;;
5152 --datadir) SHAREDIR=$var ;;
5253 --mandir) MANDIR=$var ;;
54+ --compdir) COMPDIR=$var ;;
5355 --sysconfdir) SYSCONFDIR=$var ;;
5456 --build) BUILD=$var ;;
5557 --host) HOST=$var ;;
131133: ${BINDIR:= ${PREFIX} / bin}
132134: ${SHAREDIR:= ${PREFIX} / share}
133135: ${MANDIR:= ${SHAREDIR} / man}
136+ : ${COMPDIR:= ${SHAREDIR} / bash-completion}
134137: ${SYSCONFDIR:=/ etc}
135138: ${BINMODE:= 4755}
136139: ${BINOWN:= root}
@@ -142,6 +145,7 @@ EPREFIX ?= ${EPREFIX}
142145BINDIR ?= ${BINDIR}
143146SHAREDIR ?= ${SHAREDIR}
144147MANDIR ?= ${MANDIR}
148+ COMPDIR ?= ${COMPDIR}
145149SYSCONFDIR?= ${SYSCONFDIR}
146150BINMODE ?= ${BINMODE}
147151BINOWN ?= ${BINOWN}
Original file line number Diff line number Diff line change 1+ # bash completion for doas(1) -*- shell-script -*-
2+
3+ _doas () {
4+ local cur prev words cword split
5+ _init_completion -s || return
6+
7+ for (( i = 1 ; i <= cword; i++ )) ; do
8+ if [[ ${words[i]} != -* ]]; then
9+ local PATH=$PATH :/sbin:/usr/sbin:/usr/local/sbin
10+ local root_command=${words[i]}
11+ _command_offset $i
12+ return
13+ fi
14+
15+ [[ ${words[i]} == -@ (u| C) ]] && (( i++ ))
16+ done
17+ } && complete -F _doas doas
18+
19+ # ex: filetype=sh
You can’t perform that action at this time.
0 commit comments