summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml36
-rw-r--r--.gitlab-ci/ci.template24
-rw-r--r--.gitlab-ci/config.yml2
-rw-r--r--.gitlab-ci/libinput.spec.in135
4 files changed, 190 insertions, 7 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f598a633..71573370 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -84,12 +84,12 @@ variables:
# changing these will force rebuilding the associated image
# Note: these tags have no meaning and are not tied to a particular
# libinput version
- FEDORA_TAG: '2020-03-17.0'
- UBUNTU_TAG: '2020-03-17.0'
- ARCH_TAG: '2020-03-17.0'
- ALPINE_TAG: '2020-03-17.0'
- FREEBSD_TAG: '2020-03-17.0'
- QEMU_TAG: 'qemu-vm-2020-03-17.0'
+ FEDORA_TAG: '2020-07-22.0'
+ UBUNTU_TAG: '2020-07-22.0'
+ ARCH_TAG: '2020-07-22.0'
+ ALPINE_TAG: '2020-07-22.0'
+ FREEBSD_TAG: '2020-07-22.0'
+ QEMU_TAG: 'qemu-vm-2020-07-22.0'
UBUNTU_EXEC: "bash .gitlab-ci/ubuntu_install.sh $UBUNTU_CUSTOM_DEBS"
@@ -905,6 +905,30 @@ freebsd:11.2@default-build:
# deploy
#
+build rpm:
+ extends:
+ - .fdo.distribution-image@fedora
+ - .policy
+ stage: deploy
+ variables:
+ FDO_DISTRIBUTION_VERSION: '32'
+ FDO_DISTRIBUTION_TAG: $FEDORA_TAG
+ needs:
+ - "fedora:32@container-prep"
+ script:
+ - dnf install -y rpmdevtools jq
+ - meson "$MESON_BUILDDIR"
+ - VERSION=$(meson introspect "$MESON_BUILDDIR" --projectinfo | jq -r .version)
+ - sed -e "s/@PIPELINEID@/${CI_PIPELINE_ID}/"
+ -e "s/@GITVERSION@/${CI_COMMIT_SHA}/"
+ -e "s/@VERSION@/${VERSION}/" .gitlab-ci/libinput.spec.in > libinput.spec
+ - git config --local user.name 'gitlab CI'
+ - git config --local user.email 'noreply@nowhere'
+ - git add libinput.spec && git commit -m 'Add libinput.spec for build testing' libinput.spec
+ - cd "$MESON_BUILDDIR"
+ - meson dist --no-test
+ - rpmbuild -ta meson-dist/libinput*.tar.xz
+
wayland-web:
image: alpine:latest
stage: deploy
diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template
index f48a1384..74c8bce0 100644
--- a/.gitlab-ci/ci.template
+++ b/.gitlab-ci/ci.template
@@ -675,6 +675,30 @@ freebsd:11.2@default-build:
# deploy
#
+build rpm:
+ extends:
+ - .fdo.distribution-image@fedora
+ - .policy
+ stage: deploy
+ variables:
+ FDO_DISTRIBUTION_VERSION: '32'
+ FDO_DISTRIBUTION_TAG: $FEDORA_TAG
+ needs:
+ - "fedora:32@container-prep"
+ script:
+ - dnf install -y rpmdevtools jq
+ - meson "$MESON_BUILDDIR"
+ - VERSION=$(meson introspect "$MESON_BUILDDIR" --projectinfo | jq -r .version)
+ - sed -e "s/@PIPELINEID@/${CI_PIPELINE_ID}/"
+ -e "s/@GITVERSION@/${CI_COMMIT_SHA}/"
+ -e "s/@VERSION@/${VERSION}/" .gitlab-ci/libinput.spec.in > libinput.spec
+ - git config --local user.name 'gitlab CI'
+ - git config --local user.email 'noreply@nowhere'
+ - git add libinput.spec && git commit -m 'Add libinput.spec for build testing' libinput.spec
+ - cd "$MESON_BUILDDIR"
+ - meson dist --no-test
+ - rpmbuild -ta meson-dist/libinput*.tar.xz
+
wayland-web:
image: alpine:latest
stage: deploy
diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml
index 6b6da8c9..7e8acf5e 100644
--- a/.gitlab-ci/config.yml
+++ b/.gitlab-ci/config.yml
@@ -3,7 +3,7 @@
#
# We're happy to rebuild all containers when one changes.
-.default_tag: &default_tag '2020-03-17.0'
+.default_tag: &default_tag '2020-07-22.0'
distributions:
- name: fedora
diff --git a/.gitlab-ci/libinput.spec.in b/.gitlab-ci/libinput.spec.in
new file mode 100644
index 00000000..6fc74fb4
--- /dev/null
+++ b/.gitlab-ci/libinput.spec.in
@@ -0,0 +1,135 @@
+# This specfile should not be used outside the CI
+# Its main purpose is to sound alarm if files disappear or are added that
+# weren't intended.
+
+%global udevdir %(pkg-config --variable=udevdir udev)
+
+%global pipelineid @PIPELINEID@
+%global gitversion @GITVERSION@
+
+Name: libinput
+Version: @VERSION@
+Release: %{pipelineid}git%{gitversion}%{?dist}
+Summary: Input device library
+
+License: MIT
+URL: http://www.freedesktop.org/wiki/Software/libinput/
+Source0: %{name}-%{version}.tar.xz
+
+# No BuildRequires, we rely on the container setup to have
+# all the requires installed
+
+%description
+libinput is a library that handles input devices for display servers and other
+applications that need to directly deal with input devices.
+
+It provides device detection, device handling, input device event processing
+and abstraction so minimize the amount of custom input code the user of
+libinput need to provide the common set of functionality that users expect.
+
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%package utils
+Summary: Utilities and tools for debugging %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: python3-pyudev python3-libevdev
+
+%description utils
+The %{name}-utils package contains tools to debug hardware and analyze
+%{name}.
+
+%package test
+Summary: libinput integration test suite
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description test
+The %{name}-test package contains the libinput test suite. It is not
+intended to be run by users.
+
+%prep
+%autosetup -S git -n %{name}-%{version}
+
+%build
+%meson -Dtests=true \
+ -Dinstall-tests=true \
+ -Dudev-dir=%{udevdir}
+%meson_build
+
+%install
+%meson_install
+
+%post
+%{?ldconfig}
+
+%ldconfig_postun
+
+
+%files
+%doc COPYING
+%{_libdir}/libinput.so.*
+%{udevdir}/libinput-device-group
+%{udevdir}/libinput-fuzz-extract
+%{udevdir}/libinput-fuzz-to-zero
+%{udevdir}/rules.d/80-libinput-device-groups.rules
+%{udevdir}/rules.d/90-libinput-fuzz-override.rules
+%{_bindir}/libinput
+%dir %{_libexecdir}/libinput/
+%{_libexecdir}/libinput/libinput-debug-events
+%{_libexecdir}/libinput/libinput-list-devices
+%{_mandir}/man1/libinput.1*
+%{_datadir}/libinput/*.quirks
+%dir %{_datadir}/zsh
+%dir %{_datadir}/zsh/site-functions
+%{_datadir}/zsh/site-functions/*
+%{_mandir}/man1/libinput-list-devices.1*
+%{_mandir}/man1/libinput-debug-events.1*
+
+%files devel
+%{_includedir}/libinput.h
+%{_libdir}/libinput.so
+%{_libdir}/pkgconfig/libinput.pc
+
+%files utils
+%{_libexecdir}/libinput/libinput-debug-gui
+%{_libexecdir}/libinput/libinput-debug-tablet
+%{_libexecdir}/libinput/libinput-measure
+%{_libexecdir}/libinput/libinput-measure-fuzz
+%{_libexecdir}/libinput/libinput-measure-touchpad-tap
+%{_libexecdir}/libinput/libinput-measure-touchpad-pressure
+%{_libexecdir}/libinput/libinput-measure-touch-size
+%{_libexecdir}/libinput/libinput-measure-touchpad-size
+%{_libexecdir}/libinput/libinput-quirks
+%{_libexecdir}/libinput/libinput-record
+%{_libexecdir}/libinput/libinput-replay
+%{_libexecdir}/libinput/libinput-analyze
+%{_libexecdir}/libinput/libinput-analyze-per-slot-delta
+%{_mandir}/man1/libinput-debug-gui.1*
+%{_mandir}/man1/libinput-debug-tablet.1*
+%{_mandir}/man1/libinput-measure.1*
+%{_mandir}/man1/libinput-measure-fuzz.1*
+%{_mandir}/man1/libinput-measure-touchpad-tap.1*
+%{_mandir}/man1/libinput-measure-touch-size.1*
+%{_mandir}/man1/libinput-measure-touchpad-size.1*
+%{_mandir}/man1/libinput-measure-touchpad-pressure.1*
+%{_mandir}/man1/libinput-quirks.1*
+%{_mandir}/man1/libinput-quirks-list.1*
+%{_mandir}/man1/libinput-quirks-validate.1*
+%{_mandir}/man1/libinput-record.1*
+%{_mandir}/man1/libinput-replay.1*
+%{_mandir}/man1/libinput-analyze.1*
+%{_mandir}/man1/libinput-analyze-per-slot-delta.1*
+
+%files test
+%{_libexecdir}/libinput/libinput-test-suite
+%{_mandir}/man1/libinput-test-suite.1*
+
+%changelog
+* Wed Jul 15 2020 Peter Hutterer <peter.hutterer@redhat.com>
+- Add basic spec file for package build testing