diff --git a/extras/packaging/Jenkinsfile b/extras/packaging/Jenkinsfile index 2252cc69..a5fe296e 100644 --- a/extras/packaging/Jenkinsfile +++ b/extras/packaging/Jenkinsfile @@ -98,7 +98,7 @@ pipeline { axes { axis { name 'TARGET' - values 'ubuntu_22.04', 'ubuntu_24.04', 'debian_12', 'fedora_39', 'fedora_40'/*, 'almalinux_9'*/ + values 'ubuntu_22.04', 'ubuntu_24.04', 'ubuntu_24.10', 'debian_12', 'fedora_39', 'fedora_40'/*, 'almalinux_9'*/ } } stages { diff --git a/extras/packaging/build_packages.sh b/extras/packaging/build_packages.sh index b23ab982..86622aa6 100755 --- a/extras/packaging/build_packages.sh +++ b/extras/packaging/build_packages.sh @@ -24,6 +24,7 @@ build_ubuntu=false build_ubuntu20_04=false build_ubuntu22_04=false build_ubuntu24_04=false +build_ubuntu24_10=false build_debian=false build_debian10=false build_debian11=false @@ -46,7 +47,14 @@ parse_args() { -u22 | -u22.04 | --ubuntu22.04 ) build_ubuntu22_04=true build_ubuntu=true ;; - -u24 | -u24.04 | --ubuntu24.04 ) build_ubuntu24_04=true + -u24.04 | --ubuntu24.04 ) build_ubuntu24_04=true + build_ubuntu=true + ;; + -u24.10 | --ubuntu24.10 ) build_ubuntu24_10=true + build_ubuntu=true + ;; + -u24 ) build_ubuntu24_04=true + build_ubuntu24_10=true build_ubuntu=true ;; -d | --debian ) build_debian=true @@ -77,6 +85,7 @@ parse_args() { # not working: build_ubuntu20=true build_ubuntu22_04=true build_ubuntu24_04=true + build_ubuntu24_10=true build_debian=true # not working: build_debian10=true # not working: build_debian11=true @@ -148,6 +157,10 @@ build_target() { } # build Ubuntu package (deb-*) +if [ "$build_ubuntu24_10" == true ]; then + build_target "ubuntu_24.10" +fi + if [ "$build_ubuntu24_04" == true ]; then build_target "ubuntu_24.04" fi diff --git a/extras/packaging/gnu-linux/ubuntu_24.10.Dockerfile b/extras/packaging/gnu-linux/ubuntu_24.10.Dockerfile new file mode 100644 index 00000000..c27dace3 --- /dev/null +++ b/extras/packaging/gnu-linux/ubuntu_24.10.Dockerfile @@ -0,0 +1,35 @@ +FROM ubuntu:24.10 + +WORKDIR /build + +ENV EMAIL="contact@savoirfairelinux.com" +ENV DEBFULLNAME="Savoir-faire Linux" + +RUN apt-get update && \ + echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y \ + dialog apt-utils make devscripts build-essential debmake lintian \ + && apt-get clean && \ + mkdir -p /build/artifacts + +RUN apt-get update && apt-get install -y \ + build-essential pkg-config cmake dpkg-dev gcc g++ git wget \ + libtool autotools-dev autoconf automake sbuild autopkgtest debhelper debhelper-compat \ + cython3 python3-dev python3-setuptools python3-build python3-virtualenv \ + libncurses5-dev libreadline-dev nettle-dev libcppunit-dev \ + libgnutls28-dev libuv1-dev libjsoncpp-dev libargon2-dev libunistring-dev \ + libssl-dev libfmt-dev libasio-dev libmsgpack-dev libyaml-cpp-dev \ + libupnp-dev libnatpmp-dev \ + systemd libzstd-dev\ + && apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/* + +ARG PKG_NAME +COPY deb-${PKG_NAME}.tar.gz /build/${PKG_NAME}.tar.gz + +CMD tar -xzf ${PKG_NAME}.tar.gz && \ + cd ${PKG_NAME} && \ + debmake -b "dhtnet:bin" -y && \ + debuild && \ + cd .. && \ + rm -Rf ${PKG_NAME} ${PKG_NAME}.tar.gz && \ + cp /build/*.deb /build/artifacts/