Skip to content
Snippets Groups Projects
Forked from monero-project / CCS Proposals
545 commits behind the upstream repository.
adrelanos-debian-package.md 6.61 KiB
layout: cp
title: "Monero Debian Package Repository for 2 years"
amount: 73
author: Patrick Schleizer
date: 15 April 2020
milestones:
  - name: "Monero Debian Package Initial Packaging"
    funds: 50% (37 XMR)
    done: 31 December 2020
    status: finished
  - name: "Monero Debian Package Maintenance 2021"
    funds: 25% (18 XMR)
    done: 31 December 2021
    status: finished
  - name: "Monero Debian Package Maintenance 2022"
    funds: 25% (18 XMR)
    done: 13 March 2023
    status: finished
payouts:
  - date: 18 February 2021
    amount: 37
  - date: 21 March 2022
    amount: 18
  - date: 21 May 2023
    amount: 18

Importance to the Monero Community

Ease of installation and timely software upgrade on popular stable Linux distributions such as Debian is important to gain better usability and greater adaption.

A higher share of privacy conscious users are using Linux rather than Windows.

This is also a preparatory step for installation of Monero by default in (privacy focused) Linux operating systems such as Whonix (which I happen to be the founder). Other Debian based Linux distributions such as Tails (also privacy focused) are welcome to use the package as well.

User Experience

Instructions for users, simplified.

How to install monero GUI using apt-get

Download the repository signing key.

wget https://www.whonix.org/patrick.asc

Add the signing key.

sudo apt-key --keyring /etc/apt/trusted.gpg.d/monero.gpg add ~/patrick.asc

Add APT repository.

echo "deb https://deb.whonix.org buster main" | sudo tee /etc/apt/sources.list.d/monero.list

Update your package lists.

sudo apt-get update

Install monero-gui.

sudo apt-get install monero-gui

Technical Implementation Details

The focus is the user. Usability. No frills.

I would simply grab the monero-gui binaries provided by getmonero.org, download them, check software (gpg) signatures, put these into deb packages, add these to a Debian package repository, and upload the repository.

What I would not do is creating the binaries during package build process. While this is nice to have, it doesn't help user experience and blocks the progress on reaching this goal. See next chapter.

The monero-gui binary includes it all:

  • monero-wallet-gui
  • monero-wallet-cli
  • monerod

Therefore monero-gui package would come with all of that too. The package would be usable by both, desktop and headless computers.

Hosting on whonix.org rather than getmonero.org to keep maintenance effort low. Therefore no coordination with getmonero.org DNS required. Saves money for purchasing a domain. Contributes to decentralization since the maintainer of Whonix would maintain the Monero Debian packages independently. Maintaining another package on the domain which hosts many packages already is lower effort than a completely separate Debian package repository.

packages.debian.org is out of scope since Debian does not upgrade often enough to keep up with Monero fork cycle and for other reasons as well.

64 bit only.

The contents of monero-gui will be placed in folder /usr/share/monero/monero-gui-v0.14.1.0, unmodified. Folder /usr/bin will contain wrapper scripts pointing to the binaries in /usr/share/monero/monero-gui-v0.14.1.0.

Why simply put the pre-build Monero binaries into a deb package?