Compare commits
7 Commits
master
...
Release_2.
Author | SHA1 | Date |
---|---|---|
![]() |
76cd8e7b84 | 3 years ago |
![]() |
c31f44447e | 3 years ago |
![]() |
5b9d3e352c | 3 years ago |
![]() |
51e54e5aba | 3 years ago |
![]() |
dc65fa6e68 | 4 years ago |
![]() |
bc6a6fe3c5 | 4 years ago |
![]() |
f1060d82bf | 4 years ago |
16 changed files with 258 additions and 78 deletions
@ -0,0 +1,56 @@ |
|||||
|
include ../DEPENDENCIES |
||||
|
export
|
||||
|
CURRENT_DISTRO=${CI_DISTRO_TARGET} |
||||
|
IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CI_DISTRO_TARGET)-libpepadapter |
||||
|
DOCKERFILE=libpEpAdapter.linux.Dockerfile |
||||
|
PKG_BUILD_IMAGE=${DOCKER_REGISTRY_HOST}/fpm-$(CURRENT_DISTRO) |
||||
|
PKG_INSTALL_PATH=/opt/pEp |
||||
|
PKG_NAME=libpEpAdapter |
||||
|
PKG_DESCRIPTION="p≡p libpEpAdapter Binary RPM Package" |
||||
|
PKG_DEPENDS=pEpEngine |
||||
|
PKG_INSTALL_PATH_STRING="/ /package/lib=${PKG_INSTALL_PATH} /package/include/pEp=${PKG_INSTALL_PATH}/include" |
||||
|
IS_TAGGED=${TAGGED_BUILD} |
||||
|
ifeq ($(IS_TAGGED), true) |
||||
|
# $CI_COMMIT_TAG is a predefined environment variable from Gitlab
|
||||
|
LIBPEPADAPTER_VERSION=${CI_COMMIT_TAG} |
||||
|
else |
||||
|
LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) |
||||
|
endif |
||||
|
all: build |
||||
|
|
||||
|
build: |
||||
|
-docker pull --quiet $(IMAGE_NAME):latest |
||||
|
cd ../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
||||
|
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
||||
|
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
||||
|
--cache-from $(IMAGE_NAME):latest \
|
||||
|
--tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \
|
||||
|
--tag=$(IMAGE_NAME):latest \
|
||||
|
-f scripts/common/$(DOCKERFILE) . |
||||
|
docker push --quiet $(IMAGE_NAME):${LIBPEPADAPTER_VERSION} |
||||
|
docker push --quiet $(IMAGE_NAME):latest |
||||
|
|
||||
|
rpm: |
||||
|
-docker pull --quiet $(PKG_BUILD_IMAGE)-libpepadapter:latest |
||||
|
@docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
||||
|
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
||||
|
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
||||
|
--build-arg PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \
|
||||
|
--cache-from $(PKG_BUILD_IMAGE)-engine:latest \
|
||||
|
--tag=$(PKG_BUILD_IMAGE)-libpepadapter:$(LIBPEPADAPTER_VERSION) \
|
||||
|
--tag=$(PKG_BUILD_IMAGE)-libpepadapter:latest \
|
||||
|
centos8/packages/rpm |
||||
|
@docker push --quiet $(PKG_BUILD_IMAGE)-libpepadapter:$(LIBPEPADAPTER_VERSION) |
||||
|
@docker push --quiet $(PKG_BUILD_IMAGE)-libpepadapter:latest |
||||
|
@docker run -e LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
||||
|
-e PEP_MACHINE_DIR=$(PEP_MACHINE_DIR) \
|
||||
|
-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)/centos8/packages/rpm/create-libpepadapter-rpm.sh:/usr/bin/create-rpm.sh:ro \
|
||||
|
-v $(shell pwd)/out:/out \
|
||||
|
-w / $(PKG_BUILD_IMAGE)-libpepadapter:${LIBPEPADAPTER_VERSION} \
|
||||
|
/usr/bin/create-rpm.sh |
@ -1,15 +0,0 @@ |
|||||
CURRENT_DISTRO=$(shell basename $(shell pwd)) |
|
||||
LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) |
|
||||
IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-libpepadapter |
|
||||
DOCKERFILE=libpEpAdapter.$(CURRENT_DISTRO).Dockerfile |
|
||||
all: |
|
||||
-docker pull $(IMAGE_NAME):latest |
|
||||
cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
|
||||
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
|
||||
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
|
||||
--cache-from $(IMAGE_NAME):latest \
|
|
||||
--tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \
|
|
||||
--tag=$(IMAGE_NAME):latest \
|
|
||||
-f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) . |
|
||||
docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION} |
|
||||
docker push $(IMAGE_NAME):latest |
|
@ -1,23 +0,0 @@ |
|||||
ARG DOCKER_REGISTRY_HOST |
|
||||
ARG CURRENT_DISTRO |
|
||||
ARG PEPENGINE_VERSION=latest |
|
||||
FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-engine:${PEPENGINE_VERSION} |
|
||||
|
|
||||
ENV BUILDROOT /build |
|
||||
ENV INSTPREFIX /install |
|
||||
ENV OUTDIR /out |
|
||||
|
|
||||
### Setup working directory |
|
||||
RUN mkdir ${BUILDROOT}/libpEpAdapter |
|
||||
COPY . ${BUILDROOT}/libpEpAdapter |
|
||||
USER root |
|
||||
RUN chown -R pep-builder:pep-builder ${BUILDROOT}/libpEpAdapter |
|
||||
USER pep-builder |
|
||||
WORKDIR ${BUILDROOT}/libpEpAdapter |
|
||||
|
|
||||
ARG LIBPEPADAPTER_VERSION |
|
||||
ARG CURRENT_DISTRO |
|
||||
|
|
||||
### Build libpEpAdapter |
|
||||
RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \ |
|
||||
rm -rf ${BUILDROOT}/* |
|
@ -0,0 +1,18 @@ |
|||||
|
ARG DOCKER_REGISTRY_HOST |
||||
|
ARG CURRENT_DISTRO |
||||
|
ARG LIBPEPADAPTER_VERSION |
||||
|
FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-libpepadapter:${LIBPEPADAPTER_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 |
@ -0,0 +1,27 @@ |
|||||
|
#!/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 |
||||
|
mkdir -p ${INSTALL_TOP}/include/pEp |
||||
|
cp -ar lib/* ${INSTALL_TOP}/lib/. |
||||
|
cp -ar include/pEp/* ${INSTALL_TOP}/include/pEp/. |
||||
|
|
||||
|
|
||||
|
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} |
@ -0,0 +1,32 @@ |
|||||
|
#!/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} |
||||
|
|
||||
|
# libpEpAdapter |
||||
|
cp -a ${INSTPREFIX}/lib/libpEpAdapter.a "$D"/lib |
||||
|
cp -av ${INSTPREFIX}/include/pEp/{status_to_string.hh,message_cache.hh,call_with_lock.hh,Adapter.hh,callback_dispatcher.hh,locked_queue.hh,slurp.hh,constant_time_algo.hh,Semaphore.hh,pc_container.hh,passphrase_cache.hh,pEpLog.hh,Adapter.hxx,passphrase_cache.hxx} "$D"/include/pEp |
||||
|
|
||||
|
|
||||
|
# 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" |
@ -1,27 +0,0 @@ |
|||||
include ../../DEPENDENCIES |
|
||||
export
|
|
||||
PEPENGINE_VERSION=${pEpEngine} |
|
||||
CURRENT_DISTRO=$(shell basename $(shell pwd)) |
|
||||
IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-libpepadapter |
|
||||
DOCKERFILE=libpEpAdapter.$(CURRENT_DISTRO).Dockerfile |
|
||||
IS_TAGGED=${TAGGED_BUILD} |
|
||||
ifeq ($(IS_TAGGED), true) |
|
||||
# $CI_COMMIT_TAG is a predefined environment variable from Gitlab
|
|
||||
LIBPEPADAPTER_VERSION=${CI_COMMIT_TAG} |
|
||||
else |
|
||||
LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD) |
|
||||
endif |
|
||||
all: |
|
||||
-docker pull $(IMAGE_NAME):latest |
|
||||
cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
|
||||
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
|
||||
--build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \
|
|
||||
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
|
||||
--cache-from $(IMAGE_NAME):latest \
|
|
||||
--tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \
|
|
||||
--tag=$(IMAGE_NAME):${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} \
|
|
||||
--tag=$(IMAGE_NAME):latest \
|
|
||||
-f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) . |
|
||||
docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION} |
|
||||
docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} |
|
||||
docker push $(IMAGE_NAME):latest |
|
@ -1,8 +0,0 @@ |
|||||
#!/usr/bin/env sh |
|
||||
set -exo |
|
||||
|
|
||||
echo "ENGINE_LIB_PATH=${INSTPREFIX}/lib" >> local.conf |
|
||||
echo "ENGINE_INC_PATH=${INSTPREFIX}/include" >> local.conf |
|
||||
|
|
||||
make |
|
||||
make install PREFIX="${INSTPREFIX}" |
|
@ -0,0 +1,22 @@ |
|||||
|
// This file is under GNU General Public License 3.0
|
||||
|
// see LICENSE.txt
|
||||
|
|
||||
|
#include <iostream> |
||||
|
#include <assert.h> |
||||
|
#include <unistd.h> |
||||
|
#include <sys/param.h> |
||||
|
|
||||
|
#include <pEpLog.hh> |
||||
|
#include <Adapter.hh> |
||||
|
|
||||
|
using namespace std; |
||||
|
using namespace pEp; |
||||
|
|
||||
|
int main(int argc, char **argv) |
||||
|
{ |
||||
|
// ::PEP_SESSION session_;
|
||||
|
// ::PEP_STATUS status = ::init(&session_, NULL, NULL, NULL);
|
||||
|
|
||||
|
Adapter::session(); |
||||
|
return 0; |
||||
|
} |
Loading…
Reference in new issue