ben
85fb6eef50
ben/build-monero/pipeline/head There was a failure building this commit
Details
|
||
---|---|---|
gitian | ||
monero@424e4de16b | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
Dockerfile | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
build-dependencies.txt | ||
version.sh |
README.md
build-monero
building verifiable builds of monerod and monero-wallet, and package
them up as deb-packages. using docker to build with a Dockerfile
thats adapted from the upstream
Dockerfile
, but should
essentially be doing the same. we want to use our own copy so that
we dont have to rely on upstream.
git config
git config -f .gitmodules diff.submodule log
git config -f .gitmodules status.submodulesummary 1
# follow the 'release-v0.17' branch of the upstream monero repo
git config -f .gitmodules submodule.monero.branch release-v0.17
# default to: git pull --recurse-submodules
# git config -f .gitmodules submodule.recurse true
# explicitly require using 'git submodule update' to update submodules
git config -f .gitmodules submodule.recurse false
building
pull in upstream changes from the monero
submodule (and the
submodules it contains):
# if upstream has changed references to any of its own submodules
git submodule sync
# checkout the branch in the upstream monero repo submodule
git submodule update --init --remote monero
# the monero repo has submodules of its own, checked out at specific commits in
# the upstream repo. the build depends on them being checked out at those
# commits so we want to read the hash to checkout from the branch we checked
# out in the upstream repo.
git submodule update --init --recursive
build the container:
docker build --build-arg NPROC=$(nproc) -t monero .
other
the upstream Dockerfile
does:
git submodule init && git submodule update
# equivalent to
git submodule update --init
# bit since the monero repo is a submodule for us (and we run
# from the "parent" repo) we need to add --recursive
git submodule update --init --recursive
updating submodules:
# these commands are equivalent to each other
git pull --recurse-submodules
git submodule update --init --recursive
get tags and foreach
:
# fetch tags in submodules
git submodule foreach git fetch --tags
useful git
aliases:
git config -f .gitmodules alias.sdiff '!'"git diff && git submodule foreach 'git diff'"
git config -f .gitmodules alias.spush 'push --recurse-submodules=on-demand'
git config -f .gitmodules alias.supdate 'submodule update --remote --init --recursive'