diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-07-18 11:25:02 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-07-18 11:25:02 +0300 |
commit | 74e3144f1a2e9d8525505e5301ffbff7609ce029 (patch) | |
tree | f8a56d1d03fc0800c0841f2a9c6ed4949c43f424 | |
parent | afdcd4028b69c64298ce535b1dccc0c3725bc4a0 (diff) | |
download | aports-74e3144f1a2e9d8525505e5301ffbff7609ce029.tar.bz2 aports-74e3144f1a2e9d8525505e5301ffbff7609ce029.tar.xz |
main/lxdm: fix 64-bit musl build
use designed initializer for msghdr since it contains __pad members
on musl/64-bit.
-rw-r--r-- | main/lxdm/APKBUILD | 6 | ||||
-rw-r--r-- | main/lxdm/fix-msghdr-usage.patch | 40 |
2 files changed, 45 insertions, 1 deletions
diff --git a/main/lxdm/APKBUILD b/main/lxdm/APKBUILD index 7c402648f..503d434e4 100644 --- a/main/lxdm/APKBUILD +++ b/main/lxdm/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: William Pitcock <nenolod@dereferenced.org> pkgname=lxdm pkgver=0.5.0 -pkgrel=0 +pkgrel=1 pkgdesc="LXDE desktop login manager" url="http://wiki.lxde.org/en/LXDM" license="GPL" @@ -12,6 +12,7 @@ install= subpackages="$pkgname-lang" source="http://downloads.sourceforge.net/lxdm/$pkgname-$pkgver.tar.xz execinfo.patch + fix-msghdr-usage.patch background.png lxdm.initd index.theme.alpine" @@ -74,16 +75,19 @@ package() { md5sums="a51686720e606ca456d7f56ae4159d1f lxdm-0.5.0.tar.xz 72ecfef17755c671963c11694bfc51b1 execinfo.patch +171e655121c7478d12f5ce268734b4af fix-msghdr-usage.patch a510afe725112947d16f6c1f0602effe background.png d6455d172d5d897f6bfcefe9a1a632c7 lxdm.initd 06ea32ef440375839851c4bc7caea004 index.theme.alpine" sha256sums="6e876fe8cc52341f3f55c54517da1c6dcf794aa11caffbf5a929ded442a949d4 lxdm-0.5.0.tar.xz d7cca99d05f6a47c01190e88bd895adc104ac465a5ded56cc20bc6ede2f3330d execinfo.patch +3fb10dcbf096875ca66bd2fe74c846caf2286f07953ac58aefd8d07fa7f8fa92 fix-msghdr-usage.patch 85c461814ff8ce3262badc51103b9a4802fbdda21dbe8160e536793224e83aa9 background.png 50b520ae187a71f002e5b246f1961c1ecfc3955681be94768f51ed78caa5ac65 lxdm.initd 223360ecc54cb829fe145dd06ea09b85ed052a08d4baba6517c0fa7ae2175f76 index.theme.alpine" sha512sums="b25fe570699a94a41f294f20375adebdb5ac0f8f3911c45d2ecafa1c103b7b91353660d7b2ffd01468c5dc156f449a42dd391e795603999ebba6b8b41071d17f lxdm-0.5.0.tar.xz b66d47a3c026f84c76fb6ae0701ff69d2736a2c0fdf898191836c0c5e2b0d624c7a7846cd38596ee800fab53ebcd843c26779c56c0f655df1659ecc5b251b576 execinfo.patch +1eaf438e64901168a557d3e278de4dd7eb4e580594175a26f9c8d27bd8de2dae81467ebd3a96f0a4dfb5f19c2257ce1ee5608e753e8d9d53c2e4ba488f798b0e fix-msghdr-usage.patch 89640deb308d4f4f22f664096992a99cc03eab39ca5caa690422611fb724c8f245795ae80260cf8b9cb75e3dddf7877ec3aa0670885e01530facc2628cf84ee0 background.png 2f456cfe46f51a1ac95a95b2a8fe5c166fb2991831368648e8e5912ce7c8fa1cea29c569a588c1d7bc4760fea87d8d7e2ee4d192e12a0b1ddf785a0c18478300 lxdm.initd 1374daa94bde0fb71056cebc8524da32b57c241a8af97501daa930c43dc087aa3fec2d79f10ceab5a73a4dcf9cce478fb77575d7019cafd54ad9731c9e9dd55f index.theme.alpine" diff --git a/main/lxdm/fix-msghdr-usage.patch b/main/lxdm/fix-msghdr-usage.patch new file mode 100644 index 000000000..7840c59b1 --- /dev/null +++ b/main/lxdm/fix-msghdr-usage.patch @@ -0,0 +1,40 @@ +diff -ru lxdm-0.5.0.orig/src/lxcom.c lxdm-0.5.0/src/lxcom.c +--- lxdm-0.5.0.orig/src/lxcom.c 2013-10-04 10:40:08.000000000 -0300 ++++ lxdm-0.5.0/src/lxcom.c 2014-07-18 11:21:22.734631159 -0300 +@@ -116,12 +116,20 @@ + char buf[4096]; + 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 cmsghdr *cmptr; + int ret; + +- while(1) ++ while (1) + { ++ struct iovec v={buf,sizeof(buf)}; ++ struct msghdr h={ ++ .msg_name = &peer, ++ .msg_namelen = sizeof(peer), ++ .msg_iov = &v, ++ .msg_iovlen = 1, ++ .msg_control = ctrl, ++ .msg_controllen = sizeof(ctrl) ++ }; ++ + peer.sun_family=0; + ret=recvmsg(self_server_fd,&h,0); + +@@ -315,7 +323,10 @@ + static ssize_t lxcom_write(int s,const void *buf,size_t count) + { + struct iovec iov[1] ={{(void*)buf,count,}}; +- struct msghdr msg = { 0, 0, iov, 1, 0, 0, 0 }; ++ struct msghdr msg = { ++ .msg_iov = iov, ++ .msg_iovlen = 1 ++ }; + #if !defined(linux) && !defined(__NetBSD__) + + #if defined(__sun) |