<86>Jun 5 10:36:36 userdel[1234532]: delete user 'rooter' <86>Jun 5 10:36:36 userdel[1234532]: removed group 'rooter' owned by 'rooter' <86>Jun 5 10:36:36 userdel[1234532]: removed shadow group 'rooter' owned by 'rooter' <86>Jun 5 10:36:36 groupadd[1234543]: group added to /etc/group: name=rooter, GID=615 <86>Jun 5 10:36:36 groupadd[1234543]: group added to /etc/gshadow: name=rooter <86>Jun 5 10:36:36 groupadd[1234543]: new group: name=rooter, GID=615 <86>Jun 5 10:36:36 useradd[1234550]: new user: name=rooter, UID=615, GID=615, home=/root, shell=/bin/bash <86>Jun 5 10:36:36 userdel[1234563]: delete user 'builder' <86>Jun 5 10:36:36 userdel[1234563]: removed group 'builder' owned by 'builder' <86>Jun 5 10:36:36 userdel[1234563]: removed shadow group 'builder' owned by 'builder' <86>Jun 5 10:36:36 groupadd[1234573]: group added to /etc/group: name=builder, GID=616 <86>Jun 5 10:36:36 groupadd[1234573]: group added to /etc/gshadow: name=builder <86>Jun 5 10:36:36 groupadd[1234573]: new group: name=builder, GID=616 <86>Jun 5 10:36:36 useradd[1234580]: new user: name=builder, UID=616, GID=616, home=/usr/src, shell=/bin/bash /usr/src/in/srpm/splitvt-1.6.6_6-alt1.qa1.src.rpm: The use of such a license name is ambiguous: GPL <13>Jun 5 10:36:38 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Jun 5 10:36:38 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.31413 + 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.31413 + 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] 32 | main(argc, argv) | ^~~~ config.c: In function 'main': config.c:116:7: warning: implicit declaration of function 'grep' [-Wimplicit-function-declaration] 116 | if ( grep(INCLUDE, "utmp.h", "ut_host") ) { | ^~~~ config.c:176:8: warning: implicit declaration of function 'access' [-Wimplicit-function-declaration] 176 | if ( (access("/var/run/utmp", (R_OK|W_OK)) == 0) && getuid() ) | ^~~~~~ config.c:176:54: warning: implicit declaration of function 'getuid' [-Wimplicit-function-declaration] 176 | 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] 451 | 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] 547 | read(ttyfd, &c, 1); | ^~~~~~~~~~~~~~~~~~ splitvt.c:592:7: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] 592 | write(thisfd, selection, strlen(selection)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ splitvt.c:626:3: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] 626 | 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] 81 | 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] 81 | 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] 81 | 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] 900 | 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] 902 | 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] 249 | (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] 364 | 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] 646 | write(*source, "\033[0n", 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vt100.c:652:6: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] 652 | write(*source, reply, strlen(reply)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vt100.c:658:5: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] 658 | 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] 427 | void vt_insertchar(numcols) | ^~~~~~~~~~~~~ At top level: terminal.c:24:19: warning: 'capabilities' defined but not used [-Wunused-variable] 24 | 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] 85 | 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] 110 | ++endsel.y; | ^~~~~~~~~~ cut-paste.c:261:25: note: 'mark1.y' was declared here 261 | position here, cursor, mark1, mark2; | ^~~~~ cut-paste.c:115:12: warning: 'mark1.x' may be used uninitialized in this function [-Wmaybe-uninitialized] 115 | } else if ( mark1->x > mark2->x ) { | ^ cut-paste.c:261:25: note: 'mark1.x' was declared here 261 | position here, cursor, mark1, mark2; | ^~~~~ cut-paste.c:119:2: warning: 'endsel.y' may be used uninitialized in this function [-Wmaybe-uninitialized] 119 | getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut-paste.c:93:21: note: 'endsel.y' was declared here 93 | position startsel, endsel; | ^~~~~~ cut-paste.c:119:2: warning: 'endsel.x' may be used uninitialized in this function [-Wmaybe-uninitialized] 119 | getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut-paste.c:93:21: note: 'endsel.x' was declared here 93 | position startsel, endsel; | ^~~~~~ cut-paste.c:119:2: warning: 'startsel.y' may be used uninitialized in this function [-Wmaybe-uninitialized] 119 | getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut-paste.c:93:11: note: 'startsel.y' was declared here 93 | position startsel, endsel; | ^~~~~~~~ cut-paste.c:119:2: warning: 'startsel.x' may be used uninitialized in this function [-Wmaybe-uninitialized] 119 | getsel_video(win,buf,len, startsel.x, endsel.x, startsel.y, endsel.y); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut-paste.c:93:11: note: 'startsel.x' was declared here 93 | 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.65945 + 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.faLjHZ 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.TdT5FZ 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.b76GM1 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.arhKD0 find-provides: running scripts (debuginfo) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.791ok1 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 3.26user 0.50system 0:08.34elapsed 45%CPU (0avgtext+0avgdata 25360maxresident)k 0inputs+0outputs (0major+193846minor)pagefaults 0swaps /.out/splitvt-1.6.6_6-alt1.qa1.i586.rpm: The use of such a license name is ambiguous: GPL /.out/splitvt-debuginfo-1.6.6_6-alt1.qa1.i586.rpm: The use of such a license name is ambiguous: GPL 7.17user 3.13system 0:14.97elapsed 68%CPU (0avgtext+0avgdata 109140maxresident)k 0inputs+0outputs (0major+472343minor)pagefaults 0swaps