diff --git a/lib/exec_in_chroot.sh b/lib/exec_in_chroot.sh index 9256eef..17efa48 100755 --- a/lib/exec_in_chroot.sh +++ b/lib/exec_in_chroot.sh @@ -1,18 +1,8 @@ #!/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() { @@ -21,6 +11,11 @@ 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 } @@ -36,11 +31,6 @@ 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 0ee8fe4..15b6672 100755 --- a/ressources/authelia/debmaker +++ b/ressources/authelia/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=4.36.4 +VERSION=4.36.3 [ -e ./lib/function.sh ] && source ./lib/function.sh @@ -9,19 +9,24 @@ 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=6 +IMAGE_SIZE=4 -STEP="minimum_package envinit default_prebuild build makedeb" +STEP="envinit prebuild build makedeb" envinit() { - configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends build-essential nodejs + apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot build-essential + install_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 c20f554..1d64ea5 100755 --- a/ressources/bitwarden-desktop/debmaker +++ b/ressources/bitwarden-desktop/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=2022.8.1 +VERSION=2022.6.2 [ -e ./lib/function.sh ] && source ./lib/function.sh @@ -11,19 +11,27 @@ DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye IMAGE_SIZE=10 -STEP="minimum_package envinit default_prebuild build makedeb" +STEP="envinit 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 pkg-config libsecret-1-dev yarn nodejs + 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} } build() { cd /tmp/${APP} - npm ci + yarn install 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 7f13054..1967b9f 100755 --- a/ressources/element-web/debmaker +++ b/ressources/element-web/debmaker @@ -14,12 +14,11 @@ 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 yarn nodejs + apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot yarn nodejs } prebuild(){ diff --git a/ressources/gitea/debmaker b/ressources/gitea/debmaker index ccce49c..93c4e2b 100755 --- a/ressources/gitea/debmaker +++ b/ressources/gitea/debmaker @@ -11,17 +11,21 @@ DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye IMAGE_SIZE=5 -STEP="envinit default_prebuild build makedeb" +STEP="envinit prebuild build makedeb" envinit() { - minimum_package configure_depot_nodejs apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends build-essential nodejs + apt install -y --no-install-recommends git wget ca-certificates dpkg fakeroot 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 deleted file mode 100755 index 3d026b2..0000000 --- a/ressources/joplin-desktop/debmaker +++ /dev/null @@ -1,38 +0,0 @@ -#!/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=10 - -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-server/debmaker b/ressources/joplin-server/debmaker deleted file mode 100755 index 9f862e1..0000000 --- a/ressources/joplin-server/debmaker +++ /dev/null @@ -1,36 +0,0 @@ -#!/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=8 - -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/debmaker b/ressources/joplin/debmaker new file mode 100755 index 0000000..dbdfe0a --- /dev/null +++ b/ressources/joplin/debmaker @@ -0,0 +1,68 @@ +#!/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/joplin-desktop/rootfs/DEBIAN/changelog b/ressources/joplin/rootfs-desktop/DEBIAN/changelog similarity index 100% rename from ressources/joplin-desktop/rootfs/DEBIAN/changelog rename to ressources/joplin/rootfs-desktop/DEBIAN/changelog diff --git a/ressources/joplin-desktop/rootfs/DEBIAN/control b/ressources/joplin/rootfs-desktop/DEBIAN/control similarity index 100% rename from ressources/joplin-desktop/rootfs/DEBIAN/control rename to ressources/joplin/rootfs-desktop/DEBIAN/control diff --git a/ressources/joplin-desktop/rootfs/usr/bin/joplin b/ressources/joplin/rootfs-desktop/usr/bin/joplin similarity index 100% rename from ressources/joplin-desktop/rootfs/usr/bin/joplin rename to ressources/joplin/rootfs-desktop/usr/bin/joplin diff --git a/ressources/joplin-desktop/rootfs/usr/share/applications/joplin.desktop b/ressources/joplin/rootfs-desktop/usr/share/applications/joplin.desktop similarity index 100% rename from ressources/joplin-desktop/rootfs/usr/share/applications/joplin.desktop rename to ressources/joplin/rootfs-desktop/usr/share/applications/joplin.desktop diff --git a/ressources/joplin-desktop/rootfs/usr/share/joplin/joplin.png b/ressources/joplin/rootfs-desktop/usr/share/joplin/joplin.png similarity index 100% rename from ressources/joplin-desktop/rootfs/usr/share/joplin/joplin.png rename to ressources/joplin/rootfs-desktop/usr/share/joplin/joplin.png diff --git a/ressources/joplin-server/rootfs/DEBIAN/changelog b/ressources/joplin/rootfs-server/DEBIAN/changelog similarity index 100% rename from ressources/joplin-server/rootfs/DEBIAN/changelog rename to ressources/joplin/rootfs-server/DEBIAN/changelog diff --git a/ressources/joplin-server/rootfs/DEBIAN/conffiles b/ressources/joplin/rootfs-server/DEBIAN/conffiles similarity index 100% rename from ressources/joplin-server/rootfs/DEBIAN/conffiles rename to ressources/joplin/rootfs-server/DEBIAN/conffiles diff --git a/ressources/joplin-server/rootfs/DEBIAN/control b/ressources/joplin/rootfs-server/DEBIAN/control similarity index 100% rename from ressources/joplin-server/rootfs/DEBIAN/control rename to ressources/joplin/rootfs-server/DEBIAN/control diff --git a/ressources/joplin-server/rootfs/DEBIAN/postinst b/ressources/joplin/rootfs-server/DEBIAN/postinst similarity index 100% rename from ressources/joplin-server/rootfs/DEBIAN/postinst rename to ressources/joplin/rootfs-server/DEBIAN/postinst diff --git a/ressources/joplin-server/rootfs/etc/default/joplin-server b/ressources/joplin/rootfs-server/etc/default/joplin-server similarity index 100% rename from ressources/joplin-server/rootfs/etc/default/joplin-server rename to ressources/joplin/rootfs-server/etc/default/joplin-server diff --git a/ressources/joplin-server/rootfs/etc/systemd/system/joplin-server.service b/ressources/joplin/rootfs-server/etc/systemd/system/joplin-server.service similarity index 100% rename from ressources/joplin-server/rootfs/etc/systemd/system/joplin-server.service rename to ressources/joplin/rootfs-server/etc/systemd/system/joplin-server.service diff --git a/ressources/joplin-server/rootfs/usr/share/joplin-server/.gitkeep b/ressources/joplin/rootfs-server/usr/share/joplin-server/.gitkeep similarity index 100% rename from ressources/joplin-server/rootfs/usr/share/joplin-server/.gitkeep rename to ressources/joplin/rootfs-server/usr/share/joplin-server/.gitkeep diff --git a/ressources/vaultwarden-web/debmaker b/ressources/vaultwarden-web/debmaker index 0ce13bd..290d11b 100755 --- a/ressources/vaultwarden-web/debmaker +++ b/ressources/vaultwarden-web/debmaker @@ -1,35 +1,56 @@ #!/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=5 -DEPOT=https://github.com/dani-garcia/bw_web_builds.git +IMAGE_SIZE= +DEPOT=https://github.com/bitwarden/web.git -STEP="minimum_package envinit default_prebuild build makedeb" +STEP="envinit 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 + 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} } build() { cd /tmp/${APP} - echo web-$GIT_VERSION | ./package_web_vault.sh + npm install + npm run dist:oss:selfhost } makedeb(){ PATH_DEB=/tmp/src/rootfs - cp -fr /tmp/${APP}/web-vault/apps/web/build/* ${PATH_DEB}/usr/share/vaultwarden-web + cp -fr /tmp/${APP}/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 c6dbeaf..3ce13da 100755 --- a/ressources/vaultwarden/debmaker +++ b/ressources/vaultwarden/debmaker @@ -1,23 +1,30 @@ #!/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="minimum_package envinit default_prebuild build makedeb" +STEP="envinit prebuild build makedeb" envinit() { apt-get update apt-get dist-upgrade -y - apt install -y --no-install-recommends build-essential libmariadb-dev libpq-dev pkg-config libmysql++-dev - install_rust + 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} } build() {