building verifiable builds of monerod and monero-wallet, and package them up as deb-packages.
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 Kristinsson 85fb6eef50 a very basic script for the gitan builds to avoid having my gpg key on a vm and to get more control over the process but it should actually be in python 1 month ago
gitian a very basic script for the gitan builds to avoid having my gpg key on a vm and to get more control over the process but it should actually be in python 1 month ago
monero@424e4de16b building works, not polished and hashes dont match because buliding is different (but i didnt quickly get the correct hash using the upstream Dockerfile either, more research is needed) 3 months ago
.dockerignore install dependencies 3 months ago
.gitignore initial commit 3 months ago
.gitmodules building works, not polished and hashes dont match because buliding is different (but i didnt quickly get the correct hash using the upstream Dockerfile either, more research is needed) 3 months ago
Dockerfile jenkinsfile 3 months ago
Jenkinsfile jenkinsfile 3 months ago
LICENSE Initial commit 3 months ago
README.md building works, not polished and hashes dont match because buliding is different (but i didnt quickly get the correct hash using the upstream Dockerfile either, more research is needed) 3 months ago
build-dependencies.txt install dependencies 3 months ago
version.sh jenkinsfile 3 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'