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


-pkgsrc/databases/nss-ldap/patchesのパッチを当てる
-pkgsrc/databases/nss-ldap/filesのファイル(netbsd.c,netbsd.h)をコピーしてくる
--nss.hを用意
---nsswitch.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;