mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-03 19:59:26 +00:00
Add Arch Linux to CI
This commit is contained in:
parent
db42f2bd27
commit
1cc7d8d271
@ -8,7 +8,9 @@ services:
|
||||
before_script:
|
||||
- docker build -t fwupd-fedora-25 -f contrib/ci/Dockerfile-fedora-25 .
|
||||
- docker build -t fwupd-debian-experimental -f contrib/ci/Dockerfile-debian-experimental .
|
||||
- docker build -t fwupd-arch -f contrib/ci/Dockerfile-arch .
|
||||
|
||||
script:
|
||||
- docker run -e CI=true -t -v `pwd`:/build fwupd-fedora-25 ./contrib/ci/build_and_install_rpms.sh
|
||||
- docker run -e CI=true -t -v `pwd`:/build fwupd-debian-experimental ./contrib/ci/build_and_install_debs.sh
|
||||
- docker run -e CI=true -t -v `pwd`:/build fwupd-arch ./contrib/ci/build_and_install_pkgs.sh
|
||||
|
39
contrib/PKGBUILD
Normal file
39
contrib/PKGBUILD
Normal file
@ -0,0 +1,39 @@
|
||||
# Maintainer: Bruno Pagani (a.k.a. ArchangeGabriel) <archange@archlinux.org>
|
||||
# Contributor: Mirco Tischler <mt-ml at gmx dot de>
|
||||
|
||||
pkgname=fwupd
|
||||
pkgver=0.9.4.r53.ge90542f
|
||||
pkgrel=1
|
||||
pkgdesc='A simple daemon to allow session software to update firmware'
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://github.com/hughsie/fwupd'
|
||||
license=('GPL2')
|
||||
depends=('appstream-glib' 'fwupdate' 'colord')
|
||||
makedepends=('meson' 'valgrind' 'docbook-utils' 'docbook-sgml' 'perl-sgmls'
|
||||
'gobject-introspection' 'gtk-doc' 'python-pillow' 'python-cairo'
|
||||
'ttf-dejavu' 'adobe-source-han-sans-cn-fonts' 'python-gobject' 'git')
|
||||
|
||||
pkgver() {
|
||||
cd ${pkgname}
|
||||
git describe | sed 's/-/.r/;s/-/./'
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${pkgname}
|
||||
meson --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libexecdir=/usr/lib \
|
||||
--buildtype=plain \
|
||||
../build
|
||||
|
||||
ninja -v -C ../build
|
||||
}
|
||||
|
||||
check() {
|
||||
ninja -C build test
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="${pkgdir}" ninja -C build install
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
Distribution packages
|
||||
=====================
|
||||
The relevant packaging necessary to generate *RPM* and *DEB* distribution packages is contained here.
|
||||
It is used regularly for continuous integration using [Travis CI](http://travis-ci.org). The generated packages can be used on a distribution such as Fedora, Debian or Ubuntu.
|
||||
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](http://travis-ci.org). 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](www.docker.com).
|
||||
|
||||
@ -35,6 +35,19 @@ DEBs will be made available in your working directory when complete.
|
||||
To use the packages, you may need to enable the experimental repository for dependency resolution.
|
||||
Additional information is available here: https://wiki.debian.org/DebianExperimental
|
||||
|
||||
## PKG packages
|
||||
A Dockerfile is available for Arch Linux.
|
||||
|
||||
To prepare the Docker container run this command:
|
||||
|
||||
`docker build -t fwupd-arch -f contrib/ci/Dockerfile-arch .`
|
||||
|
||||
To build the PKGs run this command (from the root of your git checkout):
|
||||
|
||||
```docker run -t -v `pwd`:/build fwupd-arch ./contrib/ci/build_and_install_pkgs.sh```
|
||||
|
||||
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.
|
||||
|
38
contrib/ci/Dockerfile-arch
Normal file
38
contrib/ci/Dockerfile-arch
Normal file
@ -0,0 +1,38 @@
|
||||
FROM archlinux/base
|
||||
# set the locale
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
# keep the package DB
|
||||
RUN rm /usr/share/libalpm/hooks/package-cleanup.hook
|
||||
# update the image, install devel packages
|
||||
RUN pacman -Syu --noconfirm
|
||||
RUN pacman -S --noconfirm base-devel
|
||||
# runtime deps
|
||||
RUN pacman -S --noconfirm \
|
||||
appstream-glib \
|
||||
colord \
|
||||
fwupdate
|
||||
# buildtime deps
|
||||
RUN pacman -S --noconfirm \
|
||||
adobe-source-han-sans-cn-fonts \
|
||||
docbook-utils \
|
||||
docbook-sgml \
|
||||
gobject-introspection \
|
||||
gtk-doc \
|
||||
meson \
|
||||
perl-sgmls \
|
||||
python-cairo \
|
||||
python-gobject \
|
||||
python-pillow \
|
||||
ttf-dejavu \
|
||||
valgrind
|
||||
# CI dep
|
||||
RUN pacman -S --noconfirm git
|
||||
# add an user to build the package with
|
||||
RUN useradd -s /bin/bash build
|
||||
RUN echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
# prepare the build environment
|
||||
RUN mkdir /build
|
||||
RUN chown build /build
|
||||
USER build
|
||||
WORKDIR /build
|
18
contrib/ci/build_and_install_pkgs.sh
Executable file
18
contrib/ci/build_and_install_pkgs.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
# prepare the build tree
|
||||
rm -rf build
|
||||
mkdir build && pushd build
|
||||
cp ../contrib/PKGBUILD .
|
||||
mkdir -p src/fwupd && pushd src/fwupd
|
||||
ln -s ../../../* .
|
||||
ln -s ../../../.git .
|
||||
popd
|
||||
|
||||
# build the package and install it
|
||||
makepkg -ei --noconfirm
|
||||
|
||||
# move the package to working dir
|
||||
cp *.pkg.tar.xz ../
|
||||
|
||||
# no testing here because gnome-desktop-testing isn’t available in Arch
|
Loading…
Reference in New Issue
Block a user