Skip to content
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

Upgrade to cryptsetup 2.3 and make cryptsetup1/cryptsetup2 optionals #876

Merged
merged 10 commits into from
Feb 4, 2021
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ heads_cc := $(CROSS)gcc \
-fdebug-prefix-map=$(pwd)=heads \
-gno-record-gcc-switches \
-D__MUSL__ \
-I$(INSTALL)/include \
-isystem $(INSTALL)/include \
-L$(INSTALL)/lib \

CROSS_TOOLS_NOCC := \
Expand Down
Empty file.
39 changes: 39 additions & 0 deletions modules/cryptsetup2
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
modules-$(CONFIG_CRYPTSETUP2) += cryptsetup2

cryptsetup2_depends := util-linux popt lvm2 json-c $(musl_dep)

cryptsetup2_version := 2.3.3
cryptsetup2_dir := cryptsetup-$(cryptsetup2_version)
cryptsetup2_tar := cryptsetup-$(cryptsetup2_version).tar.xz
cryptsetup2_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v2.3/cryptsetup-$(cryptsetup2_version).tar.xz
cryptsetup2_hash := 3bca4ffe39e2f94cef50f6ea65acb873a6dbce5db34fc6bcefe38b6d095e82df

# Use an empty prefix so that the executables will not include the
# build path.
cryptsetup2_configure := ./configure \
$(CROSS_TOOLS) \
--host i386-elf-linux \
--prefix "/" \
--disable-rpath \
--disable-gcrypt-pbkdf2 \
--enable-cryptsetup-reencrypt \
--with-crypto_backend=kernel \
--with-tmpfilesdir=$(INSTALL)/lib/tmpfiles.d

# but after building, replace prefix so that they will be installed
# in the correct directory.
cryptsetup2_target := \
$(MAKE_JOBS) \
&& $(MAKE) \
-C $(build)/$(cryptsetup2_dir) \
prefix="$(INSTALL)" \
install

cryptsetup2_output := \
.libs/cryptsetup \
.libs/cryptsetup-reencrypt \
.libs/veritysetup \

cryptsetup2_libraries := \
.libs/libcryptsetup.so.12 \

37 changes: 37 additions & 0 deletions modules/json-c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
modules-$(CONFIG_CRYPTSETUP2) += json-c

json-c_version := 0.14
json-c_dir := json-c-$(json-c_version)
json-c_tar := json-c-$(json-c_version).tar.gz
json-c_url := https://s3.amazonaws.com/json-c_releases/releases/json-c-$(json-c_version)-nodoc.tar.gz
json-c_hash := 99914e644a25201d82ccefa20430f7515c110923360f9ef46755527c02412afa

# there is a bug in cmake-configure so that it can not be used with a "=", fxed in next
# release though (then it needs to read '--prefix="$(INSTALL)"' here instead
define toolchain_file =
set\(CMAKE_SYSTEM_NAME Linux\)\n\
set\(CMAKE_SYSROOT $(INSTALL)\)\n\
set\(CMAKE_C_COMPILER $(CROSS)gcc\)\n\
set\(CMAKE_AR $(CROSS)ar\)\n\
set\(CMAKE_LINKER $(CROSS)ld\)\n\
set\(CMAKE_NM $(CROSS)nm\)\n\
set\(CMAKE_OBJCOPY $(CROSS)objcopy\)\n\
set\(CMAKE_OBJDUMP $(CROSS)objdump\)\n\
set\(INSTALL_PKGCONFIG_DIR $(INSTALL)/lib/pkgconfig\)\n\
set\(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER\)\n\
set\(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY\)\n\
set\(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY\)\n\
set\(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY\)
endef

json-c_configure := \
echo -e "$(toolchain_file)" | sed 's/\\//g' > toolchain && \
mkdir -p build && \
cd build && \
cmake .. -DCMAKE_INSTALL_PREFIX="$(INSTALL)" -DCMAKE_TOOLCHAIN_FILE=../toolchain

json-c_target := \
$(CROSS_TOOLS) -C $(build)/$(json-c_dir)/build \
all install

json-c_libraries := build/libjson-c.so.5
11 changes: 6 additions & 5 deletions modules/util-linux
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,12 @@ util-linux_target := \
$(MAKE_JOBS) \
$(CROSS_TOOLS) \
DESTDIR="$(INSTALL)" \
install
install && \
rm $(INSTALL)/lib/libblkid.la && \
rm $(INSTALL)/lib/libuuid.la

util-linux_libraries += .libs/libuuid.so.1

# libblkid is not needed by lvm2, so it is not installed now
#util-linux_libraries += .libs/libblkid.so.1
util-linux_libraries += \
.libs/libuuid.so.1 \
.libs/libblkid.so.1 \

util-linux_depends := $(musl_dep)
Loading