Bug 34919

Summary: Удалить из кода устаревшую поддержку NIS/NIS+
Product: Sisyphus Reporter: Alexei Takaseev <taf>
Component: tcb-utilsAssignee: Dmitry V. Levin <ldv>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=39309

Description Alexei Takaseev 2018-05-16 20:16:29 MSK
Из-за удаления из glibc поддержки NIS пакет перестал собираться:

$ hsh -vvvvvvvv tcb-1.1-alt1.src.rpm

....

+ exec time rpmbuild --rebuild --target=x86_64 tcb-1.1-alt1.src.rpm
Installing tcb-1.1-alt1.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /tmp/rpm-tmp.57396
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf tcb-1.1
+ echo 'Source #0 (tcb-1.1.tar):'
Source #0 (tcb-1.1.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/tcb-1.1.tar
+ cd tcb-1.1
+ /bin/chmod -c -Rf u+rwX,go-w .
+ echo 'Patch #1 (tcb-0.9.9-alt-makefile-pam.patch):'
Patch #1 (tcb-0.9.9-alt-makefile-pam.patch):
+ /usr/bin/patch -p1
patching file pam_tcb/Makefile
+ echo 'Patch #2 (tcb-0.9.9-alt-tcb_convert-try_auth.patch):'
Patch #2 (tcb-0.9.9-alt-tcb_convert-try_auth.patch):
+ /usr/bin/patch -p1
patching file progs/tcb_convert.c
+ '[' /usr/lib '!=' /usr/libexec ']'
+ find -type f -print0
+ xargs -r0 /usr/bin/subst -p s,/usr/libexec,/usr/lib,g --
+ xargs -r0 grep -FZl /usr/libexec --
+ exit 0
Executing(%build): /bin/sh -e /tmp/rpm-tmp.57396
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd tcb-1.1
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"'
+ make
make: Entering directory '/usr/src/RPM/BUILD/tcb-1.1'
make -C misc all
make[1]: Entering directory '/usr/src/RPM/BUILD/tcb-1.1/misc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/usr/src/RPM/BUILD/tcb-1.1/misc'
make -C libs all
make[1]: Entering directory '/usr/src/RPM/BUILD/tcb-1.1/libs'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c libtcb.c -o libtcb.o
gcc  -L../libs -shared -o libtcb.so.0.9.8 -Wl,-soname,libtcb.so.0 \
        -Wl,--version-script=libtcb.map libtcb.o
ln -sf libtcb.so.0.9.8 libtcb.so.0
ln -sf libtcb.so.0 libtcb.so
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c nss.c -o nss.o
nss.c: In function '_nss_tcb_getspent_r':
nss.c:111:3: warning: 'readdir_r' is deprecated [-Wdeprecated-declarations]
   if (readdir_r(tcbdir, &entry, &result)) {
   ^~
In file included from nss.c:10:0:
/usr/include/dirent.h:183:12: note: declared here
 extern int readdir_r (DIR *__restrict __dirp,
            ^~~~~~~~~
gcc  -L../libs -shared -o libnss_tcb.so.2 -Wl,--version-script=libnss_tcb.map \
        nss.o  -ltcb
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall  -c libtcb.c -o libtcb_a.o
ar -cr libtcb.a libtcb_a.o
ranlib libtcb.a
make[1]: Leaving directory '/usr/src/RPM/BUILD/tcb-1.1/libs'
make -C progs all
make[1]: Entering directory '/usr/src/RPM/BUILD/tcb-1.1/progs'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -c tcb_convert.c -o tcb_convert.o
tcb_convert.c: In function 'copy_to_tcb':
tcb_convert.c:205:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (gr) {
      ^
tcb_convert.c:212:2: note: here
  case 0:
  ^~~~
gcc  -L../libs -o tcb_convert tcb_convert.o
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -c tcb_unconvert.c -o tcb_unconvert.o
tcb_unconvert.c: In function 'main':
tcb_unconvert.c:245:2: warning: ignoring return value of 'chown', declared with attribute warn_unused_result [-Wunused-result]
  chown(TCB_DIR, 0, st.st_gid);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc  -L../libs -o tcb_unconvert tcb_unconvert.o -ltcb
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -c tcb_chkpwd.c -o tcb_chkpwd.o
tcb_chkpwd.c: In function 'unix_verify_password':
tcb_chkpwd.c:58:4: warning: ignoring return value of 'seteuid', declared with attribute warn_unused_result [-Wunused-result]
    seteuid(pw->pw_uid);
    ^~~~~~~~~~~~~~~~~~~
tcb_chkpwd.c:61:4: warning: ignoring return value of 'seteuid', declared with attribute warn_unused_result [-Wunused-result]
    seteuid(old_uid);
    ^~~~~~~~~~~~~~~~
gcc  -L../libs -o tcb_chkpwd tcb_chkpwd.o -lcrypt
make[1]: Leaving directory '/usr/src/RPM/BUILD/tcb-1.1/progs'
make -C pam_tcb all
make[1]: Entering directory '/usr/src/RPM/BUILD/tcb-1.1/pam_tcb'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c pam_unix_auth.c -o pam_unix_auth.o
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c pam_unix_acct.c -o pam_unix_acct.o
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c pam_unix_sess.c -o pam_unix_sess.o
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -W -DENABLE_SETFSUGID -DENABLE_NLS -DNLS_PACKAGE=\"Linux-PAM\"  -I../include -Wall -fPIC -c pam_unix_passwd.c -o pam_unix_passwd.o
pam_unix_passwd.c:14:10: fatal error: rpcsvc/yp_prot.h: No such file or directory
 #include <rpcsvc/yp_prot.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:20: pam_unix_passwd.o] Error 1
make[1]: Leaving directory '/usr/src/RPM/BUILD/tcb-1.1/pam_tcb'
make: *** [Makefile:5: all] Error 2
make: Leaving directory '/usr/src/RPM/BUILD/tcb-1.1'
error: Bad exit status from /tmp/rpm-tmp.57396 (%build)


RPM build errors:
    Bad exit status from /tmp/rpm-tmp.57396 (%build)
Command exited with non-zero status 1
0.58user 0.10system 0:00.70elapsed 96%CPU (0avgtext+0avgdata 27916maxresident)k
0inputs+1880outputs (0major+62720minor)pagefaults 0swaps
hsh-rebuild: rebuild of `tcb-1.1-alt1.src.rpm' failed.
Comment 1 Repository Robot 2018-06-28 05:42:39 MSK
tcb-1.1.0.1-alt1 -> sisyphus:

Tue Jun 26 2018 Dmitry V. Levin <ldv@altlinux> 1.1.0.1-alt1
- pam_tcb:
  + dropped obsolete nis/nis+ support (closes: #34919);
  + changed to use default prefix implemented by libcrypt;
  + changed to use pam_get_authtok(3);
  + dropped not_set_pass option;
  + added authtok_type= option;
  + synced password expiration messages with Linux-PAM.
- Enabled LFS support.