From ae37896800127cf0d2dad6ddabfbc1de4e63a7e7 Mon Sep 17 00:00:00 2001 From: George Hartzell Date: Tue, 17 Sep 2019 11:22:10 -0700 Subject: cryptsetup package: dont vendor libuuid in util-linux (#12839) Fixes #12829 This adds a variant to the util-linux package that controls whether it builds its own libuuid. Variant defaults to True. It enables other packages to choose to get libuuid from the libuuid package instead. This also changes the cryptsetup package to build util-linux with ~libuuid (so it uses an explicitly-Spack-built instance of libuuid instead). --- var/spack/repos/builtin/packages/cryptsetup/package.py | 2 +- var/spack/repos/builtin/packages/util-linux/package.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/cryptsetup/package.py b/var/spack/repos/builtin/packages/cryptsetup/package.py index 62c42ad2f1..9bee30ef9f 100644 --- a/var/spack/repos/builtin/packages/cryptsetup/package.py +++ b/var/spack/repos/builtin/packages/cryptsetup/package.py @@ -20,7 +20,7 @@ class Cryptsetup(AutotoolsPackage): depends_on('lvm2', type=('build', 'link')) depends_on('popt', type=('build', 'link')) depends_on('json-c', type=('build', 'link')) - depends_on('util-linux', type=('build', 'link')) + depends_on('util-linux~libuuid', type=('build', 'link')) depends_on('gettext', type=('build', 'link')) depends_on('autoconf', type='build') diff --git a/var/spack/repos/builtin/packages/util-linux/package.py b/var/spack/repos/builtin/packages/util-linux/package.py index 52091251e9..60319d9364 100644 --- a/var/spack/repos/builtin/packages/util-linux/package.py +++ b/var/spack/repos/builtin/packages/util-linux/package.py @@ -21,9 +21,17 @@ class UtilLinux(AutotoolsPackage): depends_on('python@2.7:') depends_on('pkgconfig') + # Make it possible to disable util-linux's libuuid so that you may + # reliably depend_on(`libuuid`). + variant('libuuid', default=True, description='Build libuuid') + def url_for_version(self, version): url = "https://www.kernel.org/pub/linux/utils/util-linux/v{0}/util-linux-{1}.tar.gz" return url.format(version.up_to(2), version) def configure_args(self): - return ['--disable-use-tty-group'] + config_args = [ + '--disable-use-tty-group', + ] + config_args.extend(self.enable_or_disable('libuuid')) + return config_args -- cgit v1.2.3-60-g2f50