The good news is that 14.0.6 builds for me quite happily, although the ebuild code for switching aRts support on is temporarily broken. I haven't tried 14.0.7 yet.
The bad news is that the git source won't build for me. The error is unenlightening:
[1010/2200] cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook FAILED: doc/tdespell/index.cache.bz2 cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook
(Full build log available upon request.)
There don't seem to have been any git commits touching kdoctools, tdespell, or anything else related in quite a long time. Or is this because I'm trying to build without udisks support (see below)? Does anyone have any insight, or is it time to file a bug?
Now, the other things about the git source:
A comparison of multiple versions of CMakeLists.txt shows that the WITH_UDISKS and WITH_UDISKS2 options are being removed. Are they supposed to be subsumed into WITH_TDEHWLIB, or is udisks2 going to be an absolute requirement for building TDE in the future? (Minimalist configurations are quite common in Gentoo, so I need to get this right.)
There are three new options: WITH_PCSC, WITH_PKCS, and WITH_CRYPTSETUP, one of which has a not-very-useful description. My understanding is that:
WITH_PCSC offers support for smartcards and requires the pcsc-lite library
WITH_PKCS offers support for PKCS#11 crypto and requires (I think) the library packaged by Gentoo as dev-libs/pkcs11-helper
WITH_CRYPTSETUP offers support for filesystem encryption(?) using sys-fs/cryptsetup(?)
Am I missing anything, or misunderstanding any of these options?
E. Liddell
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Hi E.
[1010/2200] cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook FAILED: doc/tdespell/index.cache.bz2 cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook
This could be related to the creation of index docbook. I had a simial issue many years ago with meinproc. If I remember correctly, it was something related to the calling of tmoc before meinproc was called. Don't remember the exact details though.
A comparison of multiple versions of CMakeLists.txt shows that the WITH_UDISKS and WITH_UDISKS2 options are being removed. Are they supposed to be subsumed into WITH_TDEHWLIB, or is udisks2 going to be an absolute requirement for building TDE in the future? (Minimalist configurations are quite common in Gentoo, so I need to get this right.)
In R14.1.x, tdehw lib will try to use any of the available methods in a system to mount/umount disks. The order of testings is udisks2, udisks, udevil, pmount. Calls are done through dbus (udisks2, udisks) or thorugh popen (udevil, pmount). The options WITH_UDISKS and WITH_UDISKS2 have been removed because now the code is always compiled and if udisks/udisks2 is not available at runtime, the calls will fail and the next method will be tried out. Since the call are done through DBUS, there is no hard dependency at compile time.
There are three new options: WITH_PCSC, WITH_PKCS, and WITH_CRYPTSETUP, one of which has a not-very-useful description. My understanding is that:
These options were added by Tim 5 years ago or so and actually some are a bit of an issue for R14.1.x.
WITH_PCSC offers support for smartcards and requires the pcsc-lite library
Correct, AFAICT.
WITH_PKCS offers support for PKCS#11 crypto and requires (I think) the library packaged by Gentoo as dev-libs/pkcs11-helper
Yes, require pkcs11-helper and AFAICR it does not support ssl 1.1 (haven't checked for long time) so in R14.1.x we have disable this option at build time for the time being
WITH_CRYPTSETUP offers support for filesystem encryption(?) using sys-fs/cryptsetup(?)
cryptsetup is related to support for LUKS (and plain) encrypted disks. If this is disabled, you should lose the capability of being able to modify properties of LUKS disks (in particular keys) from the GUI. Anyhow it should not affect the capability to mount/umount LUKS disks at runtime as long as you have cryptsetup package installed, since those operations are once again managed by DBUS calls. Please note that the code in R14.1.x master branch related to LUKS disk support does not work properly. I have a PR open for it where I have already made lot of work. I just need to find a spell of time where I can work on it with some consistency before I can merge it to master.
Cheers Michele
On Mon, 30 Dec 2019 09:33:48 +0900 "Michele Calgaro via trinity-devel" trinity-devel@lists.pearsoncomputing.net wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Hi E.
[1010/2200] cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook FAILED: doc/tdespell/index.cache.bz2 cd /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/doc/tdespell && /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999_build/kdoctools/meinproc --srcdir=/var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/kdoctools --check --cache index.cache.bz2 /var/tmp/portage/trinity-base/tdelibs-9999/work/tdelibs-9999/doc/tdespell/index.docbook
This could be related to the creation of index docbook. I had a simial issue many years ago with meinproc. If I remember correctly, it was something related to the calling of tmoc before meinproc was called. Don't remember the exact details though.
Probably not anything I did, then. Fixing it presumably requires patching part of the build system—a bit beyond me at this time.
A comparison of multiple versions of CMakeLists.txt shows that the WITH_UDISKS and WITH_UDISKS2 options are being removed. Are they supposed to be subsumed into WITH_TDEHWLIB, or is udisks2 going to be an absolute requirement for building TDE in the future? (Minimalist configurations are quite common in Gentoo, so I need to get this right.)
In R14.1.x, tdehw lib will try to use any of the available methods in a system to mount/umount disks. The order of testings is udisks2, udisks, udevil, pmount. Calls are done through dbus (udisks2, udisks) or thorugh popen (udevil, pmount). The options WITH_UDISKS and WITH_UDISKS2 have been removed because now the code is always compiled and if udisks/udisks2 is not available at runtime, the calls will fail and the next method will be tried out. Since the call are done through DBUS, there is no hard dependency at compile time.
So WITH_TDEHWLIB requires dbus and one of udisks2, udisks-not-2, udevil, or pmount. (Note that my attempted tdelibs git build blew up earlier and somewhere in tdehwlib before I set WITH_TDEHWLIB to "OFF", so I'm not sure there isn't an inadvertant build-time dependency on udisks and pals in the code somewhere. The chroot I'm building in has dbus installed, but none of the others.)
Do any of the other options (such as the encryption-related ones below) depend on tdehwlib being enabled?
There are three new options: WITH_PCSC, WITH_PKCS, and WITH_CRYPTSETUP, one of which has a not-very-useful description. My understanding is that:
These options were added by Tim 5 years ago or so and actually some are a bit of an issue for R14.1.x.
WITH_PCSC offers support for smartcards and requires the pcsc-lite library
Correct, AFAICT.
Okay, so I'll need to add a USE flag "pcsc-lite" to the ebuild to support switching build support for this feature on and off. And dig up the documentation on local USE flags in overlays.
WITH_PKCS offers support for PKCS#11 crypto and requires (I think) the library packaged by Gentoo as dev-libs/pkcs11-helper
Yes, require pkcs11-helper and AFAICR it does not support ssl 1.1 (haven't checked for long time) so in R14.1.x we have disable this option at build time for the time being
I'll also hard-code this one off for the time being, then.
WITH_CRYPTSETUP offers support for filesystem encryption(?) using sys-fs/cryptsetup(?)
cryptsetup is related to support for LUKS (and plain) encrypted disks. If this is disabled, you should lose the capability of being able to modify properties of LUKS disks (in particular keys) from the GUI. Anyhow it should not affect the capability to mount/umount LUKS disks at runtime as long as you have cryptsetup package installed, since those operations are once again managed by DBUS calls. Please note that the code in R14.1.x master branch related to LUKS disk support does not work properly. I have a PR open for it where I have already made lot of work. I just need to find a spell of time where I can work on it with some consistency before I can merge it to master.
Add USE flag "cryptsetup" for this one, then, but mask it for the time being to prevent it being turned on before the feature is fixed. (Talking partly to myself here . . .)
E. Liddell