Enable testing repositories

Part of the development process is to test changes, bug fixes and other, to do so you will require to install packages with such changes, there is at least a couple of ways to approach it, you can,

  1. Use the trisquel testing repository, fed with binaries automatically build with Trisquel's Jenkins CI
  2. Create a local repository with local binaries you may build locally

Warning: Installing development/testing purpose packages or repositories should not be done on a production environment.

Instead you might use a testing VM, side testing machine, for most packages you could even try a LiveCD session, or some other alternative way that will not compromise your production system or data, as owner and sole responsible.

Trisquel Testing Repositories

Trisquel continuos integration (CI) uses Jenkins to publish a testing repository available for community developers and it will automate the workflow to ease the collaboration on the development cycle.

1. Add repo key, currently stored at the builds.trisquel.org development archive.
wget https://builds.trisquel.org/repos/signkey.asc -O /tmp/key.asc
cat /tmp/key.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/builds-repo-key.gpg >/dev/null

2. Add the desired repo to test (updates/backports) at the sources.list, in this example the current release: aramo.
echo "# Testing updates repository.
deb http://builds.trisquel.org/repos-testing/aramo aramo-updates main" | sudo tee -a /etc/apt/sources.list

echo "# Testing backports repository.
deb http://builds.trisquel.org/repos-testing/aramo aramo-backports main" | sudo tee -a /etc/apt/sources.list

3. Update and install/update test package.
sudo apt update

4. Finally install the testing package,
sudo apt install name-of-testing-package

Local Testing Repositories

Testing locally compiled binaries can be done in case you prefer to test them locally before pushing changes, these binaries are not intended to be used over the network but on the same machine/setup as where the files are stored.

As before do this on a safe environment where we'll refer to it as test-env where it can be a testing computer, VM, etc.

1. Install on the test-env the required package to build the local repository,
sudo apt -y install dpkg-dev

2. Create a folder to store the binaries, for this example we'll call it localrepo.
mkdir ~/localrepo

3. Copy the binaries to the storage folder on the test-env folder "localrepo", using cli it can be done from one folder to the next or over the network with ssh,
cp *.deb ~/localrepo #locally
scp *.deb user@test-env:~/localrepo # over network with ssh

4. Back at the test-env you can run the next block,
cd ~/localrepo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
dpkg-scanpackages . /dev/null > Packages
echo "deb [trusted=yes] file://$HOME/localrepo ./" |sudo tee -a /etc/apt/sources.list
sudo apt update

It will (a) enter the folder, (b) generate the repo index backwards compatible, (c) add the repository to the test-env sources.list and (d) update the repository.

5. Finally install the testing package,
sudo apt install name-of-testing-package
or do a normal upgrade if there are multiple packages already installed.

Development channels

You can use the following channels to communicate with the development team,

Come and say hi!

Revisions

06/11/2023 - 04:17
Ark74