fwupd/contrib
2021-06-11 14:14:53 +01:00
..
ci trivial: Update doc publishing CI for docgen changes 2021-06-11 14:14:53 +01:00
debian Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
firmware_packager trivial: Don't include a leading black line in firmware_packager XML 2021-05-19 08:48:25 +01:00
flatpak@3e60bea4e7 contrib: Adjust flatpak build for moving to flathub 2018-11-01 06:51:23 -05:00
freebsd Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
qubes trivial: reformat all python code with black 2021-04-08 10:43:29 -05:00
snap trivial: fixup black on a few more python files without python extensions 2021-04-09 16:02:20 +01:00
standalone-installer trivial: reformat all python code with black 2021-04-08 10:43:29 -05:00
vscode trivial: fixup runtime path for fwupdtool and libraries 2021-06-04 22:31:18 -05:00
fix_translations.py trivial: reformat all python code with black 2021-04-08 10:43:29 -05:00
fwupd.spec.in Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
generate-version-script.py trivial: reformat all python code with black 2021-04-08 10:43:29 -05:00
meson.build contrib/qubes: Add Qubes wrapper source and create packages 2021-02-26 06:40:21 +00:00
mingw64.cross Allow building on Windows with MinGW 2019-12-03 16:33:43 +00:00
PKGBUILD Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
README.md contrib/README.md: Update instructions for distribution packages 2021-02-26 06:40:21 +00:00
setup trivial: install shellcheck from dependencies.xml 2021-04-09 11:15:27 -05:00
setup-win32.nsi Add 4 new runtime requirements to the win32 build 2021-05-04 12:51:52 +01:00

Distribution packages

The relevant packaging necessary to generate RPM, DEB and PKG distribution packages is contained here. It is used regularly for continuous integration using Travis CI. The generated packages can be used on a distribution such as Fedora, Debian, Ubuntu or Arch Linux.

The build can be performed using Linux containers with Docker.

RPM packages

A Dockerfile for Fedora can be generated in contrib.

To prepare the Docker container run this command:

OS=fedora ./generate_docker.py build

To build the RPMs run this command (from the root of your git checkout):

docker run --privileged -t -v `pwd`:/github/workspace fwupd-fedora

RPMs will be made available in your working directory when complete.

To build additional RPM packages for Qubes OS (fwupd-qubes-dom0 and fwupd-qubes-vm) add QUBES=true environment variable:

docker run --privileged -e QUBES=true  -t -v `pwd`:/github/workspace fwupd-fedora

DEB packages

A Dockerfile for Debian or Ubuntu can be generated in contrib.

To prepare the Docker container run one of these commands:

OS=debian-x86_64 ./generate_docker.py build
OS=debian-i386 ./generate_docker.py build
OS=ubuntu-x86_64 ./generate_docker.py build

To build the DEBs run one of these commands (from the root of your git checkout):

docker run --privileged -t -v `pwd`:/github/workspace fwupd-debian-x86_64
docker run --privileged -t -v `pwd`:/github/workspace fwupd-debian-i386
docker run --privileged -t -v `pwd`:/github/workspace fwupd-ubuntu-x86_64

DEBs will be made available in your working directory when complete.

To build additional DEB package for Qubes OS (fwupd-qubes-vm-whonix) add QUBES=true environment variable:

docker run --privileged -t -v `pwd`:/github/workspace fwupd-debian-x86_64-qubes

PKG packages

A Dockerfile for Arch can be generated in contrib.

To prepare the Docker container run this command:

OS=arch ./generate_docker.py

To build the PKGs run this command (from the root of your git checkout):

docker run -t -v `pwd`:/build fwupd-arch

PKGs will be made available in your working directory when complete.

Additional packages

Submissions for generating additional packages for other distribution mechanisms are also welcome. All builds should occur in Docker containers.

Please feel free to submit the following:

  • Dockerfile for the container for your distro
  • Relevant technical packaging scripts (such as ebuilds, spec file etc)
  • A shell script that can be launched in the container to generate distribution packages