This repository contains files that will build the packages that we use to enable our distribution on Linux platforms.
-
To build RPMs you'll need the 'mock' package installed, as well as 'rpm-sign' if you plan on signing packages:
dnf install mock rpm-sign
on fedora,mock rpmsign
on debian/ubuntu -
To build debs you'll need the 'debhelper' and 'build-essential' packages installed:
apt install debhelper build-essential
on ubuntu/debian,dpkg
on fedora.
Build the RPM. Note this will take a while the first time as it needs to create each dist's chroot:
$ cd rpm
$ make
Resulting packages will be placed in brave-release/rpm/output
$ cd deb
$ make
Resulting packages will be placed in brave-release/deb/output
-
Certificates. These change, and when these change we'll need to update this package to include new certificates and to revoke old ones.
-
New dists. When a new EL, Fedora, Ubuntu, or Debian come about we'll need to build packages for them.
$ sudo rpm --import file.asc
$ sudo dnf install rpm/output/brave-release-1.0-1.fc29.x86_64.rpm
$ sudo dnf config-manager --set-enabled brave-release # (or brave-beta or brave-nightly)
$ sudo dnf install brave-browser
$ cat deb/brave.asc | sudo apt-key add - # TODO: put real key here
$ sudo dpkg -i deb/output/brave-release-xenial.deb
$ sudo sed -i 's/Enabled: false/Enabled: true/' /etc/apt/sources.list.d/brave-release.sources
$ sudo apt-get update && sudo apt-get install brave-browser
- We should decide how we'll handle certificates. Should local copies live in here, or should we fetch them from somewhere known beforehand?