-
-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Upgrade Cryptsetup 2.3 (fixes #669) #749
Conversation
Following commit ed3602f (maintain reproducibility by removing rpath) and applying the same changes for new version of cryptsetup.
* hardcode rpatch patch not needed as `--disable-rpath` is available * remove obsolete config parameters
d797630
to
5ce9f7e
Compare
* use --libdir to fix issue with .la files which had //lib as lib folder * add libblkid as library
5ce9f7e
to
19c1e8f
Compare
@alex-nitrokey : I would suggest looking for external libraries, as an exemple: modules/libgpg-error and the dependency validation that is done from the module requiring it, for exemple modules/gpg2 In the current situation, the build library is under:
under cryptsetup module, you have two cryptsetup_depends statements. It seems like you made your exemple based on hidapi. I do not clearly understand why you put libjson under cryptsetup with non-functional dependencies. |
That is correct, I thought it might be preferred. I changed it to a proper separate approach now. Yet, it still does not build. Maybe there was a problem with json-c before, but everything seems to be installed correctly regarding json-c for now. We still have a problem with libuuid and libblkid as far as I understand it. Both are part of |
@alex-nitrokey :
I still don't get why cryptsetup can't find .h of json-c, but not surprised since Cmake is a pain:
|
|
|
|
the last one is because of old |
so basically it is not a missing json-c header file (I thought this at first, too) |
No, the missing definition is in cryptsetup self-provided headers. Cleaning and rebuilding and playing around... @alex-nitrokey : proof
|
Yes, it is, but the old one in |
@alex-nitrokey doing small steps.
CI build with incremental changes to have build results public on attempts |
New error after latest commit. CI
|
@alex-nitrokey : any more success? New error points into fixing rpath. Will dig that. |
Continuing attempts..... Don't understand: EDIT: where is that end of that line being the current problem. |
It is from util-linux. I played around with this as well, but couldn't find a configuration that would fix this plus it was needed from old cryptsetup version as well so that I wouldn't expect that there would be a need to change anything. Yet, there are these persistent problems with libuuid.la and libblkdid.la which are both coming from util-linux |
Honestly, I am not that experienced redarding the rpath stuff. At first, I thought you could use the |
@alex-nitrokey updates? |
Unfortunately, I wasn't able to work on this the last weeks nor do I have any good idea how to fix this yet :( |
The cmake-configure of json-c does not seem to support the configuration of cross compiling. According to the current method, only a libjson-c.so linked to the libc of the host system can be obtained. To configure cross compiling for json-c using cmake, we need to follow the cmake approach. To link libraries such as libjson-c.so without rpath, the Makefile.in of cryptsetup 2 may need further patches. See the patch below for specific changes:
Noted that "system" header files should be introduced using -isystem instead of -I, that is:
At present, it may be because the patching of cryptsetup 2's |
@root-hardenedvault would you point to a PR so that commits can be cherry-picked to give you proper credit? |
Superseded by #876 |
I tried around a bit to get cryptsetup 2.3 working. Unfortunately, I just can't find a solution to properly link libuuid with the library. I hope somebody here knows better than me...
(see CI build for output)
regarding the patch file:
rpath can be disabled directly nowadays, so I did not included this in the patchfile. Beside that I just looked at the old one, but I am not sure, if this is actually applicable anymore. So please have a closer look there.