ajout des recettes et fichiers de configuration du meta
This commit is contained in:
53
conf/distro/kineintercom.conf
Normal file
53
conf/distro/kineintercom.conf
Normal file
@@ -0,0 +1,53 @@
|
||||
#PACKAGE_CLASSES ?= "package_deb"
|
||||
|
||||
DISTRO_VERSION = "1.0.0"
|
||||
DISTRO_NAME = "KineIntercom Distro"
|
||||
|
||||
SDK_VENDOR = "-benserv"
|
||||
SDK_VERSION = "${DISTRO_VERSION}"
|
||||
MAINTENER = "vincent.benoit@benserv.fr"
|
||||
|
||||
# rpi specific
|
||||
IMAGE_FSTYPES = "tar.bz2 ext4 ext4.xz rpi-sdimg"
|
||||
SDIMG_ROOTFS_TYPE = "ext4.xz"
|
||||
DISABLE_OVERSCAN = "1"
|
||||
BOOT_DELAY = "0"
|
||||
BOOT_DELAY_MS = "0"
|
||||
DISABLE_RPI_BOOT_LOGO = "1"
|
||||
DISABLE_SPLASH = "1"
|
||||
ENABLE_I2C = "1"
|
||||
ENABLE_UART = "1"
|
||||
KERNEL_MODULE_AUTOLOAD:rpi += "i2c-dev i2c-bcm2708 rtc-ds1307"
|
||||
RPI_EXTRA_CONFIG = ' \n \
|
||||
# Yocto Extra config \n \
|
||||
dtoverlay=i2c-rtc,ds3231 \n \
|
||||
'
|
||||
|
||||
# Use systemd
|
||||
DISTRO_FEATURES += " systemd usbhost ipv4 pam"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
VIRTUAL_RUNTIME_login_manager = "shadow-base"
|
||||
VIRTUAL_RUNTIME_syslog = "rsyslog"
|
||||
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
|
||||
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
|
||||
|
||||
IMAGE_FEATURES += " package-management ssh-server-openssh"
|
||||
|
||||
MACHINE_FEATURES = "rtc"
|
||||
#KERNEL_MODULE_AUTOLOAD += " i2c-dev"
|
||||
|
||||
PREFERRED_VERSION_cargo = "1.64.0"
|
||||
PREFERRED_VERSION_libstd-rs = "1.64.0"
|
||||
PREFERRED_VERSION_rust = "1.64.0"
|
||||
PREFERRED_VERSION_rust-cross = "1.64.0"
|
||||
PREFERRED_VERSION_rust-llvm = "1.64.0"
|
||||
PREFERRED_VERSION_rust-native = "1.64.0"
|
||||
PREFERRED_VERSION_rust-source = "1.64.0"
|
||||
PREFERRED_VERSION_rust-snapshot = "1.64.0"
|
||||
|
||||
INHERIT += "rm_work"
|
||||
RM_WORK_EXCLUDE += "configurateur-frontend"
|
||||
|
||||
# Use extrausers
|
||||
INHERIT += "extrausers"
|
||||
EXTRA_USERS_PARAMS += "usermod -p '\$6\$kineintercom\$PL/XDMsCl7L2Gpb.2WcE9ad8RpoLp9t5jIIs2YGqeCii/UQmRHfJTOIQl3Axx/MmpJnwcetOtJsNSxUqHSx411' root;"
|
||||
14
conf/layer.conf
Normal file
14
conf/layer.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
|
||||
# We have a packages directory, add to BBFILES
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "kineintercom"
|
||||
BBFILE_PATTERN_kineintercom := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_kineintercom = "10"
|
||||
|
||||
LAYERDEPENDS_kineintercom = "raspberrypi"
|
||||
|
||||
LAYERSERIES_COMPAT_kineintercom = "kirkstone"
|
||||
21
conf/template/bblayers.conf.sample
Normal file
21
conf/template/bblayers.conf.sample
Normal file
@@ -0,0 +1,21 @@
|
||||
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
|
||||
# changes incompatibly
|
||||
POKY_BBLAYERS_CONF_VERSION = "2"
|
||||
|
||||
BBPATH = "${TOPDIR}"
|
||||
BSPPATH = "${TOPDIR}/.."
|
||||
BBFILES ?= ""
|
||||
|
||||
BBLAYERS ?= " \
|
||||
${BSPPATH}/poky/meta \
|
||||
${BSPPATH}/poky/meta-poky \
|
||||
${BSPPATH}/poky/meta-yocto-bsp \
|
||||
${BSPPATH}/meta-openembedded/meta-oe \
|
||||
${BSPPATH}/meta-openembedded/meta-python \
|
||||
${BSPPATH}/meta-openembedded/meta-networking \
|
||||
${BSPPATH}/meta-openembedded/meta-webserver \
|
||||
${BSPPATH}/meta-openembedded/meta-filesystems \
|
||||
${BSPPATH}/meta-rust \
|
||||
${BSPPATH}/meta-raspberrypi \
|
||||
${BSPPATH}/meta-kineintercom \
|
||||
"
|
||||
63
recipes-apps/configurateur-backend/configurateur-backend.bb
Normal file
63
recipes-apps/configurateur-backend/configurateur-backend.bb
Normal file
@@ -0,0 +1,63 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
HOMEPAGE = "https://git.nas.benserv.fr/vincent/Kine-backend.git"
|
||||
SUMMARY = "KineIntercom Configurateur Backend"
|
||||
MAINTAINER = "Vincent BENOIT <vincent.benoit@benserv.fr>"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7dda4e90ded66ab88b86f76169f28663"
|
||||
LICENSE = "MIT"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI = "git://git.nas.benserv.fr/vincent/Kine-backend.git;protocol=https;branch=master"
|
||||
SRC_URI[sha256sum] = ""
|
||||
|
||||
SRCREV = "27387991e39f4614510af3bf8a69e47f6c54a568"
|
||||
PV = "1.0.0"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS += "${PYTHON_PN}-setuptools-scm-native kine-users"
|
||||
RDEPENDS:${PN} = " \
|
||||
${PYTHON_PN}-attrs \
|
||||
${PYTHON_PN}-click \
|
||||
${PYTHON_PN}-flask \
|
||||
${PYTHON_PN}-flask-cors \
|
||||
${PYTHON_PN}-flask-api \
|
||||
${PYTHON_PN}-flask-jwt-extended \
|
||||
${PYTHON_PN}-jsonschema \
|
||||
${PYTHON_PN}-importlib-metadata \
|
||||
${PYTHON_PN}-importlib-resources \
|
||||
${PYTHON_PN}-markupsafe \
|
||||
${PYTHON_PN}-itsdangerous \
|
||||
${PYTHON_PN}-jinja2 \
|
||||
${PYTHON_PN}-psutil \
|
||||
${PYTHON_PN}-pyjwt \
|
||||
${PYTHON_PN}-six \
|
||||
${PYTHON_PN}-waitress \
|
||||
${PYTHON_PN}-werkzeug \
|
||||
${PYTHON_PN}-zipp \
|
||||
${PYTHON_PN}-typing-extensions \
|
||||
${PYTHON_PN}-pkgutil-resolve-name \
|
||||
kine-users \
|
||||
"
|
||||
|
||||
inherit setuptools3 systemd
|
||||
|
||||
SRC_URI += " file://configurateur_backend.service \
|
||||
file://run_prod.py \
|
||||
"
|
||||
|
||||
FILES:${PN} += " /opt/configurateur/bin/run_prod.py \
|
||||
${systemd_unitdir}/system/configurateur_backend.service"
|
||||
|
||||
SYSTEMD_AUTO_ENABLE = "enable"
|
||||
SYSTEMD_SERVICE:${PN} = "configurateur_backend.service"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}/opt/configurateur/bin
|
||||
install -m 0644 ${WORKDIR}/run_prod.py ${D}/opt/configurateur/bin
|
||||
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${WORKDIR}/configurateur_backend.service ${D}${systemd_unitdir}/system/
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Démarrage du Backend du Configurateur
|
||||
StartLimitIntervalSec=300
|
||||
StartLimitBurst=5
|
||||
Wants=kineintercom.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pi
|
||||
Group=pi
|
||||
ExecStart=/usr/bin/python3 /opt/configurateur/bin/run_prod.py
|
||||
Restart=on-failure
|
||||
RestartSec=15s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
13
recipes-apps/configurateur-backend/files/run_prod.py
Normal file
13
recipes-apps/configurateur-backend/files/run_prod.py
Normal file
@@ -0,0 +1,13 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
# @author : vincent.benoit@benserv.fr
|
||||
# @brief : KineIntercom Backend
|
||||
|
||||
from ConfBack import app
|
||||
from ConfBack.config import ProdConfig
|
||||
from waitress import serve
|
||||
|
||||
print("Launch Flask KineIntercom Backend ...")
|
||||
ret, application = app.create_app(config=ProdConfig)
|
||||
if ret:
|
||||
serve(application, host="127.0.0.1", port=6000)
|
||||
@@ -0,0 +1,32 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
HOMEPAGE = "https://git.nas.benserv.fr/vincent/Kine-frontend.git"
|
||||
SUMMARY = "KineIntercom Configurateur Frontend"
|
||||
MAINTAINER = "Vincent BENOIT <vincent.benoit@benserv.fr>"
|
||||
#LIC_FILES_CHKSUM = "file://LICENSE;md5=7dda4e90ded66ab88b86f76169f28663"
|
||||
LICENSE = "CLOSED"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.nas.benserv.fr/vincent/Kine-frontend.git;protocol=https;branch=master \
|
||||
"
|
||||
|
||||
SRCREV = "cb0aa4b756b312ec7409a056aeb4e3b928fb9cf0"
|
||||
PV = "1.0.0"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
apache2 \
|
||||
"
|
||||
|
||||
FILES:${PN} = " \
|
||||
/var/www/app-configurateur \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/var/www/app-configurateur
|
||||
cp -a ${WORKDIR}/git/prod/app-configurateur/* ${D}/var/www/app-configurateur
|
||||
chown -R root:root ${D}/var/www/app-configurateur
|
||||
}
|
||||
17634
recipes-apps/configurateur-frontend/files/npm-shrinkwrap.json
generated
Normal file
17634
recipes-apps/configurateur-frontend/files/npm-shrinkwrap.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
1389
recipes-apps/intercom/files/database_origin.json
Normal file
1389
recipes-apps/intercom/files/database_origin.json
Normal file
File diff suppressed because it is too large
Load Diff
406
recipes-apps/intercom/files/db.json.schema
Normal file
406
recipes-apps/intercom/files/db.json.schema
Normal file
@@ -0,0 +1,406 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
||||
"$id": "https://git.nas.benserv.fr/vincent/Kine-backend/src/branch/master/db.json",
|
||||
"type": "object",
|
||||
"title": "KineIntercom database",
|
||||
"description": "This document records the parameters of KineIntercom process",
|
||||
"required": [
|
||||
"CODE_PIN",
|
||||
"DTMF_CODE",
|
||||
"DTMF_DURATION",
|
||||
"HORAIRES",
|
||||
"INFOS",
|
||||
"NUM_AUTORISE",
|
||||
"OPERATION",
|
||||
"PIN_ACTIF",
|
||||
"TONE_DURATION",
|
||||
"utilisateur"
|
||||
],
|
||||
"properties": {
|
||||
"CODE_PIN": {
|
||||
"type": "string",
|
||||
"title": "Le code pin de la carte SIM",
|
||||
"examples": [
|
||||
"1234"
|
||||
]
|
||||
},
|
||||
"DTMF_CODE": {
|
||||
"type": "string",
|
||||
"title": "Le code DTMF a envoyer par le module GSM",
|
||||
"examples": [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
"DTMF_DURATION": {
|
||||
"type": "integer",
|
||||
"title": "La duree du code DTMF a envoyer par le module GSM",
|
||||
"examples": [
|
||||
10
|
||||
]
|
||||
},
|
||||
"HORAIRES": {
|
||||
"type": "object",
|
||||
"title": "Les horaires d'ouverture et de fermeture du module GSM",
|
||||
"required": [
|
||||
"Monday",
|
||||
"Tuesday",
|
||||
"Wednesday",
|
||||
"Thursday",
|
||||
"Friday",
|
||||
"Saturday",
|
||||
"Sunday"
|
||||
],
|
||||
"properties": {
|
||||
"Monday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Vendredi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tuesday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Lundi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wednesday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Samedi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Thursday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Dimanche",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Friday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Jeudi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Saturday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Mardi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sunday": {
|
||||
"type": "array",
|
||||
"title": "Les horaires pour le jour de la semaine: Mercredi",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"title": "A Schema",
|
||||
"required": [
|
||||
"name",
|
||||
"state"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Les tranches horaires par pas de 1/2 heure"
|
||||
},
|
||||
"state": {
|
||||
"type": "integer",
|
||||
"title": "L'etat d'ouverture (1) ou fermeture(0) du module GSM",
|
||||
"examples": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"INFOS": {
|
||||
"type": "object",
|
||||
"title": "Les infos du module GSM",
|
||||
"required": [
|
||||
"control",
|
||||
"manufacturer"
|
||||
],
|
||||
"properties": {
|
||||
"control": {
|
||||
"type": "object",
|
||||
"title": "The control Schema",
|
||||
"required": [
|
||||
"call_ready",
|
||||
"operator",
|
||||
"service_provider",
|
||||
"signal_dbm",
|
||||
"signal_qos",
|
||||
"sim_inserted"
|
||||
],
|
||||
"properties": {
|
||||
"call_ready": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"title": "The call_ready Schema",
|
||||
"examples": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"title": "The operator Schema",
|
||||
"examples": [
|
||||
"SFR"
|
||||
]
|
||||
},
|
||||
"service_provider": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"title": "The service_provider Schema",
|
||||
"examples": [
|
||||
"La poste mobile"
|
||||
]
|
||||
},
|
||||
"signal_dbm": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"title": "The signal_dbm Schema",
|
||||
"examples": [
|
||||
"-75"
|
||||
]
|
||||
},
|
||||
"signal_qos": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"title": "The signal_qos Schema",
|
||||
"examples": [
|
||||
"excellent"
|
||||
]
|
||||
},
|
||||
"sim_inserted": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"title": "The sim_inserted Schema",
|
||||
"examples": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"manufacturer": {
|
||||
"type": "object",
|
||||
"title": "The manufacturer Schema",
|
||||
"required": [
|
||||
"hardware_rev",
|
||||
"identification",
|
||||
"model",
|
||||
"serial_number"
|
||||
],
|
||||
"properties": {
|
||||
"hardware_rev": {
|
||||
"type": "string",
|
||||
"title": "The hardware_rev Schema",
|
||||
"examples": [
|
||||
"1418B02SIM868M32_BT_EAT"
|
||||
]
|
||||
},
|
||||
"identification": {
|
||||
"type": "string",
|
||||
"title": "The identification Schema",
|
||||
"examples": [
|
||||
"SIMCOM_Ltd"
|
||||
]
|
||||
},
|
||||
"model": {
|
||||
"type": "string",
|
||||
"title": "The model Schema",
|
||||
"examples": [
|
||||
"SIMCOM_SIM868"
|
||||
]
|
||||
},
|
||||
"serial_number": {
|
||||
"type": "string",
|
||||
"title": "The serial_number Schema",
|
||||
"examples": [
|
||||
"864866057705260"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"NUM_AUTORISE": {
|
||||
"type": "string",
|
||||
"title": "The NUM_AUTORISE Schema",
|
||||
"examples": [
|
||||
"670100036"
|
||||
]
|
||||
},
|
||||
"OPERATION": {
|
||||
"type": "string",
|
||||
"title": "The OPERATION Schema",
|
||||
"examples": [
|
||||
"Horaires"
|
||||
]
|
||||
},
|
||||
"PIN_ACTIF": {
|
||||
"type": "boolean",
|
||||
"title": "The PIN_ACTIF Schema",
|
||||
"examples": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"TONE_DURATION": {
|
||||
"type": "integer",
|
||||
"title": "The TONE_DURATION Schema",
|
||||
"examples": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"utilisateur": {
|
||||
"type": "object",
|
||||
"title": "L'utilisateur du configurateur",
|
||||
"required": [
|
||||
"id",
|
||||
"password"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"title": "The id Schema",
|
||||
"examples": [
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"title": "The password Schema",
|
||||
"examples": [
|
||||
"9ac564e9a29c952a3ddeffd8635adb0c252dbd1d58f3efde265e028f7f808aa9"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
recipes-apps/intercom/files/kineintercom.service
Normal file
17
recipes-apps/intercom/files/kineintercom.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Démarrage du processus KineIntercom
|
||||
StartLimitIntervalSec=300
|
||||
StartLimitBurst=5
|
||||
After=getty.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pi
|
||||
Group=pi
|
||||
ExecStart=/usr/bin/python3 /usr/local/lib/python3.9/dist-packages/kineintercom/intercom.py
|
||||
Restart=on-failure
|
||||
RestartSec=15s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
44
recipes-apps/intercom/intercom.bb
Normal file
44
recipes-apps/intercom/intercom.bb
Normal file
@@ -0,0 +1,44 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
HOMEPAGE = "https://git.nas.benserv.fr/vincent/KineIntercom.git"
|
||||
SUMMARY = "KineIntercom Process"
|
||||
MAINTAINER = "Vincent BENOIT <vincent.benoit@benserv.fr>"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7dda4e90ded66ab88b86f76169f28663"
|
||||
LICENSE = "MIT"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI = "git://git.nas.benserv.fr/vincent/KineIntercom.git;protocol=https;branch=master"
|
||||
SRC_URI[sha256sum] = "573c6bf06324577d4007c9167eeaca7825927c5a396534ae1d86905db53e0386"
|
||||
|
||||
SRCREV = "fd79a53348416bf844e412eb6442773661b35aa0"
|
||||
PV = "1.0.0"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS = "python3-setuptools-scm-native kine-users"
|
||||
RDEPENDS:${PN} = "python3-apscheduler python3-jsonschema python3-pyserial rpi-gpio kine-users"
|
||||
|
||||
inherit setuptools3 systemd
|
||||
|
||||
SRC_URI += " file://database_origin.json \
|
||||
file://db.json.schema \
|
||||
file://kineintercom.service"
|
||||
|
||||
FILES:${PN} += " ${datadir}/kineintercom/database_origin.json \
|
||||
${datadir}/kineintercom/db.json.schema \
|
||||
${systemd_unitdir}/system/kineintercom.service"
|
||||
|
||||
SYSTEMD_AUTO_ENABLE = "enable"
|
||||
SYSTEMD_SERVICE:${PN} = "kineintercom.service"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${datadir}/kineintercom
|
||||
install -m 0644 ${WORKDIR}/database_origin.json ${D}${datadir}/kineintercom/
|
||||
install -m 0644 ${WORKDIR}/db.json.schema ${D}${datadir}/kineintercom/
|
||||
install -d ${D}${sysconfdir}/kineintercom
|
||||
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${WORKDIR}/kineintercom.service ${D}${systemd_unitdir}/system/
|
||||
}
|
||||
9
recipes-apps/kine-services/files/loadkeysfr.service
Normal file
9
recipes-apps/kine-services/files/loadkeysfr.service
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Loads FR keymap if available
|
||||
ConditionPathExists=/usr/share/keymaps/i386/azerty/fr-latin9.map.gz
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c '/usr/bin/loadkeys fr'
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
24
recipes-apps/kine-services/kine-services.bb
Normal file
24
recipes-apps/kine-services/kine-services.bb
Normal file
@@ -0,0 +1,24 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
SUMMARY = "KineIntercom Services"
|
||||
MAINTAINER = "Vincent BENOIT <vincent.benoit@benserv.fr>"
|
||||
LICENSE = "CLOSED"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI = "file://loadkeysfr.service"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
inherit systemd
|
||||
|
||||
SYSTEMD_AUTO_ENABLE = "enable"
|
||||
SYSTEMD_SERVICE_${PN} = "loadkeysfr.service"
|
||||
|
||||
FILES:${PN} = "${systemd_unitdir}/system/loadkeysfr.service"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${WORKDIR}/loadkeysfr.service ${D}${systemd_unitdir}/system/
|
||||
}
|
||||
23
recipes-apps/kine-users/kine-users.bb
Normal file
23
recipes-apps/kine-users/kine-users.bb
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
SUMMARY = "KineIntercom Users"
|
||||
MAINTAINER = "Vincent BENOIT <vincent.benoit@benserv.fr>"
|
||||
LICENSE = "CLOSED"
|
||||
|
||||
DEPENDS_${PN} = "base-files"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
inherit useradd
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
|
||||
GROUPADD_PARAM:${PN} = "--system sudo; --system adm; --system crontab;"
|
||||
|
||||
# To change the password use something like this : "mkpasswd -m sha-512 p@ssw0rd -s 'seed'"
|
||||
# mkpasswd from 'whois' debian package
|
||||
USERADD_PARAM:${PN} = "--home-dir /home/pi --groups 'sudo,adm' --shell /bin/bash --password '\$6\$kineintercom\$GG8czkna4jULxnX/UcaaAekfnn1wJry7M/7O0zO89jDZ7lwE7Thv2UEGgBX4z8A6gIaARFyzESmQaFB3lLKns/' pi;"
|
||||
|
||||
# Specify whether to produce an output package even if it is empty
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
9
recipes-connectivity/dhcpcd/dhcpcd_%.bbappend
Normal file
9
recipes-connectivity/dhcpcd/dhcpcd_%.bbappend
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://dhcpcd.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/dhcpcd.conf ${D}${sysconfdir}
|
||||
}
|
||||
42
recipes-connectivity/dhcpcd/files/dhcpcd.conf
Normal file
42
recipes-connectivity/dhcpcd/files/dhcpcd.conf
Normal file
@@ -0,0 +1,42 @@
|
||||
# A sample configuration for dhcpcd.
|
||||
# See dhcpcd.conf(5) for details.
|
||||
|
||||
# Inform the DHCP server of our hostname for DDNS.
|
||||
hostname
|
||||
|
||||
# Use the hardware address of the interface for the Client ID.
|
||||
clientid
|
||||
|
||||
# Persist interface configuration when dhcpcd exits.
|
||||
persistent
|
||||
|
||||
# Rapid commit support.
|
||||
# Safe to enable by default because it requires the equivalent option set
|
||||
# on the server to actually work.
|
||||
option rapid_commit
|
||||
|
||||
# A list of options to request from the DHCP server.
|
||||
option domain_name_servers, domain_name, domain_search, host_name
|
||||
option classless_static_routes
|
||||
# Respect the network MTU. This is applied to DHCP routes.
|
||||
option interface_mtu
|
||||
|
||||
# A ServerID is required by RFC2131.
|
||||
require dhcp_server_identifier
|
||||
|
||||
# Generate SLAAC address using the Hardware Address of the interface
|
||||
#slaac hwaddr
|
||||
# OR generate Stable Private IPv6 Addresses based from the DUID
|
||||
slaac private
|
||||
|
||||
# static IP configuration:
|
||||
interface eth0
|
||||
static ip_address=192.168.10.10/24
|
||||
static routers=192.168.10.1
|
||||
static domain_name_servers=192.168.10.1
|
||||
|
||||
interface wlan0
|
||||
static ip_address=10.1.1.10/24
|
||||
static routers=10.1.1.1
|
||||
static domain_name_servers=10.1.1.1
|
||||
nohook wpa_supplicant
|
||||
14
recipes-connectivity/hostapd/files/hostapd.conf
Normal file
14
recipes-connectivity/hostapd/files/hostapd.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
interface=wlan0
|
||||
driver=nl80211
|
||||
hw_mode=g
|
||||
channel=7
|
||||
wmm_enabled=0
|
||||
macaddr_acl=0
|
||||
auth_algs=1
|
||||
ignore_broadcast_ssid=0
|
||||
wpa=2
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
wpa_pairwise=TKIP
|
||||
rsn_pairwise=CCMP
|
||||
ssid=Kine_hotspot
|
||||
wpa_passphrase=kineintercom
|
||||
12
recipes-connectivity/hostapd/hostapd_%.bbappend
Normal file
12
recipes-connectivity/hostapd/hostapd_%.bbappend
Normal file
@@ -0,0 +1,12 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://hostapd.conf"
|
||||
|
||||
inherit systemd
|
||||
SYSTEMD_AUTO_ENABLE = "enable"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/hostapd.conf ${D}${sysconfdir}/
|
||||
}
|
||||
13
recipes-core/base-files/base-files_%.bbappend
Normal file
13
recipes-core/base-files/base-files_%.bbappend
Normal file
@@ -0,0 +1,13 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://hostname \
|
||||
file://hosts \
|
||||
file://fstab"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/hostname ${D}${sysconfdir}
|
||||
install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}
|
||||
install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}
|
||||
}
|
||||
8
recipes-core/base-files/files/fstab
Normal file
8
recipes-core/base-files/files/fstab
Normal file
@@ -0,0 +1,8 @@
|
||||
proc /proc proc defaults 0 0
|
||||
/dev/mmcblk0p1 /boot vfat defaults,flush 0 2
|
||||
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
|
||||
devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0
|
||||
tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
|
||||
|
||||
#tmpfs /var/volatile tmpfs defaults 0 0
|
||||
#/dev/root / auto defaults 1 1
|
||||
1
recipes-core/base-files/files/hostname
Normal file
1
recipes-core/base-files/files/hostname
Normal file
@@ -0,0 +1 @@
|
||||
kineintercom
|
||||
6
recipes-core/base-files/files/hosts
Normal file
6
recipes-core/base-files/files/hosts
Normal file
@@ -0,0 +1,6 @@
|
||||
127.0.0.1 localhost
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
|
||||
127.0.1.1 kineintercom
|
||||
4
recipes-core/images/kineintercom-image.bb
Normal file
4
recipes-core/images/kineintercom-image.bb
Normal file
@@ -0,0 +1,4 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SUMMARY = "KineIntercom Image"
|
||||
include kineintercom-image.inc
|
||||
40
recipes-core/images/kineintercom-image.inc
Normal file
40
recipes-core/images/kineintercom-image.inc
Normal file
@@ -0,0 +1,40 @@
|
||||
SUMMARY = "KineIntercom Image"
|
||||
PV = "1.0.0"
|
||||
|
||||
inherit core-image
|
||||
|
||||
EXTRA_IMAGE_FEATURES = ""
|
||||
GLIBC_GENERATE_LOCALES = "en_US.UTF-8 fr_FR.UTF-8"
|
||||
IMAGE_LINGUAS = "fr-fr"
|
||||
|
||||
PROCESS_INSTALL = " \
|
||||
kine-users \
|
||||
kine-services \
|
||||
intercom \
|
||||
configurateur-backend \
|
||||
configurateur-frontend \
|
||||
"
|
||||
|
||||
PYTHON_INSTALL = " \
|
||||
python3-apscheduler \
|
||||
python3-pyserial \
|
||||
python3-jsonschema \
|
||||
rpi-gpio \
|
||||
"
|
||||
|
||||
IMAGE_INSTALL += " \
|
||||
sudo \
|
||||
logrotate \
|
||||
dnsmasq \
|
||||
hostapd \
|
||||
dhcpcd \
|
||||
rsyslog \
|
||||
iptables \
|
||||
procps \
|
||||
kbd-keymaps \
|
||||
vim \
|
||||
minicom \
|
||||
i2c-tools \
|
||||
${PROCESS_INSTALL} \
|
||||
"
|
||||
|
||||
9
recipes-core/systemd-conf/files/eth0.network
Normal file
9
recipes-core/systemd-conf/files/eth0.network
Normal file
@@ -0,0 +1,9 @@
|
||||
[Match]
|
||||
Name=eth0
|
||||
|
||||
[Network]
|
||||
Address=192.168.10.10/24
|
||||
Gateway=192.168.10.1
|
||||
|
||||
[Link]
|
||||
ActivationPolicy=always-up
|
||||
16
recipes-core/systemd-conf/systemd-conf_%.bbappend
Normal file
16
recipes-core/systemd-conf/systemd-conf_%.bbappend
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += " \
|
||||
file://eth0.network \
|
||||
"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${sysconfdir}/systemd/network/eth0.network \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${sysconfdir}/systemd/network
|
||||
install -m 0644 ${WORKDIR}/eth0.network ${D}${sysconfdir}/systemd/network
|
||||
}
|
||||
17
recipes-devtools/python/python3-apscheduler_3.9.1.bb
Normal file
17
recipes-devtools/python/python3-apscheduler_3.9.1.bb
Normal file
@@ -0,0 +1,17 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f0e423eea5c91e7aa21bdb70184b3e53"
|
||||
LICENSE = "MIT"
|
||||
|
||||
DEPENDS += "python3-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
python3-six \
|
||||
python3-pytz \
|
||||
python3-tzlocal \
|
||||
"
|
||||
inherit pypi setuptools3
|
||||
|
||||
PYPI_PACKAGE = "APScheduler"
|
||||
|
||||
SRC_URI[sha256sum] = "65e6574b6395498d371d045f2a8a7e4f7d50c6ad21ef7313d15b1c7cf20df1e3"
|
||||
15
recipes-devtools/python/python3-flask-api_3.0.post1.bb
Normal file
15
recipes-devtools/python/python3-flask-api_3.0.post1.bb
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7700a874b500cc9168a0334060b17e3d"
|
||||
LICENSE = "BSD-2-Clause"
|
||||
|
||||
DEPENDS += "python3-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
python3-flask \
|
||||
"
|
||||
inherit pypi setuptools3
|
||||
|
||||
PYPI_PACKAGE = "Flask-API"
|
||||
|
||||
SRC_URI[sha256sum] = "331889500433b0a5e71ae7910a00ee577c8999baba03ca685b3558ee93031cce"
|
||||
16
recipes-devtools/python/python3-flask-cors_3.0.10.bb
Normal file
16
recipes-devtools/python/python3-flask-cors_3.0.10.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=118fecaa576ab51c1520f95e98db61ce"
|
||||
LICENSE = "MIT"
|
||||
|
||||
DEPENDS += "python3-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
python3-six \
|
||||
python3-flask \
|
||||
"
|
||||
inherit pypi setuptools3
|
||||
|
||||
PYPI_PACKAGE = "Flask-Cors"
|
||||
|
||||
SRC_URI[sha256sum] = "b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de"
|
||||
16
recipes-devtools/python/python3-flask-jwt-extended_4.4.4.bb
Normal file
16
recipes-devtools/python/python3-flask-jwt-extended_4.4.4.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=9166295d7c482b9440bbb2b5c0fa43ac"
|
||||
LICENSE = "MIT"
|
||||
|
||||
DEPENDS += "python3-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
python3-flask \
|
||||
python3-pyjwt \
|
||||
"
|
||||
inherit pypi setuptools3
|
||||
|
||||
PYPI_PACKAGE = "Flask-JWT-Extended"
|
||||
|
||||
SRC_URI[sha256sum] = "62b521d75494c290a646ae8acc77123721e4364790f1e64af0038d823961fbf0"
|
||||
26
recipes-devtools/python/python3-flask_2.2.2.bb
Normal file
26
recipes-devtools/python/python3-flask_2.2.2.bb
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions"
|
||||
DESCRIPTION = "\
|
||||
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \
|
||||
intentions. And before you ask: Its BSD licensed!"
|
||||
HOMEPAGE = "https://github.com/mitsuhiko/flask/"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
|
||||
|
||||
SRC_URI[sha256sum] = "642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b"
|
||||
|
||||
PYPI_PACKAGE = "Flask"
|
||||
|
||||
inherit pypi setuptools3
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
${PYTHON_PN}-werkzeug \
|
||||
${PYTHON_PN}-jinja2 \
|
||||
${PYTHON_PN}-itsdangerous \
|
||||
${PYTHON_PN}-click \
|
||||
${PYTHON_PN}-profile \
|
||||
"
|
||||
15
recipes-devtools/python/python3-importlib-metadata_5.0.0.bb
Normal file
15
recipes-devtools/python/python3-importlib-metadata_5.0.0.bb
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
LICENSE = "Apache-2.0"
|
||||
|
||||
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
${PYTHON_PN}-zipp \
|
||||
"
|
||||
inherit pypi python_setuptools_build_meta
|
||||
|
||||
PYPI_PACKAGE = "importlib_metadata"
|
||||
|
||||
SRC_URI[sha256sum] = "da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab"
|
||||
@@ -0,0 +1,15 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
LICENSE = "Apache-2.0"
|
||||
|
||||
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
|
||||
RDEPENDS:${PN} = " \
|
||||
${PYTHON_PN}-zipp \
|
||||
"
|
||||
inherit pypi python_setuptools_build_meta
|
||||
|
||||
PYPI_PACKAGE = "importlib_resources"
|
||||
|
||||
SRC_URI[sha256sum] = "c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"
|
||||
50
recipes-devtools/python/python3-jsonschema_4.17.0.bb
Normal file
50
recipes-devtools/python/python3-jsonschema_4.17.0.bb
Normal file
@@ -0,0 +1,50 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SUMMARY = "An implementation of JSON Schema validation for Python"
|
||||
HOMEPAGE = "https://github.com/Julian/jsonschema"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
|
||||
file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
|
||||
|
||||
SRC_URI[sha256sum] = "5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"
|
||||
|
||||
inherit pypi python_setuptools_build_meta
|
||||
|
||||
DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
|
||||
|
||||
#PACKAGECONFIG ??= "format"
|
||||
#PACKAGECONFIG[format] = ",,,\
|
||||
# ${PYTHON_PN}-idna \
|
||||
# ${PYTHON_PN}-jsonpointer \
|
||||
# ${PYTHON_PN}-webcolors \
|
||||
# ${PYTHON_PN}-rfc3987 \
|
||||
# ${PYTHON_PN}-strict-rfc3339 \
|
||||
#"
|
||||
#PACKAGECONFIG[nongpl] = ",,,\
|
||||
# ${PYTHON_PN}-idna \
|
||||
# ${PYTHON_PN}-jsonpointer \
|
||||
# ${PYTHON_PN}-webcolors \
|
||||
# ${PYTHON_PN}-rfc3986-validator \
|
||||
# ${PYTHON_PN}-rfc3339-validator \
|
||||
#"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
${PYTHON_PN}-attrs \
|
||||
${PYTHON_PN}-core \
|
||||
${PYTHON_PN}-datetime \
|
||||
${PYTHON_PN}-importlib-metadata \
|
||||
${PYTHON_PN}-io \
|
||||
${PYTHON_PN}-json \
|
||||
${PYTHON_PN}-netclient \
|
||||
${PYTHON_PN}-numbers \
|
||||
${PYTHON_PN}-pkgutil \
|
||||
${PYTHON_PN}-pprint \
|
||||
${PYTHON_PN}-pyrsistent \
|
||||
${PYTHON_PN}-shell \
|
||||
${PYTHON_PN}-six \
|
||||
${PYTHON_PN}-unittest \
|
||||
${PYTHON_PN}-setuptools-scm \
|
||||
${PYTHON_PN}-zipp \
|
||||
"
|
||||
|
||||
#BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,12 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
SECTION = "devel/python"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=649013219b4c73656698099c4d885d23"
|
||||
LICENSE = "MIT"
|
||||
|
||||
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
|
||||
inherit pypi python_setuptools_build_meta
|
||||
|
||||
PYPI_PACKAGE = "pkgutil_resolve_name"
|
||||
|
||||
SRC_URI[sha256sum] = "357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"
|
||||
50
recipes-extended/logrotate/files/logrotate.conf
Normal file
50
recipes-extended/logrotate/files/logrotate.conf
Normal file
@@ -0,0 +1,50 @@
|
||||
# see "man logrotate" for details
|
||||
|
||||
# system-specific logs may also be configured here.
|
||||
/var/log/syslog {
|
||||
# Les logs sont compréssé avant rotation
|
||||
compress
|
||||
# compression au tour d'après
|
||||
delaycompress
|
||||
# garder 20 archives
|
||||
rotate 20
|
||||
# Fréquence de rotation hebdomadaire
|
||||
daily
|
||||
# Si la taille est supérieure à 20 Mo, déclencher la rotation
|
||||
maxsize 20M
|
||||
# Toutes les archives sont stockées dans /var/log
|
||||
olddir /var/log
|
||||
# Si le fichier est manquant, ne pas générer d'erreur et continuer
|
||||
missingok
|
||||
# On écrit la date dans le nom du fichier
|
||||
dateext
|
||||
dateformat -%Y%m%d_%H%M%S
|
||||
postrotate
|
||||
systemctl restart rsyslog > /dev/null
|
||||
endscript
|
||||
}
|
||||
|
||||
/var/log/debug
|
||||
/var/log/kern.log
|
||||
/var/log/daemon.log
|
||||
/var/log/dpkg.log
|
||||
/var/log/user.log
|
||||
/var/log/messages {
|
||||
# Les logs sont compréssé avant rotation
|
||||
compress
|
||||
# compression au tour d'après
|
||||
delaycompress
|
||||
# garder 10 archives
|
||||
rotate 10
|
||||
# Fréquence de rotation mensuelle
|
||||
daily
|
||||
# Si la taille est supérieure à 20 Mo, déclencher la rotation
|
||||
maxsize 20M
|
||||
# Toutes les archives sont stockées dans /var/log
|
||||
olddir /var/log
|
||||
# Si le fichier est manquant, ne pas générer d'erreur et continuer
|
||||
missingok
|
||||
# On écrit la date dans le nom du fichier
|
||||
dateext
|
||||
dateformat -%Y%m%d_%H%M%S
|
||||
}
|
||||
9
recipes-extended/logrotate/logrotate_3.20.1.bbappend
Normal file
9
recipes-extended/logrotate/logrotate_3.20.1.bbappend
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://logrotate.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/logrotate.conf ${D}${sysconfdir}
|
||||
}
|
||||
67
recipes-extended/procps/files/ip-forward.conf
Normal file
67
recipes-extended/procps/files/ip-forward.conf
Normal file
@@ -0,0 +1,67 @@
|
||||
# This configuration taken from procps v3.3.15
|
||||
# Commented out kernel/pid_max=10000 line
|
||||
#
|
||||
# /etc/sysctl.conf - Configuration file for setting system variables
|
||||
# See sysctl.conf (5) for information.
|
||||
|
||||
# you can have the CD-ROM close when you use it, and open
|
||||
# when you are done.
|
||||
#dev.cdrom.autoeject = 1
|
||||
#dev.cdrom.autoclose = 1
|
||||
|
||||
# protection from the SYN flood attack
|
||||
net/ipv4/tcp_syncookies=1
|
||||
|
||||
# see the evil packets in your log files
|
||||
net/ipv4/conf/all/log_martians=1
|
||||
|
||||
# makes you vulnerable or not :-)
|
||||
net/ipv4/conf/all/accept_redirects=0
|
||||
net/ipv4/conf/all/accept_source_route=0
|
||||
net/ipv4/icmp_echo_ignore_broadcasts=1
|
||||
|
||||
# needed for routing, including masquerading or NAT
|
||||
net/ipv4/ip_forward=1
|
||||
|
||||
# sets the port range used for outgoing connections
|
||||
#net.ipv4.ip_local_port_range = 32768 61000
|
||||
|
||||
# Broken routers and obsolete firewalls will corrupt the window scaling
|
||||
# and ECN. Set these values to 0 to disable window scaling and ECN.
|
||||
# This may, rarely, cause some performance loss when running high-speed
|
||||
# TCP/IP over huge distances or running TCP/IP over connections with high
|
||||
# packet loss and modern routers. This sure beats dropped connections.
|
||||
#net.ipv4.tcp_ecn = 0
|
||||
|
||||
# Swapping too much or not enough? Disks spinning up when you'd
|
||||
# rather they didn't? Tweak these.
|
||||
#vm.vfs_cache_pressure = 100
|
||||
#vm.laptop_mode = 0
|
||||
#vm.swappiness = 60
|
||||
|
||||
#kernel.printk_ratelimit_burst = 10
|
||||
#kernel.printk_ratelimit = 5
|
||||
#kernel.panic_on_oops = 0
|
||||
|
||||
# Reboot 600 seconds after a panic
|
||||
#kernel.panic = 600
|
||||
|
||||
# enable SysRq key (note: console security issues)
|
||||
#kernel.sysrq = 1
|
||||
|
||||
# Change name of core file to start with the command name
|
||||
# so you get things like: emacs.core mozilla-bin.core X.core
|
||||
#kernel.core_pattern = %e.core
|
||||
|
||||
# NIS/YP domain (not always equal to DNS domain)
|
||||
#kernel.domainname = example.com
|
||||
#kernel.hostname = darkstar
|
||||
|
||||
# This limits PID values to 4 digits, which allows tools like ps
|
||||
# to save screen space.
|
||||
#kernel/pid_max=10000
|
||||
|
||||
# Protects against creating or following links under certain conditions
|
||||
# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
|
||||
#fs.protected_hardlinks = 1
|
||||
#fs.protected_symlinks = 1
|
||||
12
recipes-extended/procps/procps_%.bbappend
Normal file
12
recipes-extended/procps/procps_%.bbappend
Normal file
@@ -0,0 +1,12 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://ip-forward.conf"
|
||||
|
||||
FILES:{PN} += "${sysconfdir}/sysctl.d/ip-forward.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${sysconfdir}/sysctl.d/
|
||||
install -m 0644 ${WORKDIR}/ip-forward.conf ${D}${sysconfdir}/sysctl.d/
|
||||
}
|
||||
75
recipes-extended/rsyslog/files/rsyslog.conf
Normal file
75
recipes-extended/rsyslog/files/rsyslog.conf
Normal file
@@ -0,0 +1,75 @@
|
||||
# /etc/rsyslog.conf configuration file for rsyslog
|
||||
#
|
||||
# For more information install rsyslog-doc and see
|
||||
# /usr/share/doc/rsyslog-doc/html/configuration/index.html
|
||||
|
||||
|
||||
#################
|
||||
#### MODULES ####
|
||||
#################
|
||||
|
||||
module(load="imuxsock") # provides support for local system logging
|
||||
module(load="imklog") # provides kernel logging support
|
||||
#module(load="immark") # provides --MARK-- message capability
|
||||
|
||||
# provides UDP syslog reception
|
||||
#module(load="imudp")
|
||||
#input(type="imudp" port="514")
|
||||
|
||||
# provides TCP syslog reception
|
||||
#module(load="imtcp")
|
||||
#input(type="imtcp" port="514")
|
||||
|
||||
|
||||
###########################
|
||||
#### GLOBAL DIRECTIVES ####
|
||||
###########################
|
||||
|
||||
#
|
||||
# Use traditional timestamp format.
|
||||
# To enable high precision timestamps, comment out the following line.
|
||||
#
|
||||
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
|
||||
|
||||
#
|
||||
# Set the default permissions for all log files.
|
||||
#
|
||||
$FileOwner root
|
||||
$FileGroup adm
|
||||
$FileCreateMode 0640
|
||||
$DirCreateMode 0755
|
||||
$Umask 0022
|
||||
|
||||
#
|
||||
# Where to place spool and state files
|
||||
#
|
||||
$WorkDirectory /var/spool/rsyslog
|
||||
|
||||
#
|
||||
# Include all config files in /etc/rsyslog.d/
|
||||
#
|
||||
$IncludeConfig /etc/rsyslog.d/*.conf
|
||||
|
||||
|
||||
###############
|
||||
#### RULES ####
|
||||
###############
|
||||
|
||||
#
|
||||
# First some standard log files. Log by facility.
|
||||
#
|
||||
*.*;auth,authpriv.none -/var/log/syslog
|
||||
daemon.* -/var/log/daemon.log
|
||||
kern.* -/var/log/kern.log
|
||||
user.* -/var/log/user.log
|
||||
|
||||
#
|
||||
# Some "catch-all" log files.
|
||||
#
|
||||
*.=debug;\
|
||||
auth,authpriv.none;\
|
||||
mail.none -/var/log/debug
|
||||
*.=info;*.=notice;*.=warn;\
|
||||
auth,authpriv.none;\
|
||||
cron,daemon.none;\
|
||||
mail.none -/var/log/messages
|
||||
9
recipes-extended/rsyslog/rsyslog_%.bbappend
Normal file
9
recipes-extended/rsyslog/rsyslog_%.bbappend
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://rsyslog.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}
|
||||
}
|
||||
19
recipes-httpd/apache2/apache2_%.bbappend
Normal file
19
recipes-httpd/apache2/apache2_%.bbappend
Normal file
@@ -0,0 +1,19 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += " \
|
||||
file://httpd.conf \
|
||||
file://010-configurateur.conf \
|
||||
"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${sysconfdir}/apache2/httpd.conf \
|
||||
${sysconfdir}/apache2/sites-enabled/010-configurateur.conf \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/httpd.conf ${D}${sysconfdir}/apache2
|
||||
install -d ${D}${sysconfdir}/apache2/sites-enabled
|
||||
install -m 0644 ${WORKDIR}/010-configurateur.conf ${D}${sysconfdir}/apache2/sites-enabled
|
||||
}
|
||||
28
recipes-httpd/apache2/files/010-configurateur.conf
Normal file
28
recipes-httpd/apache2/files/010-configurateur.conf
Normal file
@@ -0,0 +1,28 @@
|
||||
<VirtualHost *:80>
|
||||
ServerAdmin vincent.benoit@benserv.fr
|
||||
DocumentRoot /var/www/app-configurateur
|
||||
<Directory /var/www/app-configurateur/*>
|
||||
Order Allow,Deny
|
||||
Allow from all
|
||||
AllowOverride none
|
||||
Require all granted
|
||||
Header always set Access-Control-Allow-Origin "*"
|
||||
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
|
||||
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
|
||||
Header always add Access-Control-Expose-Headers "Content-Security-Policy, Location"
|
||||
Header always add Access-Control-Max-Age "3600"
|
||||
</Directory>
|
||||
|
||||
<Location /api>
|
||||
ProxyPreserveHost On
|
||||
ProxyPass http://127.0.0.1:6000/api
|
||||
ProxyPassReverse http://127.0.0.1:6000/api
|
||||
</Location>
|
||||
|
||||
LogLevel info
|
||||
ErrorLog /var/log/apache2/error_log
|
||||
CustomLog /var/log/apache2/access_log combined
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|
||||
307
recipes-httpd/apache2/files/httpd.conf
Normal file
307
recipes-httpd/apache2/files/httpd.conf
Normal file
@@ -0,0 +1,307 @@
|
||||
#
|
||||
# This is the main Apache HTTP server configuration file. It contains the
|
||||
# configuration directives that give the server its instructions.
|
||||
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
|
||||
# In particular, see
|
||||
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
|
||||
# for a discussion of each configuration directive.
|
||||
#
|
||||
# Do NOT simply read the instructions in here without understanding
|
||||
# what they do. They're here only as hints or reminders. If you are unsure
|
||||
# consult the online docs. You have been warned.
|
||||
#
|
||||
# Configuration and logfile names: If the filenames you specify for many
|
||||
# of the server's control files begin with "/" (or "drive:/" for Win32), the
|
||||
# server will use that explicit path. If the filenames do *not* begin
|
||||
# with "/", the value of ServerRoot is prepended -- so "logs/access_log"
|
||||
# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
|
||||
# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
|
||||
# will be interpreted as '/logs/access_log'.
|
||||
|
||||
# Listen: Allows you to bind Apache to specific IP addresses and/or
|
||||
# ports, instead of the default. See also the <VirtualHost>
|
||||
# directive.
|
||||
#
|
||||
# Change this to Listen on specific IP addresses as shown below to
|
||||
# prevent Apache from glomming onto all bound IP addresses.
|
||||
#
|
||||
#Listen 12.34.56.78:80
|
||||
Listen 80
|
||||
|
||||
#
|
||||
# Dynamic Shared Object (DSO) Support
|
||||
#
|
||||
# To be able to use the functionality of a module which was built as a DSO you
|
||||
# have to place corresponding `LoadModule' lines at this location so the
|
||||
# directives contained in it are actually available _before_ they are used.
|
||||
# Statically compiled modules (those listed by `httpd -l') do not need
|
||||
# to be loaded here.
|
||||
#
|
||||
# Example:
|
||||
# LoadModule foo_module modules/mod_foo.so
|
||||
#
|
||||
LoadModule mpm_worker_module /usr/libexec/apache2/modules/mod_mpm_worker.so
|
||||
LoadModule authn_file_module /usr/libexec/apache2/modules/mod_authn_file.so
|
||||
LoadModule authn_core_module /usr/libexec/apache2/modules/mod_authn_core.so
|
||||
LoadModule authz_host_module /usr/libexec/apache2/modules/mod_authz_host.so
|
||||
LoadModule authz_groupfile_module /usr/libexec/apache2/modules/mod_authz_groupfile.so
|
||||
LoadModule authz_user_module /usr/libexec/apache2/modules/mod_authz_user.so
|
||||
LoadModule authz_core_module /usr/libexec/apache2/modules/mod_authz_core.so
|
||||
LoadModule access_compat_module /usr/libexec/apache2/modules/mod_access_compat.so
|
||||
LoadModule auth_basic_module /usr/libexec/apache2/modules/mod_auth_basic.so
|
||||
LoadModule reqtimeout_module /usr/libexec/apache2/modules/mod_reqtimeout.so
|
||||
LoadModule filter_module /usr/libexec/apache2/modules/mod_filter.so
|
||||
LoadModule mime_module /usr/libexec/apache2/modules/mod_mime.so
|
||||
LoadModule log_config_module /usr/libexec/apache2/modules/mod_log_config.so
|
||||
LoadModule env_module /usr/libexec/apache2/modules/mod_env.so
|
||||
LoadModule headers_module /usr/libexec/apache2/modules/mod_headers.so
|
||||
LoadModule setenvif_module /usr/libexec/apache2/modules/mod_setenvif.so
|
||||
LoadModule version_module /usr/libexec/apache2/modules/mod_version.so
|
||||
LoadModule proxy_module /usr/libexec/apache2/modules/mod_proxy.so
|
||||
LoadModule proxy_http_module /usr/libexec/apache2/modules/mod_proxy_http.so
|
||||
LoadModule unixd_module /usr/libexec/apache2/modules/mod_unixd.so
|
||||
LoadModule status_module /usr/libexec/apache2/modules/mod_status.so
|
||||
LoadModule autoindex_module /usr/libexec/apache2/modules/mod_autoindex.so
|
||||
LoadModule dir_module /usr/libexec/apache2/modules/mod_dir.so
|
||||
LoadModule alias_module /usr/libexec/apache2/modules/mod_alias.so
|
||||
LoadModule rewrite_module /usr/libexec/apache2/modules/mod_rewrite.so
|
||||
|
||||
<IfModule unixd_module>
|
||||
#
|
||||
# If you wish httpd to run as a different user or group, you must run
|
||||
# httpd as root initially and it will switch.
|
||||
#
|
||||
# User/Group: The name (or #number) of the user/group to run httpd as.
|
||||
# It is usually good practice to create a dedicated user and group for
|
||||
# running httpd, as with most system services.
|
||||
#
|
||||
User daemon
|
||||
Group daemon
|
||||
|
||||
</IfModule>
|
||||
|
||||
# 'Main' server configuration
|
||||
#
|
||||
# The directives in this section set up the values used by the 'main'
|
||||
# server, which responds to any requests that aren't handled by a
|
||||
# <VirtualHost> definition. These values also provide defaults for
|
||||
# any <VirtualHost> containers you may define later in the file.
|
||||
#
|
||||
# All of these directives may appear inside <VirtualHost> containers,
|
||||
# in which case these default settings will be overridden for the
|
||||
# virtual host being defined.
|
||||
#
|
||||
|
||||
#
|
||||
# ServerAdmin: Your address, where problems with the server should be
|
||||
# e-mailed. This address appears on some server-generated pages, such
|
||||
# as error documents. e.g. admin@your-domain.com
|
||||
#
|
||||
ServerAdmin vincent.benoit@benserv.fr
|
||||
|
||||
#
|
||||
# ServerName gives the name and port that the server uses to identify itself.
|
||||
# This can often be determined automatically, but we recommend you specify
|
||||
# it explicitly to prevent problems during startup.
|
||||
#
|
||||
# If your host doesn't have a registered DNS name, enter its IP address here.
|
||||
#
|
||||
ServerName localhost:80
|
||||
|
||||
#
|
||||
# Deny access to the entirety of your server's filesystem. You must
|
||||
# explicitly permit access to web content directories in other
|
||||
# <Directory> blocks below.
|
||||
#
|
||||
<Directory />
|
||||
AllowOverride none
|
||||
Require all denied
|
||||
</Directory>
|
||||
|
||||
#
|
||||
# Note that from this point forward you must specifically allow
|
||||
# particular features to be enabled - so if something's not working as
|
||||
# you might expect, make sure that you have specifically enabled it
|
||||
# below.
|
||||
#
|
||||
|
||||
#
|
||||
# DirectoryIndex: sets the file that Apache will serve if a directory
|
||||
# is requested.
|
||||
#
|
||||
<IfModule dir_module>
|
||||
DirectoryIndex index.html
|
||||
</IfModule>
|
||||
|
||||
#
|
||||
# The following lines prevent .htaccess and .htpasswd files from being
|
||||
# viewed by Web clients.
|
||||
#
|
||||
<Files ".ht*">
|
||||
Require all denied
|
||||
</Files>
|
||||
|
||||
#
|
||||
# ErrorLog: The location of the error log file.
|
||||
# If you do not specify an ErrorLog directive within a <VirtualHost>
|
||||
# container, error messages relating to that virtual host will be
|
||||
# logged here. If you *do* define an error logfile for a <VirtualHost>
|
||||
# container, that host's errors will be logged there and not here.
|
||||
#
|
||||
ErrorLog "/var/log/apache2/error_log"
|
||||
|
||||
#
|
||||
# LogLevel: Control the number of messages logged to the error_log.
|
||||
# Possible values include: debug, info, notice, warn, error, crit,
|
||||
# alert, emerg.
|
||||
#
|
||||
LogLevel info
|
||||
|
||||
<IfModule log_config_module>
|
||||
#
|
||||
# The following directives define some format nicknames for use with
|
||||
# a CustomLog directive (see below).
|
||||
#
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b" common
|
||||
|
||||
<IfModule logio_module>
|
||||
# You need to enable mod_logio.c to use %I and %O
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
|
||||
</IfModule>
|
||||
|
||||
#
|
||||
# The location and format of the access logfile (Common Logfile Format).
|
||||
# If you do not define any access logfiles within a <VirtualHost>
|
||||
# container, they will be logged here. Contrariwise, if you *do*
|
||||
# define per-<VirtualHost> access logfiles, transactions will be
|
||||
# logged therein and *not* in this file.
|
||||
#
|
||||
CustomLog "/var/log/apache2/access_log" common
|
||||
|
||||
#
|
||||
# If you prefer a logfile with access, agent, and referer information
|
||||
# (Combined Logfile Format) you can use the following directive.
|
||||
#
|
||||
#CustomLog "/var/log/apache2/access_log" combined
|
||||
</IfModule>
|
||||
|
||||
<IfModule alias_module>
|
||||
#
|
||||
# Redirect: Allows you to tell clients about documents that used to
|
||||
# exist in your server's namespace, but do not anymore. The client
|
||||
# will make a new request for the document at its new location.
|
||||
# Example:
|
||||
# Redirect permanent /foo http://www.example.com/bar
|
||||
|
||||
#
|
||||
# Alias: Maps web paths into filesystem paths and is used to
|
||||
# access content that does not live under the DocumentRoot.
|
||||
# Example:
|
||||
# Alias /webpath /full/filesystem/path
|
||||
#
|
||||
# If you include a trailing / on /webpath then the server will
|
||||
# require it to be present in the URL. You will also likely
|
||||
# need to provide a <Directory> section to allow access to
|
||||
# the filesystem path.
|
||||
|
||||
#
|
||||
# ScriptAlias: This controls which directories contain server scripts.
|
||||
# ScriptAliases are essentially the same as Aliases, except that
|
||||
# documents in the target directory are treated as applications and
|
||||
# run by the server when requested rather than as documents sent to the
|
||||
# client. The same rules about trailing "/" apply to ScriptAlias
|
||||
# directives as to Alias.
|
||||
#
|
||||
ScriptAlias /cgi-bin/ "/usr/libexec/apache2/modules/cgi-bin/"
|
||||
|
||||
</IfModule>
|
||||
|
||||
<IfModule cgid_module>
|
||||
#
|
||||
# ScriptSock: On threaded servers, designate the path to the UNIX
|
||||
# socket used to communicate with the CGI daemon of mod_cgid.
|
||||
#
|
||||
#Scriptsock cgisock
|
||||
</IfModule>
|
||||
|
||||
#
|
||||
# "/usr/libexec/apache2/modules/cgi-bin" should be changed to whatever your ScriptAliased
|
||||
# CGI directory exists, if you have that configured.
|
||||
#
|
||||
<Directory "/usr/libexec/apache2/modules/cgi-bin">
|
||||
AllowOverride None
|
||||
Options None
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<IfModule headers_module>
|
||||
#
|
||||
# Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
|
||||
# backend servers which have lingering "httpoxy" defects.
|
||||
# 'Proxy' request header is undefined by the IETF, not listed by IANA
|
||||
#
|
||||
RequestHeader unset Proxy early
|
||||
</IfModule>
|
||||
|
||||
# Supplemental configuration
|
||||
#
|
||||
# The configuration files in the /etc/apache2/extra/ directory can be
|
||||
# included to add extra features or to modify the default configuration of
|
||||
# the server, or you may simply copy their contents here and change as
|
||||
# necessary.
|
||||
|
||||
# Server-pool management (MPM specific)
|
||||
#Include /etc/apache2/extra/httpd-mpm.conf
|
||||
|
||||
# Multi-language error messages
|
||||
#Include /etc/apache2/extra/httpd-multilang-errordoc.conf
|
||||
|
||||
# Fancy directory listings
|
||||
#Include /etc/apache2/extra/httpd-autoindex.conf
|
||||
|
||||
# Language settings
|
||||
#Include /etc/apache2/extra/httpd-languages.conf
|
||||
|
||||
# User home directories
|
||||
#Include /etc/apache2/extra/httpd-userdir.conf
|
||||
|
||||
# Real-time info on requests and configuration
|
||||
#Include /etc/apache2/extra/httpd-info.conf
|
||||
|
||||
# Virtual hosts
|
||||
Include /etc/apache2/extra/httpd-vhosts.conf
|
||||
|
||||
# Local access to the Apache HTTP Server Manual
|
||||
#Include /etc/apache2/extra/httpd-manual.conf
|
||||
|
||||
# Distributed authoring and versioning (WebDAV)
|
||||
#Include /etc/apache2/extra/httpd-dav.conf
|
||||
|
||||
# Various default settings
|
||||
#Include /etc/apache2/extra/httpd-default.conf
|
||||
|
||||
# Configure mod_proxy_html to understand HTML4/XHTML1
|
||||
<IfModule proxy_html_module>
|
||||
Include /etc/apache2/extra/proxy-html.conf
|
||||
</IfModule>
|
||||
|
||||
# Secure (SSL/TLS) connections
|
||||
#Include /etc/apache2/extra/httpd-ssl.conf
|
||||
#
|
||||
# Note: The following must must be present to support
|
||||
# starting without SSL on platforms with no /dev/random equivalent
|
||||
# but a statically compiled-in mod_ssl.
|
||||
#
|
||||
<IfModule ssl_module>
|
||||
SSLRandomSeed startup builtin
|
||||
SSLRandomSeed connect builtin
|
||||
</IfModule>
|
||||
|
||||
|
||||
#IncludeOptional /etc/apache2/conf.d/*.conf
|
||||
#IncludeOptional /etc/apache2/modules.d/*.load
|
||||
#IncludeOptional /etc/apache2/modules.d/*.conf
|
||||
IncludeOptional /etc/apache2/sites-enabled/*.conf
|
||||
|
||||
PidFile /run/httpd.pid
|
||||
9
recipes-support/dnsmasq/dnsmasq_%.bbappend
Normal file
9
recipes-support/dnsmasq/dnsmasq_%.bbappend
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright (C) 2022 Vincent BENOIT <vincent.benoit@benserv.fr>
|
||||
# Release under the MIT license (see COPYING.MIT for the terms)
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI += "file://dnsmasq.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/dnsmasq.conf ${D}${sysconfdir}
|
||||
}
|
||||
3
recipes-support/dnsmasq/files/dnsmasq.conf
Normal file
3
recipes-support/dnsmasq/files/dnsmasq.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
interface=wlan0
|
||||
bind-dynamic
|
||||
dhcp-range=10.1.1.11,10.1.1.150,255.255.255.0,12h
|
||||
Reference in New Issue
Block a user