mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 03:57:44 +00:00
Merge pull request #7331 from blmaier/conda-forge-skip-manpages-comps
GNUmakefile: support skipping manpages and completions
This commit is contained in:
commit
c2cf772549
3 changed files with 51 additions and 14 deletions
18
.github/workflows/CICD.yml
vendored
18
.github/workflows/CICD.yml
vendored
|
@ -278,10 +278,26 @@ jobs:
|
|||
run: make nextest CARGOFLAGS="--profile ci --hide-progress-bar"
|
||||
env:
|
||||
RUST_BACKTRACE: "1"
|
||||
- name: "`make install COMPLETIONS=n MANPAGES=n`"
|
||||
shell: bash
|
||||
run: |
|
||||
DESTDIR=/tmp/ make PROFILE=release COMPLETIONS=n MANPAGES=n install
|
||||
# Check that the utils are present
|
||||
test -f /tmp/usr/local/bin/tty
|
||||
# Check that the manpage is not present
|
||||
! test -f /tmp/usr/local/share/man/man1/whoami.1
|
||||
# Check that the completion is not present
|
||||
! test -f /tmp/usr/local/share/zsh/site-functions/_install
|
||||
! test -f /tmp/usr/local/share/bash-completion/completions/head
|
||||
! test -f /tmp/usr/local/share/fish/vendor_completions.d/cat.fish
|
||||
env:
|
||||
RUST_BACKTRACE: "1"
|
||||
- name: "`make install`"
|
||||
shell: bash
|
||||
run: |
|
||||
DESTDIR=/tmp/ make PROFILE=release install
|
||||
# Check that the utils are present
|
||||
test -f /tmp/usr/local/bin/tty
|
||||
# Check that the manpage is present
|
||||
test -f /tmp/usr/local/share/man/man1/whoami.1
|
||||
# Check that the completion is present
|
||||
|
@ -294,6 +310,8 @@ jobs:
|
|||
shell: bash
|
||||
run: |
|
||||
DESTDIR=/tmp/ make uninstall
|
||||
# Check that the utils are not present
|
||||
! test -f /tmp/usr/local/bin/tty
|
||||
# Check that the manpage is not present
|
||||
! test -f /tmp/usr/local/share/man/man1/whoami.1
|
||||
# Check that the completion is not present
|
||||
|
|
41
GNUmakefile
41
GNUmakefile
|
@ -3,6 +3,8 @@
|
|||
# Config options
|
||||
PROFILE ?= debug
|
||||
MULTICALL ?= n
|
||||
COMPLETIONS ?= y
|
||||
MANPAGES ?= y
|
||||
INSTALL ?= install
|
||||
ifneq (,$(filter install, $(MAKECMDGOALS)))
|
||||
override PROFILE:=release
|
||||
|
@ -343,12 +345,23 @@ clean:
|
|||
distclean: clean
|
||||
$(CARGO) clean $(CARGOFLAGS) && $(CARGO) update $(CARGOFLAGS)
|
||||
|
||||
ifeq ($(MANPAGES),y)
|
||||
manpages: build-coreutils
|
||||
mkdir -p $(BUILDDIR)/man/
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
$(BUILDDIR)/coreutils manpage $(prog) > $(BUILDDIR)/man/$(PROG_PREFIX)$(prog).1 $(newline) \
|
||||
)
|
||||
|
||||
install-manpages: manpages
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/man/man1
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
$(INSTALL) $(BUILDDIR)/man/$(PROG_PREFIX)$(prog).1 $(DESTDIR)$(DATAROOTDIR)/man/man1/ $(newline) \
|
||||
)
|
||||
else
|
||||
install-manpages:
|
||||
endif
|
||||
|
||||
ifeq ($(COMPLETIONS),y)
|
||||
completions: build-coreutils
|
||||
mkdir -p $(BUILDDIR)/completions/zsh $(BUILDDIR)/completions/bash $(BUILDDIR)/completions/fish
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
|
@ -357,7 +370,20 @@ completions: build-coreutils
|
|||
$(BUILDDIR)/coreutils completion $(prog) fish > $(BUILDDIR)/completions/fish/$(PROG_PREFIX)$(prog).fish $(newline) \
|
||||
)
|
||||
|
||||
install: build manpages completions
|
||||
install-completions: completions
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/zsh/site-functions
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/bash-completion/completions
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/fish/vendor_completions.d
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
$(INSTALL) $(BUILDDIR)/completions/zsh/_$(PROG_PREFIX)$(prog) $(DESTDIR)$(DATAROOTDIR)/zsh/site-functions/ $(newline) \
|
||||
$(INSTALL) $(BUILDDIR)/completions/bash/$(PROG_PREFIX)$(prog) $(DESTDIR)$(DATAROOTDIR)/bash-completion/completions/ $(newline) \
|
||||
$(INSTALL) $(BUILDDIR)/completions/fish/$(PROG_PREFIX)$(prog).fish $(DESTDIR)$(DATAROOTDIR)/fish/vendor_completions.d/ $(newline) \
|
||||
)
|
||||
else
|
||||
install-completions:
|
||||
endif
|
||||
|
||||
install: build install-manpages install-completions
|
||||
mkdir -p $(INSTALLDIR_BIN)
|
||||
ifeq (${MULTICALL}, y)
|
||||
$(INSTALL) $(BUILDDIR)/coreutils $(INSTALLDIR_BIN)/$(PROG_PREFIX)coreutils
|
||||
|
@ -371,19 +397,6 @@ else
|
|||
)
|
||||
$(if $(findstring test,$(INSTALLEES)), $(INSTALL) $(BUILDDIR)/test $(INSTALLDIR_BIN)/$(PROG_PREFIX)[)
|
||||
endif
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/man/man1
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
$(INSTALL) $(BUILDDIR)/man/$(PROG_PREFIX)$(prog).1 $(DESTDIR)$(DATAROOTDIR)/man/man1/ $(newline) \
|
||||
)
|
||||
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/zsh/site-functions
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/bash-completion/completions
|
||||
mkdir -p $(DESTDIR)$(DATAROOTDIR)/fish/vendor_completions.d
|
||||
$(foreach prog, $(INSTALLEES), \
|
||||
$(INSTALL) $(BUILDDIR)/completions/zsh/_$(PROG_PREFIX)$(prog) $(DESTDIR)$(DATAROOTDIR)/zsh/site-functions/ $(newline) \
|
||||
$(INSTALL) $(BUILDDIR)/completions/bash/$(PROG_PREFIX)$(prog) $(DESTDIR)$(DATAROOTDIR)/bash-completion/completions/ $(newline) \
|
||||
$(INSTALL) $(BUILDDIR)/completions/fish/$(PROG_PREFIX)$(prog).fish $(DESTDIR)$(DATAROOTDIR)/fish/vendor_completions.d/ $(newline) \
|
||||
)
|
||||
|
||||
uninstall:
|
||||
ifeq (${MULTICALL}, y)
|
||||
|
|
|
@ -223,6 +223,12 @@ Installing with `make` installs shell completions for all installed utilities
|
|||
for `bash`, `fish` and `zsh`. Completions for `elvish` and `powershell` can also
|
||||
be generated; See `Manually install shell completions`.
|
||||
|
||||
To skip installation of completions and manpages:
|
||||
|
||||
```shell
|
||||
make COMPLETIONS=n MANPAGES=n install
|
||||
```
|
||||
|
||||
### Manually install shell completions
|
||||
|
||||
The `coreutils` binary can generate completions for the `bash`, `elvish`,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue