Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Build DigiByte Core using GUIX and Docker

Prerequisites

  • Ubuntu or Mac without Silicon Chip
  • RAM: 8 GB
  • Free disk space: 60 GB
  • Github Account
  • docker installed on your machine
  • Ideally some knowledge on how build environments work

Warning For this release you cannot use Macs with M1/M2 CPUs. Support will be added in a future release though!

Install

Clone the repository using

git clone https://github.com/DigiByte-Core/DigiByte-GUIX-Docker.git &&cd DigiByte-GUIX-Docker

Create a docker image

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=release/v8.22-rc1 - < Dockerfile

Note that the most recent changes are still in the branch fix/functional-and-guix so replace the branch build-arg with:

# Use the following command to build the docker image
DOCKER_BUILDKIT=1 docker build --pull --no-cache -t alpine-guix --build-arg branch=fix/functional-and-guix - < Dockerfile

Run the docker image

Set the path of the location where YOU saved the Xcode12.2 SDK

export PATH_TO_SDK_TARBALL=/path/to/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz

After you have created the image, run the following command:

docker run -it --name alpine-guix --privileged -v "$PATH_TO_SDK_TARBALL:/xcode.tar" alpine-guix

Make sure you configure your Docker to have at least 8 GB of memory ("Memory") and ~70 GB of space ("Disk image size"). The more cores and the more memory, the better. This screenshot illustrates adequate example settings for the compilation:

Screenshot 2023-03-13 at 21 43 10

Open another shell and perform the following steps:

# This command will lead you straight into the `digibyte` directory in that container.
docker exec -ti alpine-guix /bin/bash

From there you have to unpack the tarball using the following commands:

mkdir -p depends/SDKs
tar -C depends/SDKs -xaf /xcode.tar

Start the build process

From within the docker container, run:

# Specify which version you want to sign
export VERSION="8.22-rc1"
# Make sure you are on the correct branch
git checkout "origin/release/v${VERSION}"
# Start the build process
./contrib/guix/guix-build

Attesting the release

Prerequisites

You need your gpg key ready for this to work. Install gpg on your hostsystem and make sure you generated a new key, for example:

# This command will guide you until you get your GPG key
gpg --generate-key

Next, you will have to export the gpg key and import it into the docker container.

So on your host use docker cp -a $USER/.gnupg alpine-guix:/root/.gnupg to copy your private keys into the docker container.

Second prerequisite: Fork the repo https://github.com/DigiByte-Core/guix.sigs.git to your personal github account.

Warning DISCLAIMER: Generally I would advice the use of gpg-agent or mounting the required files into the docker container. However, we don't want this guide to explode in length. Advanced users can proceed with their favorite technique.

Once you copied the keys (you can ignore the errors about sockets not being supported), use the shell that's within your docker container to continue.

# Clone the repositories
git clone https://github.com/DigiByte-Core/guix.sigs.git /guix.sigs
git clone https://github.com/DigiByte-Core/digibyte-detached-sigs.git /digibyte-detached-sigs
# Replace `yoshijaeger` with your gpg nameexport DGB_SIGNER="yoshijaeger"# Set the path (no need to modify anything here if you cloned the repos as mentioned above)export GUIX_SIGS_REPO="/guix.sigs"# This command will ask you to enter the passphrase that you used to generate the gpg keys
env GUIX_SIGS_REPO="$GUIX_SIGS_REPO" SIGNER="$DGB_SIGNER" ./contrib/guix/guix-attest

After running this command, you should now have a noncodesigned.SHA256SUMS(.asc) file located in /guix.sigs/$VERSION/$DGB_SIGNER (example: /guix.sigs/yoshijaeger/8.22-rc1). All you need to do is commiting those signatures:

Either copy the repo /guix.sigs to your host system and continue to work there, or you can create a temporary github access token and configure git directly in docker, like so:

git config --global user.email "your-github-emailaddress@host.com"
git config --global user.name "Your Name"# Example: git remote add myrepo "https://github.com/SmartArray/guix.sigs.git"
git remote add myrepo "<git-url-to-your-forked-guix-sigs-repo>"
# Commit the signaturecd /guix.sigs
git switch main
git pull
git checkout -b "${VERSION}-non-codesigned"
git add "$VERSION"
git commit -m "Add attestations by $SIGNER for $VERSION non-codesigned"
git push --set-upstream myrepo "${VERSION}-non-codesigned"

This will ask you for you access token that you can generate here:

https://github.com/settings/tokens

After entering the access token, your signature will be pushed to your repo! Just create a pull request and you are done!

Congrats! And thank you so much for helping us to sign the rc-1.

About

Dockerfile and instructions for making the GUIX work on any machine with docker installed

Resources

Stars

2 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages