[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#652907: xterm: no UTMP/WTMP update with kfreebsd-amd64



On Wed, Dec 21, 2011 at 10:36:13PM +0100, Mats Erik Andersson wrote:
> onsdag den 21 december 2011 klockan 22:17 skrev Julien Cristau detta:
> > On Wed, Dec 21, 2011 at 19:48:24 +0100, Mats Erik Andersson wrote:
> > 
> > > In contrast, the helper "/usr/lib/utempter/utempter"
> > > is functional when manually used, so the defect lies
> > > burried in the manner in which Xterm makes use of
> > > libutempter.
> > > 
> > > Of course, the full mechanism is correct with linux-i386,
> > > but not with my kfreebsd-amd64 system.
> > > 
> > Do you have a patch?
> 
> Not yet, still trying to understand the failure, since the use
> of libutempter only dawned on me when rebuilding Xterm locally.

the first thing to check is whether main.o uses the symbols from
utempter.  These are used in the configure check:
	addToUtmp("/dev/tty", 0, 1);
	removeFromUtmp();
> 
> However, I am amongst other things suspicious of the checking
> against "/dev/" and whether "/dev/pts/5" with Linux versus
> "/dev/ttyp6" with kFreeBSD could have a bearing here.
> 
> It was easier for me to grasp Xvt in my recent NMU, where
> libutempter is not making a mess of things, as it obviously
> is with Xterm!

actually, the checks for setuid/setgid behavior are a more promising
place to look for a lost ifdef - looking at the ones in main.c for
"USE_UTEMPTER":

#if defined(USE_UTEMPTER)
#if defined(USE_SYSV_UTMP) && !defined(USE_UTEMPTER)
#ifndef USE_UTEMPTER
#endif /* !USE_UTEMPTER */
#if defined(USE_SYSV_UTMP) && !defined(USE_UTEMPTER)
#if (!defined(USE_UTEMPTER) || !defined(DISABLE_SETGID))
#if !defined(USE_UTMP_SETGID) && (!defined(USE_UTEMPTER) || !defined(DISABLE_SETUID))
#if defined(HAVE_POSIX_SAVED_IDS) && !defined(USE_UTMP_SETGID) && !defined(USE_UTEMPTER)
#if defined(HAVE_UTMP) && defined(USE_SYSV_UTMP) && !defined(USE_UTEMPTER)
#ifndef USE_UTEMPTER
#endif /* !USE_UTEMPTER */
#if defined(HAVE_UTMP) && defined(USE_SYSV_UTMP) && !defined(USE_UTEMPTER)
#if defined(USE_UTEMPTER)
#ifndef USE_UTEMPTER
#endif /* USE_UTEMPTER */
#ifdef USE_UTEMPTER

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


Reply to: