fwupd: fix installed tests
This commit is contained in:
@@ -17,7 +17,6 @@ prefix only to `make install`, but Meson does not support anything like that.
|
||||
Until we manage to convince Meson to support install flags, we need to create
|
||||
our own install flag.
|
||||
---
|
||||
data/installed-tests/meson.build | 2 +-
|
||||
data/meson.build | 4 ++--
|
||||
data/pki/meson.build | 8 ++++----
|
||||
data/remotes.d/meson.build | 6 +++---
|
||||
@@ -25,19 +24,8 @@ our own install flag.
|
||||
meson_options.txt | 1 +
|
||||
plugins/redfish/meson.build | 2 +-
|
||||
plugins/uefi/meson.build | 2 +-
|
||||
8 files changed, 19 insertions(+), 12 deletions(-)
|
||||
7 files changed, 18 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build
|
||||
index eb33fa9f..b32ecb30 100644
|
||||
--- a/data/installed-tests/meson.build
|
||||
+++ b/data/installed-tests/meson.build
|
||||
@@ -52,5 +52,5 @@ configure_file(
|
||||
output : 'fwupd-tests.conf',
|
||||
configuration : con2,
|
||||
install: true,
|
||||
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
|
||||
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
|
||||
)
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 8dd2ac9a..d4ad1cbc 100644
|
||||
--- a/data/meson.build
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, gtk-doc, pkgconfig, gobject-introspection, intltool
|
||||
{ stdenv, fetchurl, substituteAll, gtk-doc, pkgconfig, gobject-introspection, intltool
|
||||
, libgudev, polkit, libxmlb, gusb, sqlite, libarchive, glib-networking
|
||||
, libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales
|
||||
, gnu-efi, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl
|
||||
@@ -6,17 +6,20 @@
|
||||
, shared-mime-info, umockdev, vala, makeFontsConf, freefont_ttf
|
||||
, cairo, freetype, fontconfig, pango
|
||||
}:
|
||||
|
||||
# Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc
|
||||
|
||||
let
|
||||
# Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc
|
||||
version = "1.2.3";
|
||||
python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]);
|
||||
installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]);
|
||||
|
||||
fontsConf = makeFontsConf {
|
||||
fontDirectories = [ freefont_ttf ];
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
name = "fwupd-${version}";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "fwupd";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
|
||||
sha256 = "11qpgincndahq96rbm2kgcy9kw5n9cmbbilsrqcqcyk7mvv464sl";
|
||||
@@ -39,15 +42,24 @@ in stdenv.mkDerivation {
|
||||
patches = [
|
||||
./fix-paths.patch
|
||||
./add-option-for-installation-sysconfdir.patch
|
||||
|
||||
# installed tests are installed to different output
|
||||
# we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
|
||||
(substituteAll {
|
||||
src = ./installed-tests-path.patch;
|
||||
# needs a different set of modules than po/make-images
|
||||
inherit installedTestsPython;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# needs a different set of modules than po/make-images
|
||||
escapedInterpreterLine=$(echo "${installedTestsPython}/bin/python3" | sed 's|\\|\\\\|g')
|
||||
sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" data/installed-tests/hardware.py
|
||||
|
||||
patchShebangs .
|
||||
substituteInPlace data/installed-tests/fwupdmgr.test.in --subst-var-by installedtestsdir "$installedTests/share/installed-tests/fwupd"
|
||||
|
||||
# we cannot use placeholder in substituteAll
|
||||
# https://github.com/NixOS/nix/issues/1846
|
||||
substituteInPlace data/installed-tests/meson.build --subst-var installedTests
|
||||
|
||||
# install plug-ins to out, they are not really part of the library
|
||||
substituteInPlace meson.build \
|
||||
--replace "plugin_dir = join_paths(libdir, 'fwupd-plugins-3')" \
|
||||
"plugin_dir = join_paths('${placeholder "out"}', 'fwupd_plugins-3')"
|
||||
@@ -106,7 +118,6 @@ in stdenv.mkDerivation {
|
||||
"fwupd/remotes.d/lvfs-testing.conf"
|
||||
"fwupd/remotes.d/lvfs.conf"
|
||||
"fwupd/remotes.d/vendor.conf"
|
||||
"fwupd/remotes.d/fwupd-tests.conf"
|
||||
"pki/fwupd/GPG-KEY-Hughski-Limited"
|
||||
"pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
|
||||
"pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
--- a/data/installed-tests/hardware.py
|
||||
+++ b/data/installed-tests/hardware.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python3
|
||||
+#!@installedTestsPython@/bin/python3
|
||||
# pylint: disable=wrong-import-position,too-many-locals,unused-argument,wrong-import-order
|
||||
#
|
||||
# Copyright (C) 2017 Richard Hughes <richard@hughsie.com>
|
||||
--- a/data/installed-tests/meson.build
|
||||
+++ b/data/installed-tests/meson.build
|
||||
@@ -1,6 +1,6 @@
|
||||
con2 = configuration_data()
|
||||
con2.set('installedtestsdir',
|
||||
- join_paths(datadir, 'installed-tests', 'fwupd'))
|
||||
+ join_paths('@installedTests@', 'share', 'installed-tests', 'fwupd'))
|
||||
con2.set('bindir', bindir)
|
||||
|
||||
configure_file(
|
||||
@@ -52,5 +52,5 @@
|
||||
output : 'fwupd-tests.conf',
|
||||
configuration : con2,
|
||||
install: true,
|
||||
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
|
||||
+ install_dir: join_paths('@installedTests@', 'etc', 'fwupd', 'remotes.d'),
|
||||
)
|
||||
Reference in New Issue
Block a user