[v2] mpd: update to 0.21.3

Submitted by Max Kellermann on Nov. 19, 2018, 5:25 p.m. | Patch ID: 156402

Details

Message ID 20181119172519.28377-1-max+openembedded@blarg.de
State Changes Requested
Commit f2d896f43b2733600617e29f8e3ee3242866fa86
Headers show

Commit Message

Max Kellermann Nov. 19, 2018, 5:25 p.m.
From: Max Kellermann <max.kellermann@gmail.com>

Most of the changes are because of MPD's switch from autotools to
Meson.

Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
---
 .../recipes-multimedia/musicpd/mpd_0.20.22.bb |  99 -----------------
 .../recipes-multimedia/musicpd/mpd_0.21.3.bb  | 103 ++++++++++++++++++
 2 files changed, 103 insertions(+), 99 deletions(-)
 delete mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
 create mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb

Patch hide | download patch | download mbox

diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
deleted file mode 100644
index 6c6ad4237..000000000
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
+++ /dev/null
@@ -1,99 +0,0 @@ 
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE ="http://www.musicpd.org"
-
-inherit autotools useradd systemd pkgconfig
-
-DEPENDS += " \
-    curl \
-    sqlite3 \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
-    yajl \
-    boost \
-    icu \
-    dbus \
-    expat \
-"
-
-SRC_URI = " \
-    git://github.com/MusicPlayerDaemon/MPD;branch=v0.20.x \
-    file://mpd.conf.in \
-"
-SRCREV = "9274bc15bc41bbe490fde847f8422468cc20375d"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-PACKAGECONFIG ??= "alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate libwrap httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib"
-PACKAGECONFIG += "${@bb.utils.contains('LICENSE_FLAGS', 'commercial', 'aac', '', d)}"
-
-PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,faad2"
-PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[ao] = "--enable-ao,--disable-ao,libao"
-PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
-PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
-PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
-PACKAGECONFIG[daemon] = "--enable-daemon,--disable-daemon"
-PACKAGECONFIG[ffmpeg] = "--enable-ffmpeg,--disable-ffmpeg,ffmpeg"
-PACKAGECONFIG[fifo] = "--enable-fifo,--disable-fifo"
-PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
-PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
-PACKAGECONFIG[httpd] = "--enable-httpd-output,--disable-httpd-output"
-PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
-PACKAGECONFIG[iso9660] = "--enable-iso9660,--disable-iso9660,libcdio"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
-PACKAGECONFIG[libsamplerate] = "--enable-lsr,--disable-lsr,libsamplerate0"
-PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[mms] = "--enable-mms,--disable-mms,libmms"
-PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
-PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
-PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
-PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
-PACKAGECONFIG[oss] = "--enable-oss,--disable-oss,"
-PACKAGECONFIG[recorder] = "--enable-recorder-output,--disable-recorder-output"
-PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
-PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
-PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
-PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
-PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
-
-do_configure_prepend() {
-    sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
-}
-
-do_install_append() {
-    install -o mpd -d \
-        ${D}/${localstatedir}/lib/mpd \
-        ${D}/${localstatedir}/lib/mpd/playlists
-    install -m775 -o mpd -g mpd -d \
-        ${D}/${localstatedir}/lib/mpd/music
-
-    install -d ${D}/${sysconfdir}
-    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
-    sed -i \
-        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
-        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
-        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
-        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
-        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
-        ${D}/${sysconfdir}/mpd.conf
-
-    # we don't need the icon
-    rm -rf ${D}${datadir}/icons
-}
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.socket"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
-    --system --no-create-home \
-    --home ${localstatedir}/lib/mpd \
-    --groups audio \
-    --user-group mpd"
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb
new file mode 100644
index 000000000..65ee0f58e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb
@@ -0,0 +1,103 @@ 
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE ="http://www.musicpd.org"
+
+inherit meson useradd systemd pkgconfig
+
+DEPENDS += " \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+    curl \
+    sqlite3 \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+    yajl \
+    boost \
+    icu \
+    dbus \
+    expat \
+"
+
+SRC_URI = " \
+    git://github.com/MusicPlayerDaemon/MPD;branch=v0.21.x \
+    file://mpd.conf.in \
+"
+SRCREV = "43df4a7500daa50802b2e5fd0f33a798fa4aec36"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_unitdir}/system -Dsystemd_user_unit_dir=${systemd_unitdir}/user', '-Dsystemd=disabled', d)}"
+
+PACKAGECONFIG ??= "alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate libwrap httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib"
+PACKAGECONFIG += "${@bb.utils.contains('LICENSE_FLAGS', 'commercial', 'aac', '', d)}"
+
+PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
+PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao"
+PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile"
+PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2"
+PACKAGECONFIG[cdioparanoia] = "-Dcdio=enabled-paranoia,-Dcdio=disabled-paranoia,libcdio-paranoia"
+PACKAGECONFIG[daemon] = "-Ddaemon=enabled,-Ddaemon=false"
+PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
+PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false"
+PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
+PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false"
+PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag"
+PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
+PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
+PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0"
+PACKAGECONFIG[libwrap] = "-Dlibwrap=enabled,-Dlibwrap=disabled,tcp-wrappers"
+PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad"
+PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms"
+PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
+PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
+PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
+PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg"
+PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
+PACKAGECONFIG[pcre] = "-Dpcre=enabled,-Dpcre=disabled,libcpre"
+PACKAGECONFIG[qobuz] = "-Dqobuz=enabled,-Dqobuz=disabled,curl yajl libgcrypt"
+PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
+PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
+PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[tidal] = "-Dtidal=enabled,-Dtidal=disabled,curl yajl"
+PACKAGECONFIG[udisks] = "-Dudisks=enabled,-Dudisks=disabled,dbus,udisks2"
+PACKAGECONFIG[upnp] = "-Dupnp=enabled,-Dupnp=disabled,libupnp"
+PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
+PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
+PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
+
+do_install_append() {
+    install -o mpd -d \
+        ${D}/${localstatedir}/lib/mpd \
+        ${D}/${localstatedir}/lib/mpd/playlists
+    install -m775 -o mpd -g mpd -d \
+        ${D}/${localstatedir}/lib/mpd/music
+
+    install -d ${D}/${sysconfdir}
+    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
+    sed -i \
+        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
+        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
+        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
+        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
+        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
+        ${D}/${sysconfdir}/mpd.conf
+
+    # we don't need the icon
+    rm -rf ${D}${datadir}/icons
+
+    # we don't need the systemd user unit
+    rm -rf ${D}${systemd_unitdir}/user
+}
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "mpd.socket"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = " \
+    --system --no-create-home \
+    --home ${localstatedir}/lib/mpd \
+    --groups audio \
+    --user-group mpd"

