lxdm: portability patches from Alpine.

This commit is contained in:
Juan RP 2015-05-15 09:14:52 +02:00
parent 2b108b00d5
commit 4d3acdef7b
3 changed files with 87 additions and 1 deletions

View File

@ -0,0 +1,47 @@
--- configure.ac 2011-11-16 22:27:33.624019150 +0100
+++ configure.ac 2011-11-16 22:29:49.537310486 +0100
@@ -23,7 +23,7 @@
# Checks for header files.
AC_PATH_X
-AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
+AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h, execinfo.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_PID_T
--- src/lxdm.c 2011-11-16 22:27:33.617019240 +0100
+++ src/lxdm.c 2011-11-16 22:29:19.030694008 +0100
@@ -52,7 +52,9 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
+#ifdef HAVE_EXECINFO_H
#include <execinfo.h>
+#endif
#ifdef HAVE_UTMPX_H
#include <utmpx.h>
@@ -1576,6 +1578,7 @@
return success;;
}
+#ifdef HAVE_EXECINFO_H
static void log_sigsegv(void)
{
void *array[40];
@@ -1591,12 +1594,15 @@
free(bt_strs);
}
+#endif
static void sigsegv_handler(int sig)
{
switch(sig){
case SIGSEGV:
+#ifdef HAVE_EXECINFO_H
log_sigsegv();
+#endif
lxdm_quit_self(0);
break;
default:

View File

@ -0,0 +1,39 @@
--- src/lxcom.c 2013-10-04 10:40:08.000000000 -0300
+++ 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)

View File

@ -1,7 +1,7 @@
# Template file for 'lxdm'
pkgname=lxdm
version=0.5.1
revision=1
revision=2
build_style=gnu-configure
build_options="systemd"
configure_args="$(vopt_if systemd --disable-consolekit --enable-consolekit) --with-pam"