summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2018-09-11 19:45:31 +0300
committerAlon Bar-Lev <alonbl@gentoo.org>2018-09-11 19:51:14 +0300
commit9c14803bcad24b8d36e5a0bae448284d11975a23 (patch)
tree405f832b2296bd576ec463ae4d289b059d813386 /app-crypt
parentdev-lang/python-2.17.15: arm64 stable (bug #647862) (diff)
downloadgentoo-9c14803bcad24b8d36e5a0bae448284d11975a23.tar.gz
gentoo-9c14803bcad24b8d36e5a0bae448284d11975a23.tar.bz2
gentoo-9c14803bcad24b8d36e5a0bae448284d11975a23.zip
app-crypt/bestcrypt: version bump
This package is no longer supported by upstream, I could find it in hidden webdav of upstream. Use on your on risk! Closes: https://bugs.gentoo.org/show_bug.cgi?id=638592 Closes: https://bugs.gentoo.org/show_bug.cgi?id=600770 Closes: https://bugs.gentoo.org/show_bug.cgi?id=565064 Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/bestcrypt/Manifest1
-rw-r--r--app-crypt/bestcrypt/bestcrypt-2.0.11.ebuild2
-rw-r--r--app-crypt/bestcrypt/bestcrypt-2.0.14.ebuild81
-rw-r--r--app-crypt/bestcrypt/files/bestcrypt-2.0.14-build.patch522
4 files changed, 605 insertions, 1 deletions
diff --git a/app-crypt/bestcrypt/Manifest b/app-crypt/bestcrypt/Manifest
index 1f72fa4e33f5..13c146edd3a2 100644
--- a/app-crypt/bestcrypt/Manifest
+++ b/app-crypt/bestcrypt/Manifest
@@ -1 +1,2 @@
DIST BestCrypt-2.0.11.tar.gz 2191182 BLAKE2B 5fe6d18b0c89273491fbcdb9bf7c73332342fca77cdf457c83f106f5cca693532eea6668e04f7c93828b3d5dc4419872066eda22fb10c780a838ddd78cf79255 SHA512 f6848153fc68690c116796bd5feb80dc1776f344327de5ac485dddc5b60280b491e2e5c9f266d6f30b7095396cd06b5bdad5d322b4ac24ab612ec642dbc08fe2
+DIST BestCrypt-2.0.14.tar.gz 2211286 BLAKE2B 1ff777a72528ec22ca168492c335ec54be924b653323670619049cc9dfbcd144c28702bf857517c5189c937f3712e749c47ef14006a8883c63419b866b8f48f9 SHA512 1e542f00886413f1519ca5667bb297cce25a46fb5ec90a7e1a61934df3cd34e0d680f32e0b111727865459ef7d89d2761b379b4a557ada6d7ee3e47e32bf762c
diff --git a/app-crypt/bestcrypt/bestcrypt-2.0.11.ebuild b/app-crypt/bestcrypt/bestcrypt-2.0.11.ebuild
index 4ab00f225f3f..86e153ad106c 100644
--- a/app-crypt/bestcrypt/bestcrypt-2.0.11.ebuild
+++ b/app-crypt/bestcrypt/bestcrypt-2.0.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
diff --git a/app-crypt/bestcrypt/bestcrypt-2.0.14.ebuild b/app-crypt/bestcrypt/bestcrypt-2.0.14.ebuild
new file mode 100644
index 000000000000..350edde96ef8
--- /dev/null
+++ b/app-crypt/bestcrypt/bestcrypt-2.0.14.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-mod toolchain-funcs versionator
+
+MY_PN="BestCrypt"
+DESCRIPTION="commercially licensed transparent filesystem encryption"
+HOMEPAGE="http://www.jetico.com/"
+SRC_URI="http://www.jetico.com/linux/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="bestcrypt"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="virtual/linux-sources
+ app-shells/bash"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DOCS=(
+ HIDDEN_PART README
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+)
+
+pkg_setup() {
+ CONFIG_CHECK="MODULES"
+ linux-mod_pkg_setup
+
+ MODULE_NAMES="bestcrypt(block::kernel/kmod)
+ bc_3des(crypto::kernel/kmod/crypto/algs/3des)
+ bc_bf128(crypto::kernel/kmod/crypto/algs/bf128)
+ bc_bf448(crypto::kernel/kmod/crypto/algs/bf448)
+ bc_blowfish(crypto::kernel/kmod/crypto/algs/blowfish)
+ bc_cast(crypto::kernel/kmod/crypto/algs/cast)
+ bc_des(crypto::kernel/kmod/crypto/algs/des)
+ bc_gost(crypto::kernel/kmod/crypto/algs/gost)
+ bc_idea(crypto::kernel/kmod/crypto/algs/idea)
+ bc_rijn(crypto::kernel/kmod/crypto/algs/rijn)"
+ BUILD_TARGETS="module"
+ BUILD_PARAMS=" \
+ BC_KERNEL_DIR=\"${KERNEL_DIR}\""
+}
+
+src_compile() {
+ MAKEOPTS="-j1" linux-mod_src_compile \
+ CXX="$(tc-getCXX)"
+ MAKEOPTS="-j1" emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ CFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ linux-mod_src_install
+
+ emake install PREFIX="${ED}" install
+
+ newinitd "${FILESDIR}/bcrypt3" bcrypt
+ sed -e '/\(bc_rc6\|bc_serpent\|bc_twofish\)/d' -i "${D}etc/init.d/bcrypt"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ ewarn
+ ewarn "The BestCrypt drivers are not free - Please purchace a license from "
+ ewarn "http://www.jetico.com/"
+ ewarn
+ ewarn "Upstream do not support this package any more, it was patched to"
+ ewarn "make it built. Use at your own risk!"
+ ewarn
+}
diff --git a/app-crypt/bestcrypt/files/bestcrypt-2.0.14-build.patch b/app-crypt/bestcrypt/files/bestcrypt-2.0.14-build.patch
new file mode 100644
index 000000000000..c4ce215e975a
--- /dev/null
+++ b/app-crypt/bestcrypt/files/bestcrypt-2.0.14-build.patch
@@ -0,0 +1,522 @@
+From 71bd6e496af5990836c34e4dd2d9d0107467349a Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 18:49:17 +0300
+Subject: [PATCH 1/6] build: do not auto build/install module
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ec0fd7e..d52f509 100644
+--- a/Makefile
++++ b/Makefile
+@@ -98,7 +98,7 @@ TESTS_TARGET = $(TARGET_DIR)/tests/bctool-tests
+ #
+
+ # default target builds console tool with modules
+-all: Makefile helpers module console
++all: Makefile helpers console
+ true
+
+ rebuild: clean all
+@@ -233,7 +233,7 @@ module-clean:
+ #
+
+ # install for default target
+-install: module-install console-install helpers-install
++install: console-install helpers-install
+
+ # used by RPM creation script
+ build-install: module-put-files console-install helpers-install
+--
+2.16.4
+
+From 42816e0a4e47e77f290b46460e35a1666748f8b0 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 19:35:26 +0300
+Subject: [PATCH 2/6] build: remove useless log
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ certificate/CertificateLib/symmetricAlgs/cAlgRIJN.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/certificate/CertificateLib/symmetricAlgs/cAlgRIJN.cpp b/certificate/CertificateLib/symmetricAlgs/cAlgRIJN.cpp
+index 3c6fad8..9821073 100644
+--- a/certificate/CertificateLib/symmetricAlgs/cAlgRIJN.cpp
++++ b/certificate/CertificateLib/symmetricAlgs/cAlgRIJN.cpp
+@@ -78,14 +78,12 @@ cSymAlg * cAlgRIJN::createAlg( BYTE *key, int keySize ) // keySize in bytes
+ return alg;
+ }
+
+-#include "../../../../fs-lib/log.h"
+ int cAlgRIJN::encryptECB(
+ const BYTE *inBf, // Input plaintext buffer.
+ BYTE *outBf, // Output encrypted buffer
+ int bfSize // In/out buffers' size.
+ )
+ {
+- LIBLOG_INFO("");
+ int i;
+
+ if ((bfSize % BC_BLOCK_SIZE) != 0) return sae_invalidBlockSize;
+--
+2.16.4
+
+From a0ffdc5a135b549b62e1421fcf75d627e0394529 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 19:41:17 +0300
+Subject: [PATCH 3/6] build: do not strip binaries
+
+---
+ Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index d52f509..a93b850 100644
+--- a/Makefile
++++ b/Makefile
+@@ -243,9 +243,9 @@ uninstall: before-uninstall module-uninstall console-uninstall helpers-uninstall
+
+ helpers-install:
+ install -o root -m 0755 -d $(PREFIX)/sbin
+- install -o root -m 4755 -s $(TARGET_DIR)/bcmount_helper $(PREFIX)/sbin
+- install -o root -m 4755 -s $(TARGET_DIR)/bcumount_helper $(PREFIX)/sbin
+- install -o root -m 4755 -s $(TARGET_DIR)/bcrrpart_helper $(PREFIX)/sbin
++ install -o root -m 4755 $(TARGET_DIR)/bcmount_helper $(PREFIX)/sbin
++ install -o root -m 4755 $(TARGET_DIR)/bcumount_helper $(PREFIX)/sbin
++ install -o root -m 4755 $(TARGET_DIR)/bcrrpart_helper $(PREFIX)/sbin
+
+ helpers-uninstall:
+ rm -f $(PREFIX)/sbin/bcmount_helper
+@@ -267,7 +267,7 @@ before-uninstall:
+ .PHONY: console-install
+ console-install:
+ install -o root -m 0755 -d $(PREFIX)/usr/bin
+- install -o root -m 0755 -s build/bctool $(PREFIX)/usr/bin/
++ install -o root -m 0755 build/bctool $(PREFIX)/usr/bin/
+ install -o root -m 0755 -d $(PREFIX)/$(MAN_PATH)/man8
+ install -m 644 bctool.8 $(PREFIX)/$(MAN_PATH)/man8/
+
+--
+2.16.4
+
+From 7947ac3e152da1ed590364b7c8948deb602a5b50 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 18:52:32 +0300
+Subject: [PATCH 4/6] build: allow override programs
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ Makefile | 11 +++++++----
+ certificate/CertificateLib/Makefile | 4 +++-
+ disk/Makefile | 6 ++++--
+ fslib/Makefile | 16 +++++++++-------
+ kernel/Makefile | 5 +++--
+ keygens/kgghost/Makefile | 7 +++++--
+ keygens/kgsha/Makefile | 7 +++++--
+ mount/Makefile | 9 +++++----
+ spacemap/Makefile | 6 ++++--
+ tests/Makefile | 12 ++++++------
+ 10 files changed, 51 insertions(+), 32 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a93b850..d57ee79 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,6 +56,9 @@ KGSHA_LIB = $(KGSHA_BUILD_DIR)/lib$(KGSHA_LIB_NAME).a
+ KGGHOST_LIB = $(KGGHOST_BUILD_DIR)/lib$(KGGHOST_LIB_NAME).a
+ SPACEMAP_LIB = $(SPACEMAP_BUILD_DIR)/lib$(SPACEMAP_LIB_NAME).a
+
++CC = gcc
++CXX = g++
++
+ BC_EXTRA_CFLAGS= $(CFLAGS) -D_LARGE_FILES -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+ BC_EXTRA_LDFLAGS = $(LDFLAGS)
+
+@@ -125,7 +128,7 @@ helpers: create-dirs
+ console: spacemap-lib certificate-lib fs-lib kernel-lib keygen-libs $(TARGET)
+ true
+ $(TARGET): $(BCTOOL_OBJS)
+- g++ $(BCTOOL_OBJS) $(BCTOOL_CFLAGS) $(BCTOOL_LDFLAGS) -o $(TARGET)
++ $(CXX) $(BCTOOL_OBJS) $(BCTOOL_CFLAGS) $(BCTOOL_LDFLAGS) -o $(TARGET)
+
+ # GUI executable only (w/o console and helpers)
+ panel: certificate-lib kernel-lib keygen-libs fs-lib
+@@ -339,10 +342,10 @@ module-uninstall:
+ bash ./scripts/remove_mods
+
+ %.o:%.cpp
+- g++ -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CXX) -c $(BCTOOL_CFLAGS) $< -o $@
+
+ %.o:%.cc
+- g++ -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CXX) -c $(BCTOOL_CFLAGS) $< -o $@
+
+ %.o:%.c
+- gcc -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CC) -c $(BCTOOL_CFLAGS) $< -o $@
+diff --git a/certificate/CertificateLib/Makefile b/certificate/CertificateLib/Makefile
+index 06353bc..19b772c 100644
+--- a/certificate/CertificateLib/Makefile
++++ b/certificate/CertificateLib/Makefile
+@@ -1,5 +1,7 @@
+
+-CP = cp
++CC = gcc
++CXX = g++
++AR = ar
+ CFLAGS += -Wall -fPIC -fno-strict-aliasing
+ CXXFLAGS = -Wall -fPIC
+ #-Werror
+diff --git a/disk/Makefile b/disk/Makefile
+index e3915b0..1a9ff01 100644
+--- a/disk/Makefile
++++ b/disk/Makefile
+@@ -1,14 +1,16 @@
+ DISKMON_OBJS = disk.o diskmon.o
++
++CXX = g++
+ CFLAGS += -Wall -I. -I../ -p -gdwarf-2 #-DBC_DEBUG
+ LDFLAGS += -ludev
+
+ all:diskmon Makefile
+
+ diskmon:$(DISKMON_OBJS)
+- g++ $(DISKMON_OBJS) $(LDFLAGS) -o diskmon
++ $(CXX) $(DISKMON_OBJS) $(LDFLAGS) -o diskmon
+
+ %.o:%.cc
+- g++ $(CFLAGS) -c $< -o $@
++ $(CXX) $(CFLAGS) -c $< -o $@
+
+ clean:
+ rm -rf diskmon *.o
+diff --git a/fslib/Makefile b/fslib/Makefile
+index 9b99e89..0075a9f 100644
+--- a/fslib/Makefile
++++ b/fslib/Makefile
+@@ -1,3 +1,5 @@
++CC = gcc
++AR = ar
+
+ FSLIB_CFLAGS = $(CFLAGS) -Wall -fPIC -O0 -DFSLIB_DEBUG -g # -O3
+ FSLIB_CFLAGS += -I. -D_LARGE_FILES -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 #-fvisibility=hidden
+@@ -17,25 +19,25 @@ FSLIB_TOOLS = file_hfs test_hfs test_info test_free_space diskinfo
+ all: Makefile $(FSLIB) $(FSLIB_TOOLS)
+
+ $(FSLIB): $(OBJS)
+- ar rcs $(FSLIB) $(OBJS)
++ $(AR) rcs $(FSLIB) $(OBJS)
+
+ test_hfs: $(FSLIB) test/test_hfs.o
+- gcc test/test_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o test_hfs
++ $(CC) test/test_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o test_hfs
+
+ file_hfs: $(FSLIB) test/file_hfs.o
+- gcc test/file_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o file_hfs
++ $(CC) test/file_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o file_hfs
+
+ test_info: $(FSLIB) test/test_info.o
+- gcc test/test_info.o $(OBJS) $(FSLIB_LDFLAGS) -o test_info
++ $(CC) test/test_info.o $(OBJS) $(FSLIB_LDFLAGS) -o test_info
+
+ test_free_space: $(FSLIB) test/test_free_space.o
+- gcc test/test_free_space.o $(FSLIB_CFLAGS) $(OBJS) $(FSLIB_LDFLAGS) -o test_free_space
++ $(CC) test/test_free_space.o $(FSLIB_CFLAGS) $(OBJS) $(FSLIB_LDFLAGS) -o test_free_space
+
+ diskinfo: $(FSLIB) test/diskinfo.o
+- gcc test/diskinfo.o $(OBJS) $(FSLIB_LDFLAGS) -g -o diskinfo
++ $(CC) test/diskinfo.o $(OBJS) $(FSLIB_LDFLAGS) -g -o diskinfo
+
+ .c.o:
+- gcc $(FSLIB_CFLAGS) -c $< -o $@
++ $(CC) $(FSLIB_CFLAGS) -c $< -o $@
+
+ clean:
+ rm -rf *~ *.o test/*.o $(OBJS) $(FSLIB) $(FSLIB_TOOLS)
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 1a71617..4f9760d 100644
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -3,6 +3,7 @@ OBJECTS = $(SOURCES:.cc=.o)
+ TARGET_DIR = ./build/
+ TARGET = $(TARGET_DIR)/libbckernel.a
+ BC_CFLAGS = $(BC_EXTRA_CFLAGS) -fPIC -c -Wall -ludev -L../build/ -lspacemap -I../ -fvisibility=hidden #-fvisibility-inlines-hidden
++CXX = g++
+
+
+ ### Build ###
+@@ -21,12 +22,12 @@ module: create-dirs force_look
+
+ kernel-lib: create-dirs $(TARGET)
+ $(TARGET): $(OBJECTS)
+- ar rcs $(TARGET) $(OBJECTS)
++ $(AR) rcs $(TARGET) $(OBJECTS)
+
+ $(OBJECTS): Makefile $(SOURCES) BCKernel.h
+ set -e; \
+ for i in $(SOURCES); do \
+- g++ -c $(BC_CFLAGS) $$i -o $${i%.cc}.o; \
++ $(CXX) -c $(BC_CFLAGS) $$i -o $${i%.cc}.o; \
+ done
+
+ create-dirs: $(TARGET_DIR)
+diff --git a/keygens/kgghost/Makefile b/keygens/kgghost/Makefile
+index 65c4bf6..a7b0af8 100644
+--- a/keygens/kgghost/Makefile
++++ b/keygens/kgghost/Makefile
+@@ -5,10 +5,13 @@ KGGHOST_OBJS = hash.o pbe.o keyblock.o datablock.o kgghost.o
+ KGGHOST_CFLAGS = -Wall -fPIC -p -ggdb -I. -I../../ -I../../certificate -DBC_LINUX
+ KGGHOST_CFLAGS += $(BC_EXTRA_CFLAGS)
+
++CXX = g++
++AR = ar
++
+ all: $(KGGHOST) Makefile
+
+ $(KGGHOST):$(KGGHOST_OBJS) $(CERTIFICATE_LIB)
+- ar rcs $(KGGHOST) $(KGGHOST_OBJS)
++ $(AR) rcs $(KGGHOST) $(KGGHOST_OBJS)
+
+ $(CERTIFICATE_LIB):
+ make -C ../../certificate/CertificateLib
+@@ -17,7 +20,7 @@ $(KERNEL_LIB):
+ make -C ../../kernel/build
+
+ %.o:%.cpp
+- g++ $(KGGHOST_CFLAGS) -c -o $@ $<
++ $(CXX) $(KGGHOST_CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(KGGHOST)
+diff --git a/keygens/kgsha/Makefile b/keygens/kgsha/Makefile
+index d3a33d0..9c8c688 100644
+--- a/keygens/kgsha/Makefile
++++ b/keygens/kgsha/Makefile
+@@ -10,10 +10,13 @@ KGSHA_OBJS = hash.o datablock.o kgsha.o
+ KGSHA_CFLAGS = -Wall -fPIC -p -gdwarf-2 -I. -I../../ -I../../certificate -DBC_LINUX
+ KGSHA_CFLAGS += $(EXTRA_CFLAGS)
+
++CXX = g++
++AR = ar
++
+ all: $(KGSHA) $(KGSHA_OBJS) Makefile hidden_sector.h defs.h datablock.h
+
+ $(KGSHA): $(KGSHA_OBJS) $(CERTIFICATE_LIB) $(KERN_LIB)
+- ar rcs $(KGSHA) $(KGSHA_OBJS)
++ $(AR) rcs $(KGSHA) $(KGSHA_OBJS)
+
+ $(CERT_LIB):
+ make -C ../../certificate/CertificateLib
+@@ -22,7 +25,7 @@ $(KERN_LIB):
+ make -C ../../kernel/
+
+ %.o:%.cpp
+- g++ $(KGSHA_CFLAGS) -c -o $@ $<
++ $(CXX) $(KGSHA_CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(KGSHA)
+diff --git a/mount/Makefile b/mount/Makefile
+index 7a3d66b..0e60095 100644
+--- a/mount/Makefile
++++ b/mount/Makefile
+@@ -1,22 +1,23 @@
+
+ HELPERS = bcrrpart_helper bcmount_helper bcumount_helper
+
++CC = gcc
+ OBJS = common.o
+ CFLAGS += -Wall -O3
+
+ all: $(HELPERS) Makefile
+
+ bcrrpart_helper: $(OBJS) rrpart.o
+- gcc $(OBJS) rrpart.o $(LDFLAGS) -o bcrrpart_helper
++ $(CC) $(OBJS) rrpart.o $(LDFLAGS) -o bcrrpart_helper
+
+ bcmount_helper: $(OBJS) mount.o
+- gcc $(OBJS) mount.o $(LDFLAGS) -o bcmount_helper
++ $(CC) $(OBJS) mount.o $(LDFLAGS) -o bcmount_helper
+
+ bcumount_helper: $(OBJS) umount.o
+- gcc $(OBJS) umount.o $(LDFLAGS) -o bcumount_helper
++ $(CC) $(OBJS) umount.o $(LDFLAGS) -o bcumount_helper
+
+ %.o:%.c
+- gcc $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(HELPERS)
+diff --git a/spacemap/Makefile b/spacemap/Makefile
+index 6dff240..7dd2ad9 100644
+--- a/spacemap/Makefile
++++ b/spacemap/Makefile
+@@ -5,17 +5,19 @@ LIB_NAME = spacemap
+ STATIC_TARGET = lib$(LIB_NAME).a
+ OBJECT_CFLAGS = -fPIC -g -c -Wall -ludev -fvisibility=hidden #-fvisibility-inlines-hidden
+
++CXX = g++
++AR = ar
+
+ all: static
+ true
+
+ static: $(OBJECTS)
+- ar rcs $(STATIC_TARGET) $(OBJECTS)
++ $(AR) rcs $(STATIC_TARGET) $(OBJECTS)
+
+ $(OBJECTS): $(SOURCES)
+ set -e; \
+ for i in $(SOURCES); do \
+- g++ $(OBJECT_CFLAGS) $$i -o $${i%.c}.o; \
++ $(CXX) $(OBJECT_CFLAGS) $$i -o $${i%.c}.o; \
+ done
+
+ clean:
+diff --git a/tests/Makefile b/tests/Makefile
+index c6d78f0..419020b 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -2,8 +2,8 @@ TESTS_PWD = ../build/tests/
+ TESTS_TARGET = $(TESTS_PWD)/bctool-tests
+ TESTS_SOURCES = tests-main.c ../container/cipher.cc ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/linux/file.cpp
+ TESTS_CFLAGS = -I../ -I../certificate/ -L../build/ -L../build/kernel/ -DBC_LINUX -ludev -g
+-CP = gcc
+-CPP = g++
++CC = gcc
++CXX = g++
+ CERT_LIB_NAME = certificate
+ KERN_LIB_NAME = bckernel
+ SPACEMAP_LIB_NAME = spacemap
+@@ -15,11 +15,11 @@ all: $(TESTS_TARGET)
+ cp insert-modules.sh remove-modules.sh bcmod-loaded.sh $(TESTS_PWD)
+
+ $(TESTS_TARGET): $(TESTS_SOURCES) Makefile
+- $(CPP) -o $(TESTS_TARGET) $(TESTS_CFLAGS) $(TESTS_SOURCES) -l$(CERT_LIB_NAME) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME) -lcunit -ludev
++ $(CXX) -o $(TESTS_TARGET) $(TESTS_CFLAGS) $(TESTS_SOURCES) -l$(CERT_LIB_NAME) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME) -lcunit -ludev
+ cp kernel/print-struct-size.c $(TESTS_PWD)
+- $(CP) -o $(TESTS_PWD)test-data-generator kernel/test-data-generator.c $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
+- $(CPP) -o $(TESTS_PWD)kgsha-key-generator kgsha/kgsha-data-generator.cpp ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/cipher.cc $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(CERT_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
+- $(CP) -o $(TESTS_PWD)/bcdevchecker bcdevchecker.c
++ $(CC) -o $(TESTS_PWD)test-data-generator kernel/test-data-generator.c $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
++ $(CXX) -o $(TESTS_PWD)kgsha-key-generator kgsha/kgsha-data-generator.cpp ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/cipher.cc $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(CERT_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
++ $(CC) -o $(TESTS_PWD)/bcdevchecker bcdevchecker.c
+
+ clean:
+ rm -rf $(TESTS_PWD)
+--
+2.16.4
+
+From a7e9a6048e443b0a592c56b1b48e66d20092cf76 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 19:34:59 +0300
+Subject: [PATCH 5/6] build: add missing sys/sysmacros.h
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ mount/common.c | 1 +
+ mount/mount.c | 1 +
+ mount/rrpart.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/mount/common.c b/mount/common.c
+index 0a14ea4..d88394e 100644
+--- a/mount/common.c
++++ b/mount/common.c
+@@ -9,6 +9,7 @@
+ #include <stdarg.h>
+ #include <errno.h>
+ #include <unistd.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+diff --git a/mount/mount.c b/mount/mount.c
+index c57594f..7c802fe 100644
+--- a/mount/mount.c
++++ b/mount/mount.c
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <errno.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+diff --git a/mount/rrpart.c b/mount/rrpart.c
+index f7ce125..7ba5692 100644
+--- a/mount/rrpart.c
++++ b/mount/rrpart.c
+@@ -13,6 +13,7 @@
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <linux/fs.h>
+
+--
+2.16.4
+
+From 9cb62cc4cbe9cb929aa1fca34d3d807a4e83bcca Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 11 Sep 2018 19:12:13 +0300
+Subject: [PATCH 6/6] modules: build for kernel-4.14
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ kernel/kmod/bc_dev.c | 4 +++-
+ kernel/kmod/bc_mem.c | 1 +
+ spacemap/defs.h | 1 +
+ 3 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/kernel/kmod/bc_dev.c b/kernel/kmod/bc_dev.c
+index cddbf49..8b5657b 100644
+--- a/kernel/kmod/bc_dev.c
++++ b/kernel/kmod/bc_dev.c
+@@ -86,9 +86,11 @@ static void reject_bio(struct bio *bio)
+ {
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0))
+ bio_endio(bio, -EIO);
+-#else
++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0))
+ bio->bi_error = -EIO;
+ bio_endio(bio);
++#else
++ bio_io_error(bio);
+ #endif
+ }
+
+diff --git a/kernel/kmod/bc_mem.c b/kernel/kmod/bc_mem.c
+index 0b516c8..69ec832 100644
+--- a/kernel/kmod/bc_mem.c
++++ b/kernel/kmod/bc_mem.c
+@@ -6,6 +6,7 @@
+ #include <linux/init.h>
+ #include <linux/slab.h>
+ #include <linux/kernel.h>
++#include <linux/sched.h>
+ #include <asm/uaccess.h>
+
+ #define BC_GET_CALLER_PTR __builtin_return_address(0)
+diff --git a/spacemap/defs.h b/spacemap/defs.h
+index f0c87ba..7de9052 100644
+--- a/spacemap/defs.h
++++ b/spacemap/defs.h
+@@ -17,6 +17,7 @@
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/slab.h>
++#include <linux/sched.h>
+ #include <asm/uaccess.h>
+
+ typedef int8_t bc_8;
+--
+2.16.4
+