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