59 lines
1.6 KiB
Bash
Executable File
59 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
VERSION=2024.4.3
|
|
APP=bitwarden-desktop
|
|
DEPOT=https://github.com/bitwarden/clients.git
|
|
GIT_VERSION=desktop-v${VERSION}
|
|
DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M)
|
|
DEBIAN_VERSION_CODENAME=bookworm
|
|
IMAGE_SIZE=8
|
|
PACKAGE_DEPENDENCY="pkg-config libsecret-1-dev yarn nodejs build-essential libglib2.0-dev"
|
|
|
|
main(){
|
|
base_package_upgrade
|
|
configure_depot_yarn
|
|
configure_depot_nodejs
|
|
install_package_dependency
|
|
install_rust
|
|
get_git_source
|
|
build
|
|
makedeb
|
|
}
|
|
|
|
build() {
|
|
source ~/.cargo/env
|
|
export PKG_CONFIG_ALL_STATIC=1
|
|
export PKG_CONFIG_ALLOW_CROSS=1
|
|
rustup target add x86_64-unknown-linux-musl
|
|
cd /tmp/${APP}
|
|
npm ci
|
|
cd /tmp/${APP}/apps/desktop/desktop_native/
|
|
npm run build -- --target x86_64-unknown-linux-musl
|
|
cd /tmp/${APP}/apps/desktop
|
|
PATH=$PATH:/tmp/${APP}/node_modules/.bin/
|
|
npm run clean:dist
|
|
npm run build
|
|
electron-builder --linux dir --x64 -p never
|
|
}
|
|
|
|
makedeb(){
|
|
PATH_DEB=/tmp/src/rootfs
|
|
|
|
mkdir -p ${PATH_DEB}/usr/lib/
|
|
mkdir -p ${PATH_DEB}/usr/bin/
|
|
mkdir -p ${PATH_DEB}/usr/share/doc/bitwarden/
|
|
|
|
cp -fr /tmp/${APP}/apps/desktop/dist/linux-unpacked ${PATH_DEB}/usr/lib/bitwarden-desktop
|
|
for tmp in /tmp/${APP}/apps/desktop/resources/icons/*
|
|
do
|
|
RESOLUTION=$(basename $tmp .png)
|
|
mkdir -p ${PATH_DEB}/usr/share/icons/hicolor/${RESOLUTION}/apps/
|
|
cp $tmp ${PATH_DEB}/usr/share/icons/hicolor/${RESOLUTION}/apps/bitwarden.png
|
|
done
|
|
ln -s /usr/lib/bitwarden-desktop/bitwarden ${PATH_DEB}/usr/bin/bitwarden
|
|
chmod u+s ${PATH_DEB}/usr/bin/bitwarden/chrome-sandbox
|
|
|
|
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
|
|
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
|
|
}
|