mirror of
https://github.com/jorgebucaran/fisher
synced 2024-10-05 09:32:37 +02:00
+Makefile
+init script +packaging hints ~adjust Travis script to prepare for the tests
This commit is contained in:
parent
e813978fab
commit
eb25045c94
4 changed files with 64 additions and 2 deletions
|
@ -4,5 +4,8 @@ before_install:
|
||||||
- sudo apt-get update
|
- sudo apt-get update
|
||||||
- sudo apt-get -y install fish
|
- sudo apt-get -y install fish
|
||||||
script:
|
script:
|
||||||
- bin/install
|
- sudo make install
|
||||||
- fish -c "fisher i fishery/fishtape; fishtape test/*.fish"
|
- mkdir -p ~/.config/fish
|
||||||
|
- echo "source /usr/share/fish/config-fisherman.fish" >> ~/.config/fish/config.fish
|
||||||
|
- fish -c "fisher i fishtape"
|
||||||
|
- fish -c "fishtape test/*.fish"
|
||||||
|
|
25
Makefile
Normal file
25
Makefile
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
sharepath = $(DESTDIR)/usr/share
|
||||||
|
fishpath = $(sharepath)/fish
|
||||||
|
fisherpath = $(sharepath)/fisherman
|
||||||
|
manpath = $(sharepath)/man
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all:
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
|
install:
|
||||||
|
# prepare directories because install -Dt won't do it on the CI server
|
||||||
|
mkdir -p "$(fisherpath)/completions" "$(fisherpath)/functions"
|
||||||
|
# the main config, which can be sourced by the user
|
||||||
|
install -Dm 644 config-fisherman.fish "$(fishpath)/config-fisherman.fish"
|
||||||
|
install -Dm 644 config.fish "$(fisherpath)/config.fish"
|
||||||
|
install -Dm 644 config-fisherman.fish "$(fishpath)/config-fisherman.fish"
|
||||||
|
# completions
|
||||||
|
install -Dt "$(fisherpath)/completions" completions/*
|
||||||
|
# functions
|
||||||
|
install -Dt "$(fisherpath)/functions" functions/*
|
||||||
|
# man pages, README and LICENSE
|
||||||
|
install -Dt "$(manpath)/man1" man/man1/*
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
13
README.md
13
README.md
|
@ -27,6 +27,19 @@
|
||||||
curl -sL get.fisherman.sh | fish
|
curl -sL get.fisherman.sh | fish
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Packaging
|
||||||
|
|
||||||
|
Fisherman supports the [DESTDIR convention](https://www.gnu.org/prep/standards/html_node/DESTDIR.html). Using the Makefile (`DESTDIR` should be adjusted with respect to your OS/distribution or simply not provided):
|
||||||
|
```bash
|
||||||
|
make install DESTDIR=/path/to/stage
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage prerequisites
|
||||||
|
|
||||||
|
In order for users who install the package to actually use Fisherman, they need to source the provided `/usr/share/fish/config-fisherman.git`. In your package, you should thus provide a hint such as the following:
|
||||||
|
|
||||||
|
Please run `echo "source /usr/share/fish/config-fisherman.git" >> ~/.config/fish/config.fish` to enable Fisherman for your current user.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Install plugins.
|
Install plugins.
|
||||||
|
|
21
config-fisherman.fish
Normal file
21
config-fisherman.fish
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# If fisher_home is not provided, use the global directory:
|
||||||
|
set -q fisher_home; or set -g fisher_home (dirname (status -f))/../fisherman
|
||||||
|
|
||||||
|
# If fisher_config is not provided, set it up:
|
||||||
|
set -q fisher_config
|
||||||
|
or if test ! -z "$XDG_CONFIG_HOME"
|
||||||
|
set -g fisher_config $XDG_CONFIG_HOME/fisherman
|
||||||
|
else
|
||||||
|
# if XDG home is unset or empty, use ~/.config as a fallback
|
||||||
|
set -g fisher_config ~/.config/fisherman
|
||||||
|
end
|
||||||
|
|
||||||
|
# To not break fish, we need to make sure the config dir exists:
|
||||||
|
if test ! -d "$fisher_config"
|
||||||
|
echo "Setting up Fisherman config dir..."
|
||||||
|
mkdir -p "$fisher_config/cache"
|
||||||
|
touch "$fisher_config/fishfile"
|
||||||
|
echo "Done."
|
||||||
|
end
|
||||||
|
|
||||||
|
source "$fisher_home/config.fish"
|
Loading…
Reference in a new issue