[oe] [meta-oe][PATCH] cryptsetup: Add PACKAGECONFIG options

Robert Joslyn robert.joslyn at redrectangle.org
Fri Jun 28 03:50:53 UTC 2019


On Thu, 2019-06-27 at 10:56 +0000, Peter Kjellerstedt wrote:
> It is no longer possible to build cryptsetup-native after this was
> merged. 
> It now fails with:
> 
> ERROR: Nothing PROVIDES 'udev-native' (but virtual:native:.../meta-
> oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb DEPENDS on or otherwise
> requires it). Close matches:
>   fuse-native
>   unifdef-native
>   db-native
> ERROR: Required build target 'cryptsetup-native' has no buildable
> providers.
> Missing or unbuildable dependency chain was: ['cryptsetup-native',
> 'udev-native']
> 
> This is with systemd in DISTRO_FEATURES.
> 
> //Peter
> 

Sorry about that. Is there a reasonable set of options useful for the
native build? Any preference for an empty native PACKAGECONFIG or should
it be the same as the target (minus udev obviously)?

Thanks,
Robert

> > -----Original Message-----
> > From: openembedded-devel-bounces at lists.openembedded.org <openembedded-
> > devel-bounces at lists.openembedded.org> On Behalf Of Robert Joslyn
> > Sent: den 7 juni 2019 05:46
> > To: akuster808 <akuster808 at gmail.com>; openembedded-
> > devel at lists.openembedded.org
> > Subject: Re: [oe] [meta-oe][PATCH] cryptsetup: Add PACKAGECONFIG
> > options
> > 
> > On Thu, 2019-06-06 at 07:24 -0700, akuster808 wrote:
> > > On 6/2/19 4:12 PM, Robert Joslyn wrote:
> > > > Add various PACKAGECONFIG options, keeping the default options
> > > > enabled.
> > > the PACKCONFIG went from openssl to a lot more, how is that keeping
> > > the
> > > defaults?
> > 
> > My intent was to add PACKAGECONFIG options, but to keep the resulting
> > build the same as before. This should match the default options that
> > are set by upstream when you don't specify any --enable or --disable
> > options.
> > 
> > I can send a v2 with a better description if desired.
> > 
> > Thanks,
> > Robert
> > 
> > > > ---
> > > >  .../cryptsetup/cryptsetup_2.1.0.bb            | 51
> > > > ++++++++++++++++++-
> > > >  1 file changed, 49 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
> > > > b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
> > > > index cf1d22242..51cecf5d2 100644
> > > > --- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
> > > > +++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
> > > > @@ -9,7 +9,12 @@ SECTION = "console"
> > > >  LICENSE = "GPL-2.0-with-OpenSSL-exception"
> > > >  LIC_FILES_CHKSUM =
> > > > "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
> > > > 
> > > > -DEPENDS = "util-linux libdevmapper popt libgcrypt json-c"
> > > > +DEPENDS = " \
> > > > +    json-c \
> > > > +    libdevmapper \
> > > > +    popt \
> > > > +    util-linux \
> > > > +"
> > > > 
> > > >  SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('P
> > > > V
> > > > ').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
> > > >  SRC_URI[md5sum] = "41d8b985ef69242852b93e95d53e8e28"
> > > > @@ -19,9 +24,45 @@ inherit autotools gettext pkgconfig
> > > > 
> > > >  # Use openssl because libgcrypt drops root privileges
> > > >  # if libgcrypt is linked with libcap support
> > > > -PACKAGECONFIG ??= "openssl"
> > > > +PACKAGECONFIG ??= " \
> > > > +    keyring \
> > > > +    cryptsetup \
> > > > +    veritysetup \
> > > > +    cryptsetup-reencrypt \
> > > > +    integritysetup \
> > > > +    ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
> > > > +    udev \
> > > > +    kernel_crypto \
> > > > +    internal-argon2 \
> > > > +    blkid \
> > > > +    luks-adjust-xts-keysize \
> > > > +    openssl \
> > > > +"
> > > > +
> > > > +PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
> > > > +PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
> > > > +PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-
> > > > pwquality,libpwquality"
> > > > +PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-
> > > > passwdqc,passwdqc"
> > > > +PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-
> > > > cryptsetup"
> > > > +PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-
> > > > veritysetup"
> > > > +PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-
> > > > reencrypt,--disable-cryptsetup-reencrypt"
> > > > +PACKAGECONFIG[integritysetup] = "--enable-integritysetup,
> > > > --disable-integritysetup"
> > > > +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
> > > > +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
> > > > +PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-
> > > > kernel_crypto"
> > > > +# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag
> > > > isn't
> > > > +# recognized.
> > > > +PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
> > > > +PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,
> > > > --disable-internal-argon2"
> > > > +PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-
> > > > argon2,--disable-internal-sse-argon2"
> > > > +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-
> > > > linux"
> > > > +PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-
> > > > random"
> > > > +PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-
> > > > xts-keysize,--disable-luks-adjust-xts-keysize"
> > > >  PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
> > > >  PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
> > > > +PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
> > > > +PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
> > > > +PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
> > > > 
> > > >  RRECOMMENDS_${PN} = "kernel-module-aes-generic \
> > > >                       kernel-module-dm-crypt \
> > > > @@ -32,6 +73,12 @@ RRECOMMENDS_${PN} = "kernel-module-aes-generic
> > > > \
> > > >  "
> > > > 
> > > >  EXTRA_OECONF = "--enable-static"
> > > > +# Building without largefile is not supported by upstream
> > > > +EXTRA_OECONF += "--enable-largefile"
> > > > +# Requires a static popt library
> > > > +EXTRA_OECONF += "--disable-static-cryptsetup"
> > > > +# There's no recipe for libargon2 yet
> > > > +EXTRA_OECONF += "--disable-libargon2"
> > > > 
> > > >  FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd',
> > > > '
> > > > ${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
> > > > 
> > 
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list