use generic file name to store compilation instruction

Add GLPI (with github clone to patch install)
This commit is contained in:
thomas 2022-03-06 00:37:44 +01:00
parent 38ded86d9f
commit 853e9f431b
28 changed files with 170 additions and 50 deletions

View file

@ -8,17 +8,17 @@ All package are install with chroot environnement.
To create deb file you just need to run the bellow command : To create deb file you just need to run the bellow command :
```bash ```bash
. ressources/joplin/joplin . ressources/<App name>/debmaker
debmaker_run debmaker_run
``` ```
This commande create joplin and joplin-server packages after execution, .deb file is generate in 'dist' folder
### Debug ### Debug
To enter in temporary filesystem To enter in temporary filesystem
```bash ```bash
debmaker_chroot cache/joplin debmaker_chroot cache/<App name>
``` ```
### packages available in shared repository ### packages available in shared repository
@ -27,6 +27,7 @@ debmaker_chroot cache/joplin
- [authelia](#authelia) ([site](https://www.authelia.com/)) ([src](https://github.com/authelia/authelia)) - [authelia](#authelia) ([site](https://www.authelia.com/)) ([src](https://github.com/authelia/authelia))
- [element-web](#element-web) ([site](https://element.io/)) ([src](https://github.com/vector-im/element-web)) - [element-web](#element-web) ([site](https://element.io/)) ([src](https://github.com/vector-im/element-web))
- [gitea](#gitea) ([site](https://gitea.io)) ([src](https://github.com/go-gitea/gitea/)) - [gitea](#gitea) ([site](https://gitea.io)) ([src](https://github.com/go-gitea/gitea/))
- [glpi](#glpi) ([site](http://glpi-project.org/)) ([src](https://github.com/glpi-project/glpi))
- [gotify](#gotify) ([site](https://gotify.net/)) ([src](https://github.com/gotify)) - [gotify](#gotify) ([site](https://gotify.net/)) ([src](https://github.com/gotify))
- [grocy](#grocy) ([site](https://grocy.info/)) ([src](https://github.com/grocy/grocy)) - [grocy](#grocy) ([site](https://grocy.info/)) ([src](https://github.com/grocy/grocy))
- [joplin desktop](#joplin) ([site](https://joplinapp.org/)) ([src](https://github.com/laurent22/joplin)) - [joplin desktop](#joplin) ([site](https://joplinapp.org/)) ([src](https://github.com/laurent22/joplin))
@ -68,6 +69,7 @@ systemctl enable --now authelia
```bash ```bash
apt install -y wget ca-certificates apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install element-web apt install element-web
# sample configuration for apache2 # sample configuration for apache2
@ -92,8 +94,26 @@ apt-get install -y gitea
systemctl enable --now gitea systemctl enable --now gitea
#configuration with http://<ip>:3000 #configuration with http://<ip>:3000
``` ```
#### glpi
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install glpi libapache2-mod-php apache2 -y
gzip -dc /usr/share/doc/glpi/apache2-glpi.conf.gz > /etc/apache2/sites-available/glpi.conf
#edité le fichier de configuration apache
nano /etc/apache2/sites-available/glpi.conf
a2ensite glpi
systemctl reload apache2
#configuration with http://<ip>
```
#### gotify #### gotify
```bash ```bash
@ -131,7 +151,7 @@ systemctl restart apache2
```bash ```bash
apt install -y wget ca-certificates apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y joplin apt-get install -y joplin
``` ```
@ -177,7 +197,9 @@ systemctl enable --now metabase
#### rss-bridge #### rss-bridge
```bash ```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install rss-bridge apt install rss-bridge
# sample configuration for apache2 # sample configuration for apache2
@ -216,6 +238,7 @@ systemctl restart apache2
```bash ```bash
apt install -y wget ca-certificates apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install vaultwarden vaultwarden-web apt install vaultwarden vaultwarden-web
#Edit /etc/default/vaultwarden #Edit /etc/default/vaultwarden
@ -228,6 +251,7 @@ systemctl enable --now vaultwarden
```bash ```bash
apt install -y wget ca-certificates apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install wallabag apt install wallabag
# sample configuration for apache2 # sample configuration for apache2
@ -246,6 +270,7 @@ systemctl restart apache2
```bash ```bash
apt install -y wget ca-certificates apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y zigbee2mqtt apt-get install -y zigbee2mqtt
#Edit /etc/zigbee2mqtt/configuration.yaml #Edit /etc/zigbee2mqtt/configuration.yaml

View file

@ -1,8 +1,7 @@
#!/bin/bash #!/bin/bash
if [ ! "$1" == "" ]; if [ ! "$1" == "" ];
then then
source /tmp/src/$1 source /tmp/src/debmaker
shift
FUNC=$1 FUNC=$1
shift shift
${FUNC} $* ${FUNC} $*

View file

@ -86,7 +86,7 @@ debmaker_run(){
debmaker_mount_proc_sys cache/${APP} ${MOUNT_PATH}/${APP}/ debmaker_mount_proc_sys cache/${APP} ${MOUNT_PATH}/${APP}/
for CURRENT_STEP in ${STEP} for CURRENT_STEP in ${STEP}
do do
sudo chroot ${MOUNT_PATH}/${APP}/ /tmp/src/exec_in_chroot.sh ${APP} ${CURRENT_STEP} ${GIT_VERSION} ${DEB_VERSION} sudo chroot ${MOUNT_PATH}/${APP}/ /tmp/src/exec_in_chroot.sh ${CURRENT_STEP}
done done
find ${MOUNT_PATH}/${APP}/tmp/dist/ -name *.deb -exec cp {} dist/ \; find ${MOUNT_PATH}/${APP}/tmp/dist/ -name *.deb -exec cp {} dist/ \;
debmaker_umount_proc_sys ${MOUNT_PATH}/${APP}/ debmaker_umount_proc_sys ${MOUNT_PATH}/${APP}/

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
VERSION=4.34.2 VERSION=4.34.3
RELEASE=1 RELEASE=1
[ -e ./lib/function.sh ] && source ./lib/function.sh [ -e ./lib/function.sh ] && source ./lib/function.sh

View file

@ -6,7 +6,7 @@ RELEASE=3
[ -e ./lib/function.sh ] && source ./lib/function.sh [ -e ./lib/function.sh ] && source ./lib/function.sh
APP=element-web APP=element-web
DEPOT=https://github.com/vector-im/element-web.git /tmp/git DEPOT=https://github.com/vector-im/element-web.git
GIT_VERSION=v${VERSION} GIT_VERSION=v${VERSION}
DEB_VERSION=${VERSION}-${RELEASE} DEB_VERSION=${VERSION}-${RELEASE}
DEBIAN_VERSION_CODENAME=bullseye DEBIAN_VERSION_CODENAME=bullseye

61
ressources/glpi/debmaker Executable file
View file

@ -0,0 +1,61 @@
#!/bin/bash
VERSION=10.0.0-rc2-thl
RELEASE=1
[ -e ./lib/function.sh ] && source ./lib/function.sh
APP=glpi
DEPOT=https://github.com/tomamplius/glpi.git
GIT_VERSION=${VERSION}
DEB_VERSION=${VERSION}-${RELEASE}
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=2
STEP="envinit prebuild build makedeb"
envinit() {
if [ $(dpkg -l | grep -e 'ii composer ' | wc -l) -eq 1 ];
then
apt-get update
apt-get dist-upgrade -y
else
apt install -y --no-install-recommends git fakeroot dpkg patch composer php-json php-xml php-curl php-gd php-intl php-ldap php-zip php-mysql wget gettext
wget -qO - https://deb.nodesource.com/setup_16.x | bash
apt install nodejs
fi
}
prebuild(){
[ -e /tmp/git ] && rm -fr /tmp/git
[ -e /tmp/${APP} ] || mkdir /tmp/${APP}
git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/git
cp -fr /tmp/git/. /tmp/${APP}
}
build(){
cd /tmp/${APP}
./tools/make_release.sh -y . ${VERSION}
}
makedeb(){
PATH_DEB=/tmp/src/rootfs
tar -zxvf /tmp/${APP}-${VERSION}.tgz -C ${PATH_DEB}/usr/share/
mv ${PATH_DEB}/usr/share/glpi/*.md ${PATH_DEB}/usr/share/doc/glpi/
gzip ${PATH_DEB}/usr/share/doc/glpi/*
mv ${PATH_DEB}/usr/share/glpi/files ${PATH_DEB}/var/lib/glpi/
ln -s /var/lib/glpi/files ${PATH_DEB}/usr/share/glpi/files
mv ${PATH_DEB}/usr/share/glpi/marketplace ${PATH_DEB}/var/lib/glpi/
ln -s /var/lib/glpi/marketplace ${PATH_DEB}/usr/share/glpi/marketplace
cp -r ${PATH_DEB}/usr/share/glpi/config/. ${PATH_DEB}/etc/glpi/
rm -fr ${PATH_DEB}/usr/share/glpi/config/
ln -s /etc/glpi/ ${PATH_DEB}/usr/share/glpi/config
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
}

View file

View file

@ -0,0 +1,8 @@
Package: glpi
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Depends: php-json, php-xml, php-curl, php-gd, php-intl, php-ldap, php-zip, php-mysql, php-bz2, php-mbstring
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: glpi

View file

@ -0,0 +1,3 @@
#!/bin/bash
chown -R www-data:www-data /var/lib/glpi
chown -R www-data:www-data /etc/glpi

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,10 @@
<VirtualHost *:80>
ServerName glpi.domaine.com
DocumentRoot /usr/share/glpi
<directory /usr/share/glpi>
Options FollowSymLinks
AllowOverride all
Require all granted
</directory>
</VirtualHost>

View file

@ -0,0 +1 @@

52
ressources/metabase/debmaker Executable file
View file

@ -0,0 +1,52 @@
#!/bin/bash
VERSION=0.42.2
RELEASE=2
[ -e ./lib/function.sh ] && source ./lib/function.sh
APP=metabase
DEPOT=https://github.com/metabase/metabase.git
GIT_VERSION=v$VERSION
DEB_VERSION=${VERSION}-${RELEASE}
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=10
STEP="envinit prebuild build makedeb"
envinit() {
if [ $(dpkg -l | grep -e 'ii nodejs ' | wc -l) -eq 1 ];
then
apt-get update
apt-get dist-upgrade -y
else
apt install -y --no-install-recommends build-essential git wget ca-certificates dpkg fakeroot openjdk-17-jdk curl
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 install -y nodejs yarn
curl https://download.clojure.org/install/linux-install-1.10.3.1087.sh | bash
fi
}
prebuild(){
[ -e /tmp/git ] && rm -fr /tmp/git
[ -e /tmp/${APP} ] || mkdir /tmp/${APP}
git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/git
cp -r /tmp/git/. /tmp/${APP}
}
build() {
cd /tmp/${APP}/
PATH=$PATH:/usr/local/bin
./bin/build
}
makedeb(){
PATH_DEB=/tmp/src/rootfs
cp /tmp/${APP}/target/uberjar/metabase.jar ${PATH_DEB}/usr/share/metabase/
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
}

View file

@ -1,40 +0,0 @@
#!/bin/bash
[ -e ./lib/function.sh ] && source ./lib/function.sh
APP=metabase
VERSION=0.42.2
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
IMAGE_SIZE=10
STEP="envinit prebuild build makedeb"
envinit() {
apt install -y --no-install-recommends build-essential git wget ca-certificates dpkg fakeroot openjdk-17-jdk curl
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 install -y nodejs yarn
curl https://download.clojure.org/install/linux-install-1.10.3.1087.sh | bash
}
prebuild(){
git clone --depth 1 -b ${GIT_VERSION} https://github.com/metabase/metabase.git /tmp/metabase
}
build() {
cd /tmp/metabase/
PATH=$PATH:/usr/local/bin
./bin/build
}
makedeb(){
PATH_DEB=/tmp/src/rootfs
cp /tmp/metabase/target/uberjar/metabase.jar ${PATH_DEB}/usr/share/metabase/
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
}