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(){
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 then
echo invalid step mkdir -p ${CACHE_STEP1}/proc
fi mount -t proc proc ${CACHE_STEP1}/proc
}
getSizeImage(){
[ "${IMAGE_SIZE}" == "" ] && IMAGE_SIZE=2
}
createImage(){
dd if=/dev/zero of=${CACHE_APP}/os bs=1G count=${IMAGE_SIZE}
sudo mkfs.ext4 ${CACHE_APP}/os
}
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
}
########################## 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 sleep 2
debootstrap ${DEBIAN_VERSION_CODENAME} ${CACHE_STEP1}
umount ${CACHE_STEP1}/proc
fi
} }
debmake_umountStep(){ #InstallOs
CURRENT_STEP=$1 step2(){
sudo umount ${MOUNT_APP}/${CURRENT_STEP}/sys if [ ! -e ${CACHE_STEP2} ] ; then
sudo umount ${MOUNT_APP}/${CURRENT_STEP}/proc mkdir -p ${CACHE_APP}
sudo umount ${MOUNT_APP}/${CURRENT_STEP} 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
} }
debmake_chrootStep(){ #ConfigureBeforeBuild
CURRENT_STEP=$1 step3(){
debmake_mountStep ${CURRENT_STEP} if [ ! -e ${CACHE_STEP3} ]; then
[ -d ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist/${APP} ] && sudo rm -rf ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist/ cp -a ${CACHE_STEP2} ${CACHE_STEP3}
sudo mkdir -p ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist cp ressources/${APP}/${APP} ${CACHE_STEP3}/tmp/make
sudo cp -fr ressources/${APP}/* ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist chroot ${CACHE_STEP3} /tmp/make prebuild ${GIT_VERSION}
sudo cp -fr lib/exec_in_chroot.sh ${MOUNT_APP}/${CURRENT_STEP}/tmp/dist rm ${CACHE_STEP3}/tmp/make
shift fi
sudo chroot ${MOUNT_APP}${CURRENT_STEP}/ $*
find ${MOUNT_APP}${CURRENT_STEP}/tmp/dist/ -name *.deb -exec cp {} dist/ \;
debmake_umountStep ${CURRENT_STEP}
} }
########################## FUNCTION ########################## #Build
step4(){
debmake_runStepOS() { if [ ! -e ${CACHE_STEP4} ] ; then
CURRENT_STEP=os cp -a ${CACHE_STEP3} ${CACHE_STEP4}
getSizeImage cp ressources/${APP}/${APP} ${CACHE_STEP4}/tmp/make
createImage mount -t proc proc ${CACHE_STEP4}/proc/
debmake_mountStep ${CURRENT_STEP} sleep 2
sudo debootstrap ${DEBIAN_VERSION_CODENAME} ${MOUNT_APP}/os/ chroot ${CACHE_STEP4} /tmp/make build
debmake_umountStep ${CURRENT_STEP} umount ${CACHE_STEP4}/proc/
rm ${CACHE_STEP4}/tmp/make
fi
} }
debmake_runStepCustom() { #PackageDeb
CURRENT_STEP=$1 step5(){
valideStep ${CURRENT_STEP} rm -fr dist/${APP}
PREVIOUS=$(previousStep ${CURRENT_STEP}) mkdir dist/${APP}
echo -n copy PREVIOUS in $PREVIOUS ... cp -pfr ressources/${APP}/rootfs/* dist/$APP/
cp ${CACHE_APP}/${PREVIOUS} ${CACHE_APP}/${CURRENT_STEP} bash ressources/${APP}/${APP} makedeb ${CACHE_STEP4} dist/${APP} ${GIT_VERSION}
echo ": OK" sed -i "s/%VERSION%/$DEB_VERSION/" dist/${APP}/DEBIAN/control
debmake_chrootStep $1 /tmp/dist/exec_in_chroot.sh ${APP} ${CURRENT_STEP} ${GIT_VERSION} ${DEB_VERSION} fakeroot dpkg-deb -Z gzip --build dist/${APP} dist
rm -fr dist/${APP}
} }
debmake_runAllStep(){ allstep(){
debmake_runStepOS step1
for tmp in ${STEP} step2
do step3
debmake_runStepCustom $tmp step4
done step5
}
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}
}
StartFromStep1(){
DeleteStep1
allstep
}
StartFromStep2(){
DeleteStep2
allstep
}
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 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