diff --git a/lib/exec_in_chroot.sh b/lib/exec_in_chroot.sh index 17efa48..9256eef 100755 --- a/lib/exec_in_chroot.sh +++ b/lib/exec_in_chroot.sh @@ -1,8 +1,18 @@ #!/bin/bash +minimum_package() { + apt update + apt install -y git wget ca-certificates dpkg fakeroot gnupg +} + +default_prebuild(){ + [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} + git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} +} configure_depot_yarn() { echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list + wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg } configure_depot_nodejs() { @@ -11,11 +21,6 @@ configure_depot_nodejs() { grep -q 16.x /etc/apt/sources.list.d/nodesource.list if [ $? -ne 0 ] then - if [ ! -e /usr/bin/wget ] - then - apt update - apt install wget - fi wget -qO - https://deb.nodesource.com/setup_${NODE_VERSION} | bash fi } @@ -31,6 +36,11 @@ install_go() { fi } +install_rust() { + wget -qO - https://sh.rustup.rs > /tmp/rustup + bash /tmp/rustup -qy +} + if [ ! "$1" == "" ]; then diff --git a/ressources/authelia/debmaker b/ressources/authelia/debmaker index 15b6672..0ee8fe4 100755 --- a/ressources/authelia/debmaker +++ b/ressources/authelia/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=4.36.3 +VERSION=4.36.4 [ -e ./lib/function.sh ] && source ./lib/function.sh @@ -9,24 +9,19 @@ DEPOT=https://github.com/authelia/authelia.git GIT_VERSION=v${VERSION} DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye -IMAGE_SIZE=4 +IMAGE_SIZE=6 -STEP="envinit prebuild build makedeb" +STEP="minimum_package envinit default_prebuild build makedeb" envinit() { + configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot build-essential - install_nodejs + apt install -y --no-install-recommends build-essential nodejs install_go wget -qO - https://get.pnpm.io/install.sh | sh - } -prebuild(){ - [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} -} - build() { cd /tmp/${APP}/ PATH=$PATH:/usr/local/go/bin:/root/.local/share/pnpm diff --git a/ressources/bitwarden-desktop/debmaker b/ressources/bitwarden-desktop/debmaker index 1d64ea5..c20f554 100755 --- a/ressources/bitwarden-desktop/debmaker +++ b/ressources/bitwarden-desktop/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=2022.6.2 +VERSION=2022.8.1 [ -e ./lib/function.sh ] && source ./lib/function.sh @@ -11,27 +11,19 @@ DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye IMAGE_SIZE=10 -STEP="envinit prebuild build makedeb" +STEP="minimum_package envinit default_prebuild build makedeb" envinit() { + configure_depot_yarn + configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends git wget ca-certificates dpkg build-essential pkg-config libsecret-1-dev fakeroot - wget -qO - https://deb.nodesource.com/setup_16.x | bash - wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg - echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list - apt-get update - apt-get install -y yarn nodejs -} - -prebuild(){ - [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} + apt install -y --no-install-recommends build-essential pkg-config libsecret-1-dev yarn nodejs } build() { cd /tmp/${APP} - yarn install + npm ci cd /tmp/${APP}/apps/desktop PATH=$PATH:/tmp/${APP}/node_modules/.bin/ npm run clean:dist diff --git a/ressources/element-web/debmaker b/ressources/element-web/debmaker index 1967b9f..7f13054 100755 --- a/ressources/element-web/debmaker +++ b/ressources/element-web/debmaker @@ -14,11 +14,12 @@ IMAGE_SIZE=4 STEP="envinit prebuild build makedeb" envinit() { + minimum_package configure_depot_yarn configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot yarn nodejs + apt install -y --no-install-recommends yarn nodejs } prebuild(){ diff --git a/ressources/gitea/debmaker b/ressources/gitea/debmaker index 93c4e2b..ccce49c 100755 --- a/ressources/gitea/debmaker +++ b/ressources/gitea/debmaker @@ -11,21 +11,17 @@ DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye IMAGE_SIZE=5 -STEP="envinit prebuild build makedeb" +STEP="envinit default_prebuild build makedeb" envinit() { + minimum_package configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot build-essential nodejs + apt install -y --no-install-recommends build-essential nodejs install_go } -prebuild(){ - [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} -} - build() { cd /tmp/${APP}/ PATH=$PATH:/usr/local/go/bin diff --git a/ressources/joplin-desktop/debmaker b/ressources/joplin-desktop/debmaker new file mode 100755 index 0000000..7d830d0 --- /dev/null +++ b/ressources/joplin-desktop/debmaker @@ -0,0 +1,38 @@ +#!/bin/bash + +VERSION=2.9.2 + +[ -e ./lib/function.sh ] && source ./lib/function.sh + +APP=joplin-desktop +GIT_VERSION=v${VERSION} +DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) +DEPOT=https://github.com/laurent22/joplin.git +DEBIAN_VERSION_CODENAME=bullseye +IMAGE_SIZE=14 + +STEP="minimum_package envinit default_prebuild build makedeb" + +envinit() { + configure_depot_yarn + configure_depot_nodejs + apt-get update + apt-get dist-upgrade -y + apt install -y --no-install-recommends build-essential python nodejs rsync yarn +} + +build() { + rm -fr /tmp/${APP}/packages/app-mobile + cd /tmp/${APP}/ + BUILD_SEQUENCIAL=1 yarn install + cd packages/app-desktop + npm run dist +} + +makedeb(){ + PATH_DEB=/tmp/src/rootfs/ + + cp /tmp/joplin-desktop/packages/app-desktop/dist/Joplin-*.AppImage ${PATH_DEB}/usr/share/joplin/Joplin.AppImage + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} diff --git a/ressources/joplin/rootfs-desktop/DEBIAN/changelog b/ressources/joplin-desktop/rootfs/DEBIAN/changelog similarity index 100% rename from ressources/joplin/rootfs-desktop/DEBIAN/changelog rename to ressources/joplin-desktop/rootfs/DEBIAN/changelog diff --git a/ressources/joplin/rootfs-desktop/DEBIAN/control b/ressources/joplin-desktop/rootfs/DEBIAN/control similarity index 100% rename from ressources/joplin/rootfs-desktop/DEBIAN/control rename to ressources/joplin-desktop/rootfs/DEBIAN/control diff --git a/ressources/joplin/rootfs-desktop/usr/bin/joplin b/ressources/joplin-desktop/rootfs/usr/bin/joplin similarity index 100% rename from ressources/joplin/rootfs-desktop/usr/bin/joplin rename to ressources/joplin-desktop/rootfs/usr/bin/joplin diff --git a/ressources/joplin/rootfs-desktop/usr/share/applications/joplin.desktop b/ressources/joplin-desktop/rootfs/usr/share/applications/joplin.desktop similarity index 100% rename from ressources/joplin/rootfs-desktop/usr/share/applications/joplin.desktop rename to ressources/joplin-desktop/rootfs/usr/share/applications/joplin.desktop diff --git a/ressources/joplin/rootfs-desktop/usr/share/joplin/joplin.png b/ressources/joplin-desktop/rootfs/usr/share/joplin/joplin.png similarity index 100% rename from ressources/joplin/rootfs-desktop/usr/share/joplin/joplin.png rename to ressources/joplin-desktop/rootfs/usr/share/joplin/joplin.png diff --git a/ressources/joplin-server/debmaker b/ressources/joplin-server/debmaker new file mode 100755 index 0000000..7d6a88b --- /dev/null +++ b/ressources/joplin-server/debmaker @@ -0,0 +1,36 @@ +#!/bin/bash + +VERSION=2.7.4 + +[ -e ./lib/function.sh ] && source ./lib/function.sh + +APP=joplin-server +GIT_VERSION=server-v${VERSION} +DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) +DEPOT=https://github.com/laurent22/joplin.git +DEBIAN_VERSION_CODENAME=bullseye +IMAGE_SIZE=14 + +STEP="minimum_package envinit default_prebuild build makedeb" + +envinit() { + configure_depot_yarn + configure_depot_nodejs + apt-get update + apt-get dist-upgrade -y + apt install -y --no-install-recommends build-essential python nodejs rsync yarn +} + +build() { + rm -fr /tmp/${APP}/packages/app-mobile + cd /tmp/${APP}/ + BUILD_SEQUENCIAL=1 yarn install +} + +makedeb(){ + PATH_DEB=/tmp/src/rootfs/ + + cp -fr /tmp/joplin-server/packages/{lib,turndown-plugin-gfm,turndown,htmlpack,fork-uslug,fork-sax,renderer,fork-htmlparser2,tools,server} ${PATH_DEB}/usr/share/joplin-server/ + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} diff --git a/ressources/joplin/rootfs-server/DEBIAN/changelog b/ressources/joplin-server/rootfs/DEBIAN/changelog similarity index 100% rename from ressources/joplin/rootfs-server/DEBIAN/changelog rename to ressources/joplin-server/rootfs/DEBIAN/changelog diff --git a/ressources/joplin/rootfs-server/DEBIAN/conffiles b/ressources/joplin-server/rootfs/DEBIAN/conffiles similarity index 100% rename from ressources/joplin/rootfs-server/DEBIAN/conffiles rename to ressources/joplin-server/rootfs/DEBIAN/conffiles diff --git a/ressources/joplin/rootfs-server/DEBIAN/control b/ressources/joplin-server/rootfs/DEBIAN/control similarity index 100% rename from ressources/joplin/rootfs-server/DEBIAN/control rename to ressources/joplin-server/rootfs/DEBIAN/control diff --git a/ressources/joplin/rootfs-server/DEBIAN/postinst b/ressources/joplin-server/rootfs/DEBIAN/postinst similarity index 100% rename from ressources/joplin/rootfs-server/DEBIAN/postinst rename to ressources/joplin-server/rootfs/DEBIAN/postinst diff --git a/ressources/joplin/rootfs-server/etc/default/joplin-server b/ressources/joplin-server/rootfs/etc/default/joplin-server similarity index 100% rename from ressources/joplin/rootfs-server/etc/default/joplin-server rename to ressources/joplin-server/rootfs/etc/default/joplin-server diff --git a/ressources/joplin/rootfs-server/etc/systemd/system/joplin-server.service b/ressources/joplin-server/rootfs/etc/systemd/system/joplin-server.service similarity index 100% rename from ressources/joplin/rootfs-server/etc/systemd/system/joplin-server.service rename to ressources/joplin-server/rootfs/etc/systemd/system/joplin-server.service diff --git a/ressources/joplin/rootfs-server/usr/share/joplin-server/.gitkeep b/ressources/joplin-server/rootfs/usr/share/joplin-server/.gitkeep similarity index 100% rename from ressources/joplin/rootfs-server/usr/share/joplin-server/.gitkeep rename to ressources/joplin-server/rootfs/usr/share/joplin-server/.gitkeep diff --git a/ressources/joplin/debmaker b/ressources/joplin/debmaker deleted file mode 100755 index dbdfe0a..0000000 --- a/ressources/joplin/debmaker +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -GIT_VERSION=v2.9.1 -DEB_VERSION_DESKTOP=2.9.1-$(date +%Y%m%d%H%M) -DEB_VERSION_SERVER=2.7.8-$(date +%Y%m%d%H%M) - -[ -e ./lib/function.sh ] && source ./lib/function.sh - -APP=joplin -DEPOT=https://github.com/laurent22/joplin.git -DEBIAN_VERSION_CODENAME=bullseye -IMAGE_SIZE=14 - -STEP="envinit prebuild build makedeb" - -envinit() { - apt-get update - if [ $(dpkg -l | grep -e 'ii build-essential ' | wc -l) -eq 1 ]; - then - apt-get dist-upgrade -y - else - apt install -y --no-install-recommends build-essential git python wget ca-certificates rsync fakeroot dpkg - wget -qO - https://deb.nodesource.com/setup_16.x | bash - wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg - echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list - apt-get update - apt-get install -y yarn nodejs - fi -} - -prebuild(){ - [ -e /tmp/git ] && rm -fr /tmp/git - [ -e /tmp/${APP} ] || mkdir /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/git - cp -r /tmp/git/. /tmp/${APP} - rm -fr /tmp/${APP}/packages/app-mobile -} - -build() { - cd /tmp/${APP}/ - rm packages/app-desktop/dist/Joplin-*.AppImage - BUILD_SEQUENCIAL=1 yarn install - cd packages/app-desktop - npm run dist -} - -makedeb(){ - PATH_DEB=/tmp/src/rootfs-server/ - - cp -fr /tmp/joplin/packages/lib ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/turndown-plugin-gfm ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/turndown ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/htmlpack ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/fork-uslug ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/fork-sax ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/renderer ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/fork-htmlparser2 ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/tools ${PATH_DEB}/usr/share/joplin-server/ - cp -fr /tmp/joplin/packages/server ${PATH_DEB}/usr/share/joplin-server/ - sed -i "s/%VERSION%/$DEB_VERSION_SERVER/" ${PATH_DEB}/DEBIAN/control - fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist - - PATH_DEB=/tmp/src/rootfs-desktop/ - - cp /tmp/joplin/packages/app-desktop/dist/Joplin-*.AppImage ${PATH_DEB}/usr/share/joplin/Joplin.AppImage - sed -i "s/%VERSION%/$DEB_VERSION_DESKTOP/" ${PATH_DEB}/DEBIAN/control - fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist -} diff --git a/ressources/vaultwarden-web/debmaker b/ressources/vaultwarden-web/debmaker index 290d11b..d808687 100755 --- a/ressources/vaultwarden-web/debmaker +++ b/ressources/vaultwarden-web/debmaker @@ -1,56 +1,35 @@ #!/bin/bash +VERSION=2022.6.2 + [ -e ./lib/function.sh ] && source ./lib/function.sh APP=vaultwarden-web -VERSION=2.28.1 GIT_VERSION=v$VERSION DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye -IMAGE_SIZE= -DEPOT=https://github.com/bitwarden/web.git +IMAGE_SIZE=10 +DEPOT=https://github.com/dani-garcia/bw_web_builds.git -STEP="envinit prebuild build makedeb" +STEP="minimum_package envinit default_prebuild build makedeb" envinit() { + configure_depot_yarn + configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends wget fakeroot dpkg ca-certificates build-essential git python - wget -qO - https://deb.nodesource.com/setup_16.x | bash - apt-get update - apt-get install -y nodejs - apt clean -} - -prebuild(){ - [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} - - cd /tmp/${APP} - git submodule update --init --recursive - cd .. - - git clone https://github.com/dani-garcia/bw_web_builds.git - cd bw_web_builds - PATCH=$(git tag --sort=v:refname | tail -n1) - git checkout ${PATCH} - PATCH_FILE=$(ls patches/ | sort -V | tail -n 1) - cp patches/${PATCH_FILE} ../web-vault/ - - /tmp/${APP} - git apply ${PATCH_FILE} + apt install -y --no-install-recommends build-essential python nodejs } build() { cd /tmp/${APP} - npm install - npm run dist:oss:selfhost + echo web-$GIT_VERSION | ./package_web_vault.sh } makedeb(){ PATH_DEB=/tmp/src/rootfs - cp -fr /tmp/${APP}/build/* ${PATH_DEB}/usr/share/vaultwarden-web + cp -fr /tmp/${APP}/web-vault/apps/web/build/* ${PATH_DEB}/usr/share/vaultwarden-web sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist } diff --git a/ressources/vaultwarden/debmaker b/ressources/vaultwarden/debmaker index 3ce13da..c6dbeaf 100755 --- a/ressources/vaultwarden/debmaker +++ b/ressources/vaultwarden/debmaker @@ -1,30 +1,23 @@ #!/bin/bash +VERSION=1.25.2 + [ -e ./lib/function.sh ] && source ./lib/function.sh APP=vaultwarden -VERSION=1.25.0 GIT_VERSION=$VERSION DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye IMAGE_SIZE=8 DEPOT=https://github.com/dani-garcia/vaultwarden.git -STEP="envinit prebuild build makedeb" +STEP="minimum_package envinit default_prebuild build makedeb" envinit() { apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends build-essential git wget fakeroot dpkg ca-certificates libmariadb-dev libpq-dev pkg-config libmysql++-dev - cd /tmp - wget -qO - https://sh.rustup.rs > rustup - bash rustup -qy - apt clean -} - -prebuild(){ - [ -e /tmp/${APP} ] && rm -fr /tmp/${APP} - git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP} + apt install -y --no-install-recommends build-essential libmariadb-dev libpq-dev pkg-config libmysql++-dev + install_rust } build() {