From bbb654d3c15127659cd953c9671e7b3a13337cc8 Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Tue, 17 Mar 2026 15:23:02 -0400 Subject: [PATCH] Use iniconf to set/unset variables Signed-off-by: Hugo Villeneuve --- .../recipes-bsp/bootfiles/rpi-config_git.bbappend | 14 ++++++++------ recipes-multimedia/musicpd/mpd_%.bbappend | 10 ++++++---- recipes-multimedia/musicpd/ympd.bb | 8 ++++---- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend b/raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend index 31159d8..91de252 100644 --- a/raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend +++ b/raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend @@ -1,24 +1,26 @@ +inherit iniconf + do_deploy:append() { if [ "${SOUND_CARD}" = "iqaudiodac" ]; then # Disable Pi’s on-board sound card (snd_bcm2835): - sed -i 's/^#\(dtparam=audio=\).*/\1off/' $CONFIG + iniconf_set ${CONFIG} "dtparam=audio" "off" # Enable IQaudio sound card: - echo "dtoverlay=iqaudio-dacplus" >> $CONFIG + iniconf_set ${CONFIG} "dtoverlay=iqaudio-dacplus" # Enable I2S mode: - sed -i 's/^#\(dtparam=i2s=\).*/\1on/' $CONFIG + iniconf_set ${CONFIG} "dtparam=i2s" "on" else # Enable Pi’s on-board sound card (load snd_bcm2835): - sed -i 's/^#\(dtparam=audio=\).*/\1on/' $CONFIG + iniconf_set ${CONFIG} "dtparam=audio" "on" fi # Pretends all audio formats are unsupported by display. This # forces ALSA to use analogue output: - sed -i 's/^#\(hdmi_ignore_edid_audio=\).*/\11/' $CONFIG + iniconf_set ${CONFIG} "hdmi_ignore_edid_audio" "1" # Disable HDMI video: - sed -i 's/^\(.*dtoverlay=vc4-kms-v3d\).*/\#\1/' $CONFIG + iniconf_unset ${CONFIG} "dtoverlay=vc4-kms-v3d" # Important: no whistespace... echo "dtoverlay=gpio-key,gpio=23,active_low=0,gpio_pull=up,label=play,keycode=164" >> $CONFIG diff --git a/recipes-multimedia/musicpd/mpd_%.bbappend b/recipes-multimedia/musicpd/mpd_%.bbappend index fb74473..dcb67a0 100644 --- a/recipes-multimedia/musicpd/mpd_%.bbappend +++ b/recipes-multimedia/musicpd/mpd_%.bbappend @@ -9,6 +9,8 @@ SRC_URI:append = " \ SOUND_CARD ?= "default" +inherit iniconf + do_install:append() { ALSA_MIXER="PCM" } @@ -29,12 +31,12 @@ do_install:append:rpi() { do_install:append() { if [ "${MPD_MUSIC_DIR}" != "" ]; then - sed -i -e 's:^\(music_directory\).*:\1 \"${MPD_MUSIC_DIR}\":g' \ - ${D}/${sysconfdir}/mpd.conf + iniconf_set ${D}/${sysconfdir}/mpd.conf music_directory "${MPD_MUSIC_DIR}" fi - echo "zeroconf_enabled \"yes\"" >> ${D}/${sysconfdir}/mpd.conf - echo "zeroconf_name \"Serveur Musique MPD\"" >> ${D}/${sysconfdir}/mpd.conf + iniconf_set ${D}/${sysconfdir}/mpd.conf zeroconf_enabled "yes" + iniconf_set ${D}/${sysconfdir}/mpd.conf zeroconf_name "Serveur Musique MPD" + echo "audio_output {" >> ${D}/${sysconfdir}/mpd.conf echo " type \"alsa\"" >> ${D}/${sysconfdir}/mpd.conf echo " name \"${ALSA_DEVICE_NAME}\"" >> ${D}/${sysconfdir}/mpd.conf diff --git a/recipes-multimedia/musicpd/ympd.bb b/recipes-multimedia/musicpd/ympd.bb index 04b54fb..a23f8fe 100644 --- a/recipes-multimedia/musicpd/ympd.bb +++ b/recipes-multimedia/musicpd/ympd.bb @@ -22,12 +22,12 @@ do_install() { install -d ${D}${sysconfdir}/default install -m 0644 ${S}/contrib/ympd.default ${D}${sysconfdir}/default/ympd - sed -i -e 's:^\(Description=.*\):\1\nAfter=mpd.service:g' ${S}/contrib/ympd.service + sed -i -e 's:^\(Description=.*\):\1\nAfter=mpd.service:g' ${S}/contrib/ympd.service # These options require a kernel compiled with CONFIG_USER_NS: - sed -i -e 's:^\(PrivateUsers=.*\):#\1:g' ${S}/contrib/ympd.service - sed -i -e 's:^\(PrivateTmp=.*\):#\1:g' ${S}/contrib/ympd.service - sed -i -e 's:^\(PrivateDevices=.*\):#\1:g' ${S}/contrib/ympd.service + iniconf_unset ${S}/contrib/ympd.service "PrivateUsers" + iniconf_unset ${S}/contrib/ympd.service "PrivateTmp" + iniconf_unset ${S}/contrib/ympd.service "PrivateDevices" install -d ${D}${systemd_system_unitdir} install -m 0644 ${S}/contrib/ympd.service ${D}${systemd_system_unitdir} -- 2.47.3