spdx2debian

3 min read Original article ↗

REUSE status Mastodon @buhtz@fosstodon.org Common Changelog

This tool converts SPDX metadata from a source repository into the debian/copyright format.

It is intended for Debian maintainers packaging software whose upstream projects are fully compliant with the REUSE specification and therefore provide complete SPDX licensing metadata.

A detailed description of the design principles, requirements, and usage can be found in the User Manual.

The project is active and in constant development. Don't hesitate to voice your wishes and opinions by utilizing the issue section. The initial developer and sole maintainer is buhtz. Donations are collected via Liberapay and Ko-fi, but going to him as a person, not a specific project, though much of the support also benefits this project.

March 2026

Table of contents

Installation

There are two ways to install this application: For users and for developers contributing to the application's development.

Regular installation for users

If pipx is not available on your system check your GNU/Linux distributions package repository or install it from PyPi (pip install pipx).

spdx2debian is not yet available in a GNU/Linux distribution and there are no plans to release it on PyPi.

Variant A - Latest stable release

See the Releases section or run the following command to install the latest stable release from upstream repository:

$ pipx install https://codeberg.org/buhtz/spdx2debian/archive/v0.0.1.zip

Variant B - Latest development version

Clone the repository (or unpack the source tarball) and run pipx in this directory.

$ git clone https://codeberg.org/buhtz/spdx2debian.git
$ cd spdx2debian
$ pipx install .

Editable installation for developers to contribute First of all fork/clone/copy the repository to the local machine and navigate into the repositories directory. Use a virtual environment and the extra [develop] dependency target:

$ git clone https://codeberg.org/buhtz/spdx2debian.git
$ cd spdx2debian

# Create the environment
$ python3 -m venv .venv

# Activate the environment
$ source .venv/bin/activate

# Install
$ pip3 install --editable .[develop]

# Later, when finished with the work, deactivate the environment.
$ deactivate

Branching model - OneFlow

The OneFlow branching model (as described by Adam Ruka) is used. There is only one branch. The latest development state is represented by the most recent commit on the default branch, named latest. The stable version (the most recent release) resides in the same branch and is identified by the highest version tag (e.g. v0.1.2).

Technologies & Standards

Licensing of contributed material

Please keep in mind that code, documentation and other material submitted to the project are considered licensed under the same terms (see LICENSES) as the rest of the work. The project does use the specifications from REUSE Software and SPDX to store license and copyright information. See the projects REUSE compliance status.