<86>Dec 6 07:32:30 userdel[818814]: delete user 'rooter' <86>Dec 6 07:32:30 userdel[818814]: removed group 'rooter' owned by 'rooter' <86>Dec 6 07:32:30 userdel[818814]: removed shadow group 'rooter' owned by 'rooter' <86>Dec 6 07:32:30 groupadd[818821]: group added to /etc/group: name=rooter, GID=696 <86>Dec 6 07:32:30 groupadd[818821]: group added to /etc/gshadow: name=rooter <86>Dec 6 07:32:30 groupadd[818821]: new group: name=rooter, GID=696 <86>Dec 6 07:32:30 useradd[818825]: new user: name=rooter, UID=696, GID=696, home=/root, shell=/bin/bash <86>Dec 6 07:32:30 userdel[818834]: delete user 'builder' <86>Dec 6 07:32:30 userdel[818834]: removed group 'builder' owned by 'builder' <86>Dec 6 07:32:30 userdel[818834]: removed shadow group 'builder' owned by 'builder' <86>Dec 6 07:32:30 groupadd[818845]: group added to /etc/group: name=builder, GID=697 <86>Dec 6 07:32:30 groupadd[818845]: group added to /etc/gshadow: name=builder <86>Dec 6 07:32:30 groupadd[818845]: new group: name=builder, GID=697 <86>Dec 6 07:32:30 useradd[818852]: new user: name=builder, UID=697, GID=697, home=/usr/src, shell=/bin/bash <13>Dec 6 07:32:32 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Dec 6 07:32:33 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/splitvt-1.6.6_6-alt1.qa1.nosrc.rpm Installing splitvt-1.6.6_6-alt1.qa1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.14892 + 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.14892 + 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'; did you mean 'free'? [-Wimplicit-function-declaration] if ( grep(INCLUDE, "utmp.h", "ut_host") ) { ^~~~ free 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'; did you mean 'getenv'? [-Wimplicit-function-declaration] if ( (access("/var/run/utmp", (R_OK|W_OK)) == 0) && getuid() ) ^~~~~~ getenv 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 'delutmp': utmp.c:249:10: 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 '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) ^~~~~~~~~~~~~ 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 '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.60455 + 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) Checking contents of files in /usr/src/tmp/splitvt-buildroot/ (default) 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) verify-elf: WARNING: ./usr/bin/splitvt: uses non-LFS functions: __fxstat __xstat lseek open 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.lk3YcB find-provides: running scripts (debuginfo,lib,pam,perl,pkgconfig,python,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.rHX8Lm find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks,systemd-services) find-requires: FINDPACKAGE-COMMANDS: xterm Requires: /bin/sh, /lib/ld-linux.so.2, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.15), libc.so.6(GLIBC_2.3), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.4), rtld(GNU_HASH), xterm Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.FjHuIy 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.mYUoTn find-provides: running scripts (debuginfo) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.FN5rAt find-requires: running scripts (debuginfo) Requires: splitvt = 1.6.6_6-alt1.qa1, /usr/lib/debug/lib/ld-linux.so.2.debug, debug(libc.so.6) Wrote: /usr/src/RPM/RPMS/i586/splitvt-1.6.6_6-alt1.qa1.i586.rpm Wrote: /usr/src/RPM/RPMS/i586/splitvt-debuginfo-1.6.6_6-alt1.qa1.i586.rpm 4.71user 0.85system 0:09.80elapsed 56%CPU (0avgtext+0avgdata 26500maxresident)k 0inputs+0outputs (0major+198749minor)pagefaults 0swaps 8.86user 3.55system 0:16.73elapsed 74%CPU (0avgtext+0avgdata 117704maxresident)k 0inputs+0outputs (0major+475121minor)pagefaults 0swaps