lxde-base/lxdm: Patch socket header failure on musl + clang:16

Makes struct members explicit

Closes: https://bugs.gentoo.org/896032
Patch-by: Sam James <sam@gentoo.org>
Signed-off-by: Brian Evans <grknight@gentoo.org>
This commit is contained in:
Brian Evans
2023-03-25 21:28:45 -04:00
parent 00bfa3b255
commit f9f0e0bab1
2 changed files with 27 additions and 5 deletions

View File

@@ -0,0 +1,18 @@
--- a/src/lxcom.c
+++ b/src/lxcom.c
@@ -117,7 +117,15 @@
char ctrl[/*CMSG_SPACE(sizeof(LXDM_CRED))*/1024];
struct sockaddr_un peer;
struct iovec v={buf,sizeof(buf)};
- struct msghdr h={&peer,sizeof(peer),&v,1,ctrl,sizeof(ctrl),0};
+ struct msghdr h={
+ .msg_name = &peer,
+ .msg_namelen = sizeof(peer),
+ .msg_iov = &v,
+ .msg_iovlen = 1,
+ .msg_control = ctrl,
+ .msg_controllen = sizeof(ctrl),
+ .msg_flags = 0
+ };
struct cmsghdr *cmptr;
int ret;

View File

@@ -42,15 +42,19 @@ DOCS=( AUTHORS README TODO )
REQUIRED_USE="?? ( elogind systemd ) elogind? ( pam ) systemd? ( pam )"
PATCHES=(
# Fix consolekit and selinux
"${FILESDIR}/${P}-pam.patch"
# Apply all upstream fixes in git until 2016-11-11
"${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
"${FILESDIR}/lxdm-0.5.3-portable-msghdr.patch"
)
src_prepare() {
# Upstream bug, tarball contains pre-made lxdm.conf
rm "${S}"/data/lxdm.conf || die
# Fix consolekit and selinux
eapply "${FILESDIR}/${P}-pam.patch"
# Apply all upstream fixes in git until 2016-11-11
eapply "${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
eapply_user
default
# this replaces the bootstrap/autogen script in most packages
eautoreconf