New process using mount point

This commit is contained in:
thomas 2022-02-20 15:02:18 +01:00
parent 637a60c3bf
commit 5d14cf2985
18 changed files with 217 additions and 244 deletions

View File

@ -1,5 +1,5 @@
## DEBMAKER ## DEBMAKER
The main goal of this repository is allow to create application from source without install all compilation utility directly on the main system. The main goal of this repository is allow to create application from source without install 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,7 +10,7 @@ All package are install in folder in chroot environnement with only one script.
```bash ```bash
. vaultwarden2deb . vaultwarden2deb
allstep debmake_runAllStep
``` ```
### package are available without compilation ### package are available without compilation

View File

@ -1,9 +1,9 @@
#!/bin/bash #!/bin/bash
APP=element-web APP=element-web
VERSION=1.10.2 VERSION=1.10.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
source ./lib/function.sh source ./lib/function.sh

View File

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

9
lib/exec_in_chroot.sh Executable file
View File

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

View File

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

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y 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
@ -24,14 +26,12 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
tar -zxf ${PATH_BUILD}/tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/ tar -zxf /tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/
cp ${PATH_DEB}/usr/lib/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json cp /tmp/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

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

View File

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

View File

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

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt-get install -y wget ca-certificates gnupg2 composer git php-simplexml php-gd 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
@ -23,18 +25,17 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
find ${PATH_BUILD}/tmp/grocy -name .gitignore -exec rm {} \; find /tmp/grocy -name .gitignore -exec rm {} \;
cp -fr ${PATH_BUILD}/tmp/grocy/* ${PATH_DEB}/usr/share/grocy/ cp -fr /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,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y 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
@ -27,13 +29,12 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/ cp -fr /tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,26 +1,15 @@
#!/bin/bash #!/bin/bash
envinit() { STEP="makedeb"
ls
}
prebuild(){
ls
}
build() {
ls
}
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
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,8 +1,10 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y 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.3.linux-amd64.tar.gz | tar -C /usr/local -xz wget -qO - https://go.dev/dl/go1.17.7.linux-amd64.tar.gz | tar -C /usr/local -xz
} }
prebuild(){ prebuild(){
@ -15,19 +17,16 @@ prebuild(){
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(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp ${PATH_BUILD}/tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp cp /tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp
cp ${PATH_BUILD}/tmp/whatsapp/example-config.yaml ${PATH_DEB}/etc/mautrix-whatsapp/config.yaml cp /tmp/whatsapp/example-config.yaml ${PATH_DEB}/etc/mautrix-whatsapp/config.yaml
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild makedeb"
envinit() { envinit() {
apt install -y git apt install -y git
} }
@ -12,16 +14,12 @@ prebuild(){
git checkout $VERSION git checkout $VERSION
} }
build() {
}
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/rss-bridge ${PATH_DEB}/usr/share/ cp -fr /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
@ -32,8 +30,7 @@ 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,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y 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
@ -37,13 +39,11 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web cp -fr /tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,5 +1,7 @@
#!/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
@ -23,13 +25,11 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/vaultwarden/target/release/vaultwarden ${PATH_DEB}/usr/lib/vaultwarden/ cp -fr /tmp/vaultwarden/target/release/vaultwarden ${PATH_DEB}/usr/lib/vaultwarden/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
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 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
} }
@ -15,27 +17,24 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app cp -fr /tmp/wallabag/app ${PATH_DEB}/usr/share/wallabag/app
cp -fr ${PATH_BUILD}/tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src cp -fr /tmp/wallabag/src ${PATH_DEB}/usr/share/wallabag/src
cp -fr ${PATH_BUILD}/tmp/wallabag/vendor ${PATH_DEB}/usr/share/wallabag/vendor cp -fr /tmp/wallabag/vendor ${PATH_DEB}/usr/share/wallabag/vendor
cp -fr ${PATH_BUILD}/tmp/wallabag/web ${PATH_DEB}/usr/share/wallabag/web cp -fr /tmp/wallabag/web ${PATH_DEB}/usr/share/wallabag/web
cp -fr ${PATH_BUILD}/tmp/wallabag/data ${PATH_DEB}/var/lib/wallabag/data cp -fr /tmp/wallabag/data ${PATH_DEB}/var/lib/wallabag/data
cp -fr ${PATH_BUILD}/tmp/wallabag/var ${PATH_DEB}/var/lib/wallabag/var cp -fr /tmp/wallabag/var ${PATH_DEB}/var/lib/wallabag/var
cp ${PATH_BUILD}/tmp/wallabag/app/config/parameters.yml.dist ${PATH_DEB}/etc/wallabag/parameters.yml cp /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,5 +1,7 @@
#!/bin/bash #!/bin/bash
STEP="envinit prebuild build makedeb"
envinit() { envinit() {
apt install -y wget ca-certificates nodejs npm git make g++ gcc apt install -y wget ca-certificates nodejs npm git make g++ gcc
} }
@ -19,15 +21,13 @@ build() {
} }
makedeb(){ makedeb(){
PATH_BUILD=$1 GIT_VERSION=$1
PATH_DEB=$2 DEB_VERSION=$2
GIT_VERSION=$3 PATH_DEB=/tmp/dist/rootfs
cp -fr ${PATH_BUILD}/tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml cp -fr /tmp/zigbee2mqtt/data/configuration.yaml ${PATH_DEB}/etc/zigbee2mqtt/configuration.yaml
cp -fr ${PATH_BUILD}/tmp/zigbee2mqtt/* ${PATH_DEB}/usr/lib/zigbee2mqtt/ cp -fr /tmp/zigbee2mqtt/* ${PATH_DEB}/usr/lib/zigbee2mqtt/
sed -i "s/%VERSION%/$DEB_VERSION/" /tmp/dist/rootfs/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build /tmp/dist/rootfs/ /tmp/dist/
} }
echo $1
FUNC=$1
shift
${FUNC} $*