diff --git a/Jenkinsfile b/Jenkinsfile index c1bd1ab..83c13f1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,8 @@ pipeline { parameters { booleanParam(name: 'BUILD_ALL_PROFILES', defaultValue: true, description: 'Build all profiles one by one') string(name: 'PROFILE', defaultValue: 'demo', description: 'Profile to build when BUILD_ALL_PROFILES is false') - string(name: 'PYTHON_IMAGE', defaultValue: 'python:3.11-alpine', description: 'Default image for Python/control-plane steps') + string(name: 'PYTHON_IMAGE', defaultValue: '', description: 'Default image for Python/control-plane steps') + string(name: 'PYTHON_DOCKERFILE', defaultValue: '', description: 'Optional default Dockerfile path for Python/control-plane steps') string(name: 'ETCH_IMAGE', defaultValue: '', description: 'Default Etch image when ETCH_DOCKERFILE is empty') string(name: 'ETCH_DOCKERFILE', defaultValue: '', description: 'Optional default Dockerfile path for Etch runtime') string(name: 'LENNY_IMAGE', defaultValue: '', description: 'Default Lenny image when LENNY_DOCKERFILE is empty') @@ -55,9 +56,9 @@ pipeline { return defaultImage } - def pythonDefaultImage = params.PYTHON_IMAGE.trim() - def etchDefaultImage = resolveDefaultRuntimeImage('etch-default', params.ETCH_IMAGE, params.ETCH_DOCKERFILE) - def lennyDefaultImage = resolveDefaultRuntimeImage('lenny-default', params.LENNY_IMAGE, params.LENNY_DOCKERFILE) + def pythonDefaultImage = resolveDefaultRuntimeImage('python:3.11-alpine', params.PYTHON_IMAGE, params.PYTHON_DOCKERFILE) + def etchDefaultImage = resolveDefaultRuntimeImage('lpenz/debian-etch-i386-minbase:3a679960e616', params.ETCH_IMAGE, params.ETCH_DOCKERFILE) + def lennyDefaultImage = resolveDefaultRuntimeImage('lpenz/debian-lenny-i386-minbase:dbb13ddf3300', params.LENNY_IMAGE, params.LENNY_DOCKERFILE) def featureNames = [] docker.image(pythonDefaultImage).inside { diff --git a/builder/docker/builder-alpine/Dockerfile b/builder/docker/builder-alpine/Dockerfile new file mode 100644 index 0000000..fe656cd --- /dev/null +++ b/builder/docker/builder-alpine/Dockerfile @@ -0,0 +1,2 @@ +FROM python:3.11-alpine +RUN apk add --no-cache git ca-certificates \ No newline at end of file diff --git a/builder/docker/live-helper/Dockerfile b/builder/docker/live-helper/Dockerfile new file mode 100644 index 0000000..2dc612e --- /dev/null +++ b/builder/docker/live-helper/Dockerfile @@ -0,0 +1,6 @@ +FROM lpenz/debian-lenny-i386-minbase:dbb13ddf3300 +ARG DEBIAN_FRONTEND=noninteractive +ARG ARCH=i386 +RUN apt-get update && \ + apt-get -y --force-yes install live-helper genisoimage syslinux squashfs-tools aptitude && \ + apt-get clean diff --git a/builder/docker/packages-builder-etch/Dockerfile b/builder/docker/packages-builder-etch/Dockerfile new file mode 100644 index 0000000..df10901 --- /dev/null +++ b/builder/docker/packages-builder-etch/Dockerfile @@ -0,0 +1,32 @@ +# building a modified Kernel + modules + libs +FROM lpenz/debian-etch-i386-minbase:3a679960e616 +ARG DEBIAN_FRONTEND=noninteractive +ARG ARCH=i386 +ARG CONCURRENCY_LEVEL=4 + +# Preparing Environment +RUN (echo "deb http://archive.debian.org/debian etch main contrib non-free" > /etc/apt/sources.list) && \ + (echo "deb-src http://archive.debian.org/debian etch main contrib non-free" >> /etc/apt/sources.list) && \ + mkdir -p /usr/src/modules &&\ + apt-get update && \ + apt-get install -y aptitude build-essential quilt cvs unzip git-core ncurses-dev\ + linux-headers-2.6.24-etchnhalf.1-686 \ + squashfs-source-etchnhalf \ + linux-source-2.6.24 && \ + apt-get build-dep -y linux-image-2.6.24-etchnhalf.1-686 && \ + apt-get clean + +# Preparing Kernel + patchs + modules +WORKDIR /usr/src +COPY unionfs-2.2.3_for_2.6.24.diff.gz ./ +RUN tar xjf linux-source-2.6.24.tar.bz2 && \ + tar xjf etchnhalf/squashfs.tar.bz2 && \ + ln -s linux-headers-2.6.24-etchnhalf.1-686/ linux-headers + +# Building Kernel + patchs + modules +WORKDIR /usr/src/linux-source-2.6.24 +COPY config-kernel ./ +RUN (zcat /usr/src/unionfs-2.2.3_for_2.6.24.diff.gz | patch -p1) && \ + (cat config-kernel > .config) && \ + make oldconfig &&\ + make-kpkg --initrd --arch $ARCH kernel_headers kernel_image modules_image \ No newline at end of file