Compare commits

..

No commits in common. "dd50775655c763ce82f80d55b2c5bca141415461" and "637a60c3bf37c322b7209ac0d5d6bca7126f07b3" have entirely different histories.

33 changed files with 327 additions and 301 deletions

View File

@ -1,5 +1,5 @@
## DEBMAKER
The main goal of this repository is allow to create application from source without install compilation utility directly on the main system.
The main goal of this repository is allow to create application from source without install all compilation utility directly on the main system.
All package are install in folder in chroot environnement with only one script.
### Requirement
@ -10,15 +10,14 @@ All package are install in folder in chroot environnement with only one script.
```bash
. vaultwarden2deb
debmake_runAllStep
allstep
```
### package are available without compilation
- [joplin-server](#joplin-server)
- [gotify](#gotify)
- [rss-bridge](#rss-bridge)
- [vaultwarden and vaultwarden-web](#vaultwarden-and-vaultwarden-web)
- [vaultwarden](#vaultwarden)
- [zigbee2mqtt](#zigbee2mqtt)
- [element-web](#element-web)
@ -36,18 +35,6 @@ apt-get install -y joplin-server
systemctl enable --now joplin-server
```
#### gotify
```bash
apt install -y python wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y gotify-server
#Edit /etc/gotify/config.yml
systemctl enable --now gotify
```
#### rss-bridge
@ -67,7 +54,7 @@ systemctl restart apache2
```
#### vaultwarden and vaultwarden-web
#### vaultwarden
```bash
wget -qO - https://deb.lgy.fr/install.sh | bash

View File

@ -5,6 +5,5 @@ VERSION=4.33.2
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-4
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=4
source ./lib/function.sh

View File

@ -1,10 +1,9 @@
#!/bin/bash
APP=element-web
VERSION=1.10.4
VERSION=1.10.2
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-1
DEB_VERSION=$VERSION-2
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -3,9 +3,8 @@
APP=gotify
VERSION=2.1.4
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-2
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=4
source ./lib/function.sh

View File

@ -4,6 +4,5 @@ VERSION=3.2.0
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-5
DEBIAN_VERSION_CODENAME=sid
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -1,11 +1,9 @@
#!/bin/bash
APP=joplin-server
VERSION=2.7.4
GIT_VERSION=server-v$VERSION
DEB_VERSION=$VERSION-2
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=6
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=2.7.12
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -1,9 +0,0 @@
#!/bin/bash
if [ ! "$1" == "" ];
then
source /tmp/dist/$1
shift
FUNC=$1
shift
${FUNC} $*
fi

View File

@ -1,108 +1,133 @@
#!/bin/bash
source ressources/${APP}/${APP}
CACHE_APP=cache/${APP}/
MOUNT_APP=/mnt/debmaker/${APP}/
CACHE_STEP1=cache/${DEBIAN_VERSION_CODENAME}
CACHE_STEP2=cache/${APP}/envinit
CACHE_STEP3=cache/${APP}/prebuild
CACHE_STEP4=cache/${APP}/build
[ -d ${CACHE_APP} ] || mkdir -p ${CACHE_APP}
########################## SUB FUNCTION ##########################
valideStep(){
CURRENT_STEP=$1
RESULT=0
for tmp in ${STEP}
do
if [ $tmp == ${CURRENT_STEP} ] ; then
RESULT=1
break
fi
done
if [ $RESULT -eq 0 ]
then
echo invalid step
#DownloadOs
step1() {
if [ ! -e ${CACHE_STEP1} ]
then
mkdir -p ${CACHE_STEP1}/proc
mount -t proc proc ${CACHE_STEP1}/proc
sleep 2
debootstrap ${DEBIAN_VERSION_CODENAME} ${CACHE_STEP1}
umount ${CACHE_STEP1}/proc
fi
}
getSizeImage(){
[ "${IMAGE_SIZE}" == "" ] && IMAGE_SIZE=2
#InstallOs
step2(){
if [ ! -e ${CACHE_STEP2} ] ; then
mkdir -p ${CACHE_APP}
cp -a ${CACHE_STEP1}/ ${CACHE_STEP2}
cp ressources/${APP}/${APP} ${CACHE_STEP2}/tmp/make
mount -t proc proc ${CACHE_STEP2}/proc
sleep 2
chroot ${CACHE_STEP2} /tmp/make envinit
umount ${CACHE_STEP2}/proc
rm ${CACHE_STEP2}/tmp/${APP}
fi
}
createImage(){
dd if=/dev/zero of=${CACHE_APP}/os bs=1G count=${IMAGE_SIZE}
sudo mkfs.ext4 ${CACHE_APP}/os
#ConfigureBeforeBuild
step3(){
if [ ! -e ${CACHE_STEP3} ]; then
cp -a ${CACHE_STEP2} ${CACHE_STEP3}
cp ressources/${APP}/${APP} ${CACHE_STEP3}/tmp/make
chroot ${CACHE_STEP3} /tmp/make prebuild ${GIT_VERSION}
rm ${CACHE_STEP3}/tmp/make
fi
}
previousStep(){
CURRENT_STEP=$1
TMP_STEP=os;
for tmp in ${STEP}
do
PREV=${TMP_STEP}
TMP_STEP=$tmp
if [ $tmp == $CURRENT_STEP ] ; then
break
fi
done
echo $PREV
#Build
step4(){
if [ ! -e ${CACHE_STEP4} ] ; then
cp -a ${CACHE_STEP3} ${CACHE_STEP4}
cp ressources/${APP}/${APP} ${CACHE_STEP4}/tmp/make
mount -t proc proc ${CACHE_STEP4}/proc/
sleep 2
chroot ${CACHE_STEP4} /tmp/make build
umount ${CACHE_STEP4}/proc/
rm ${CACHE_STEP4}/tmp/make
fi
}
########################## FUNCTION ##########################
debmake_mountStep(){
CURRENT_STEP=$1
[ -d ${MOUNT_APP}/${CURRENT_STEP} ] || sudo mkdir -p ${MOUNT_APP}/${CURRENT_STEP}
sudo mount ${CACHE_APP}/${CURRENT_STEP} ${MOUNT_APP}/${CURRENT_STEP}
[ -d ${MOUNT_APP}/${CURRENT_STEP}/proc ] || sudo mkdir -p ${MOUNT_APP}/${CURRENT_STEP}/proc
sudo mount -t proc proc ${MOUNT_APP}/${CURRENT_STEP}/proc
[ -d ${MOUNT_APP}/${CURRENT_STEP}/sys ] || sudo mkdir -p ${MOUNT_APP}/${CURRENT_STEP}/sys
sudo mount -t sysfs sys ${MOUNT_APP}/${CURRENT_STEP}/sys
sleep 2
#PackageDeb
step5(){
rm -fr dist/${APP}
mkdir dist/${APP}
cp -pfr ressources/${APP}/rootfs/* dist/$APP/
bash ressources/${APP}/${APP} makedeb ${CACHE_STEP4} dist/${APP} ${GIT_VERSION}
sed -i "s/%VERSION%/$DEB_VERSION/" dist/${APP}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build dist/${APP} dist
rm -fr dist/${APP}
}
debmake_umountStep(){
CURRENT_STEP=$1
sudo umount ${MOUNT_APP}/${CURRENT_STEP}/sys
sudo umount ${MOUNT_APP}/${CURRENT_STEP}/proc
sudo umount ${MOUNT_APP}/${CURRENT_STEP}
allstep(){
step1
step2
step3
step4
step5
}
debmake_chrootStep(){
CURRENT_STEP=$1
debmake_mountStep ${CURRENT_STEP}
[ -d ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist/${APP} ] && sudo rm -rf ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist/
sudo mkdir -p ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist
sudo cp -fr ressources/${APP}/* ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist
sudo cp -fr lib/exec_in_chroot.sh ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist
shift
sudo chroot ${MOUNT_APP}${CURRENT_STEP}/ $*
find ${MOUNT_APP}${CURRENT_STEP}/tmp/dist/ -name *.deb -exec cp {} dist/ \;
debmake_umountStep ${CURRENT_STEP}
DeleteStep1(){
rm -fr ${CACHE_STEP1} ${CACHE_STEP2} ${CACHE_STEP3} ${CACHE_STEP4}
}
DeleteStep2(){
rm -fr ${CACHE_STEP2} ${CACHE_STEP3} ${CACHE_STEP4}
}
DeleteStep3(){
rm -fr ${CACHE_STEP3} ${CACHE_STEP4}
}
DeleteStep4(){
rm -fr ${CACHE_STEP4}
}
########################## FUNCTION ##########################
debmake_runStepOS() {
CURRENT_STEP=os
getSizeImage
createImage
debmake_mountStep ${CURRENT_STEP}
sudo debootstrap ${DEBIAN_VERSION_CODENAME} ${MOUNT_APP}/os/
debmake_umountStep ${CURRENT_STEP}
StartFromStep1(){
DeleteStep1
allstep
}
debmake_runStepCustom() {
CURRENT_STEP=$1
valideStep ${CURRENT_STEP}
PREVIOUS=$(previousStep ${CURRENT_STEP})
echo -n copy PREVIOUS in $PREVIOUS ...
cp ${CACHE_APP}/${PREVIOUS} ${CACHE_APP}/${CURRENT_STEP}
echo ": OK"
debmake_chrootStep $1 /tmp/dist/exec_in_chroot.sh ${APP} ${CURRENT_STEP} ${GIT_VERSION} ${DEB_VERSION}
StartFromStep2(){
DeleteStep2
allstep
}
debmake_runAllStep(){
debmake_runStepOS
for tmp in ${STEP}
do
debmake_runStepCustom $tmp
done
StartFromStep3(){
DeleteStep3
allstep
}
StartFromStep4(){
DeleteStep4
allstep
}
GotoStep1(){
chroot ${CACHE_STEP1}
}
GotoStep2(){
chroot ${CACHE_STEP2}
}
GotoStep3(){
chroot ${CACHE_STEP3}
}
GotoStep4(){
mount -t proc proc ${CACHE_STEP4}/proc/
chroot ${CACHE_STEP4}
umount ${CACHE_STEP4}/proc/
}
Clean(){
rm -fr cache/*
}
CleanAll(){
rm -fr cache/*
}

View File

@ -5,6 +5,5 @@ VERSION=0.2.4
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -1,34 +1,40 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git wget ca-certificates dpkg fakeroot
apt install -y build-essential git wget ca-certificates
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 nodejs
wget -qO - https://go.dev/dl/go1.17.7.linux-amd64.tar.gz | tar -C /usr/local -xz
wget -qO - https://go.dev/dl/go1.17.3.linux-amd64.tar.gz | tar -C /usr/local -xz
wget -qO - https://get.pnpm.io/install.sh | sh -
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/authelia/authelia.git /tmp/authelia
VERSION=$1
cd /tmp/
git clone https://github.com/authelia/authelia.git
cd authelia/
git checkout $VERSION
}
build() {
cd /tmp/authelia/
PATH=$PATH:/usr/local/go/bin:/root/.local/share/pnpm
./cmd/authelia-scripts/authelia-scripts build
. /root/.bashrc
PATH=$PATH:/usr/local/go/bin bash bootstrap.sh
PATH=$PATH:/usr/local/go/bin ./cmd/authelia-scripts/authelia-scripts build
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp /tmp/authelia/dist/authelia ${PATH_DEB}/usr/bin/authelia
cp /tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp ${PATH_BUILD}/tmp/authelia/dist/authelia ${PATH_DEB}/usr/bin/authelia
cp ${PATH_BUILD}/tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,9 +1,7 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git python wget ca-certificates
apt install -y build-essential git python wget ca-certificates
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
@ -12,8 +10,11 @@ envinit() {
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/vector-im/element-web.git /tmp/element-web
VERSION=$1
cd /tmp/
git clone https://github.com/vector-im/element-web.git
cd element-web/
git checkout $VERSION
}
build() {
@ -23,12 +24,14 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
tar -zxf /tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/
cp /tmp/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
tar -zxf ${PATH_BUILD}/tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/
cp ${PATH_DEB}/usr/lib/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,40 +1,38 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git wget ca-certificates dpkg fakeroot
apt install -y build-essential git wget ca-certificates
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 nodejs yarn
wget -qO - https://go.dev/dl/go1.17.7.linux-amd64.tar.gz | tar -C /usr/local -xz
wget -qO - https://go.dev/dl/go1.17.6.linux-amd64.tar.gz | tar -C /usr/local -xz
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/gotify/server.git /tmp/server
VERSION=$1
cd /tmp/
git clone https://github.com/gotify/server.git
cd server/
git checkout ${VERSION}
}
build() {
cd /tmp/server/
PATH=${PATH}:/usr/local/go/bin
export GO111MODULE=on
make download-tools
go get -d
(cd ui && yarn && yarn build)
go run hack/packr/packr.go
go build -ldflags="$LD_FLAGS" -o gotify-server
. /root/.bashrc
PATH=${PATH}:/usr/local/go/bin make
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
cp /tmp/server/gotify-server ${PATH_DEB}/usr/bin/
cp /tmp/server/config.example.yml ${PATH_DEB}/etc/gotify/config.yml
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB}/ /tmp/dist/
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp ${PATH_BUILD}/tmp/gotify/dist/gotify ${PATH_DEB}/usr/bin/gotify
cp ${PATH_BUILD}/tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1 +1 @@
/etc/gotify/config.yml
/etc/authelia/configuration.yml

View File

@ -1,7 +1,7 @@
Package: gotify-server
Package: gotify
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: gotify-server
Description: gotify

View File

@ -1,4 +1,4 @@
#!/bin/bash
id gotify &> /dev/null || useradd gotify -r -s /bin/false -md /var/lib/gotify
id authelia &> /dev/null || useradd authelia -r -s /bin/false

View File

@ -6,8 +6,8 @@ After=network.target
[Service]
User=gotify
Group=gotify
ExecStart=/usr/bin/gotify-server
WorkingDirectory=/var/lib/gotify-server
ExecStart=/usr/bin/gotify-linux-amd64
WorkingDirectory=/usr/lib/gotify
[Install]
WantedBy=multi-user.target

View File

@ -1,9 +1,7 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt-get install -y --no-install-recommends wget ca-certificates gnupg2 composer git php-simplexml php-gd fakeroot dpkg
apt-get install -y wget ca-certificates gnupg2 composer git php-simplexml php-gd
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
@ -11,8 +9,10 @@ envinit() {
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/grocy/grocy.git /tmp/grocy/
VERSION=$1
git clone https://github.com/grocy/grocy.git /tmp/grocy
cd /tmp/grocy/
git checkout $VERSION
}
build() {
@ -23,17 +23,18 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
find /tmp/grocy -name .gitignore -exec rm {} \;
cp -fr /tmp/grocy/* ${PATH_DEB}/usr/share/grocy/
find ${PATH_BUILD}/tmp/grocy -name .gitignore -exec rm {} \;
cp -fr ${PATH_BUILD}/tmp/grocy/* ${PATH_DEB}/usr/share/grocy/
cp ${PATH_DEB}/usr/share/grocy/config-dist.php ${PATH_DEB}/etc/grocy/config.php
mv ${PATH_DEB}/usr/share/grocy/data ${PATH_DEB}/var/lib/grocy/
ln -s /var/lib/grocy/data/ ${PATH_DEB}/usr/share/grocy/data
ln -s /etc/grocy/config.php ${PATH_DEB}/usr/share/grocy/config.php
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,9 +1,7 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git python wget ca-certificates
apt install -y build-essential git python wget ca-certificates
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
@ -12,9 +10,11 @@ envinit() {
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/laurent22/joplin.git /tmp/joplin
cd /tmp/joplin
VERSION=$1
cd /tmp/
git clone https://github.com/laurent22/joplin.git
cd joplin/
git checkout $VERSION
rm -fr packages/app*
rm -fr packages/generator-joplin
rm -fr packages/plugin-repo-cli
@ -27,12 +27,13 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp -fr ${PATH_BUILD}/tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,20 +1,26 @@
#!/bin/bash
STEP="envinit makedeb"
envinit() {
apt-get install -y wget ca-certificates fakeroot dpkg
ls
}
prebuild(){
ls
}
build() {
ls
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
wget https://github.com/laurent22/joplin/releases/download/v${GIT_VERSION}/Joplin-${GIT_VERSION}.AppImage -qO ${PATH_DEB}/usr/share/joplin/Joplin.AppImage
chmod +x ${PATH_DEB}/usr/share/joplin/Joplin.AppImage
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,29 +1,33 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends ca-certificates git libolm3 libolm-dev build-essential wget
wget -qO - https://go.dev/dl/go1.17.7.linux-amd64.tar.gz | tar -C /usr/local -xz
apt install -y ca-certificates git libolm3 libolm-dev build-essential wget
wget -qO - https://go.dev/dl/go1.17.3.linux-amd64.tar.gz | tar -C /usr/local -xz
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/mautrix/whatsapp.git /tmp/whatsapp
VERSION=$1
cd /tmp/
git clone https://github.com/mautrix/whatsapp.git
cd whatsapp/
git checkout $VERSION
}
build() {
cd /tmp/whatsapp/
git checkout $1
PATH=$PATH:/usr/local/go/bin ./build.sh
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp /tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp
cp /tmp/whatsapp/example-config.yaml ${PATH_DEB}/etc/mautrix-whatsapp/config.yaml
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp ${PATH_BUILD}/tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp
cp ${PATH_BUILD}/tmp/whatsapp/example-config.yaml ${PATH_DEB}/etc/mautrix-whatsapp/config.yaml
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,22 +1,27 @@
#!/bin/bash
STEP="envinit prebuild makedeb"
envinit() {
apt install -y --no-install-recommends git fakeroot dpkg
apt install -y git
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/RSS-Bridge/rss-bridge.git /tmp/rss-bridge
VERSION=$1
cd /tmp/
git clone https://github.com/RSS-Bridge/rss-bridge.git
cd rss-bridge/
git checkout $VERSION
}
build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/rss-bridge ${PATH_DEB}/usr/share/
cp -fr ${PATH_BUILD}/tmp/rss-bridge ${PATH_DEB}/usr/share/
cp ${PATH_DEB}/usr/share/rss-bridge/config.default.ini.php ${PATH_DEB}/etc/rss-bridge/config.ini.php
cp ${PATH_DEB}/usr/share/rss-bridge/whitelist.default.txt ${PATH_DEB}/etc/rss-bridge/whitelist.txt
@ -27,7 +32,8 @@ makedeb(){
mkdir -p ${PATH_DEB}/var/cache/rss-bridge/cache/
rm ${PATH_DEB}/usr/share/rss-bridge/cache
ln -s /var/cache/rss-bridge/cache/ ${PATH_DEB}/usr/share/rss-bridge/cache
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,9 +1,7 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends git build-essential python2 wget ruby-dev libxml2 libz-dev
apt install -y git build-essential python2 wget ruby-dev libxml2 libz-dev
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
@ -12,8 +10,11 @@ envinit() {
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/standardnotes/web.git /tmp/web
VERSION=$1
cd /tmp/
git clone https://github.com/standardnotes/web.git
cd web/
git checkout $VERSION
}
build() {
@ -24,9 +25,13 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/web/* ${PATH_DEB}/usr/lib/standardnotes/web/
cp -fr ${PATH_BUILD}/tmp/web/* ${PATH_DEB}/usr/lib/standardnotes/web/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,9 +1,7 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git python wget ca-certificates
apt install -y build-essential git python wget ca-certificates
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
@ -39,11 +37,13 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp -fr ${PATH_BUILD}/tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,7 +1,5 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git wget ca-certificates libmariadb-dev libpq-dev pkg-config libmysql++-dev
cd /tmp
@ -11,8 +9,11 @@ envinit() {
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/dani-garcia/vaultwarden.git /tmp/vaultwarden
VERSION=$1
cd /tmp/
git clone https://github.com/dani-garcia/vaultwarden.git
cd vaultwarden/
git checkout $VERSION
}
build() {
@ -22,11 +23,13 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/vaultwarden/target/release/vaultwarden ${PATH_DEB}/usr/lib/vaultwarden/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp -fr ${PATH_BUILD}/tmp/vaultwarden/target/release/vaultwarden ${PATH_DEB}/usr/lib/vaultwarden/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,14 +1,12 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt-get install -y --no-install-recommends wget ca-certificates composer git php-common php-xml php-json php-gd php-mbstring php-xml php-tidy php-curl php-tokenizer php-bcmath php-intl php-fpm unzip fakeroot dpkg
apt-get install -y wget ca-certificates composer git php-common php-xml php-json php-gd php-mbstring php-xml php-tidy php-curl php-tokenizer php-bcmath php-intl php-fpm unzip
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/wallabag/wallabag.git /tmp/wallabag
VERSION=$1
git clone --depth 1 -b $VERSION https://github.com/wallabag/wallabag.git /tmp/wallabag
}
build() {
@ -17,24 +15,27 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app
cp -fr /tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src
cp -fr /tmp/wallabag/vendor ${PATH_DEB}/usr/share/wallabag/vendor
cp -fr /tmp/wallabag/web ${PATH_DEB}/usr/share/wallabag/web
cp -fr ${PATH_BUILD}/tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app
cp -fr ${PATH_BUILD}/tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src
cp -fr ${PATH_BUILD}/tmp/wallabag/vendor ${PATH_DEB}/usr/share/wallabag/vendor
cp -fr ${PATH_BUILD}/tmp/wallabag/web ${PATH_DEB}/usr/share/wallabag/web
cp -fr /tmp/wallabag/data ${PATH_DEB}/var/lib/wallabag/data
cp -fr /tmp/wallabag/var ${PATH_DEB}/var/lib/wallabag/var
cp -fr ${PATH_BUILD}/tmp/wallabag/data ${PATH_DEB}/var/lib/wallabag/data
cp -fr ${PATH_BUILD}/tmp/wallabag/var ${PATH_DEB}/var/lib/wallabag/var
cp /tmp/wallabag/app/config/parameters.yml.dist ${PATH_DEB}/etc/wallabag/parameters.yml
cp ${PATH_BUILD}/tmp/wallabag/app/config/parameters.yml.dist ${PATH_DEB}/etc/wallabag/parameters.yml
ln -s /var/lib/wallabag/data ${PATH_DEB}/usr/share/wallabag/data
ln -s /var/lib/wallabag/var ${PATH_DEB}/usr/share/wallabag/var
ln -s /etc/wallabag/parameters.yml ${PATH_DEB}/usr/share/wallabag/app/config/parameters.yml
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,14 +1,15 @@
#!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends wget ca-certificates nodejs npm git make g++ gcc fakeroot dpkg
apt install -y wget ca-certificates nodejs npm git make g++ gcc
}
prebuild(){
GIT_VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/Koenkk/zigbee2mqtt.git /tmp/zigbee2mqtt
VERSION=$1
cd /tmp/
git clone https://github.com/Koenkk/zigbee2mqtt.git
cd zigbee2mqtt/
git checkout $VERSION
}
build() {
@ -18,13 +19,15 @@ build() {
}
makedeb(){
GIT_VERSION=$1
DEB_VERSION=$2
PATH_DEB=/tmp/dist/rootfs
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr /tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml
cp -fr /tmp/zigbee2mqtt/* ${PATH_DEB}/usr/lib/zigbee2mqtt/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
cp -fr ${PATH_BUILD}/tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml
cp -fr ${PATH_BUILD}/tmp/zigbee2mqtt/* ${PATH_DEB}/usr/lib/zigbee2mqtt/
}
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -5,6 +5,5 @@ VERSION=2022-01-20
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=1
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=10.9.0
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=2.25.1
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-2
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=1.24.0
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=2.4.3
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh

View File

@ -5,6 +5,5 @@ VERSION=1.23.0
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=
source ./lib/function.sh