]> err.no Git - util-linux/commitdiff
remaining kFreeBSD hackery for building.
authorAurelien Jarno <aurel32@debian.org>
Fri, 29 May 2009 09:28:45 +0000 (03:28 -0600)
committerLaMont Jones <lamont@debian.org>
Fri, 29 May 2009 09:28:45 +0000 (03:28 -0600)
Addresses-Debian-Bug: #527384
Signed-off-by: LaMont Jones <lamont@debian.org>
login-utils/Makefile.am
login-utils/agetty.c
sys-utils/ipcs.c

index 5ed581b8503d8e098893fa6249312713c6612d91..0386cee45d8be4bfb45c6d6310824615d13966eb 100644 (file)
@@ -11,6 +11,7 @@ EXTRA_DIST = README.getty  README.modems-with-agetty  README.poeigl
 if BUILD_AGETTY
 sbin_PROGRAMS += agetty
 dist_man_MANS += agetty.8
+agetty_LDADD = -lutil
 endif
 
 if BUILD_INIT
index 90a64b33b9c595c64e86d481a9280bf99ec6b7dd..817ec05fd8a7504b6f5f2071b4ef5006f6175230 100644 (file)
 #include "nls.h"
 #include "pathnames.h"
 
-#ifdef __linux__
+#if defined(__FreeBSD_kernel__)
+#include <pty.h>
+#endif
+
+#if defined(__linux__) || defined(__FreeBSD_kernel__)
 #include <sys/param.h>
 #define USE_SYSLOG
 #endif
@@ -281,7 +285,7 @@ main(argc, argv)
 
     parse_args(argc, argv, &options);
 
-#ifdef __linux__
+#if defined (__linux__) || defined(__FreeBSD_kernel__)
        setsid();
 #endif
        
@@ -670,6 +674,13 @@ open_tty(tty, tp, local)
     if (tcgetattr(0, tp) < 0)
        error("%s: tcgetattr: %m", tty);
 
+     /*
+     * login_tty: steal tty from other process group.
+     */
+#if defined(__FreeBSD_kernel__)
+     login_tty (0);
+#endif
+
     /*
      * It seems to be a terminal. Set proper protections and ownership. Mode
      * 0622 is suitable for SYSV <4 because /bin/login does not change
index 55d5c80f37fa29fc11c6327a13af92834cf95288..1567f9a6205ea5ae709bf85c128393960178e889 100644 (file)
@@ -499,8 +499,10 @@ void do_msg (char format)
 
        case STATUS:
                printf (_("------ Messages: Status --------\n"));
+#ifndef __FreeBSD_kernel__
                printf (_("allocated queues = %d\n"), msginfo.msgpool);
                printf (_("used headers = %d\n"), msginfo.msgmap);
+#endif
                printf (_("used space = %d bytes\n"), msginfo.msgtql);
                return;