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 ## 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. All package are install in folder in chroot environnement with only one script.
### Requirement ### Requirement
@ -10,15 +10,14 @@ All package are install in folder in chroot environnement with only one script.
```bash ```bash
. vaultwarden2deb . vaultwarden2deb
debmake_runAllStep allstep
``` ```
### package are available without compilation ### package are available without compilation
- [joplin-server](#joplin-server) - [joplin-server](#joplin-server)
- [gotify](#gotify)
- [rss-bridge](#rss-bridge) - [rss-bridge](#rss-bridge)
- [vaultwarden and vaultwarden-web](#vaultwarden-and-vaultwarden-web) - [vaultwarden](#vaultwarden)
- [zigbee2mqtt](#zigbee2mqtt) - [zigbee2mqtt](#zigbee2mqtt)
- [element-web](#element-web) - [element-web](#element-web)
@ -36,18 +35,6 @@ apt-get install -y joplin-server
systemctl enable --now 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 #### rss-bridge
@ -67,7 +54,7 @@ systemctl restart apache2
``` ```
#### vaultwarden and vaultwarden-web #### vaultwarden
```bash ```bash
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,34 +1,40 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://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 update
apt-get install -y nodejs 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 - wget -qO - https://get.pnpm.io/install.sh | sh -
} }
prebuild(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/authelia/authelia.git /tmp/authelia cd /tmp/
git clone https://github.com/authelia/authelia.git
cd authelia/
git checkout $VERSION
} }
build() { build() {
cd /tmp/authelia/ cd /tmp/authelia/
PATH=$PATH:/usr/local/go/bin:/root/.local/share/pnpm . /root/.bashrc
./cmd/authelia-scripts/authelia-scripts build PATH=$PATH:/usr/local/go/bin bash bootstrap.sh
PATH=$PATH:/usr/local/go/bin ./cmd/authelia-scripts/authelia-scripts build
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp /tmp/authelia/dist/authelia ${PATH_DEB}/usr/bin/authelia cp ${PATH_BUILD}/tmp/authelia/dist/authelia ${PATH_DEB}/usr/bin/authelia
cp /tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml cp ${PATH_BUILD}/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,9 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg 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 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/vector-im/element-web.git /tmp/element-web cd /tmp/
git clone https://github.com/vector-im/element-web.git
cd element-web/
git checkout $VERSION
} }
build() { build() {
@ -23,12 +24,14 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
tar -zxf /tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/ 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 /tmp/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json cp ${PATH_DEB}/usr/lib/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,40 +1,38 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg 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 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 update
apt-get install -y nodejs yarn 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/gotify/server.git /tmp/server cd /tmp/
git clone https://github.com/gotify/server.git
cd server/
git checkout ${VERSION}
} }
build() { build() {
cd /tmp/server/ cd /tmp/server/
PATH=${PATH}:/usr/local/go/bin . /root/.bashrc
export GO111MODULE=on PATH=${PATH}:/usr/local/go/bin make
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
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp /tmp/server/gotify-server ${PATH_DEB}/usr/bin/ cp ${PATH_BUILD}/tmp/gotify/dist/gotify ${PATH_DEB}/usr/bin/gotify
cp /tmp/server/config.example.yml ${PATH_DEB}/etc/gotify/config.yml cp ${PATH_BUILD}/tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB}/ /tmp/dist/
} }
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% Version: %VERSION%
Section: base Section: base
Priority: optional Priority: optional
Architecture: all Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr> Maintainer: Thomas Legay <thomas@syngate.fr>
Description: gotify-server Description: gotify

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/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] [Service]
User=gotify User=gotify
Group=gotify Group=gotify
ExecStart=/usr/bin/gotify-server ExecStart=/usr/bin/gotify-linux-amd64
WorkingDirectory=/var/lib/gotify-server WorkingDirectory=/usr/lib/gotify
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@ -1,9 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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 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 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 update
@ -11,8 +9,10 @@ envinit() {
} }
prebuild(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/grocy/grocy.git /tmp/grocy/ git clone https://github.com/grocy/grocy.git /tmp/grocy
cd /tmp/grocy/
git checkout $VERSION
} }
build() { build() {
@ -23,17 +23,18 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
find /tmp/grocy -name .gitignore -exec rm {} \; find ${PATH_BUILD}/tmp/grocy -name .gitignore -exec rm {} \;
cp -fr /tmp/grocy/* ${PATH_DEB}/usr/share/grocy/ 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 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/ 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 /var/lib/grocy/data/ ${PATH_DEB}/usr/share/grocy/data
ln -s /etc/grocy/config.php ${PATH_DEB}/usr/share/grocy/config.php 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 #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg 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 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/laurent22/joplin.git /tmp/joplin cd /tmp/
cd /tmp/joplin git clone https://github.com/laurent22/joplin.git
cd joplin/
git checkout $VERSION
rm -fr packages/app* rm -fr packages/app*
rm -fr packages/generator-joplin rm -fr packages/generator-joplin
rm -fr packages/plugin-repo-cli rm -fr packages/plugin-repo-cli
@ -27,12 +27,13 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp -fr /tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/ cp -fr ${PATH_BUILD}/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,20 +1,26 @@
#!/bin/bash #!/bin/bash
STEP="envinit makedeb"
envinit() { envinit() {
apt-get install -y wget ca-certificates fakeroot dpkg ls
} }
prebuild(){
ls
}
build() {
ls
}
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs 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 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 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 #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y --no-install-recommends ca-certificates git libolm3 libolm-dev build-essential wget apt install -y 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 wget -qO - https://go.dev/dl/go1.17.3.linux-amd64.tar.gz | tar -C /usr/local -xz
} }
prebuild(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/mautrix/whatsapp.git /tmp/whatsapp cd /tmp/
git clone https://github.com/mautrix/whatsapp.git
cd whatsapp/
git checkout $VERSION
} }
build() { build() {
cd /tmp/whatsapp/ cd /tmp/whatsapp/
git checkout $1
PATH=$PATH:/usr/local/go/bin ./build.sh PATH=$PATH:/usr/local/go/bin ./build.sh
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp /tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp cp ${PATH_BUILD}/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 cp ${PATH_BUILD}/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,22 +1,27 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild makedeb"
envinit() { envinit() {
apt install -y --no-install-recommends git fakeroot dpkg apt install -y git
} }
prebuild(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/RSS-Bridge/rss-bridge.git /tmp/rss-bridge cd /tmp/
git clone https://github.com/RSS-Bridge/rss-bridge.git
cd rss-bridge/
git checkout $VERSION
}
build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs 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/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 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/ mkdir -p ${PATH_DEB}/var/cache/rss-bridge/cache/
rm ${PATH_DEB}/usr/share/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 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 #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg 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 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/standardnotes/web.git /tmp/web cd /tmp/
git clone https://github.com/standardnotes/web.git
cd web/
git checkout $VERSION
} }
build() { build() {
@ -24,9 +25,13 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs 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 #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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://deb.nodesource.com/setup_16.x | bash
#wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg #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 #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(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp -fr /tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web cp -fr ${PATH_BUILD}/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

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

View File

@ -1,14 +1,12 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/wallabag/wallabag.git /tmp/wallabag git clone --depth 1 -b $VERSION https://github.com/wallabag/wallabag.git /tmp/wallabag
} }
build() { build() {
@ -17,24 +15,27 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp -fr /tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app cp -fr ${PATH_BUILD}/tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app
cp -fr /tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src cp -fr ${PATH_BUILD}/tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src
cp -fr /tmp/wallabag/vendor ${PATH_DEB}/usr/share/wallabag/vendor cp -fr ${PATH_BUILD}/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/web ${PATH_DEB}/usr/share/wallabag/web
cp -fr /tmp/wallabag/data ${PATH_DEB}/var/lib/wallabag/data cp -fr ${PATH_BUILD}/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/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/data ${PATH_DEB}/usr/share/wallabag/data
ln -s /var/lib/wallabag/var ${PATH_DEB}/usr/share/wallabag/var 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 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 #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { 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(){ prebuild(){
GIT_VERSION=$1 VERSION=$1
git clone --depth 1 -b ${GIT_VERSION} https://github.com/Koenkk/zigbee2mqtt.git /tmp/zigbee2mqtt cd /tmp/
git clone https://github.com/Koenkk/zigbee2mqtt.git
cd zigbee2mqtt/
git checkout $VERSION
} }
build() { build() {
@ -18,13 +19,15 @@ build() {
} }
makedeb(){ makedeb(){
GIT_VERSION=$1 PATH_BUILD=$1
DEB_VERSION=$2 PATH_DEB=$2
PATH_DEB=/tmp/dist/rootfs GIT_VERSION=$3
cp -fr /tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml cp -fr ${PATH_BUILD}/tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml
cp -fr /tmp/zigbee2mqtt/* ${PATH_DEB}/usr/lib/zigbee2mqtt/ cp -fr ${PATH_BUILD}/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/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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