diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml index ac0b5fb..c21408d 100644 --- a/.onedev-buildspec.yml +++ b/.onedev-buildspec.yml @@ -35,12 +35,26 @@ jobs: - !CommandStep name: Build and Publish Deb Package runInContainer: true - image: onedev.site.tesses.net/dependencies/debbuilder:latest + image: onedev.site.tesses.net/dependencies/debbuilder/jammy:latest interpreter: !DefaultInterpreter commands: | cd Packaging/Linux - bash build-debian-amd64.sh - bash push-debian-amd64.sh + bash build-debian-jammy.sh + bash push-debian-jammy.sh + envVars: + - name: GITEA_AUTH + value: '@secret:GITEA_AUTH@' + useTTY: true + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !CommandStep + name: Build and Publish Deb Package (Plucky) + runInContainer: true + image: onedev.site.tesses.net/dependencies/debbuilder/plucky:latest + interpreter: !DefaultInterpreter + commands: | + cd Packaging/Linux + bash build-debian-plucky.sh + bash push-debian-plucky.sh envVars: - name: GITEA_AUTH value: '@secret:GITEA_AUTH@' diff --git a/Packaging/Linux/build-debian-amd64.sh b/Packaging/Linux/build-debian-amd64.sh deleted file mode 100644 index 30264c5..0000000 --- a/Packaging/Linux/build-debian-amd64.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -mkdir -p build -cd build -mkdir build-deb-amd64 -cmake -S ../../../ -B build-deb-amd64 -DCMAKE_INSTALL_PREFIX=/usr -cd build-deb-amd64 -make -j`nproc` -make install DESTDIR=../tessesframework_1.0.0_amd64 -mkdir -p ../tessesframework_1.0.0_amd64/DEBIAN -cp ../../debian/control-amd64 ../tessesframework_1.0.0_amd64/DEBIAN/control -cd ../ -dpkg-deb --build tessesframework_1.0.0_amd64 \ No newline at end of file diff --git a/Packaging/Linux/build-ubuntu-jammy.sh b/Packaging/Linux/build-ubuntu-jammy.sh new file mode 100644 index 0000000..6364892 --- /dev/null +++ b/Packaging/Linux/build-ubuntu-jammy.sh @@ -0,0 +1,46 @@ +#!/bin/bash +source ./version.sh +mkdir -p build/jammy +cd build/jammy +mkdir build-amd64 +cmake -S ../../../../ -B build-amd64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF +cd build-amd64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_amd64 +mkdir -p ../tessesframework_$DEB_VERSION\_amd64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_amd64/DEBIAN/control amd64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_amd64 + +# ARM64 +mkdir build-arm64 +cmake -S ../../../../ -B build-arm64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/arm64.cmake +cd build-arm64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_arm64 +mkdir -p ../tessesframework_$DEB_VERSION\_arm64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_arm64/DEBIAN/control arm64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_arm64 + +# RISCV64 +mkdir build-riscv64 +cmake -S ../../../../ -B build-riscv64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/riscv64.cmake +cd build-riscv64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_riscv64 +mkdir -p ../tessesframework_$DEB_VERSION\_riscv64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_riscv64/DEBIAN/control riscv64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_riscv64 + +# ARMHF +mkdir build-armhf +cmake -S ../../../../ -B build-armhf -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/riscv64.cmake +cd build-armhf +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_armhf +mkdir -p ../tessesframework_$DEB_VERSION\_armhf/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_armhf/DEBIAN/control armhf +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_armhf \ No newline at end of file diff --git a/Packaging/Linux/build-ubuntu-plucky.sh b/Packaging/Linux/build-ubuntu-plucky.sh new file mode 100644 index 0000000..b16d572 --- /dev/null +++ b/Packaging/Linux/build-ubuntu-plucky.sh @@ -0,0 +1,57 @@ +#!/bin/bash +source ./version.sh +mkdir -p build/plucky +cd build/plucky +mkdir build-amd64 +cmake -S ../../../../ -B build-amd64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF +cd build-amd64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_amd64 +mkdir -p ../tessesframework_$DEB_VERSION\_amd64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_amd64/DEBIAN/control amd64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_amd64 + +# ARM64 +mkdir build-arm64 +cmake -S ../../../../ -B build-arm64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/arm64.cmake +cd build-arm64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_arm64 +mkdir -p ../tessesframework_$DEB_VERSION\_arm64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_arm64/DEBIAN/control arm64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_arm64 + +# RISCV64 +mkdir build-riscv64 +cmake -S ../../../../ -B build-riscv64 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/riscv64.cmake +cd build-riscv64 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_riscv64 +mkdir -p ../tessesframework_$DEB_VERSION\_riscv64/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_riscv64/DEBIAN/control riscv64 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_riscv64 + +# ARMHF +mkdir build-armhf +cmake -S ../../../../ -B build-armhf -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/riscv64.cmake +cd build-armhf +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_armhf +mkdir -p ../tessesframework_$DEB_VERSION\_armhf/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_armhf/DEBIAN/control armhf +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_armhf + +# I386 +mkdir build-i386 +cmake -S ../../../../ -B build-i386 -DCMAKE_INSTALL_PREFIX=/usr -DTESSESFRAMEWORK_VENDERCERTCHAIN=OFF -DCMAKE_TOOLCHAIN_FILE=/opt/toolchains/riscv64.cmake +cd build-i386 +make -j`nproc` +make install DESTDIR=../tessesframework_$DEB_VERSION\_i386 +mkdir -p ../tessesframework_$DEB_VERSION\_i386/DEBIAN +bash ../../../make-control.sh ../tessesframework_$DEB_VERSION\_i386/DEBIAN/control i386 +cd ../ +dpkg-deb --build tessesframework_$DEB_VERSION\_i386 \ No newline at end of file diff --git a/Packaging/Linux/debian/control-amd64 b/Packaging/Linux/debian/control-amd64 deleted file mode 100644 index 828b0f1..0000000 --- a/Packaging/Linux/debian/control-amd64 +++ /dev/null @@ -1,8 +0,0 @@ -Package: tessesframework -Version: 1.0.0 -Architecture: amd64 -Essential: no -Priority: optional -Depends: libmbedtls-dev -Maintainer: Mike Nolan -Description: A cross platform wrapper library diff --git a/Packaging/Linux/make-control.sh b/Packaging/Linux/make-control.sh new file mode 100644 index 0000000..7b51694 --- /dev/null +++ b/Packaging/Linux/make-control.sh @@ -0,0 +1,8 @@ +echo "Package: tessesframework" > "$1" +echo "Version: $DEB_VERSION" >> "$1" +echo "Architecture: $2" >> "$1" +echo "Essential: no" >> "$1" +echo "Priority: optional" >> "$1" +echo "Depends: libmbedtls-dev" >> "$1" +echo "Maintainer: Mike Nolan" >> "$1" +echo "Description: A cross platform wrapper library" >> "$1" \ No newline at end of file diff --git a/Packaging/Linux/push-debian-amd64.sh b/Packaging/Linux/push-debian-amd64.sh deleted file mode 100644 index d9a1e36..0000000 --- a/Packaging/Linux/push-debian-amd64.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -curl --user tesses50:$GITEA_AUTH -X DELETE \ - https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/tessesframework/1.0.0/amd64 -curl --user tesses50:$GITEA_AUTH \ - --upload-file build/tessesframework_1.0.0_amd64.deb \ - https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload \ No newline at end of file diff --git a/Packaging/Linux/push-ubuntu-jammy.sh b/Packaging/Linux/push-ubuntu-jammy.sh new file mode 100644 index 0000000..e9ceb15 --- /dev/null +++ b/Packaging/Linux/push-ubuntu-jammy.sh @@ -0,0 +1,22 @@ +#!/bin/bash +source ./version.sh +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/tessesframework/$DEB_VERSION/amd64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/tessesframework/$DEB_VERSION/arm64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/tessesframework/$DEB_VERSION/riscv64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/tessesframework/$DEB_VERSION/armhf +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/jammy/tessesframework_$DEB_VERSION\_amd64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/jammy/tessesframework_$DEB_VERSION\_arm64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/jammy/tessesframework_$DEB_VERSION\_riscv64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/jammy/tessesframework_$DEB_VERSION\_armhf.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/jammy/main/upload \ No newline at end of file diff --git a/Packaging/Linux/push-ubuntu-plucky.sh b/Packaging/Linux/push-ubuntu-plucky.sh new file mode 100644 index 0000000..71054b1 --- /dev/null +++ b/Packaging/Linux/push-ubuntu-plucky.sh @@ -0,0 +1,27 @@ +#!/bin/bash +source ./version.sh +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/tessesframework/$DEB_VERSION/amd64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/tessesframework/$DEB_VERSION/arm64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/tessesframework/$DEB_VERSION/i386 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/tessesframework/$DEB_VERSION/riscv64 +curl --user tesses50:$GITEA_AUTH -X DELETE \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/tessesframework/$DEB_VERSION/armhf +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/tessesframework_$DEB_VERSION\_amd64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/tessesframework_$DEB_VERSION\_arm64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/tessesframework_$DEB_VERSION\_i386.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/tessesframework_$DEB_VERSION\_riscv64.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload +curl --user tesses50:$GITEA_AUTH \ + --upload-file build/plucky/tessesframework_$DEB_VERSION\_armhf.deb \ + https://git.tesseslanguage.com/api/packages/tesses50/debian/pool/plucky/main/upload \ No newline at end of file diff --git a/Packaging/Linux/version.sh b/Packaging/Linux/version.sh new file mode 100644 index 0000000..293fb1c --- /dev/null +++ b/Packaging/Linux/version.sh @@ -0,0 +1 @@ +export DEB_VERSION=1.0.0 \ No newline at end of file