Comments

Khem Raj Nov. 28, 2018, 5:53 a.m.
Hi Max

it fails to build with systemd see
http://errors.yoctoproject.org/Errors/Details/202303/

It seems the new meson change is not installing the system unit files
and socket file during do_install properly, one way is that we explicitly
install/copy them during do_install, but I think its better to fix it in mpd
itself if possible

On Mon, Nov 19, 2018 at 9:25 AM Max Kellermann
<max+openembedded@blarg.de> wrote:
>
> From: Max Kellermann <max.kellermann@gmail.com>
>
> Most of the changes are because of MPD's switch from autotools to
> Meson.
>
> Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
> ---
>  .../recipes-multimedia/musicpd/mpd_0.20.22.bb |  99 -----------------
>  .../recipes-multimedia/musicpd/mpd_0.21.3.bb  | 103 ++++++++++++++++++
>  2 files changed, 103 insertions(+), 99 deletions(-)
>  delete mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
>  create mode 100644 meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb
>
> diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
> deleted file mode 100644
> index 6c6ad4237..000000000
> --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
> +++ /dev/null
> @@ -1,99 +0,0 @@
> -SUMMARY = "Music Player Daemon"
> -LICENSE = "GPLv2"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
> -HOMEPAGE ="http://www.musicpd.org"
> -
> -inherit autotools useradd systemd pkgconfig
> -
> -DEPENDS += " \
> -    curl \
> -    sqlite3 \
> -    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
> -    yajl \
> -    boost \
> -    icu \
> -    dbus \
> -    expat \
> -"
> -
> -SRC_URI = " \
> -    git://github.com/MusicPlayerDaemon/MPD;branch=v0.20.x \
> -    file://mpd.conf.in \
> -"
> -SRCREV = "9274bc15bc41bbe490fde847f8422468cc20375d"
> -S = "${WORKDIR}/git"
> -
> -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
> -
> -PACKAGECONFIG ??= "alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate libwrap httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib"
> -PACKAGECONFIG += "${@bb.utils.contains('LICENSE_FLAGS', 'commercial', 'aac', '', d)}"
> -
> -PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,faad2"
> -PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
> -PACKAGECONFIG[ao] = "--enable-ao,--disable-ao,libao"
> -PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
> -PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
> -PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
> -PACKAGECONFIG[daemon] = "--enable-daemon,--disable-daemon"
> -PACKAGECONFIG[ffmpeg] = "--enable-ffmpeg,--disable-ffmpeg,ffmpeg"
> -PACKAGECONFIG[fifo] = "--enable-fifo,--disable-fifo"
> -PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
> -PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
> -PACKAGECONFIG[httpd] = "--enable-httpd-output,--disable-httpd-output"
> -PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
> -PACKAGECONFIG[iso9660] = "--enable-iso9660,--disable-iso9660,libcdio"
> -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
> -PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
> -PACKAGECONFIG[libsamplerate] = "--enable-lsr,--disable-lsr,libsamplerate0"
> -PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
> -PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
> -PACKAGECONFIG[mms] = "--enable-mms,--disable-mms,libmms"
> -PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
> -PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
> -PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
> -PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
> -PACKAGECONFIG[oss] = "--enable-oss,--disable-oss,"
> -PACKAGECONFIG[recorder] = "--enable-recorder-output,--disable-recorder-output"
> -PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
> -PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
> -PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
> -PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
> -PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
> -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
> -
> -do_configure_prepend() {
> -    sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
> -}
> -
> -do_install_append() {
> -    install -o mpd -d \
> -        ${D}/${localstatedir}/lib/mpd \
> -        ${D}/${localstatedir}/lib/mpd/playlists
> -    install -m775 -o mpd -g mpd -d \
> -        ${D}/${localstatedir}/lib/mpd/music
> -
> -    install -d ${D}/${sysconfdir}
> -    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
> -    sed -i \
> -        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
> -        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
> -        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
> -        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
> -        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
> -        ${D}/${sysconfdir}/mpd.conf
> -
> -    # we don't need the icon
> -    rm -rf ${D}${datadir}/icons
> -}
> -
> -RPROVIDES_${PN} += "${PN}-systemd"
> -RREPLACES_${PN} += "${PN}-systemd"
> -RCONFLICTS_${PN} += "${PN}-systemd"
> -SYSTEMD_SERVICE_${PN} = "mpd.socket"
> -
> -USERADD_PACKAGES = "${PN}"
> -USERADD_PARAM_${PN} = " \
> -    --system --no-create-home \
> -    --home ${localstatedir}/lib/mpd \
> -    --groups audio \
> -    --user-group mpd"
> diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb
> new file mode 100644
> index 000000000..65ee0f58e
> --- /dev/null
> +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb
> @@ -0,0 +1,103 @@
> +SUMMARY = "Music Player Daemon"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
> +HOMEPAGE ="http://www.musicpd.org"
> +
> +inherit meson useradd systemd pkgconfig
> +
> +DEPENDS += " \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
> +    curl \
> +    sqlite3 \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
> +    yajl \
> +    boost \
> +    icu \
> +    dbus \
> +    expat \
> +"
> +
> +SRC_URI = " \
> +    git://github.com/MusicPlayerDaemon/MPD;branch=v0.21.x \
> +    file://mpd.conf.in \
> +"
> +SRCREV = "43df4a7500daa50802b2e5fd0f33a798fa4aec36"
> +S = "${WORKDIR}/git"
> +
> +EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_unitdir}/system -Dsystemd_user_unit_dir=${systemd_unitdir}/user', '-Dsystemd=disabled', d)}"
> +
> +PACKAGECONFIG ??= "alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate libwrap httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib"
> +PACKAGECONFIG += "${@bb.utils.contains('LICENSE_FLAGS', 'commercial', 'aac', '', d)}"
> +
> +PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
> +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
> +PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao"
> +PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile"
> +PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2"
> +PACKAGECONFIG[cdioparanoia] = "-Dcdio=enabled-paranoia,-Dcdio=disabled-paranoia,libcdio-paranoia"
> +PACKAGECONFIG[daemon] = "-Ddaemon=enabled,-Ddaemon=false"
> +PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
> +PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false"
> +PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
> +PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
> +PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false"
> +PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag"
> +PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio"
> +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
> +PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
> +PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0"
> +PACKAGECONFIG[libwrap] = "-Dlibwrap=enabled,-Dlibwrap=disabled,tcp-wrappers"
> +PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad"
> +PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms"
> +PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
> +PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
> +PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
> +PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg"
> +PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
> +PACKAGECONFIG[pcre] = "-Dpcre=enabled,-Dpcre=disabled,libcpre"
> +PACKAGECONFIG[qobuz] = "-Dqobuz=enabled,-Dqobuz=disabled,curl yajl libgcrypt"
> +PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
> +PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
> +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
> +PACKAGECONFIG[tidal] = "-Dtidal=enabled,-Dtidal=disabled,curl yajl"
> +PACKAGECONFIG[udisks] = "-Dudisks=enabled,-Dudisks=disabled,dbus,udisks2"
> +PACKAGECONFIG[upnp] = "-Dupnp=enabled,-Dupnp=disabled,libupnp"
> +PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
> +PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
> +PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
> +
> +do_install_append() {
> +    install -o mpd -d \
> +        ${D}/${localstatedir}/lib/mpd \
> +        ${D}/${localstatedir}/lib/mpd/playlists
> +    install -m775 -o mpd -g mpd -d \
> +        ${D}/${localstatedir}/lib/mpd/music
> +
> +    install -d ${D}/${sysconfdir}
> +    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
> +    sed -i \
> +        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
> +        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
> +        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
> +        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
> +        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
> +        ${D}/${sysconfdir}/mpd.conf
> +
> +    # we don't need the icon
> +    rm -rf ${D}${datadir}/icons
> +
> +    # we don't need the systemd user unit
> +    rm -rf ${D}${systemd_unitdir}/user
> +}
> +
> +RPROVIDES_${PN} += "${PN}-systemd"
> +RREPLACES_${PN} += "${PN}-systemd"
> +RCONFLICTS_${PN} += "${PN}-systemd"
> +SYSTEMD_SERVICE_${PN} = "mpd.socket"
> +
> +USERADD_PACKAGES = "${PN}"
> +USERADD_PARAM_${PN} = " \
> +    --system --no-create-home \
> +    --home ${localstatedir}/lib/mpd \
> +    --groups audio \
> +    --user-group mpd"
> --
> 2.19.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Max Kellermann Nov. 28, 2018, 7:34 a.m.
On 2018/11/28 06:53, Khem Raj <raj.khem@gmail.com> wrote:
> Hi Max
> 
> it fails to build with systemd see
> http://errors.yoctoproject.org/Errors/Details/202303/
> 
> It seems the new meson change is not installing the system unit files
> and socket file during do_install properly, one way is that we explicitly
> install/copy them during do_install, but I think its better to fix it in mpd
> itself if possible

