You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ben/build-monero/pipeline/head There was a failure building this commit
Details
|
7 months ago | |
---|---|---|
gitian | 7 months ago | |
monero@424e4de16b | 8 months ago | |
.dockerignore | 8 months ago | |
.gitignore | 8 months ago | |
.gitmodules | 8 months ago | |
Dockerfile | 8 months ago | |
Jenkinsfile | 8 months ago | |
LICENSE | 8 months ago | |
README.md | 8 months ago | |
build-dependencies.txt | 8 months ago | |
version.sh | 8 months ago |
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'