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