We had this problem already when I submitted version 0.21 for the
first time, and my 0.21.3 patch contained more explicit options to
enable systemd, hoping to make it fail earlier, but it didn't.

Packaging with systemd works perfectly fine here on my machine, all
the units are in the right place.  Unfortunately, your Yocto build
logs are devoid of any hints what went wrong.

So yes, I agree with you that we should fix this in MPD upstream (I am
the MPD upstream maintainer, btw.), but I have no idea what's wrong.
If only I could reproduce the problem.

Is there any way to get more verbose logs from your build bot?

Max
Khem Raj Nov. 28, 2018, 5:19 p.m.
On Tue, Nov 27, 2018 at 11:34 PM Max Kellermann
<max+openembedded@blarg.de> wrote:
>
> On 2018/11/28 06:53, Khem Raj <raj.khem@gmail.com> wrote:
> > Hi Max
> >
> > it fails to build with systemd see
> > http://errors.yoctoproject.org/Errors/Details/202303/
> >
> > It seems the new meson change is not installing the system unit files
> > and socket file during do_install properly, one way is that we explicitly
> > install/copy them during do_install, but I think its better to fix it in mpd
> > itself if possible
>
> We had this problem already when I submitted version 0.21 for the
> first time, and my 0.21.3 patch contained more explicit options to
> enable systemd, hoping to make it fail earlier, but it didn't.
>
> Packaging with systemd works perfectly fine here on my machine, all
> the units are in the right place.  Unfortunately, your Yocto build
> logs are devoid of any hints what went wrong.
>
> So yes, I agree with you that we should fix this in MPD upstream (I am
> the MPD upstream maintainer, btw.), but I have no idea what's wrong.
> If only I could reproduce the problem.
>
> Is there any way to get more verbose logs from your build bot?
>

I can reproduce it locally as well when building for

MACHINE = "raspberrypi3"
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"


ERROR: mpd-0.21.3-r0 do_package: SYSTEMD_SERVICE_mpd value mpd.socket
does not exist
ERROR: mpd-0.21.3-r0 do_package: Function failed: systemd_populate_packages
ERROR: Logfile of failure stored in:
/mnt/a/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/mpd/0.21.3-r0/temp/log.do_package.25748
ERROR: Task (/mnt/a/yoe/sources/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.21.3.bb:do_package)
failed with exit code '1'
logs are here
https://gist.github.com/b69ddd940689c5ad02bce7ef2eb89a73
https://gist.github.com/4c1dd2c382a209b03d290447146cc9c4
https://gist.github.com/675704fde3469895b4c6207d4c83041d


if you are interested here is the distro setup I use.
https://github.com/YoeDistro/yoe-distro

> Max