<86>Apr 14 00:53:23 userdel[100983]: delete user 'rooter' <86>Apr 14 00:53:23 groupadd[100989]: group added to /etc/group: name=rooter, GID=579 <86>Apr 14 00:53:23 groupadd[100989]: group added to /etc/gshadow: name=rooter <86>Apr 14 00:53:23 groupadd[100989]: new group: name=rooter, GID=579 <86>Apr 14 00:53:23 useradd[100993]: new user: name=rooter, UID=579, GID=579, home=/root, shell=/bin/bash <86>Apr 14 00:53:23 userdel[100999]: delete user 'builder' <86>Apr 14 00:53:23 userdel[100999]: removed group 'builder' owned by 'builder' <86>Apr 14 00:53:23 groupadd[101004]: group added to /etc/group: name=builder, GID=580 <86>Apr 14 00:53:23 groupadd[101004]: group added to /etc/gshadow: name=builder <86>Apr 14 00:53:23 groupadd[101004]: new group: name=builder, GID=580 <86>Apr 14 00:53:23 useradd[101008]: new user: name=builder, UID=580, GID=580, home=/usr/src, shell=/bin/bash <13>Apr 14 00:53:25 rpmi: libtinfo-devel-5.9-alt8 1456756459 installed <13>Apr 14 00:53:25 rpmi: libncurses-devel-5.9-alt8 1456756459 installed Installing splitvt-1.6.6_6-alt1.qa1.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.90112 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf splitvt-1.6.6_6 + echo 'Source #0 (splitvt-1.6.6_6.tar.bz2):' Source #0 (splitvt-1.6.6_6.tar.bz2): + /bin/bzip2 -dc /usr/src/RPM/SOURCES/splitvt-1.6.6_6.tar.bz2 + /bin/tar -xf - + cd splitvt-1.6.6_6 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.90112 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd splitvt-1.6.6_6 + ./configure Making configuration... config.c:32:1: warning: return type defaults to 'int' [-Wimplicit-int] main(argc, argv) ^ config.c: In function 'main': config.c:116:7: warning: implicit declaration of function 'grep' [-Wimplicit-function-declaration] if ( grep(INCLUDE, "utmp.h", "ut_host") ) { ^ config.c:176:8: warning: implicit declaration of function 'access' [-Wimplicit-function-declaration] if ( (access("/var/run/utmp", (R_OK|W_OK)) == 0) && getuid() ) ^ config.c:176:54: warning: implicit declaration of function 'getuid' [-Wimplicit-function-declaration] if ( (access("/var/run/utmp", (R_OK|W_OK)) == 0) && getuid() ) ^ Aha! You are running Linux! Congratulations on the choice of a GNU generation. Your utmp file uses the host field. I will use termio tty structures. I will use your sockets definition header. I will use wait4() instead of waitpid(). If installed set-uid root, this program will put entries for its windows in /var/run/utmp, and will also change ownership of the ttys it acquires to the user running this program. Done. Type 'make' to build + make make: Entering directory `/usr/src/RPM/BUILD/splitvt-1.6.6_6' gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o splitvt.o splitvt.c splitvt.c: In function 'main': splitvt.c:451:8: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(thisfd, selection, strlen(selection)); ^ splitvt.c: In function 'normal_input': splitvt.c:547:3: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result] read(ttyfd, &c, 1); ^ splitvt.c:592:7: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(thisfd, selection, strlen(selection)); ^ splitvt.c:626:3: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(thisfd, &c, 1); ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o misc.o misc.c misc.c: In function 'pty_open': misc.c:81:3: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result] dup(slave_fd); dup(slave_fd); dup(slave_fd); ^ misc.c:81:18: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result] dup(slave_fd); dup(slave_fd); dup(slave_fd); ^ misc.c:81:33: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result] dup(slave_fd); dup(slave_fd); dup(slave_fd); ^ misc.c: In function 'safe_popen': misc.c:900:15: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result] close(1); dup(pipe_fds[1]); close(0); ^ misc.c:902:15: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result] close(0); dup(pipe_fds[0]); close(1); ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o utmp.o utmp.c utmp.c: In function 'addutmp': utmp.c:204:14: warning: passing argument 1 of 'time' from incompatible pointer type [-Wincompatible-pointer-types] (void) time(&ut.ut_time); ^ In file included from utmp.c:11:0: /usr/include/time.h:192:15: note: expected 'time_t * {aka long int *}' but argument is of type 'int32_t * {aka int *}' extern time_t time (time_t *__timer) __THROW; ^ utmp.c: In function 'delutmp': utmp.c:240:15: warning: passing argument 1 of 'time' from incompatible pointer type [-Wincompatible-pointer-types] (void) time(&ut.ut_time); ^ In file included from utmp.c:11:0: /usr/include/time.h:192:15: note: expected 'time_t * {aka long int *}' but argument is of type 'int32_t * {aka int *}' extern time_t time (time_t *__timer) __THROW; ^ utmp.c:249:3: warning: ignoring return value of 'chown', declared with attribute warn_unused_result [-Wunused-result] (void) chown(tty, 0, sb.st_gid); ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o vt100.o vt100.c vt100.c: In function 'set_attr': vt100.c:144:38: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (void) check_attr(0, win->textattr, (int)&on); ^ vt100.c: In function 'E_': vt100.c:364:5: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(*source, "\033[?6c", 5); ^ vt100.c: In function 'E_brac': vt100.c:646:6: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(*source, "\033[0n", 4); ^ vt100.c:652:6: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(*source, reply, strlen(reply)); ^ vt100.c:658:5: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(*source, "\033[?6c", 5); ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o videomem.o videomem.c gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o terminal.o terminal.c terminal.c: In function 'vt_insertchar': terminal.c:427:6: warning: type of 'numcols' defaults to 'int' [-Wimplicit-int] void vt_insertchar(numcols) ^ terminal.c: At top level: terminal.c:24:19: warning: 'capabilities' defined but not used [-Wunused-variable] static capability capabilities[] = { ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o vttest.o vttest.c vttest.c: In function 'vttest': vttest.c:85:4: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write(fd,"\033[c", 3); /* Vt100 test: ESC [ c */ ^ gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o vtmouse.o vtmouse.c gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o parserc.o parserc.c gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o lock.o lock.c gcc -Wall -O2 -DHAVE_UTHOST -DHAVE_TERMIO_H -DHAVE_UNISTD_H -DNEED_SELECT_H -DHAVE_WAIT4 -DSHELL=\"/bin/sh\" -DPTYCHAR=\"\" -DHEXDIGIT=\"\" -c -o cut-paste.o cut-paste.c cut-paste.c: In function 'put_sel_char': cut-paste.c:48:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (*oldattr)=check_attr(c, *oldattr, (int)on); ^ cut-paste.c: In function 'vt_getsel': cut-paste.c:110:4: warning: 'mark1.y' may be used uninitialized in this function [-Wmaybe-uninitialized] ++endsel.y; ^ cut-paste.c:261:25: note: 'mark1.y' was declared here position here, cursor, mark1, mark2; ^ cut-paste.c:115:12: warning: 'mark1.x' may be used uninitialized in this function [-Wmaybe-uninitialized] } else if ( mark1->x > mark2->x ) { ^ cut-paste.c:261:25: note: 'mark1.x' was declared here position here, cursor, mark1, mark2; ^ cut-paste.c:119:2: warning: 'endsel.y' may be used uninitialized in this function [-Wmaybe-uninitialized] getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); ^ cut-paste.c:93:21: note: 'endsel.y' was declared here position startsel, endsel; ^ cut-paste.c:119:2: warning: 'endsel.x' may be used uninitialized in this function [-Wmaybe-uninitialized] getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); ^ cut-paste.c:93:21: note: 'endsel.x' was declared here position startsel, endsel; ^ cut-paste.c:119:2: warning: 'startsel.y' may be used uninitialized in this function [-Wmaybe-uninitialized] getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); ^ cut-paste.c:93:11: note: 'startsel.y' was declared here position startsel, endsel; ^ cut-paste.c:119:2: warning: 'startsel.x' may be used uninitialized in this function [-Wmaybe-uninitialized] getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); ^ cut-paste.c:93:11: note: 'startsel.x' was declared here position startsel, endsel; ^ gcc -o splitvt splitvt.o misc.o utmp.o vt100.o videomem.o terminal.o vttest.o vtmouse.o parserc.o lock.o cut-paste.o make: Leaving directory `/usr/src/RPM/BUILD/splitvt-1.6.6_6' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.7590 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/splitvt-buildroot + : + /bin/rm -rf -- /usr/src/tmp/splitvt-buildroot + cd splitvt-1.6.6_6 + mkdir -p /usr/src/tmp/splitvt-buildroot/usr/share/man/man1 + mkdir -p /usr/src/tmp/splitvt-buildroot/usr/bin + make 'INSTALL=/bin/install -p' install DESTDIR=/usr/src/tmp/splitvt-buildroot make: Entering directory `/usr/src/RPM/BUILD/splitvt-1.6.6_6' cp splitvt.man /usr/src/tmp/splitvt-buildroot/usr/share/man/man1/splitvt.1 mv splitvt /usr/src/tmp/splitvt-buildroot/usr/bin/splitvt mv examples/xsplitvt /usr/src/tmp/splitvt-buildroot/usr/bin/xsplitvt make: Leaving directory `/usr/src/RPM/BUILD/splitvt-1.6.6_6' + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/splitvt-buildroot (auto) Verifying and fixing files in /usr/src/tmp/splitvt-buildroot (binconfig,pkgconfig,libtool,desktop) Compressing files in /usr/src/tmp/splitvt-buildroot (auto) Verifying ELF objects in /usr/src/tmp/splitvt-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Hardlinking identical .pyc and .pyo files Processing files: splitvt-1.6.6_6-alt1.qa1 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.yAsSyD find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.hNaA1L find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks) find-requires: FINDPACKAGE-COMMANDS: xterm Requires: /bin/sh, /lib64/ld-linux-x86-64.so.2, libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.15)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.4)(64bit), rtld(GNU_HASH), xterm Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.AkEMdX Creating splitvt-debuginfo package Processing files: splitvt-debuginfo-1.6.6_6-alt1.qa1 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.v5Sc9a find-provides: running scripts (debuginfo) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.YDEWNr find-requires: running scripts (debuginfo) Requires: splitvt = 1.6.6_6-alt1.qa1, /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug, debug64(libc.so.6) Wrote: /usr/src/RPM/RPMS/x86_64/splitvt-1.6.6_6-alt1.qa1.x86_64.rpm Wrote: /usr/src/RPM/RPMS/x86_64/splitvt-debuginfo-1.6.6_6-alt1.qa1.x86_64.rpm 1.53user 0.49system 0:06.69elapsed 30%CPU (0avgtext+0avgdata 28300maxresident)k 0inputs+0outputs (0major+186143minor)pagefaults 0swaps 4.19user 2.22system 0:11.31elapsed 56%CPU (0avgtext+0avgdata 121792maxresident)k 0inputs+0outputs (0major+397731minor)pagefaults 0swaps