コンピュータ系/ソフトウェア/nss_ldap/インストール/エラーに対する対処(pkgsrc参考)

2018-04-16 (月) 15:53:00 (1625d)
  • pkgsrc/databases/nss-ldap/patchesのパッチを当てる
  • pkgsrc/databases/nss-ldap/filesのファイル(netbsd.c,netbsd.h)をコピーしてくる
    • nss.hを用意
      • nsswitch.hをnss.hとしてコピー(pkgのmakefileではこっち.ln -fs でリンクを貼ってる)
      • ldap-nss.hをnss.hとしてコピー
  • 基本,pkgsrcのdatabase/nss-ldap/patches のパッチファイルを見ながら修正
  • ldap-nss.c
    • 33行あたり
      • #include <pthread.h>
      • #endif
      • #include <sys/param.h> ←追加
      • #include <assert.h>
      • #include <stdlib.h>
    • 1263行あたり
      • __pid=pid;
      • else
      • __libc_once (__once, do_atfork_setup);
      • #else ←削除
      • __pid=pid ←削除
      • #endif
  • config.h
    • Versionで検索(多分ファイルの最後)
      • /* Version number of package */
      • #undef VERSION "260"
      • #ifdef __NetBSD__ ←追加
      • #include "netbsd.h" ←追加
      • #endif ←追加
  • Makefile.in ← ./configureでMakefileをつくる元ファイル
    • 66行あたり
      • util.$(OBJEXT) ltf.$(OBJEXT) snprintf.$(OBJEXT) \
      • resolve.$(OBJEXT) dnsconfig.$(OBJEXT) irs-nss.$(OBJEXT) \
      • pagectrl.$(OBJEXT) aix_authmeth.$(OBJEXT) \
      • ldap-init-krb5-cache.$(OBJEXT) ←削除
      • ldap-init-krb5-cache.$(OBJEXT) netbsd.$(OBJEXT) ←追加
      • NSS_LDAP_OBJECTS = $(am_NSS_LDAP_OBJECTS)
      • NSS_LDAP_LDADD = $(LDADD)
      • am_nss_ldap_so_OBJECTS = ldap-nss.$(OBJEXT) ldap-pwd.$(OBJEXT) \
    • 72行あたり
      • ldap-automount.$(OBJEXT) util.$(OBJEXT) ltf.$(OBJEXT) \
      • snprintf.$(OBJEXT) resolve.$(OBJEXT) dnsconfig.$(OBJEXT) \
      • irs-nss.$(OBJEXT) pagectrl.$(OBJEXT) ldap-sldap.$(OBJEXT) \
      • ldap-init-krb5-cache.$(OBJEXT) ←削除
      • ldap-init-krb5-cache.$(OBJEXT) netbsd.$(OBJEXT) ←追加
      • nss_ldap_so_OBJECTS = $(am_nss_ldap_so_OBJECTS)
      • nss_ldap_so_LDADD = $(LDADD)
      • DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
    • 201行あたり
      • INST_UID = root
      • @AIX_FALSE@INST_GID = root ←削除
      • @AIX_FALSE@INST_GID = wheel ←追加
      • @AIX_TRUE@INST_GID = system
    • 212行あたり
      • ldap-alias.c ldap-service.c ldap-schema.c ldap-ethers.c \
      • ldap-bp.c ldap-automount.c util.c ltf.c snprintf.c resolve.c \
      • dnsconfig.c irs-nss.c pagectrl.c ldap-sldap.c ldap-init-krb5-cache.c ←削除
      • dnsconfig.c irs-nss.c pagectrl.c ldap-sldap.c ldap-init-krb5-cache.c netbsd.c ←追加
      • NSS_LDAP_SOURCES = ldap-nss.c ldap-grp.c ldap-pwd.c ldap-netgrp.c ldap-schema.c \
      • util.c ltf.c snprintf.c resolve.c dnsconfig.c \
      • irs-nss.c pagectrl.c aix_authmeth.c ldap-init-krb5-cache.c ←削除
      • irs-nss.c pagectrl.c aix_authmeth.c ldap-init-krb5-cache.c netbsd.c ←追加
    • 327行あたり
      • @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Po@am__quote@
      • @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
      • @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
      • @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netbsd.Po@am__quote@ ←追加
      • .c.o:
    • 688行あたり
      • install-data-local:
      • @$(NORMAL_INSTALL)
      • @if test ! -f $(DESTDIR)$(NSS_LDAP_PATH_CONF); then \ ←削除
      • $(mkinstalldirs) $(DESTDIR)$(dir $(NSS_LDAP_PATH_CONF)); \ ←削除
      • $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/ldap.conf $(DESTDIR)$(NSS_LDAP_PATH_CONF); \ ←削除
      • fi ←削除
      • $(mkinstalldirs) $(DESTDIR)$(sysconfdir) ←追加
      • $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/ldap.conf $(DESTDIR)$(sysc onfdir)/nss_ldap.conf ←追加
      • $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/nsswitch.ldap $(DESTDIR)$(sysconfdir)/nsswitch.ldap;