mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
libutempter: add portability patch for musl
This commit is contained in:
parent
6de1980fc6
commit
82ab0dae5e
2 changed files with 82 additions and 1 deletions
|
@ -0,0 +1,81 @@
|
||||||
|
diff -Naur utempter.c.orig utempter.c
|
||||||
|
--- utempter.c.orig 2010-11-04 13:14:53.000000000 -0400
|
||||||
|
+++ utempter.c 2014-06-20 16:37:09.762403323 -0400
|
||||||
|
@@ -34,13 +34,7 @@
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <utmp.h>
|
||||||
|
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
# include <pty.h>
|
||||||
|
-#elif defined(__FreeBSD__)
|
||||||
|
-# include <libutil.h>
|
||||||
|
-#else
|
||||||
|
-# error Unsupported platform
|
||||||
|
-#endif /* __GLIBC__ || __FreeBSD__ */
|
||||||
|
|
||||||
|
#define DEV_PREFIX "/dev/"
|
||||||
|
#define DEV_PREFIX_LEN (sizeof(DEV_PREFIX)-1)
|
||||||
|
@@ -106,17 +100,12 @@
|
||||||
|
|
||||||
|
static int
|
||||||
|
write_uwtmp_record(const char *user, const char *term, const char *host,
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
pid_t pid,
|
||||||
|
-#endif
|
||||||
|
int add)
|
||||||
|
{
|
||||||
|
struct utmp ut;
|
||||||
|
struct timeval tv;
|
||||||
|
-
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
size_t offset;
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
memset(&ut, 0, sizeof(ut));
|
||||||
|
|
||||||
|
@@ -128,8 +117,6 @@
|
||||||
|
if (host)
|
||||||
|
strncpy(ut.ut_host, host, sizeof(ut.ut_host));
|
||||||
|
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
-
|
||||||
|
offset = (strlen(term) <= sizeof(ut.ut_id)) ? 0 :
|
||||||
|
strlen(term) - sizeof(ut.ut_id);
|
||||||
|
strncpy(ut.ut_id, term + offset, sizeof(ut.ut_id));
|
||||||
|
@@ -156,27 +143,6 @@
|
||||||
|
|
||||||
|
(void) updwtmp(_PATH_WTMP, &ut);
|
||||||
|
|
||||||
|
-#elif defined(__FreeBSD__)
|
||||||
|
-
|
||||||
|
- ut.ut_time = tv.tv_sec;
|
||||||
|
-
|
||||||
|
- if (add)
|
||||||
|
- {
|
||||||
|
- login(&ut);
|
||||||
|
- } else
|
||||||
|
- {
|
||||||
|
- if (logout(term) != 1)
|
||||||
|
- {
|
||||||
|
-#ifdef UTEMPTER_DEBUG
|
||||||
|
- fprintf(stderr, "utempter: logout: %s\n",
|
||||||
|
- strerror(errno));
|
||||||
|
-#endif
|
||||||
|
- exit(EXIT_FAILURE);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-#endif /* __GLIBC__ || __FreeBSD__ */
|
||||||
|
-
|
||||||
|
#ifdef UTEMPTER_DEBUG
|
||||||
|
fprintf(stderr,
|
||||||
|
"utempter: DEBUG: utmp/wtmp record %s for terminal '%s'\n",
|
||||||
|
@@ -255,8 +221,6 @@
|
||||||
|
validate_device(device);
|
||||||
|
|
||||||
|
return write_uwtmp_record(pw->pw_name, device + DEV_PREFIX_LEN, host,
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
pid,
|
||||||
|
-#endif
|
||||||
|
add);
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'libutempter'
|
# Template file for 'libutempter'
|
||||||
pkgname=libutempter
|
pkgname=libutempter
|
||||||
version=1.1.6
|
version=1.1.6
|
||||||
revision=3
|
revision=4
|
||||||
build_style=gnu-makefile
|
build_style=gnu-makefile
|
||||||
short_desc="Library interface to record user sessions in utmp/wtmp files"
|
short_desc="Library interface to record user sessions in utmp/wtmp files"
|
||||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||||
|
|
Loading…
Add table
Reference in a new issue