lxdm: portability patches from Alpine.
This commit is contained in:
parent
2b108b00d5
commit
4d3acdef7b
|
@ -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:
|
|
@ -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)
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'lxdm'
|
# Template file for 'lxdm'
|
||||||
pkgname=lxdm
|
pkgname=lxdm
|
||||||
version=0.5.1
|
version=0.5.1
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
build_options="systemd"
|
build_options="systemd"
|
||||||
configure_args="$(vopt_if systemd --disable-consolekit --enable-consolekit) --with-pam"
|
configure_args="$(vopt_if systemd --disable-consolekit --enable-consolekit) --with-pam"
|
||||||
|
|
Loading…
Reference in New Issue