From: Bastian Dehn Date: Fri, 24 Apr 2026 06:43:31 +0000 (+0200) Subject: build packages in build folder X-Git-Tag: 1.3.20^2~12 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=8b9f558ee43a1b767a0cf46cdb5c267650a9e486;p=feierabend.git build packages in build folder --- diff --git a/.gitignore b/.gitignore index 0ce4cb1..12a7e67 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ !builder/* -packages build .vscode \ No newline at end of file diff --git a/builder/Containerfile.template b/builder/Containerfile.template index d5fd40c..34ce729 100644 --- a/builder/Containerfile.template +++ b/builder/Containerfile.template @@ -1,10 +1,10 @@ FROM $distro RUN apt-get update \ -&& apt-get install -y build-essential cmake file \ -&& apt-get clean + && apt-get install -y build-essential cmake file \ + && apt-get clean RUN apt-get update \ -&& apt-get install -y libxml2-dev libcmocka-dev cppcheck \ -&& apt-get clean + && apt-get install -y libxml2-dev libcmocka-dev cppcheck \ + && apt-get clean COPY run /app/run RUN chmod 755 /app/run ENTRYPOINT /app/run \ No newline at end of file diff --git a/builder/builder b/builder/builder index 89df2ab..39bb959 100755 --- a/builder/builder +++ b/builder/builder @@ -1,25 +1,47 @@ #!/bin/bash +create_containerfile_template() +{ + local distro="$1" + local distro_postfix="$2" + + cat builder/Containerfile.template \ + | sed "s/\$distro/$distro/" \ + > build/Containerfile-$distro_postfix +} + +build_container_image() +{ + local distro_postfix="$1" + + podman build \ + -f build/Containerfile-$distro_postfix \ + -t feierabend-builder-$distro_postfix +} + +run_build_container() +{ + local distro_postfix="$1" + + podman run \ + --rm \ + -v ./:/src \ + -e SOLL_HOUR=$SOLL_HOUR \ + -e SOLL_MINUTES=$SOLL_MINUTES \ + feierabend-builder-$distro_postfix +} + main() { - local distros="debian:trixie debian:forky" + local distros="debian:stable debian:testing" mkdir -p build cp builder/run build/run for distro in $distros; do - local codename=${distro##*:} - cat builder/Containerfile.template \ - | sed "s/\$distro/$distro/" \ - > build/Containerfile-$codename - podman build \ - -f build/Containerfile-$codename \ - -t feierabend-builder-$codename - podman run \ - --rm \ - -v ./:/src \ - -e SOLL_HOUR=$SOLL_HOUR \ - -e SOLL_MINUTES=$SOLL_MINUTES \ - feierabend-builder-$codename + local distro_postfix=${distro/:/-} + create_containerfile_template "$distro" "$distro_postfix" || return $? + build_container_image "$distro_postfix" || return $? + run_build_container "$distro_postfix" || return $? done } diff --git a/builder/run b/builder/run index 19cb511..ca33009 100644 --- a/builder/run +++ b/builder/run @@ -13,7 +13,9 @@ build() local soll_minutes=${SOLL_MINUTES:="0"} mkdir -p /build && cd /build - cmake -DCMAKE_BUILD_TYPE=Release -DSOLL_HOUR="$soll_hour" -DSOLL_MINUTES="$soll_minutes" /src + cmake -DCMAKE_BUILD_TYPE=Release \ + -DSOLL_HOUR="$soll_hour" \ + -DSOLL_MINUTES="$soll_minutes" /src make -j$(nproc) package } @@ -21,16 +23,15 @@ rename_package() { cd /build local package_name=$(find . -maxdepth 1 -name '*.deb') - local new_package_name=${package_name/.deb/-${VERSION_CODENAME}.deb} - echo "$package_name -> $new_package_name" + local new_package_name=${package_name/.deb/-$ID-$VERSION_CODENAME.deb} + mv "$package_name" "$new_package_name" } copy_package() { cd /build - mkdir -p /src/packages - cp *.deb /src/packages + cp *.deb /src/build/ } main()