diff --git a/conf/distro/kineintercom.conf b/conf/distro/kineintercom.conf index 2b1aafa..05ed7ee 100644 --- a/conf/distro/kineintercom.conf +++ b/conf/distro/kineintercom.conf @@ -18,11 +18,15 @@ DISABLE_SPLASH = "1" ENABLE_I2C = "1" ENABLE_UART = "1" KERNEL_MODULE_AUTOLOAD:rpi += "i2c-dev i2c-bcm2708 rtc-ds1307" +CMDLINE_SERIAL = "console=tty1" RPI_EXTRA_CONFIG = ' \n \ # Yocto Extra config \n \ dtoverlay=i2c-rtc,ds3231 \n \ ' +# mask systemd-serialgetty parsed attribute SERIAL_CONSOLES +SERIAL_CONSOLES = "" + # Use systemd DISTRO_FEATURES += " systemd usbhost ipv4 pam format" VIRTUAL-RUNTIME_init_manager = "systemd" @@ -36,6 +40,9 @@ IMAGE_FEATURES += " package-management ssh-server-openssh" MACHINE_FEATURES = "rtc" #KERNEL_MODULE_AUTOLOAD += " i2c-dev" +# set /var/log persistent +VOLATILE_LOG_DIR = "no" + PREFERRED_VERSION_cargo = "1.64.0" PREFERRED_VERSION_libstd-rs = "1.64.0" PREFERRED_VERSION_rust = "1.64.0" diff --git a/recipes-apps/configurateur-backend/configurateur-backend.bb b/recipes-apps/configurateur-backend/configurateur-backend.bb index e2a8a9f..1eca4b9 100644 --- a/recipes-apps/configurateur-backend/configurateur-backend.bb +++ b/recipes-apps/configurateur-backend/configurateur-backend.bb @@ -60,4 +60,7 @@ do_install:append() { install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/configurateur_backend.service ${D}${systemd_unitdir}/system/ + + install -d ${D}/var/log/kineintercom + chown -R pi:pi ${D}/var/log/kineintercom } diff --git a/recipes-apps/intercom/intercom.bb b/recipes-apps/intercom/intercom.bb index 192b54a..9386936 100644 --- a/recipes-apps/intercom/intercom.bb +++ b/recipes-apps/intercom/intercom.bb @@ -18,7 +18,7 @@ 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" +RDEPENDS:${PN} = "python3-apscheduler python3-jsonschema python3-pyserial rpi-gpio kine-users rsyslog" inherit setuptools3 systemd @@ -35,10 +35,16 @@ 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 -m 0660 ${WORKDIR}/database_origin.json ${D}${datadir}/kineintercom/ + install -m 0660 ${WORKDIR}/db.json.schema ${D}${datadir}/kineintercom/ + chown -R root:pi ${D}${datadir}/kineintercom install -d ${D}${sysconfdir}/kineintercom + chown -R root:pi ${D}${sysconfdir}/kineintercom + chmod 770 ${D}${sysconfdir}/kineintercom install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/kineintercom.service ${D}${systemd_unitdir}/system/ + + install -d ${D}/var/log/kineintercom + chown -R pi:pi ${D}/var/log/kineintercom } diff --git a/recipes-apps/kine-services/files/gpiomem.service b/recipes-apps/kine-services/files/gpiomem.service new file mode 100644 index 0000000..8b67f0c --- /dev/null +++ b/recipes-apps/kine-services/files/gpiomem.service @@ -0,0 +1,11 @@ +[Unit] +Description=Change owner and group of /dev/gpiomem for RPI.GPIO python API +ConditionPathExists=/dev/gpiomem + +[Service] +User=root +Group=root +ExecStart=/bin/sh -c '/bin/chown root:gpio /dev/gpiomem && /bin/chmod g+rw /dev/gpiomem' + +[Install] +WantedBy=multi-user.target diff --git a/recipes-apps/kine-services/kine-services.bb b/recipes-apps/kine-services/kine-services.bb index 418b206..134ea2e 100644 --- a/recipes-apps/kine-services/kine-services.bb +++ b/recipes-apps/kine-services/kine-services.bb @@ -7,18 +7,25 @@ LICENSE = "CLOSED" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -SRC_URI = "file://loadkeysfr.service" +SRC_URI = " \ + file://loadkeysfr.service \ + file://gpiomem.service \ + " S = "${WORKDIR}" inherit systemd SYSTEMD_AUTO_ENABLE = "enable" -SYSTEMD_SERVICE:${PN} = "loadkeysfr.service" +SYSTEMD_SERVICE:${PN} = "loadkeysfr.service gpiomem.service" -FILES:${PN} = "${systemd_unitdir}/system/loadkeysfr.service" +FILES:${PN} = " \ + ${systemd_unitdir}/system/loadkeysfr.service \ + ${systemd_unitdir}/system/gpiomem.service \ + " do_install:append() { install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/loadkeysfr.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/gpiomem.service ${D}${systemd_unitdir}/system/ } diff --git a/recipes-apps/kine-users/kine-users.bb b/recipes-apps/kine-users/kine-users.bb index c134a3b..ba8792d 100644 --- a/recipes-apps/kine-users/kine-users.bb +++ b/recipes-apps/kine-users/kine-users.bb @@ -13,11 +13,11 @@ inherit useradd USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "--system sudo; --system adm; --system crontab;" +GROUPADD_PARAM:${PN} = "--system sudo; --system adm; --system crontab; --system gpio; --system dialout;" # 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;" +USERADD_PARAM:${PN} = "--home-dir /home/pi --groups 'sudo,adm,gpio,dialout' --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" diff --git a/recipes-devtools/python/python3-apscheduler_3.9.1.bb b/recipes-devtools/python/python3-apscheduler_3.9.1.bb index 0871242..10adf19 100644 --- a/recipes-devtools/python/python3-apscheduler_3.9.1.bb +++ b/recipes-devtools/python/python3-apscheduler_3.9.1.bb @@ -9,6 +9,7 @@ RDEPENDS:${PN} = " \ python3-six \ python3-pytz \ python3-tzlocal \ + python3-tzdata \ " inherit pypi setuptools3 diff --git a/recipes-devtools/python/python3-tzdata_2022.7.bb b/recipes-devtools/python/python3-tzdata_2022.7.bb new file mode 100644 index 0000000..dd7bce4 --- /dev/null +++ b/recipes-devtools/python/python3-tzdata_2022.7.bb @@ -0,0 +1,12 @@ +# Copyright (C) 2022 Vincent BENOIT +# Release under the MIT license (see COPYING.MIT for the terms) +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fca9fd5c15a28eb874ba38577a585d48" +LICENSE = "Apache-2.0" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "tzdata" + +SRC_URI[sha256sum] = "fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa"