Snap Packaging #3313
This commit is contained in:
parent
75c3a44a0d
commit
57ae957168
17
Makefile
17
Makefile
|
@ -122,7 +122,7 @@ draw_deps: tools
|
||||||
@goviz -i github.com/cosmos/cosmos-sdk/cmd/gaia/cmd/gaiad -d 2 | dot -Tpng -o dependency-graph.png
|
@goviz -i github.com/cosmos/cosmos-sdk/cmd/gaia/cmd/gaiad -d 2 | dot -Tpng -o dependency-graph.png
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f devtools-stamp vendor-deps
|
rm -f devtools-stamp vendor-deps snapcraft.yaml
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
### Documentation
|
### Documentation
|
||||||
|
@ -235,6 +235,18 @@ localnet-start: localnet-stop
|
||||||
localnet-stop:
|
localnet-stop:
|
||||||
docker-compose down
|
docker-compose down
|
||||||
|
|
||||||
|
|
||||||
|
########################################
|
||||||
|
### Packaging
|
||||||
|
|
||||||
|
snapcraft.yaml: snapcraft.yaml.in
|
||||||
|
sed "s/@VERSION@/${VERSION}/g" < $< > $@
|
||||||
|
|
||||||
|
build-snap-edge: snapcraft.yaml
|
||||||
|
snapcraft clean
|
||||||
|
snapcraft
|
||||||
|
|
||||||
|
|
||||||
# To avoid unintended conflicts with file names, always add to .PHONY
|
# To avoid unintended conflicts with file names, always add to .PHONY
|
||||||
# unless there is a reason not to.
|
# unless there is a reason not to.
|
||||||
# https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
|
# https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
|
||||||
|
@ -243,4 +255,5 @@ check_tools check_dev_tools get_vendor_deps draw_deps test test_cli test_unit \
|
||||||
test_cover test_lint benchmark devdoc_init devdoc devdoc_save devdoc_update \
|
test_cover test_lint benchmark devdoc_init devdoc devdoc_save devdoc_update \
|
||||||
build-linux build-docker-gaiadnode localnet-start localnet-stop \
|
build-linux build-docker-gaiadnode localnet-start localnet-stop \
|
||||||
format check-ledger test_sim_gaia_nondeterminism test_sim_modules test_sim_gaia_fast \
|
format check-ledger test_sim_gaia_nondeterminism test_sim_modules test_sim_gaia_fast \
|
||||||
test_sim_gaia_multi_seed test_sim_gaia_import_export update_tools update_dev_tools
|
test_sim_gaia_multi_seed test_sim_gaia_import_export update_tools update_dev_tools \
|
||||||
|
build-snap-edge
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
name: gaia # you probably want to 'snapcraft register <name>'
|
||||||
|
# base: core18 # the base snap is the execution environment for this snap
|
||||||
|
version: '@VERSION@' # just for humans, typically '1.2+git' or '1.3.2'
|
||||||
|
summary: Gaia Daemon # 79 char long summary
|
||||||
|
description: |
|
||||||
|
This snap provides the Gaia daemon gaiad and the command line
|
||||||
|
tool gaiacli.
|
||||||
|
grade: devel # must be 'stable' to release into candidate/stable channels
|
||||||
|
confinement: strict # use 'strict' once you have the right plugs and slots
|
||||||
|
|
||||||
|
apps:
|
||||||
|
gaiad:
|
||||||
|
command: bin/gaiad
|
||||||
|
plugs: [home,network,network-bind]
|
||||||
|
gaiacli:
|
||||||
|
command: bin/gaiacli
|
||||||
|
plugs: [home,network,network-bind]
|
||||||
|
|
||||||
|
parts:
|
||||||
|
gaia:
|
||||||
|
plugin: dump
|
||||||
|
source: ./
|
||||||
|
override-pull: |
|
||||||
|
rootdir=$(pwd)
|
||||||
|
gitroot=$(git rev-parse --show-toplevel)
|
||||||
|
cd ${gitroot} && git archive \
|
||||||
|
-o ${rootdir}/gaia-@VERSION@.tar.gz \
|
||||||
|
--format tar.gz -9 --prefix gaia-@VERSION@/ HEAD
|
||||||
|
cd ${rootdir}
|
||||||
|
tar xvf gaia-@VERSION@.tar.gz ; rm -f gaia-@VERSION@.tar.gz
|
||||||
|
mkdir -p go/src/github.com/cosmos bin
|
||||||
|
mv gaia-@VERSION@/ go/src/github.com/cosmos/cosmos-sdk/
|
||||||
|
|
||||||
|
# Use the following instructions to build a package from a release.
|
||||||
|
# wget https://github.com/cosmos/cosmos-sdk/archive/v@VERSION@.tar.gz
|
||||||
|
# tar xvf v@VERSION@.tar.gz
|
||||||
|
# rm v@VERSION@.tar.gz
|
||||||
|
|
||||||
|
build-snaps: [go]
|
||||||
|
override-build: |
|
||||||
|
base=`pwd`
|
||||||
|
export GOPATH=`pwd`/go
|
||||||
|
cd $GOPATH/src/github.com/cosmos/cosmos-sdk
|
||||||
|
make tools
|
||||||
|
make vendor-deps
|
||||||
|
make install
|
||||||
|
mkdir $SNAPCRAFT_PART_INSTALL/bin
|
||||||
|
cp $GOPATH/bin/gaiad $SNAPCRAFT_PART_INSTALL/bin
|
||||||
|
cp $GOPATH/bin/gaiacli $SNAPCRAFT_PART_INSTALL/bin
|
Loading…
Reference in New Issue