From 1c500d35610284c26391f7be0430fe7e35d01b19 Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 13 Jul 2021 14:17:07 +0200 Subject: [PATCH 01/40] pEpEngine=Release_2.1.45 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 20e502e..bbbee56 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.21 -pEpEngine=Release_2.1.42 \ No newline at end of file +pEpEngine=Release_2.1.45 \ No newline at end of file From 58dd0dc9cdb79fd218cdce636a074936bf903e14 Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Fri, 16 Jul 2021 00:51:40 -0700 Subject: [PATCH 02/40] CI: build CentOS/RedHat 8 RPM packages This commit cleans up the existing CI scripts a bit while adding jobs to build RPM packages. The directory structure allows for easily adding more package targets. RPM outputs will only be uploaded on tagged commits. --- .gitlab-ci-files/common-prepare.yml | 31 +++++++- .gitlab-ci.yml | 49 +++++++++++- scripts/centos8/JNIAdapter.centos8.Dockerfile | 30 +++++++ scripts/centos8/Makefile | 79 +++++++++++++++++++ scripts/centos8/packages/rpm/Dockerfile | 18 +++++ .../packages/rpm/create-jniadapter-rpm.sh | 25 ++++++ scripts/centos8/packages/rpm/install.sh | 34 ++++++++ .../build_pEpJNIAdapter.sh | 0 scripts/debian10/Makefile | 4 +- .../java8.pEpJNIAdapter.debian10.Dockerfile | 2 +- .../pEpJNIAdapter.debian10.Dockerfile | 2 +- 11 files changed, 269 insertions(+), 5 deletions(-) create mode 100644 scripts/centos8/JNIAdapter.centos8.Dockerfile create mode 100644 scripts/centos8/Makefile create mode 100644 scripts/centos8/packages/rpm/Dockerfile create mode 100755 scripts/centos8/packages/rpm/create-jniadapter-rpm.sh create mode 100755 scripts/centos8/packages/rpm/install.sh rename scripts/{debian10 => common}/build_pEpJNIAdapter.sh (100%) diff --git a/.gitlab-ci-files/common-prepare.yml b/.gitlab-ci-files/common-prepare.yml index 8edc3f0..31f797a 100644 --- a/.gitlab-ci-files/common-prepare.yml +++ b/.gitlab-ci-files/common-prepare.yml @@ -8,11 +8,22 @@ - 'which rsync || ( sudo apt-get update -y && sudo apt-get install rsync -y )' - 'which make || ( sudo apt-get update -y && sudo apt-get install make -y )' +.add_ssh_keys: &add_ssh_keys + # Add the SSH key (stored in the SSH_PRIVATE_KEY variable) to the agent. + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + +.verify_ssh_host_keys: &verify_ssh_host_keys + # Verify SSH host keys + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - echo "${SSH_KNOWN_HOSTS}" >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + .standard_job: tags: [kvm] before_script: - *ensure_docker - - *ensure_rsync .make_in_docker: extends: .standard_job @@ -20,3 +31,21 @@ - docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST} - cd scripts/${CI_DISTRO_TARGET} - make ${MAKE_TARGET} + +.upload_pkg: + extends: .standard_job + before_script: + - *ensure_rsync + - *add_ssh_keys + - *verify_ssh_host_keys + script: + - docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST} + - cd scripts/${CI_DISTRO_TARGET} + - make ${MAKE_TARGET} + - pwd + - cd out + - time rsync -avP -e "ssh -p ${PKG_HOST_SSH_PORT}" depot@${PKG_HOST}:files/pkgs/RHEL/8/pEpJNIAdapter/SHA256SUMS || true + - if sha256sum --ignore-missing --check SHA256SUMS ; then echo "Package already exists... Exiting..." && exit ; else true ; fi + - sha256sum ./*.rpm | tee --append SHA256SUMS + - cat ./SHA256SUMS + - time rsync -azvP -e "ssh -p ${PKG_HOST_SSH_PORT}" --rsync-path="mkdir -p /home/depot/files/pkgs/RHEL/8/pEpJNIAdapter && rsync" ./*.rpm SHA256SUMS depot@${PKG_HOST}:files/pkgs/RHEL/8/pEpJNIAdapter/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 756749a..eb80f5d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,8 @@ include: stages: - build + - packages + # Debian @@ -10,6 +12,7 @@ debian10:build: extends: .make_in_docker stage: build variables: + MAKE_TARGET: "build" CI_DISTRO_TARGET: "debian10" DEBIAN_FRONTEND: "noninteractive" rules: @@ -19,6 +22,7 @@ debian10:tagged-build: extends: .make_in_docker stage: build variables: + MAKE_TARGET: "build" CI_DISTRO_TARGET: "debian10" DEBIAN_FRONTEND: "noninteractive" TAGGED_BUILD: "true" @@ -29,8 +33,8 @@ debian10-java8:build: extends: .make_in_docker stage: build variables: - CI_DISTRO_TARGET: "debian10" MAKE_TARGET: "java8" + CI_DISTRO_TARGET: "debian10" DEBIAN_FRONTEND: "noninteractive" rules: - if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' @@ -45,3 +49,46 @@ debian10-java8:tagged-build: TAGGED_BUILD: "true" rules: - if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + +# CentOS + +centos8:build: + extends: .make_in_docker + stage: build + variables: + MAKE_TARGET: "build" + CI_DISTRO_TARGET: "centos8" + rules: + - if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + +centos8:tagged-build: + extends: .make_in_docker + stage: build + variables: + MAKE_TARGET: "build" + CI_DISTRO_TARGET: "centos8" + TAGGED_BUILD: "true" + rules: + - if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + +centos8:rpm: + extends: .make_in_docker + stage: packages + needs: ["centos8:build"] + variables: + MAKE_TARGET: "rpm" + CI_DISTRO_TARGET: "centos8" + rules: + - if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' + + +centos8:rpm:tagged-build: + extends: .upload_pkg + stage: packages + needs: ["centos8:tagged-build"] + variables: + MAKE_TARGET: "rpm" + CI_DISTRO_TARGET: "centos8" + TAGGED_BUILD: "true" + rules: + - if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/' diff --git a/scripts/centos8/JNIAdapter.centos8.Dockerfile b/scripts/centos8/JNIAdapter.centos8.Dockerfile new file mode 100644 index 0000000..4084df4 --- /dev/null +++ b/scripts/centos8/JNIAdapter.centos8.Dockerfile @@ -0,0 +1,30 @@ +ARG DOCKER_REGISTRY_HOST +ARG CURRENT_DISTRO +ARG LIBPEPADAPTER_VERSION +FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-libpepadapter:${LIBPEPADAPTER_VERSION} + +ENV BUILDROOT /build +ENV INSTPREFIX /install +ENV OUTDIR /out + +ARG JNIADAPTER_VERSION + +## Install system dependencies +USER root +RUN yum -y install time java-1.8.0-openjdk java-1.8.0-openjdk-devel && \ + yum clean all + +## Build and install pEpJNIAdapter +### Setup working directory +RUN mkdir ${BUILDROOT}/pEpJNIAdapter +COPY . ${BUILDROOT}/pEpJNIAdapter +RUN chown -R pep-builder:pep-builder ${BUILDROOT}/pEpJNIAdapter +USER pep-builder +WORKDIR ${BUILDROOT}/pEpJNIAdapter + +RUN sh ./scripts/common/build_pEpJNIAdapter.sh && \ + install -m 644 -t ${INSTPREFIX}/lib dist/libpEpJNI.a && \ + install -m 755 -t ${INSTPREFIX}/lib dist/libpEpJNI.so && \ + install -m 644 -t ${INSTPREFIX}/lib dist/pEp.jar && \ + echo "${pepjni_ver}">${INSTPREFIX}/pEp_JNI.ver && \ + rm -rf ${BUILDROOT}/* diff --git a/scripts/centos8/Makefile b/scripts/centos8/Makefile new file mode 100644 index 0000000..4d94155 --- /dev/null +++ b/scripts/centos8/Makefile @@ -0,0 +1,79 @@ +include ../../DEPENDENCIES +export +LIBPEPADAPTER_VERSION=${libpEpAdapter} +PEPENGINE_VERSION=${pEpEngine} +SEQUOIA_VERSION=${sequoia} +CURRENT_DISTRO=${CI_DISTRO_TARGET} +IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-jniadapter +DOCKERFILE=JNIAdapter.$(CURRENT_DISTRO).Dockerfile +PKG_BUILD_IMAGE=${DOCKER_REGISTRY_HOST}/fpm-$(CURRENT_DISTRO) +PKG_INSTALL_PATH=/opt/pEp +PKG_NAME=pEpJNIAdapter +PKG_DESCRIPTION="p≡p JNI Adapter Binary RPM Package" +PKG_DEPENDS="libpEpAdapter --depends java-1.8.0-openjdk" +PKG_INSTALL_PATH_STRING="/ /package/lib=${PKG_INSTALL_PATH}" +IS_TAGGED=${TAGGED_BUILD} +ifeq ($(IS_TAGGED), true) +# $CI_COMMIT_TAG is a predefined environment variable from Gitlab + PEPJNIADAPTER_VERSION=${CI_COMMIT_TAG} +else + PEPJNIADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) +endif +all: build + +build: + -docker pull $(IMAGE_NAME):latest + cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \ + --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \ + --build-arg PEPJNIADAPTER_VERSION=$(PEPJNIADAPTER_VERSION) \ + --build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \ + --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \ + --build-arg SEQUOIA_VERSION=$(SEQUOIA_VERSION) \ + --cache-from $(IMAGE_NAME):latest \ + --tag=$(IMAGE_NAME):$(PEPJNIADAPTER_VERSION) \ + --tag=$(IMAGE_NAME):$(PEPJNIADAPTER_VERSION)_libpepadapter-$(LIBPEPADAPTER_VERSION)_engine-$(PEPENGINE_VERSION) \ + --tag=$(IMAGE_NAME):latest \ + -f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) . + docker push $(IMAGE_NAME):$(PEPJNIADAPTER_VERSION) + docker push $(IMAGE_NAME):$(PEPJNIADAPTER_VERSION)_libpepadapter-$(LIBPEPADAPTER_VERSION)_engine-$(PEPENGINE_VERSION) + docker push $(IMAGE_NAME):latest + +java8: + -docker pull $(IMAGE_NAME)-java8:latest + cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \ + --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \ + --build-arg PEPJNIADAPTER_VERSION=$(PEPJNIADAPTER_VERSION) \ + --build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \ + --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \ + --build-arg SEQUOIA_VERSION=$(SEQUOIA_VERSION) \ + --cache-from $(IMAGE_NAME):latest \ + --tag=$(IMAGE_NAME)-java8:$(PEPJNIADAPTER_VERSION) \ + --tag=$(IMAGE_NAME)-java8:$(PEPJNIADAPTER_VERSION)_libpepadapter-$(LIBPEPADAPTER_VERSION)_engine-$(PEPENGINE_VERSION) \ + --tag=$(IMAGE_NAME)-java8:latest \ + -f scripts/${CURRENT_DISTRO}/java8.$(DOCKERFILE) . + docker push $(IMAGE_NAME)-java8:$(PEPJNIADAPTER_VERSION) + docker push $(IMAGE_NAME)-java8:$(PEPJNIADAPTER_VERSION)_libpepadapter-$(LIBPEPADAPTER_VERSION)_engine-$(PEPENGINE_VERSION) + docker push $(IMAGE_NAME)-java8:latest +rpm: + -docker pull $(PKG_BUILD_IMAGE)-jniadapter:latest + @docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \ + --build-arg PEPJNIADAPTER_VERSION=$(PEPJNIADAPTER_VERSION) \ + --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \ + --build-arg PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \ + --cache-from $(PKG_BUILD_IMAGE)-jniadapter:latest \ + --tag=$(PKG_BUILD_IMAGE)-jniadapter:$(PEPJNIADAPTER_VERSION) \ + --tag=$(PKG_BUILD_IMAGE)-jniadapter:latest \ + packages/rpm + @docker push $(PKG_BUILD_IMAGE)-jniadapter:$(PEPJNIADAPTER_VERSION) + @docker push $(PKG_BUILD_IMAGE)-jniadapter:latest + @docker run -e PEPJNIADAPTER_VERSION=$(PEPJNIADAPTER_VERSION) \ + -e PKG_VERSION=$(LIBPEPADAPTER_VERSION) \ + -e PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \ + -e PKG_NAME=$(PKG_NAME) \ + -e PKG_DESCRIPTION=$(PKG_DESCRIPTION) \ + -e PKG_DEPENDS=$(PKG_DEPENDS) \ + -e PKG_INSTALL_PATH_STRING=$(PKG_INSTALL_PATH_STRING) \ + --rm -v $(shell pwd)/packages/rpm/create-jniadapter-rpm.sh:/usr/bin/create-rpm.sh:ro \ + -v $(shell pwd)/out:/out \ + -w / $(PKG_BUILD_IMAGE)-jniadapter:${PEPJNIADAPTER_VERSION} \ + /usr/bin/create-rpm.sh diff --git a/scripts/centos8/packages/rpm/Dockerfile b/scripts/centos8/packages/rpm/Dockerfile new file mode 100644 index 0000000..bb8bfed --- /dev/null +++ b/scripts/centos8/packages/rpm/Dockerfile @@ -0,0 +1,18 @@ +ARG DOCKER_REGISTRY_HOST +ARG CURRENT_DISTRO +ARG PEPJNIADAPTER_VERSION +FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-jniadapter:${PEPJNIADAPTER_VERSION} AS pEpBuild + +FROM ${DOCKER_REGISTRY_HOST}/fpm-${CURRENT_DISTRO}:latest +# whatever is required for building should be installed in this image; just like BuildRequires: for RPM specs +RUN yum -y install readline-devel epel-release && \ + yum -y install patchelf chrpath + +ARG PEP_MACHINE_DIR +COPY --from=pEpBuild /install /source + +COPY install.sh /usr/local/bin/install.sh + +ENV INSTPREFIX /source + +RUN /usr/local/bin/install.sh diff --git a/scripts/centos8/packages/rpm/create-jniadapter-rpm.sh b/scripts/centos8/packages/rpm/create-jniadapter-rpm.sh new file mode 100755 index 0000000..91ed5fb --- /dev/null +++ b/scripts/centos8/packages/rpm/create-jniadapter-rpm.sh @@ -0,0 +1,25 @@ +#!/bin/bash -ex +# we should always set proper ownership before exiting, otherwise +# the created packages will have root:root ownership and we'll be unable +# to delete them from our host. +trap 'chown -R --reference /usr/bin/create-rpm.sh /out/' EXIT + +# the source directory is mounted read-only to prevent issues where the build +# could alter the source; we should copy it somewhere inside the container +cd /source/out +ls -alh +tree +INSTALL_TOP=/package +mkdir -p ${INSTALL_TOP}/lib +cp -ar lib/* ${INSTALL_TOP}/lib/. + + +cd /out + +#this would be the no-signature command line +fpm -t rpm -s dir \ + -n ${PKG_NAME} \ + --version ${PKG_VERSION} \ + --description "${PKG_DESCRIPTION}" \ + --depends ${PKG_DEPENDS} \ + -C ${PKG_INSTALL_PATH_STRING} diff --git a/scripts/centos8/packages/rpm/install.sh b/scripts/centos8/packages/rpm/install.sh new file mode 100755 index 0000000..13e9fbb --- /dev/null +++ b/scripts/centos8/packages/rpm/install.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -exuo pipefail + +# =========================== +# Distro +# =========================== + +echo 7 >"${INSTPREFIX}/D_REVISION" + +D_REV=$(cat ${INSTPREFIX}/D_REVISION) +D="" + +D=${INSTPREFIX}/out + +mkdir -p ${INSTPREFIX}/out +rm -rf ${INSTPREFIX}/out/* +mkdir -p "$D"/{bin,ld,lib/pEp,share/pEp,include/pEp} + +tree ${INSTPREFIX} + +# pEpJNIAdapter +cp -a ${INSTPREFIX}/lib/libpEpJNI.a "$D"/lib +cp -a ${INSTPREFIX}/lib/libpEpJNI.so "$D"/lib +cp -a ${INSTPREFIX}/lib/pEp.jar "$D"/lib + +# versions +cp -a ${INSTPREFIX}/*.ver "$D" + +find "$D"/lib -maxdepth 1 -type f -print -exec patchelf --set-rpath '$ORIGIN/pEp:$ORIGIN' {} \; +find "$D"/lib/pEp -type f -print -exec patchelf --set-rpath '$ORIGIN' {} \; +find "$D"/bin -type f -print -exec patchelf --set-rpath '$ORIGIN/../lib/pEp:$ORIGIN/../lib' {} \; + +ls -lh "$D"/* +du -sch "$D" diff --git a/scripts/debian10/build_pEpJNIAdapter.sh b/scripts/common/build_pEpJNIAdapter.sh similarity index 100% rename from scripts/debian10/build_pEpJNIAdapter.sh rename to scripts/common/build_pEpJNIAdapter.sh diff --git a/scripts/debian10/Makefile b/scripts/debian10/Makefile index 9e707e8..4430a86 100644 --- a/scripts/debian10/Makefile +++ b/scripts/debian10/Makefile @@ -13,7 +13,9 @@ ifeq ($(IS_TAGGED), true) else PEPJNIADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) endif -all: +all: build + +build: -docker pull $(IMAGE_NAME):latest cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \ --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \ diff --git a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile index 4f0dbbe..3a0d415 100644 --- a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile @@ -49,7 +49,7 @@ ARG PEPJNIADAPTER_VERSION ARG CURRENT_DISTRO ### Build pEpJNIAdapter -RUN sh ./scripts/${CURRENT_DISTRO}/build_pEpJNIAdapter.sh && \ +RUN sh ./scripts/common/build_pEpJNIAdapter.sh && \ install -m 644 -t ${INSTPREFIX}/lib dist/libpEpJNI.a && \ install -m 755 -t ${INSTPREFIX}/lib dist/libpEpJNI.so && \ install -m 644 -t ${INSTPREFIX}/lib dist/pEp.jar diff --git a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile index af2ee4d..77bdb54 100644 --- a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile @@ -43,7 +43,7 @@ ARG PEPJNIADAPTER_VERSION ARG CURRENT_DISTRO ### Build pEpJNIAdapter -RUN sh ./scripts/${CURRENT_DISTRO}/build_pEpJNIAdapter.sh && \ +RUN sh ./scripts/common/build_pEpJNIAdapter.sh && \ install -m 644 -t ${INSTPREFIX}/lib dist/libpEpJNI.a && \ install -m 755 -t ${INSTPREFIX}/lib dist/libpEpJNI.so && \ install -m 644 -t ${INSTPREFIX}/lib dist/pEp.jar From 992988ac9cb9c39f8e0a9ba29ffc39de06a226b5 Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Wed, 21 Jul 2021 01:03:20 -0700 Subject: [PATCH 03/40] CI: match RPM version string to JNI Adapter When creating the RPM package we should use the version of the JNI Adapter itself to version the package. It was using libpEpAdapter version which was incorrect. --- scripts/centos8/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/centos8/Makefile b/scripts/centos8/Makefile index 4d94155..c220e36 100644 --- a/scripts/centos8/Makefile +++ b/scripts/centos8/Makefile @@ -67,7 +67,7 @@ rpm: @docker push $(PKG_BUILD_IMAGE)-jniadapter:$(PEPJNIADAPTER_VERSION) @docker push $(PKG_BUILD_IMAGE)-jniadapter:latest @docker run -e PEPJNIADAPTER_VERSION=$(PEPJNIADAPTER_VERSION) \ - -e PKG_VERSION=$(LIBPEPADAPTER_VERSION) \ + -e PKG_VERSION=$(PEPJNIADAPTER_VERSION) \ -e PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \ -e PKG_NAME=$(PKG_NAME) \ -e PKG_DESCRIPTION=$(PKG_DESCRIPTION) \ From fc208b835c4188797810cfc98dd8383092b3b9ce Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 25 Aug 2021 21:54:30 +0200 Subject: [PATCH 04/40] pEpEngine=Release_2.1.49 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index bbbee56..c860b8d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.21 -pEpEngine=Release_2.1.45 \ No newline at end of file +pEpEngine=Release_2.1.49 \ No newline at end of file From cf462c53e1b7807772129fac1f52a92a13f01d42 Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 25 Aug 2021 22:21:19 +0200 Subject: [PATCH 05/40] libpEpAdapter=Release_2.1.22 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index c860b8d..ccafdb8 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,5 +1,5 @@ # 1st Party Dependencies ## Prefer git tags instead of SHA hashes when possible. -libpEpAdapter=Release_2.1.21 +libpEpAdapter=Release_2.1.22 pEpEngine=Release_2.1.49 \ No newline at end of file From dba1a16f82edc49e662a864ffad078f12658a470 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Thu, 23 Sep 2021 17:29:33 +0200 Subject: [PATCH 06/40] Android build: Use sequoia patch release v1.3.1 Make android build use sequoia v1.3.1 instead of 1.3.0 which just includes: - Fixed a crash resulting from unconstrained, attacker-controlled heap allocations. --- android/external/Makefile.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index a8a6d2d..232f3a4 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -20,7 +20,7 @@ NETTLE_VERSION=3.7.3 ### Git deps repos EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?0123f34ec4ef7711b3670b744b3ae7e97178afe1 -EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.0 +EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.1 ### Common variables #### Source code targets From 8029ef2ec07df738d36b357cdfb499f78257f66c Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Tue, 19 Oct 2021 21:22:58 -0700 Subject: [PATCH 07/40] CI: update script path for building libpEpAdapter libpEpAdapter now uses a common script between Linux distros for building. This commit fixes our scripts to use the correct path. --- scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile | 2 +- scripts/debian10/pEpJNIAdapter.debian10.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile index 3a0d415..7be655a 100644 --- a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile @@ -20,7 +20,7 @@ RUN git clone --depth=1 \ WORKDIR ${BUILDROOT}/libpEpAdapter ### Build libpEpAdapter -RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \ +RUN sh ./scripts/common/build_libpEpAdapter.sh && \ rm -rf ${BUILDROOT}/* diff --git a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile index 77bdb54..f3708fd 100644 --- a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile @@ -20,7 +20,7 @@ RUN git clone --depth=1 \ WORKDIR ${BUILDROOT}/libpEpAdapter ### Build libpEpAdapter -RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \ +RUN sh ./scripts/common/build_libpEpAdapter.sh && \ rm -rf ${BUILDROOT}/* ### Install system dependencies From 138bee25664cd1ed28329ebe33b95b4ad624f1e8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 30 Jun 2021 16:33:19 +0200 Subject: [PATCH 08/40] Add Windows build project and reference platform.h --- .gitignore | 7 + build-windows/generate_code.cmd | 38 ++++ build-windows/pEpJNIAdapter.sln | 31 +++ build-windows/pEpJNIAdapter.vcxproj | 210 ++++++++++++++++++++ build-windows/pEpJNIAdapter.vcxproj.filters | 75 +++++++ src/cxx/jniutils.cc | 1 - src/cxx/jniutils.hh | 1 + 7 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 build-windows/generate_code.cmd create mode 100644 build-windows/pEpJNIAdapter.sln create mode 100644 build-windows/pEpJNIAdapter.vcxproj create mode 100644 build-windows/pEpJNIAdapter.vcxproj.filters diff --git a/.gitignore b/.gitignore index 4dc216c..1b8fd1b 100644 --- a/.gitignore +++ b/.gitignore @@ -89,5 +89,12 @@ org.tar.gz android/external/[?]* android/external/build + +# Ignore Windows build +build-windows/Debug +build-windows/Release +build-windows/.vs +build-windows/pEpJNIAdapter.vcxproj.user + # Default ignored files ?idea/ diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd new file mode 100644 index 0000000..230158a --- /dev/null +++ b/build-windows/generate_code.cmd @@ -0,0 +1,38 @@ +@ECHO OFF + +SET current_directory=%~dp0 +SET dist_directory=%current_directory:~0,-15%\dist +SET marker_dir=%current_directory:~0,-15%\build\marker +SET exceptions_directory=%current_directory:~0,-15%\src\java\foundation\pEp\jniadapter\exceptions +SET java_build_root=%current_directory:~0,-15%\build\java +SET java_pkg_basename=foundation\pEp\jniadapter + +:: Create directories as necessary +MKDIR %marker_dir% +MKDIR %exceptions_directory% + +:: Generate YML2 code +PUSHD .. +CD src +CD codegen + +@ECHO ON +PY -m yml2.yml2proc -E utf-8 -y gen_java_Engine.ysl2 pEp.yml2 +PY -m yml2.yml2proc -E utf-8 -y gen_java_Message.ysl2 pEp.yml2 +PY -m yml2.yml2proc -E utf-8 -y gen_cpp_Engine.ysl2 pEp.yml2 +PY -m yml2.yml2proc -E utf-8 -y gen_cpp_Message.ysl2 pEp.yml2 +PY -m yml2.yml2proc -E utf-8 -y gen_throw_pEp_exception.ysl2 pEp.yml2 +@ECHO OFF + +:: Compile the Java part +CD .. +CD java + +javac -encoding UTF-8 -d "%java_build_root%" -h ..\cxx %java_pkg_basename%\*.java +javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java +javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java +javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java + +"C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\..\build\java\pEp.jar -C "%java_build_root%" foundation + +POPD diff --git a/build-windows/pEpJNIAdapter.sln b/build-windows/pEpJNIAdapter.sln new file mode 100644 index 0000000..0ca7783 --- /dev/null +++ b/build-windows/pEpJNIAdapter.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31410.357 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pEpJNIAdapter", "pEpJNIAdapter.vcxproj", "{2A1167BE-F438-4E08-B32E-25F130D97C33}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x64.ActiveCfg = Debug|x64 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x64.Build.0 = Debug|x64 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x86.ActiveCfg = Debug|Win32 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x86.Build.0 = Debug|Win32 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x64.ActiveCfg = Release|x64 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x64.Build.0 = Release|x64 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x86.ActiveCfg = Release|Win32 + {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {429CC90F-89C3-4737-918E-5BCEC8C5C485} + EndGlobalSection +EndGlobal diff --git a/build-windows/pEpJNIAdapter.vcxproj b/build-windows/pEpJNIAdapter.vcxproj new file mode 100644 index 0000000..7745414 --- /dev/null +++ b/build-windows/pEpJNIAdapter.vcxproj @@ -0,0 +1,210 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + {ec44fec9-2f3a-4a0c-b60e-0f22aa43ef58} + + + {146e69f8-e1da-456a-b048-6dd29d9acf6b} + + + + 16.0 + Win32Proj + {2a1167be-f438-4e08-b32e-25f130d97c33} + pEpJNIAdapter + 10.0 + + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + $(ProjectDir)..\..\pEpForWindowsAdapterSolution\Debug\;$(LibraryPath) + + + false + + + true + + + false + + + + Level3 + true + __LP64__;WIN32;_DEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + + + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + + + Windows + true + false + + + IF NOT EXIST "..\build" CALL generate_code.cmd + + + + + Level3 + true + true + true + __LP64__;WIN32;NDEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + + + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + + + Windows + true + true + true + false + + + IF NOT EXIST "..\build" CALL generate_code.cmd + + + + + Level3 + true + _DEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + + + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + + + Windows + true + false + + + IF NOT EXIST "..\build" CALL generate_code.cmd + + + + + Level3 + true + true + true + NDEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + + + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + + + Windows + true + true + true + false + + + IF NOT EXIST "..\build" CALL generate_code.cmd + + + + + + + + + \ No newline at end of file diff --git a/build-windows/pEpJNIAdapter.vcxproj.filters b/build-windows/pEpJNIAdapter.vcxproj.filters new file mode 100644 index 0000000..952024d --- /dev/null +++ b/build-windows/pEpJNIAdapter.vcxproj.filters @@ -0,0 +1,75 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/src/cxx/jniutils.cc b/src/cxx/jniutils.cc index 3d3b2ad..82b1de4 100644 --- a/src/cxx/jniutils.cc +++ b/src/cxx/jniutils.cc @@ -237,7 +237,6 @@ jbyteArray from_string(JNIEnv *env, const char *str) { if (str && str[0]) { - jboolean isCopy; size_t l = strlen(str); jbyteArray _str = env->NewByteArray(l); env->SetByteArrayRegion(_str, 0, l, (jbyte *) str); diff --git a/src/cxx/jniutils.hh b/src/cxx/jniutils.hh index 747d55a..0b346b1 100644 --- a/src/cxx/jniutils.hh +++ b/src/cxx/jniutils.hh @@ -10,6 +10,7 @@ #include #include #include +#include #if 0 // Enable if log needed #include From 62c12fcae342b25da6ca511f7b57163b14572d38 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 30 Jun 2021 16:33:19 +0200 Subject: [PATCH 09/40] Add Windows build project and reference platform.h --- build-windows/generate_code.cmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index 230158a..ad9c711 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -33,6 +33,10 @@ javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java +<<<<<<< HEAD "C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\..\build\java\pEp.jar -C "%java_build_root%" foundation +======= +"C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\build\java\pEp.jar -C "%java_build_root%" foundation +>>>>>>> fd6cbb9 (Add Windows build project and reference platform.h) POPD From a626649bad30377086806f3d8d0ed469a57e9681 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 5 Jul 2021 08:56:21 +0200 Subject: [PATCH 10/40] Generate Status files --- build-windows/generate_code.cmd | 5 +++++ utils/gen_status_codes.sh | 1 + 2 files changed, 6 insertions(+) diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index ad9c711..e4cac40 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -11,6 +11,11 @@ SET java_pkg_basename=foundation\pEp\jniadapter MKDIR %marker_dir% MKDIR %exceptions_directory% +:: Generate Status files +SH ..\utils\gen_status_codes.sh ..\..\pEp\pEpEngine.h +MV passphrase_status_list.yml2 ..\src\codegen\ +MV status_list.yml2 ..\src\codegen\ + :: Generate YML2 code PUSHD .. CD src diff --git a/utils/gen_status_codes.sh b/utils/gen_status_codes.sh index 238db98..2bd2e83 100644 --- a/utils/gen_status_codes.sh +++ b/utils/gen_status_codes.sh @@ -23,6 +23,7 @@ OS="$(uname -s)" case "${OS}" in Linux*) SED=sed;; Darwin*) SED=gsed;; + MSYS*) SED=sed;; CYGWIN*) echo "UNSUPORTED YET" && exit;; MINGW*) echo "UNSUPORTED YET" && exit;; *) echo "UNKNOWN:${OS}" && exit;; From f4966ab98f8d8e89cd5fe102bebf4506216df016 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 5 Jul 2021 09:01:13 +0200 Subject: [PATCH 11/40] Complete merge --- build-windows/generate_code.cmd | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index e4cac40..de0f482 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -38,10 +38,6 @@ javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java -<<<<<<< HEAD -"C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\..\build\java\pEp.jar -C "%java_build_root%" foundation -======= "C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\build\java\pEp.jar -C "%java_build_root%" foundation ->>>>>>> fd6cbb9 (Add Windows build project and reference platform.h) POPD From 9c0271f7d11846d2e6f99e2deed1eaa8235a2947 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 5 Jul 2021 10:23:11 +0200 Subject: [PATCH 12/40] Adjust paths --- build-windows/generate_code.cmd | 7 ++++--- build-windows/pEpJNIAdapter.vcxproj | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index de0f482..260e984 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -2,9 +2,10 @@ SET current_directory=%~dp0 SET dist_directory=%current_directory:~0,-15%\dist -SET marker_dir=%current_directory:~0,-15%\build\marker +SET build_directory=%current_directory:~0,-15%\build +SET marker_dir=%build_directory%\marker SET exceptions_directory=%current_directory:~0,-15%\src\java\foundation\pEp\jniadapter\exceptions -SET java_build_root=%current_directory:~0,-15%\build\java +SET java_build_root=%build_directory%\java SET java_pkg_basename=foundation\pEp\jniadapter :: Create directories as necessary @@ -38,6 +39,6 @@ javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java -"C:\Program Files\Java\jdk-16\bin\jar" -cvf ..\build\java\pEp.jar -C "%java_build_root%" foundation +"C:\Program Files\Java\jdk-16\bin\jar" -cvf "%java_build_root%\pEp.jar" -C "%java_build_root%" foundation POPD diff --git a/build-windows/pEpJNIAdapter.vcxproj b/build-windows/pEpJNIAdapter.vcxproj index 7745414..d488e76 100644 --- a/build-windows/pEpJNIAdapter.vcxproj +++ b/build-windows/pEpJNIAdapter.vcxproj @@ -122,7 +122,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ Windows @@ -144,7 +144,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ Windows @@ -166,7 +166,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ Windows @@ -188,7 +188,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\pEpForWindowsAdapterSolution\ + C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ Windows From 9dc0371302b9ee3d74ab39f71544b918ddf82583 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 5 Jul 2021 10:54:20 +0200 Subject: [PATCH 13/40] Cancel building if code generation fails --- build-windows/generate_code.cmd | 16 ++++++++++++---- build-windows/pEpJNIAdapter.sln | 31 ------------------------------- 2 files changed, 12 insertions(+), 35 deletions(-) delete mode 100644 build-windows/pEpJNIAdapter.sln diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index 260e984..50817d2 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -1,5 +1,3 @@ -@ECHO OFF - SET current_directory=%~dp0 SET dist_directory=%current_directory:~0,-15%\dist SET build_directory=%current_directory:~0,-15%\build @@ -22,23 +20,33 @@ PUSHD .. CD src CD codegen -@ECHO ON PY -m yml2.yml2proc -E utf-8 -y gen_java_Engine.ysl2 pEp.yml2 +IF %ERRORLEVEL% NEQ 0 GOTO end PY -m yml2.yml2proc -E utf-8 -y gen_java_Message.ysl2 pEp.yml2 +IF %ERRORLEVEL% NEQ 0 GOTO end PY -m yml2.yml2proc -E utf-8 -y gen_cpp_Engine.ysl2 pEp.yml2 +IF %ERRORLEVEL% NEQ 0 GOTO end PY -m yml2.yml2proc -E utf-8 -y gen_cpp_Message.ysl2 pEp.yml2 +IF %ERRORLEVEL% NEQ 0 GOTO end PY -m yml2.yml2proc -E utf-8 -y gen_throw_pEp_exception.ysl2 pEp.yml2 -@ECHO OFF +IF %ERRORLEVEL% NEQ 0 GOTO end :: Compile the Java part CD .. CD java javac -encoding UTF-8 -d "%java_build_root%" -h ..\cxx %java_pkg_basename%\*.java +IF %ERRORLEVEL% NEQ 0 GOTO end javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java +IF %ERRORLEVEL% NEQ 0 GOTO end javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java +IF %ERRORLEVEL% NEQ 0 GOTO end javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java +IF %ERRORLEVEL% NEQ 0 GOTO end "C:\Program Files\Java\jdk-16\bin\jar" -cvf "%java_build_root%\pEp.jar" -C "%java_build_root%" foundation +IF %ERRORLEVEL% NEQ 0 GOTO end +:end POPD +EXIT /B %ERRORLEVEL% diff --git a/build-windows/pEpJNIAdapter.sln b/build-windows/pEpJNIAdapter.sln deleted file mode 100644 index 0ca7783..0000000 --- a/build-windows/pEpJNIAdapter.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31410.357 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pEpJNIAdapter", "pEpJNIAdapter.vcxproj", "{2A1167BE-F438-4E08-B32E-25F130D97C33}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x64.ActiveCfg = Debug|x64 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x64.Build.0 = Debug|x64 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x86.ActiveCfg = Debug|Win32 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Debug|x86.Build.0 = Debug|Win32 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x64.ActiveCfg = Release|x64 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x64.Build.0 = Release|x64 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x86.ActiveCfg = Release|Win32 - {2A1167BE-F438-4E08-B32E-25F130D97C33}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {429CC90F-89C3-4737-918E-5BCEC8C5C485} - EndGlobalSection -EndGlobal From af007014eac23302c147e1b4589695d34f71444d Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 12 Jul 2021 11:10:02 +0200 Subject: [PATCH 14/40] Update Windows build file --- build-windows/pEpJNIAdapter.vcxproj | 87 +++-------------------------- 1 file changed, 8 insertions(+), 79 deletions(-) diff --git a/build-windows/pEpJNIAdapter.vcxproj b/build-windows/pEpJNIAdapter.vcxproj index d488e76..a2484a4 100644 --- a/build-windows/pEpJNIAdapter.vcxproj +++ b/build-windows/pEpJNIAdapter.vcxproj @@ -9,14 +9,6 @@ Release Win32 - - Debug - x64 - - - Release - x64 - @@ -69,19 +61,6 @@ true Unicode - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - @@ -93,12 +72,6 @@ - - - - - - true @@ -107,12 +80,6 @@ false - - true - - - false - Level3 @@ -129,9 +96,12 @@ true false - + IF NOT EXIST "..\build" CALL generate_code.cmd + + CP "..\build\java\pEp.jar" "$(SolutionDir)\$(Configuration)" + @@ -153,53 +123,12 @@ true false - - IF NOT EXIST "..\build" CALL generate_code.cmd - - - - - Level3 - true - _DEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - - - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ - - - Windows - true - false - - - IF NOT EXIST "..\build" CALL generate_code.cmd - - - - - Level3 - true - true - true - NDEBUG;PEPJNIADAPTER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - - - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ - - - Windows - true - true - true - false - - + IF NOT EXIST "..\build" CALL generate_code.cmd + + CP "..\build\java\pEp.jar" "$(SolutionDir)\$(Configuration)" + From d38dd81102cf839fe46d4a75fd7fa0b8030a219e Mon Sep 17 00:00:00 2001 From: heck Date: Mon, 17 Jan 2022 11:57:56 +0100 Subject: [PATCH 15/40] pEpEngine=Release_2.1.50 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index ccafdb8..d9c4a75 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.49 \ No newline at end of file +pEpEngine=Release_2.1.50 \ No newline at end of file From 2a6b03b047d5edaa6fba4ed945547dc3114f8d64 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 24 Feb 2022 17:03:23 +0100 Subject: [PATCH 16/40] pEpEngine=Release_2.1.52 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index d9c4a75..fcd136b 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.50 \ No newline at end of file +pEpEngine=Release_2.1.52 \ No newline at end of file From f714e19af23c9d9a5edced23b898d523ae4df714 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Wed, 9 Feb 2022 17:19:50 +0100 Subject: [PATCH 17/40] JNI-174: Revert "JNI-158 - remove __LP64__ related stuff" This reverts commit bc035e29 --- src/cxx/jniutils.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/cxx/jniutils.cc b/src/cxx/jniutils.cc index 82b1de4..b8653bf 100644 --- a/src/cxx/jniutils.cc +++ b/src/cxx/jniutils.cc @@ -1,7 +1,17 @@ +#include #include "jniutils.hh" #include -#include -#include + +#ifndef __LP64__ + +#include + +#define time_t time64_t +#define timegm timegm64 +#define gmtime_r gmtime64_r +#else +#include +#endif namespace pEp { namespace JNIAdapter { From 56d71a5b4cd6c6643b1c776ebbb826187c5eab56 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Wed, 9 Feb 2022 17:25:24 +0100 Subject: [PATCH 18/40] JNI-174 Wrap __LP64__ related stuff into ifdef ANDROID to keep JNI-158 and don't break dates on android. On android32 bits time_t struct it is 32 bits and this is causing an overflow after 01/Feb/22 giving negative dates and therefore converting from 09/02/22 to 25/02/21. --- src/cxx/jniutils.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/cxx/jniutils.cc b/src/cxx/jniutils.cc index b8653bf..26d1536 100644 --- a/src/cxx/jniutils.cc +++ b/src/cxx/jniutils.cc @@ -1,16 +1,17 @@ -#include #include "jniutils.hh" #include +#include +#include -#ifndef __LP64__ +#ifdef ANDROID + #ifndef __LP64__ -#include + #include -#define time_t time64_t -#define timegm timegm64 -#define gmtime_r gmtime64_r -#else -#include + #define time_t time64_t + #define timegm timegm64 + #define gmtime_r gmtime64_r + #endif #endif namespace pEp { From ff477833412e59f4d53fe8439ea3d56b18c98e0b Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 26 Jan 2022 13:35:38 +0100 Subject: [PATCH 19/40] PityTest: Disable broken termsize detection --- test/java/foundation/pEp/pitytest/TestLogger.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/java/foundation/pEp/pitytest/TestLogger.java b/test/java/foundation/pEp/pitytest/TestLogger.java index e708e4f..c0d6c05 100644 --- a/test/java/foundation/pEp/pitytest/TestLogger.java +++ b/test/java/foundation/pEp/pitytest/TestLogger.java @@ -25,10 +25,11 @@ public class TestLogger { if (!initialized) { logEnabled = true; threadStrLen = 10; - lineWidth = 80; + lineWidth = 120; threadSeparator = ": "; - tryDetermineTermSize(); +// TODO: Disabled term size detection, not working anymore on macOS at least.... grmpl +// tryDetermineTermSize(); initialized = true; } } From 852f0f22df8ef34ac8ef5a7f0c729a2b4be8ae79 Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 1 Mar 2022 21:56:32 +0100 Subject: [PATCH 20/40] Fix:: Windows portability - manual merge of PR#15 from thomas (due to conflicts) --- src/cxx/jniutils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cxx/jniutils.cc b/src/cxx/jniutils.cc index 26d1536..bad064c 100644 --- a/src/cxx/jniutils.cc +++ b/src/cxx/jniutils.cc @@ -443,7 +443,7 @@ timestamp *to_timestamp(JNIEnv *env, if (t) { time_t clock = t / 1000; - gmtime_r(&clock, ts); + gmtime_r(&clock, (struct tm*)ts); //LOGD("/* Seconds (0-60) */ TO :%d", ts->tm_sec); //LOGD("/* Minutes (0-59) */ :%d", ts->tm_min); From 457654fde52c32825f8c591fe3f5b77d74944f17 Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 1 Mar 2022 21:56:54 +0100 Subject: [PATCH 21/40] Build: windows - manual merge of PR#15 from thomas (due to conflicts) --- build-windows/generate_code.cmd | 10 +++++----- build-windows/pEpJNIAdapter.vcxproj | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build-windows/generate_code.cmd b/build-windows/generate_code.cmd index 50817d2..96d9256 100644 --- a/build-windows/generate_code.cmd +++ b/build-windows/generate_code.cmd @@ -35,16 +35,16 @@ IF %ERRORLEVEL% NEQ 0 GOTO end CD .. CD java -javac -encoding UTF-8 -d "%java_build_root%" -h ..\cxx %java_pkg_basename%\*.java +"%JAVA_HOME%\bin\javac" -encoding UTF-8 -d "%java_build_root%" -h ..\cxx %java_pkg_basename%\*.java IF %ERRORLEVEL% NEQ 0 GOTO end -javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java +"%JAVA_HOME%\bin\javac" -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\*.java IF %ERRORLEVEL% NEQ 0 GOTO end -javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java +"%JAVA_HOME%\bin\javac" -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\exceptions\*.java IF %ERRORLEVEL% NEQ 0 GOTO end -javac -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java +"%JAVA_HOME%\bin\javac" -encoding UTF-8 -d "%java_build_root%" %java_pkg_basename%\interfaces\*.java IF %ERRORLEVEL% NEQ 0 GOTO end -"C:\Program Files\Java\jdk-16\bin\jar" -cvf "%java_build_root%\pEp.jar" -C "%java_build_root%" foundation +"%JAVA_HOME%\bin\jar" -cvf "%java_build_root%\pEp.jar" -C "%java_build_root%" foundation IF %ERRORLEVEL% NEQ 0 GOTO end :end diff --git a/build-windows/pEpJNIAdapter.vcxproj b/build-windows/pEpJNIAdapter.vcxproj index a2484a4..8e7aa6b 100644 --- a/build-windows/pEpJNIAdapter.vcxproj +++ b/build-windows/pEpJNIAdapter.vcxproj @@ -89,7 +89,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ + %JAVA_HOME%\include\win32;%JAVA_HOME%\include;$(ProjectDir)..\..\ Windows @@ -114,7 +114,7 @@ NotUsing - C:\Program Files\Java\jdk-16\include\win32;C:\Program Files\Java\jdk-16\include;$(ProjectDir)..\..\ + %JAVA_HOME%\include\win32;%JAVA_HOME%\include;$(ProjectDir)..\..\ Windows From bdf227cc24552ab724c4c972977c2aaa453a5ccf Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 31 Mar 2022 16:54:22 +0200 Subject: [PATCH 22/40] pEpEngine=Release_2.1.56 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index fcd136b..072a340 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.52 \ No newline at end of file +pEpEngine=Release_2.1.56 \ No newline at end of file From ea179e14dcfd9fd52af749e60f2511ec6d981e32 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Fri, 20 May 2022 17:45:13 +0200 Subject: [PATCH 23/40] JNI-177 Stop using NDK Standalone toolchains. --- android/external/Makefile.conf | 2 ++ android/external/arm64-v8a/Makefile | 18 +++++----------- .../generate-standalone-ndk-toolchain.sh | 21 ------------------- android/external/armeabi-v7a/Makefile | 17 ++++++--------- .../generate-standalone-ndk-toolchain.sh | 21 ------------------- android/external/downloads/Makefile | 17 ++------------- android/external/x86/Makefile | 18 +++++----------- .../x86/generate-standalone-ndk-toolchain.sh | 21 ------------------- android/external/x86_64/Makefile | 14 +++---------- .../generate-standalone-ndk-toolchain.sh | 21 ------------------- 10 files changed, 23 insertions(+), 147 deletions(-) delete mode 100755 android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh delete mode 100755 android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh delete mode 100755 android/external/x86/generate-standalone-ndk-toolchain.sh delete mode 100755 android/external/x86_64/generate-standalone-ndk-toolchain.sh diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index 232f3a4..37ff815 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -9,8 +9,10 @@ NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]') ifeq ($(NDK_UNAME),darwin) SED=gsed + TOOLCHAIN_ARCH=darwin-x86_64 else SED=sed + TOOLCHAIN_ARCH=linux-x86_64 endif ### Sequoia deps versions diff --git a/android/external/arm64-v8a/Makefile b/android/external/arm64-v8a/Makefile index b690c74..4c72753 100644 --- a/android/external/arm64-v8a/Makefile +++ b/android/external/arm64-v8a/Makefile @@ -18,14 +18,7 @@ ANDROID_API ?= 21 all: build -build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build - -#------------------------------------------------------------------------------# -# Generate standalone toolchain -generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang - -ndk-standalone-toolchain/bin/clang: - bash generate-standalone-ndk-toolchain.sh +build: showsetup uuid-install sequoia-ffi-install libetpan-build #------------------------------------------------------------------------------# # Manage paths for PREFIX, DESTDIR, LOCAL and PATH @@ -48,14 +41,13 @@ NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER) TARGET_ARCH_ABI = $(APP_ABI) include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk -ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain +ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ +AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as +CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang +CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip diff --git a/android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh b/android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh deleted file mode 100755 index 5a4196f..0000000 --- a/android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android. - -where: - -h Show this help text - --force Force generating the toolchain" - - -if [ "$1" == "-h" ]; then -echo "$usage" - exit 0 -fi - -if [ -z "$ANDROID_NDK" ]; then - echo "Please define \$ANDROID_NDK" - exit 1 -fi - -$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch arm64 --api 21 --install-dir=ndk-standalone-toolchain -exit 0 - diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index b03e22d..b5681e7 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -19,14 +19,8 @@ ANDROID_API ?= 18 all: build #assets -build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build +build: showsetup uuid-install sequoia-ffi-install libetpan-build -#------------------------------------------------------------------------------# -# Generate standalone toolchain -generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang - -ndk-standalone-toolchain/bin/clang: - bash generate-standalone-ndk-toolchain.sh #------------------------------------------------------------------------------# # Manage paths for PREFIX, DESTDIR, LOCAL and PATH @@ -43,19 +37,20 @@ PATH := ${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin NDK_SYSROOT=$(ANDROID_NDK_HOME)/sysroot HOST = arm-linux-androideabi +HOST_V7 = armv7a-linux-androideabi NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER) # include Android's build flags TARGET_ARCH_ABI = $(APP_ABI) include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk -ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain +ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ +AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as +CC := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang +CXX := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang++ RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip diff --git a/android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh b/android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh deleted file mode 100755 index d6b5604..0000000 --- a/android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android. - -where: - -h Show this help text - --force Force generating the toolchain" - - -if [ "$1" == "-h" ]; then -echo "$usage" - exit 0 -fi - -if [ -z "$ANDROID_NDK" ]; then - echo "Please define \$ANDROID_NDK" - exit 1 -fi - -$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch arm --api 18 --install-dir=ndk-standalone-toolchain -exit 0 - diff --git a/android/external/downloads/Makefile b/android/external/downloads/Makefile index 38218b0..bc8bdd1 100644 --- a/android/external/downloads/Makefile +++ b/android/external/downloads/Makefile @@ -15,22 +15,9 @@ include ../Makefile.conf all: downloads.stamp -downloads.stamp: download-iconv download-uuid download-sequoia-deps download-etpan download-sequoia \ - generate-ndk-arm generate-ndk-arm64 generate-ndk-x86 generate-ndk-x86_64 +downloads.stamp: download-iconv download-uuid download-sequoia-deps download-etpan download-sequoia touch $@ -generate-ndk-arm64: - cd ../arm64-v8a && bash generate-standalone-ndk-toolchain.sh - -generate-ndk-arm: - cd ../armeabi-v7a && bash generate-standalone-ndk-toolchain.sh - -generate-ndk-x86: - cd ../x86 && bash generate-standalone-ndk-toolchain.sh - -generate-ndk-x86_64: - cd ../x86_64 && bash generate-standalone-ndk-toolchain.sh - download-iconv: libiconv-1.15.tar.gz download-uuid: ossp-uuid_1.6.2.orig.tar.gz @@ -118,4 +105,4 @@ clean: .PHONY: all clean download-iconv \ download-uuid download-etpan \ - download-sequoia-deps download-sequoia \ No newline at end of file + download-sequoia-deps download-sequoia diff --git a/android/external/x86/Makefile b/android/external/x86/Makefile index 5376ef6..ea2e0ab 100644 --- a/android/external/x86/Makefile +++ b/android/external/x86/Makefile @@ -18,14 +18,7 @@ ANDROID_API ?= 18 all: build -build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build - -#------------------------------------------------------------------------------# -# Generate standalone toolchain -generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang - -ndk-standalone-toolchain/bin/clang: - bash generate-standalone-ndk-toolchain.sh +build: showsetup uuid-install sequoia-ffi-install libetpan-build #------------------------------------------------------------------------------# # Manage paths for PREFIX, DESTDIR, LOCAL and PATH @@ -48,14 +41,13 @@ NDK_TOOLCHAIN = $(APP_ABI)-$(NDK_TOOLCHAIN_COMPILER) TARGET_ARCH_ABI = $(APP_ABI) include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk -ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain +ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang -CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ +AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as +CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang +CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip diff --git a/android/external/x86/generate-standalone-ndk-toolchain.sh b/android/external/x86/generate-standalone-ndk-toolchain.sh deleted file mode 100755 index 1bc6783..0000000 --- a/android/external/x86/generate-standalone-ndk-toolchain.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android. - -where: - -h Show this help text - --force Force generating the toolchain" - - -if [ "$1" == "-h" ]; then -echo "$usage" - exit 0 -fi - -if [ -z "$ANDROID_NDK" ]; then - echo "Please define \$ANDROID_NDK" - exit 1 -fi - -$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch x86 --api 18 --install-dir=ndk-standalone-toolchain -exit 0 - diff --git a/android/external/x86_64/Makefile b/android/external/x86_64/Makefile index 2e7649a..0d2b33e 100644 --- a/android/external/x86_64/Makefile +++ b/android/external/x86_64/Makefile @@ -18,14 +18,7 @@ ANDROID_API ?= 21 all: build -build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build - -#------------------------------------------------------------------------------# -# Generate standalone toolchain -generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang - -ndk-standalone-toolchain/bin/clang: - bash generate-standalone-ndk-toolchain.sh +build:showsetup uuid-install sequoia-ffi-install libetpan-build #------------------------------------------------------------------------------# # Manage paths for PREFIX, DESTDIR, LOCAL and PATH @@ -48,12 +41,11 @@ NDK_TOOLCHAIN = $(APP_ABI)-$(NDK_TOOLCHAIN_COMPILER) TARGET_ARCH_ABI = $(APP_ABI) include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk -ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain +ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang -CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang +AS := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-as CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib diff --git a/android/external/x86_64/generate-standalone-ndk-toolchain.sh b/android/external/x86_64/generate-standalone-ndk-toolchain.sh deleted file mode 100755 index 0a6c857..0000000 --- a/android/external/x86_64/generate-standalone-ndk-toolchain.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android. - -where: - -h Show this help text - --force Force generating the toolchain" - - -if [ "$1" == "-h" ]; then -echo "$usage" - exit 0 -fi - -if [ -z "$ANDROID_NDK" ]; then - echo "Please define \$ANDROID_NDK" - exit 1 -fi - -$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch x86_64 --api 21 --install-dir=ndk-standalone-toolchain -exit 0 - From 7e24b3fd591cc654f3807c92f41b3bb61a86a478 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Fri, 27 May 2022 02:31:55 +0200 Subject: [PATCH 24/40] JNI-177 Update outdated engine version --- android/src/foundation/pEp/jniadapter/AndroidHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/foundation/pEp/jniadapter/AndroidHelper.java b/android/src/foundation/pEp/jniadapter/AndroidHelper.java index 7bc26e0..e746075 100644 --- a/android/src/foundation/pEp/jniadapter/AndroidHelper.java +++ b/android/src/foundation/pEp/jniadapter/AndroidHelper.java @@ -31,7 +31,7 @@ public class AndroidHelper { // TODO : Increment when needed. // TODO : Check if this version tracking is really needed and Automatize it - public static String ENGINE_VERSION_CODE = "Release_2.1.37"; + public static String ENGINE_VERSION_CODE = "Release_2.1.56"; private static File shareDir; From 143b8eafa0b3a1351daf0a0a2b6cc3959a66f579 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Fri, 27 May 2022 02:34:33 +0200 Subject: [PATCH 25/40] JNI-177 Update libetpan to use autoconf and build for current arch This saves time and space but also requires to drop support for Android <21 (5.0), its fine as now a days android 22 is like 98% of market. --- android/build.gradle | 2 +- android/external/Makefile.conf | 7 ++++++- android/external/arm64-v8a/Makefile | 7 +++---- android/external/armeabi-v7a/Makefile | 7 +++---- android/external/x86/Makefile | 7 +++---- android/external/x86_64/Makefile | 7 +++---- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 8a573f8..c2dda5e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -30,7 +30,7 @@ android { compileSdkVersion 30 defaultConfig { - minSdkVersion 19 + minSdkVersion 21 targetSdkVersion 30 versionCode 7 versionName "2.1.29" diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index 37ff815..45aae11 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -2,6 +2,7 @@ ### Android NDK Common conf NDK_TOOLCHAIN_COMPILER ?= clang +ANDROID_API ?= 21 ### Select GNU SED on MacOS. @@ -21,7 +22,7 @@ GMP_VERSION=6.2.1 NETTLE_VERSION=3.7.3 ### Git deps repos -EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?0123f34ec4ef7711b3670b744b3ae7e97178afe1 +EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?507ab94fc9609432ef2d4c62770139482f1b5084 EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.1 ### Common variables @@ -40,3 +41,7 @@ EXTERNAL_SRCS_CLEAN += gmp-clean EXTERNAL_SRCS_CLEAN += nettle-clean EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean +### Other variables +ANDROID_ETPAN_BUILD_VERSION=2 + + diff --git a/android/external/arm64-v8a/Makefile b/android/external/arm64-v8a/Makefile index 4c72753..ee0000f 100644 --- a/android/external/arm64-v8a/Makefile +++ b/android/external/arm64-v8a/Makefile @@ -14,7 +14,6 @@ include ../Makefile.conf # Build parameters APP_ABI ?= arm64-v8a -ANDROID_API ?= 21 all: build @@ -123,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz touch $@ libetpan/Makefile: libetpan.src.stamp | libiconv-install - cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh - cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ - cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ + cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI) + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/ + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/ touch $@ libetpan-build: libetpan/Makefile diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index b5681e7..a55fc6b 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -14,7 +14,6 @@ include ../Makefile.conf # Build parameters APP_ABI ?= armeabi-v7a -ANDROID_API ?= 18 all: build #assets @@ -126,9 +125,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz touch $@ libetpan/Makefile: libetpan.src.stamp | libiconv-install - cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh - cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ - cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ + cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI) + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/ + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/ touch $@ libetpan-build: libetpan/Makefile diff --git a/android/external/x86/Makefile b/android/external/x86/Makefile index ea2e0ab..eccc611 100644 --- a/android/external/x86/Makefile +++ b/android/external/x86/Makefile @@ -14,7 +14,6 @@ include ../Makefile.conf # Build parameters APP_ABI ?= x86 -ANDROID_API ?= 18 all: build @@ -123,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz touch $@ libetpan/Makefile: libetpan.src.stamp | libiconv-install - cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh - cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ - cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ + cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI) + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/ + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/ touch $@ libetpan-build: libetpan/Makefile diff --git a/android/external/x86_64/Makefile b/android/external/x86_64/Makefile index 0d2b33e..ae96e2b 100644 --- a/android/external/x86_64/Makefile +++ b/android/external/x86_64/Makefile @@ -14,7 +14,6 @@ include ../Makefile.conf # Build parameters APP_ABI ?= x86_64 -ANDROID_API ?= 21 all: build @@ -123,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz touch $@ libetpan/Makefile: libetpan.src.stamp | libiconv-install - cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh - cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ - cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ + cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI) + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/ + cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/ touch $@ libetpan-build: libetpan/Makefile From 6496b499fe232ad9e26ab85b8aadb508c20cc928 Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Fri, 27 May 2022 02:36:06 +0200 Subject: [PATCH 26/40] JNI-177 Maintenance: Move from jcenter(deprecated) to mavenCentral repository --- android/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index c2dda5e..5ccf580 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -10,17 +10,17 @@ def pEpEngineDB = new File(new File(pEpEngineSrc), 'db') buildscript { repositories { google() - jcenter() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:4.2.2' } } allprojects { repositories { google() - jcenter() + mavenCentral() } } From faecdc735483f014a5eec77a0b68d4eed757ba1d Mon Sep 17 00:00:00 2001 From: Hussein Kasem Date: Fri, 27 May 2022 02:36:35 +0200 Subject: [PATCH 27/40] JNI-177 Maintenance: Update outdated version name to next version --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 5ccf580..ca685a8 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -33,7 +33,7 @@ android { minSdkVersion 21 targetSdkVersion 30 versionCode 7 - versionName "2.1.29" + versionName "2.1.42" externalNativeBuild { ndkBuild { From 689f07ae81d4f3c21cc96821ae1fb0d7901397aa Mon Sep 17 00:00:00 2001 From: Luca Saiu Date: Wed, 8 Jun 2022 09:54:29 +0200 Subject: [PATCH 28/40] change version number in build.gradle, for the next release --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index ca685a8..6386d44 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -33,7 +33,7 @@ android { minSdkVersion 21 targetSdkVersion 30 versionCode 7 - versionName "2.1.42" + versionName "2.1.43" externalNativeBuild { ndkBuild { From 86c4063d1691440a4527579afd71e37df3c40aa4 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 21:21:43 +0200 Subject: [PATCH 29/40] #20 - add new signal --- src/codegen/pEp.yml2 | 1 + 1 file changed, 1 insertion(+) diff --git a/src/codegen/pEp.yml2 b/src/codegen/pEp.yml2 index 7ec2584..405a48c 100644 --- a/src/codegen/pEp.yml2 +++ b/src/codegen/pEp.yml2 @@ -70,6 +70,7 @@ namespace pEp { enumitem sync_notify_accepted_device_added > 6 enumitem sync_notify_accepted_group_created > 7 enumitem sync_notify_accepted_device_accepted > 8 + enumitem sync_notify_outgoing_rating_change > 64 enumitem sync_passphrase_required > 128 enumitem sync_notify_sole > 254 enumitem sync_notify_in_group > 255 From 5170ec737328649ff8b1732ca50279ba186e6143 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 21:23:08 +0200 Subject: [PATCH 30/40] #20 - add function sync_reinit() --- src/codegen/pEp.yml2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/codegen/pEp.yml2 b/src/codegen/pEp.yml2 index 405a48c..a7ac4ab 100644 --- a/src/codegen/pEp.yml2 +++ b/src/codegen/pEp.yml2 @@ -253,6 +253,8 @@ namespace pEp { in identitylist identities const ); + method cached=true sync_reinit(); + // "basic" methods are generated on the java side, but // on the C++ side, manually implemented in basic_api.cc From 308a120262668659d4aaa99f46a86e53be350e85 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 21:35:31 +0200 Subject: [PATCH 31/40] pEp.yml2 - fix typo --- src/codegen/pEp.yml2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/codegen/pEp.yml2 b/src/codegen/pEp.yml2 index a7ac4ab..26d8d54 100644 --- a/src/codegen/pEp.yml2 +++ b/src/codegen/pEp.yml2 @@ -194,7 +194,7 @@ namespace pEp { in string fpr2, in string lang, returns sstring words, - in bool full + in bool full ); method cached=true get_message_trustwords( @@ -278,6 +278,7 @@ namespace pEp { basic void config_passphrase(string passphrase); basic void config_passphrase_for_new_keys(bool enable, string passphrase); basic bytearray export_key(string fpr); + basic void config_enable_echo_protocol(bool enable); }; struct message { From 0a5116d61c5d5b6641e55940a6a3f29f40f20786 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 21:36:14 +0200 Subject: [PATCH 32/40] #20 - add function config_enable_echo_protocol() --- src/cxx/basic_api.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/cxx/basic_api.cc b/src/cxx/basic_api.cc index 4f9960c..2b93913 100644 --- a/src/cxx/basic_api.cc +++ b/src/cxx/basic_api.cc @@ -539,5 +539,19 @@ JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1export_1key return from_string(env, buff); } +JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1config_1enable_1echo_1protocol(JNIEnv *env, + jobject obj, + jboolean enable) +{ + std::mutex *mutex_local = nullptr; + { + std::lock_guard l(global_mutex); + pEpLog("called with lock_guard"); + mutex_local = get_engine_java_object_mutex(env, obj); + } + std::lock_guard l(*mutex_local); + ::config_enable_echo_protocol(session(),static_cast(enable)); +} + } // extern "C" From 3004e0d16f70d730acfdf3d50fa4cb14d3a73c18 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 21:47:49 +0200 Subject: [PATCH 33/40] #20 - add function config_enable_echo_in_outgoing_message_rating_preview() --- src/codegen/pEp.yml2 | 1 + src/cxx/basic_api.cc | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/codegen/pEp.yml2 b/src/codegen/pEp.yml2 index 26d8d54..c65f8d3 100644 --- a/src/codegen/pEp.yml2 +++ b/src/codegen/pEp.yml2 @@ -279,6 +279,7 @@ namespace pEp { basic void config_passphrase_for_new_keys(bool enable, string passphrase); basic bytearray export_key(string fpr); basic void config_enable_echo_protocol(bool enable); + basic void config_enable_echo_in_outgoing_message_rating_preview(bool enable); }; struct message { diff --git a/src/cxx/basic_api.cc b/src/cxx/basic_api.cc index 2b93913..9cdee34 100644 --- a/src/cxx/basic_api.cc +++ b/src/cxx/basic_api.cc @@ -553,5 +553,19 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1config_1enable_1e ::config_enable_echo_protocol(session(),static_cast(enable)); } +JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1config_1enable_1echo_1in_1outgoing_1message_1rating_1preview(JNIEnv *env, + jobject obj, + jboolean enable) +{ + std::mutex *mutex_local = nullptr; + { + std::lock_guard l(global_mutex); + pEpLog("called with lock_guard"); + mutex_local = get_engine_java_object_mutex(env, obj); + } + std::lock_guard l(*mutex_local); + ::config_enable_echo_in_outgoing_message_rating_preview(session(),static_cast(enable)); +} + } // extern "C" From 694f753730d355f103f20bfe70c549e8a71162fc Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 23:46:20 +0200 Subject: [PATCH 34/40] #20 - add function config_media_keys() --- ...oundation_pEp_jniadapter_AbstractEngine.cc | 21 +++++++++++++++++++ .../pEp/jniadapter/AbstractEngine.java | 13 ++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc b/src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc index 80bcdf0..171b017 100644 --- a/src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc +++ b/src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -358,6 +359,26 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1stopSync( CallbackDispatcher::stop_sync(); } +JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1config_1media_1keys(JNIEnv *env, + jobject obj, + jobject value) +{ + std::mutex *mutex_local = nullptr; + { + std::lock_guard l(global_mutex); + pEpLog("called with lock_guard"); + mutex_local = get_engine_java_object_mutex(env, obj); + } + std::lock_guard l(*mutex_local); + + PEP_STATUS status = ::config_media_keys(Adapter::session(),to_stringpairlist(env, value)); + if (status) { + throw_pEp_Exception(env, status); + } + +} + + JNIEXPORT jboolean JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1isSyncRunning(JNIEnv *env, jobject obj) { diff --git a/src/java/foundation/pEp/jniadapter/AbstractEngine.java b/src/java/foundation/pEp/jniadapter/AbstractEngine.java index 7d160d8..502236c 100644 --- a/src/java/foundation/pEp/jniadapter/AbstractEngine.java +++ b/src/java/foundation/pEp/jniadapter/AbstractEngine.java @@ -77,6 +77,19 @@ abstract class AbstractEngine extends UniquelyIdentifiable implements AbstractEn private native void _stopSync(); + public void config_media_keys(ArrayList> value) { + if (value != null) { + ArrayList> list = new ArrayList>(); + for (Pair i : value) { + list.add(new Pair(Utils.toUTF8(i.first), Utils.toUTF8(i.second))); + } + _config_media_keys(list); + } else { + _config_media_keys(null); + } + } + + private native void _config_media_keys(ArrayList> value); public boolean isSyncRunning() { return _isSyncRunning(); From 987ab367e77e4763d5a010c56096e141d91035fb Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 25 Aug 2022 23:55:36 +0200 Subject: [PATCH 35/40] pEpEngine=Release_2.1.59 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 072a340..b3a7073 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.56 \ No newline at end of file +pEpEngine=Release_2.1.59 \ No newline at end of file From d1bfec7b8bdd6ca0f6a294f77610fcb119de6064 Mon Sep 17 00:00:00 2001 From: heck Date: Fri, 26 Aug 2022 15:09:13 +0200 Subject: [PATCH 36/40] pEpEngine=Release_2.1.60 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index b3a7073..c6ca4a8 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.59 \ No newline at end of file +pEpEngine=Release_2.1.60 \ No newline at end of file From 72e78ddcfa5c6118138ed9ea7b9d2273a9e264c8 Mon Sep 17 00:00:00 2001 From: heck Date: Mon, 29 Aug 2022 13:19:11 +0200 Subject: [PATCH 37/40] pEpEngine=Release_2.1.61 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index c6ca4a8..7651f48 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.60 \ No newline at end of file +pEpEngine=Release_2.1.61 \ No newline at end of file From feaf96fdc5646fff594003c9477944154626c85b Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 30 Aug 2022 21:44:46 +0200 Subject: [PATCH 38/40] pEpEngine=Release_2.1.62 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 7651f48..10f498c 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.61 \ No newline at end of file +pEpEngine=Release_2.1.62 \ No newline at end of file From 009c20f9195ad91530b5f6d9058455b783c5b68b Mon Sep 17 00:00:00 2001 From: Sascha Bacardit Date: Tue, 13 Sep 2022 10:43:06 +0200 Subject: [PATCH 39/40] Compile changes Using assorted changes gotten from Huss we've managed to make it work with a few caveats: -You need to open android studio via the terminal -Certain libraries (OpenSSL) needed to be updated -Rust Tool Chain has to be updated -New NDK is 25, which changes and removes certain things from the per-architecture make files to the general make file (LD, AR, AS, RANLIB, STRIP) --- Makefile.conf | 1 - android/README.md | 7 ++++--- android/build.gradle | 8 ++++--- android/external/Makefile.conf | 10 ++++++++- android/external/arm64-v8a/Makefile | 15 ++++++------- android/external/armeabi-v7a/Makefile | 13 +++++++----- .../downloads/openssl-1.1.1h.tar.gz.md5 | 1 - .../downloads/openssl-1.1.1q.tar.gz.md5 | 1 + android/external/x86/Makefile | 21 +++++++++++-------- android/external/x86_64/Makefile | 13 +++++++----- utils/ndk_toolchains_path.py | 2 +- 11 files changed, 56 insertions(+), 36 deletions(-) delete mode 100644 android/external/downloads/openssl-1.1.1h.tar.gz.md5 create mode 100644 android/external/downloads/openssl-1.1.1q.tar.gz.md5 diff --git a/Makefile.conf b/Makefile.conf index adf9ca8..3ece788 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -21,7 +21,6 @@ ENGINE_INC_PATH=$(PREFIX)/include AD_LIB_PATH=$(PREFIX)/lib AD_INC_PATH=$(PREFIX)/include - ### Guessing JAVA_HOME ifeq ($(PLATFORM),linux) JAVA_HOME=$(subst /bin,,$(dir $(realpath /usr/bin/javac))) diff --git a/android/README.md b/android/README.md index 7def56c..d753dcc 100644 --- a/android/README.md +++ b/android/README.md @@ -16,13 +16,13 @@ It can be done with the SDK and the sdkmanager cli tool, or using Android Studio Android studio -> Configure -> SDK Manager -> SDK Tools (tab) -> Select NDK and install -Tip: To install other versions click on "Show packages details" and select the desired NDK version (Currently using: 21.0.6113669) +Tip: To install other versions click on "Show packages details" and select the desired NDK version (Currently using: 25.1.8937393) ## Required env\_vars (for MacOS): ``` bash -export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) -export ANDROID_NDK=$ANDROID_SDK/ndk/21.0.6113669 +export JAVA_HOME=$(/usr/libexec/java_home -v 11) +export ANDROID_NDK=$ANDROID_SDK/ndk/25.1.8937393 export HOST_TAG=darwin-x86_64 export ANDROID_MIN_SDK_32=18 export ANDROID_MIN_SDK_64=21 @@ -39,6 +39,7 @@ rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-andro Tell rust the location of the new target linker and AR +TODO: Update and point to llvm-ar ```bash echo " [target.aarch64-linux-android] diff --git a/android/build.gradle b/android/build.gradle index 6386d44..fbe68cd 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,8 +2,10 @@ def pEpEngineSrc = hasProperty('pEpEngineSrc') ? pEpEngineSrc : "../../pEpEngine" def buildAutomatic = hasProperty('buildAutomatic') ? buildAutomatic : "true" -def threadsToUse = hasProperty('threadsToUse') ? - threadsToUse : Runtime.getRuntime().availableProcessors() +//CHeck M1 answers the correct thing off .avaialableprocessors here +//def threadsToUse = hasProperty('threadsToUse') ? +// threadsToUse : Runtime.getRuntime().availableProcessors() +def threadsToUse = 1 def pEpEngineDB = new File(new File(pEpEngineSrc), 'db') @@ -145,7 +147,7 @@ android { from file(new File(pEpEngineDB, 'system.db')) into 'assets' } - ndkVersion '21.0.6113669' + ndkVersion '25.1.8937393' if(buildAutomatic == "true") { buildpEpEngineSystemDB.dependsOn(buildExternal) diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index 45aae11..a0fee8d 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -16,8 +16,16 @@ else TOOLCHAIN_ARCH=linux-x86_64 endif +ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) + +### Toolchain tools +LD := $(ANDROID_NDK_HOME)/bin/ld +AR := $(ANDROID_NDK_HOME)/bin/llvm-ar +RANLIB := $(ANDROID_NDK_HOME)/bin/llvm-ranlib +STRIP := $(ANDROID_NDK_HOME)/bin/llvm-strip + ### Sequoia deps versions -OPENSSL_VERSION=1.1.1h +OPENSSL_VERSION=1.1.1q GMP_VERSION=6.2.1 NETTLE_VERSION=3.7.3 diff --git a/android/external/arm64-v8a/Makefile b/android/external/arm64-v8a/Makefile index ee0000f..f44569e 100644 --- a/android/external/arm64-v8a/Makefile +++ b/android/external/arm64-v8a/Makefile @@ -40,15 +40,9 @@ NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER) TARGET_ARCH_ABI = $(APP_ABI) include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk -ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) - -LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld -AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ -RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib -STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip +AS := $(CC) CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99 LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie @@ -291,6 +285,8 @@ nettle/libnettle.so: nettle/Makefile $(LOCAL)/lib/libnettle.so: nettle/libnettle.so $(MAKE) -C nettle DESTDIR=$(DESTDIR) prefix=$(prefix) install + cp nettle/libnettle.so $(LOCAL)/lib/libnettle.so + cp nettle/libhogweed.so $(LOCAL)/lib/libhogweed.so nettle-build: nettle/libnettle.so @@ -305,7 +301,11 @@ CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/ sequoia.src.stamp: ../downloads/sequoia.tar.gz mkdir -p sequoia cd sequoia && tar xvf ../$< + $(SED) -i 's,1.48.0,1.49.0,' sequoia/rust-toolchain cd sequoia && cargo update -p nettle-sys --precise 2.0.8 + mkdir -p $(LOCAL)/lib/ +# This is a bad fix, we should move this to a common makefile (but not the .conf one) + find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; touch $@ sequoia-ffi-clean: @@ -314,6 +314,7 @@ sequoia-ffi-clean: $(CARGO_TARGET_DIR)/aarch64-linux-android/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ + CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \ PKG_CONFIG_ALLOW_CROSS=1 \ diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index a55fc6b..8c77cca 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -45,13 +45,9 @@ include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) -LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld -AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as CC := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang++ -RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib -STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip +AS := $(CC) CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99 LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie @@ -294,6 +290,8 @@ nettle/libnettle.so: nettle/Makefile $(LOCAL)/lib/libnettle.so: nettle/libnettle.so $(MAKE) -C nettle DESTDIR=$(DESTDIR) prefix=$(prefix) install + cp nettle/libnettle.so $(LOCAL)/lib/libnettle.so + cp nettle/libhogweed.so $(LOCAL)/lib/libhogweed.so nettle-build: nettle/libnettle.so @@ -307,7 +305,11 @@ CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build sequoia.src.stamp: ../downloads/sequoia.tar.gz mkdir -p sequoia cd sequoia && tar xvf ../$< + $(SED) -i 's,1.48.0,1.49.0,' sequoia/rust-toolchain cd sequoia && cargo update -p nettle-sys --precise 2.0.8 + mkdir -p $(LOCAL)/lib/ +# This is a bad fix, we should move this to a common makefile (but not the .conf one) + find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; touch $@ sequoia-ffi-clean: @@ -316,6 +318,7 @@ sequoia-ffi-clean: $(CARGO_TARGET_DIR)/armv7-linux-androideabi/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ + CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \ PKG_CONFIG_ALLOW_CROSS=1 \ diff --git a/android/external/downloads/openssl-1.1.1h.tar.gz.md5 b/android/external/downloads/openssl-1.1.1h.tar.gz.md5 deleted file mode 100644 index 99e70a8..0000000 --- a/android/external/downloads/openssl-1.1.1h.tar.gz.md5 +++ /dev/null @@ -1 +0,0 @@ -53840c70434793127a3574433494e8d3 openssl-1.1.1h.tar.gz diff --git a/android/external/downloads/openssl-1.1.1q.tar.gz.md5 b/android/external/downloads/openssl-1.1.1q.tar.gz.md5 new file mode 100644 index 0000000..9c33f3a --- /dev/null +++ b/android/external/downloads/openssl-1.1.1q.tar.gz.md5 @@ -0,0 +1 @@ +c685d239b6a6e1bd78be45624c092f51 openssl-1.1.1q.tar.gz diff --git a/android/external/x86/Makefile b/android/external/x86/Makefile index eccc611..ff3899e 100644 --- a/android/external/x86/Makefile +++ b/android/external/x86/Makefile @@ -42,13 +42,9 @@ include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) -LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld -AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ -RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib -STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip +AS := $(CC) CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99 LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie @@ -285,15 +281,17 @@ nettle/Makefile: nettle.src.stamp --host=$(HOST) \ --prefix=$(LOCAL) -nettle/libnettle.so: nettle/Makefile +nettle/libnettle.so nettle/libhogweed.so: nettle/Makefile $(MAKE) -C nettle -$(LOCAL)/lib/libnettle.so: nettle/libnettle.so +$(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libhogweed.so: nettle/libnettle.so nettle/libhogweed.so $(MAKE) -C nettle DESTDIR=$(DESTDIR) prefix=$(prefix) install + cp nettle/libnettle.so $(LOCAL)/lib/libnettle.so + cp nettle/libhogweed.so $(LOCAL)/lib/libhogweed.so -nettle-build: nettle/libnettle.so +nettle-build: nettle/libnettle.so nettle/libhogweed.so -nettle-install: $(LOCAL)/lib/libnettle.so +nettle-install: $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libhogweed.so #------------------------------------------------------------------------------# @@ -304,7 +302,11 @@ CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/ sequoia.src.stamp: ../downloads/sequoia.tar.gz mkdir -p sequoia cd sequoia && tar xvf ../$< + $(SED) -i 's,1.48.0,1.49.0,' sequoia/rust-toolchain cd sequoia && cargo update -p nettle-sys --precise 2.0.8 + mkdir -p $(LOCAL)/lib/ +# This is a bad fix, we should move this to a common makefile (but not the .conf one) + find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; touch $@ sequoia-ffi-clean: @@ -313,6 +315,7 @@ sequoia-ffi-clean: $(CARGO_TARGET_DIR)/i686-linux-android/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ + CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \ PKG_CONFIG_ALLOW_CROSS=1 \ diff --git a/android/external/x86_64/Makefile b/android/external/x86_64/Makefile index ae96e2b..d99e3d6 100644 --- a/android/external/x86_64/Makefile +++ b/android/external/x86_64/Makefile @@ -42,13 +42,9 @@ include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) -LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld -AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar -AS := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-as CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ -RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib -STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip +AS := $(CC) CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99 LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie @@ -290,6 +286,8 @@ nettle/libnettle.so: nettle/Makefile $(LOCAL)/lib/libnettle.so: nettle/libnettle.so $(MAKE) -C nettle DESTDIR=$(DESTDIR) prefix=$(prefix) install + cp nettle/libnettle.so $(LOCAL)/lib/libnettle.so + cp nettle/libhogweed.so $(LOCAL)/lib/libhogweed.so nettle-build: nettle/libnettle.so @@ -304,7 +302,11 @@ CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/ sequoia.src.stamp: ../downloads/sequoia.tar.gz mkdir -p sequoia cd sequoia && tar xvf ../$< + $(SED) -i 's,1.48.0,1.49.0,' sequoia/rust-toolchain cd sequoia && cargo update -p nettle-sys --precise 2.0.8 + mkdir -p $(LOCAL)/lib/ +# This is a bad fix, we should move this to a common makefile (but not the .conf one) + find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; touch $@ sequoia-ffi-clean: @@ -313,6 +315,7 @@ sequoia-ffi-clean: $(CARGO_TARGET_DIR)/x86_64-linux-android/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ + CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig \ PKG_CONFIG_ALLOW_CROSS=1 \ diff --git a/utils/ndk_toolchains_path.py b/utils/ndk_toolchains_path.py index 2c13081..8ede2f2 100644 --- a/utils/ndk_toolchains_path.py +++ b/utils/ndk_toolchains_path.py @@ -42,7 +42,7 @@ def main(): host_tag = get_host_tag_or_die() toolchain_path = get_toolchain_path_or_die(args.ndk, host_tag) - print toolchain_path + print(toolchain_path) if __name__ == '__main__': main() From c0857e0104cf3f2cd0f42b85ce44c99a20e614bb Mon Sep 17 00:00:00 2001 From: heck Date: Mon, 19 Sep 2022 16:59:35 +0200 Subject: [PATCH 40/40] pEpEngine=Release_2.1.64 --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 10f498c..887b374 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -2,4 +2,4 @@ ## Prefer git tags instead of SHA hashes when possible. libpEpAdapter=Release_2.1.22 -pEpEngine=Release_2.1.62 \ No newline at end of file +pEpEngine=Release_2.1.64 \ No newline at end of file