Merge pull request #41375 from phryneas/mosh-with-libutempter

nixos/programs.mosh: refactor
This commit is contained in:
xeji
2018-06-08 21:56:15 +02:00
committed by GitHub
5 changed files with 70 additions and 6 deletions

View File

@@ -13,11 +13,13 @@ stdenv.mkDerivation rec {
buildInputs = [ glib ];
patches = [ ./exec_path.patch ];
prePatch = ''
substituteInPlace Makefile --replace 2711 0711
'';
installFlags = [
makeFlags = [
"libdir=\${out}/lib"
"libexecdir=\${out}/lib"
"includedir=\${out}/include"
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
meta = {
description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
longDescription = ''
The bundled utempter binary must be able to run as a user belonging to group utmp.
On NixOS systems, this can be achieved by creating a setguid wrapper.
'';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];

View File

@@ -0,0 +1,25 @@
diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
--- libutempter-1.1.6/iface.c 2010-11-04 18:14:53.000000000 +0100
+++ libutempter-1.1.6.patched/iface.c 2018-06-06 15:09:11.417755549 +0200
@@ -60,9 +60,9 @@
_exit(EXIT_FAILURE);
}
- execv(path, argv);
+ execvp(path, argv);
#ifdef UTEMPTER_DEBUG
- fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
+ fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
#endif
while (EACCES == errno)
@@ -79,7 +79,7 @@
if (setgid(sgid))
break;
- (void) execv(path, argv);
+ (void) execvp(path, argv);
break;
}
Only in libutempter-1.1.6.patched: result