Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 351286 Details for
Bug 438692
sys-auth/nss_ldap-265-r2 stable request - WAS: sys-auth/nss_ldap-265-r1 with sys-libs/glibc-2.16.0 - /bin/login: symbol lookup error: /lib64/libnss_ldap.so.2: undefined symbol: __libc_lock_lock
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
nss_ldap.patch
nss_ldap.patch (text/plain), 23.85 KB, created by
Benda Xu
on 2013-06-18 04:52:28 UTC
(
hide
)
Description:
nss_ldap.patch
Filename:
MIME Type:
Creator:
Benda Xu
Created:
2013-06-18 04:52:28 UTC
Size:
23.85 KB
patch
obsolete
>diff -Naurp /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/files/nss_ldap-265-installdir.patch sys-auth/nss_ldap/files/nss_ldap-265-installdir.patch >--- /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/files/nss_ldap-265-installdir.patch 1970-01-01 00:00:00.000000000 +0000 >+++ sys-auth/nss_ldap/files/nss_ldap-265-installdir.patch 2013-06-18 04:39:05.772895000 +0000 >@@ -0,0 +1,35 @@ >+Index: nss_ldap-265/Makefile.am >+=================================================================== >+--- nss_ldap-265.orig/Makefile.am >++++ nss_ldap-265/Makefile.am >+@@ -38,17 +38,13 @@ NSS_LDAP_LDFLAGS = @NSS_LDAP_LDFLAGS@ >+ DEFS = @DEFS@ >+ #INCLUDES = -I$(top_builddir) -I$(srcdir) >+ >+-if GCC >+-MULTI_OS_DIRECTORY=$(shell $(CC) $(CFLAGS) -print-multi-os-directory) >+-else >+ MULTI_OS_DIRECTORY=. >+-endif >+ >+ if GLIBC >+-LIBC_VERS = $(shell ls /lib/$(MULTI_OS_DIRECTORY)/libc-*.so | tail -n 1 | sed -e 's|.*libc-\(.*\)\.so|\1|') >++LIBC_VERS = $(shell ls @GENTOO_PORTAGE_EPREFIX@/lib/$(MULTI_OS_DIRECTORY)/libc-*.so | tail -n 1 | sed -e 's|.*libc-\(.*\)\.so|\1|') >+ NSS_LDAP_LIBC_VERSIONED = libnss_ldap-$(LIBC_VERS).so >+ >+-NSS_VERS = $(shell ls /lib/$(MULTI_OS_DIRECTORY)/libnss_files.so.? | tail -n 1 | sed -e 's|.*libnss_files\.so\.\(.*\)|\1|') >++NSS_VERS = $(shell ls @GENTOO_PORTAGE_EPREFIX@/lib/$(MULTI_OS_DIRECTORY)/libnss_files.so.? | tail -n 1 | sed -e 's|.*libnss_files\.so\.\(.*\)|\1|') >+ NSS_LDAP_NSS_VERSIONED = libnss_ldap.so.$(NSS_VERS) >+ endif >+ >+@@ -83,8 +79,8 @@ if GLIBC >+ $(mkinstalldirs) $(DESTDIR)$(libdir) >+ $(INSTALL_PROGRAM) -o $(INST_UID) -g $(INST_GID) nss_ldap.so $(DESTDIR)$(libdir)/$(NSS_LDAP_LIBC_VERSIONED) >+ (cd $(DESTDIR)$(libdir); ln -sf $(NSS_LDAP_LIBC_VERSIONED) $(NSS_LDAP_NSS_VERSIONED)) >+- $(mkinstalldirs) $(DESTDIR)/usr$(libdir) >+- (cd $(DESTDIR)/usr$(libdir); ln -sf ../..$(libdir)/$(NSS_LDAP_NSS_VERSIONED) .) >++ $(mkinstalldirs) $(DESTDIR)$(libdir:/lib=/usr/lib) >++ (cd $(DESTDIR)/$(libdir:/lib=/usr/lib); ln -sf ../../lib/$(NSS_LDAP_NSS_VERSIONED) .) >+ else >+ $(mkinstalldirs) $(DESTDIR)$(libdir) >+ if HPUX >diff -Naurp /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/files/nss_ldap-265-pthread.patch sys-auth/nss_ldap/files/nss_ldap-265-pthread.patch >--- /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/files/nss_ldap-265-pthread.patch 1970-01-01 00:00:00.000000000 +0000 >+++ sys-auth/nss_ldap/files/nss_ldap-265-pthread.patch 2013-06-18 04:16:42.297458000 +0000 >@@ -0,0 +1,481 @@ >+Index: ldap-nss.c >+=================================================================== >+--- ldap-nss.c.orig >++++ ldap-nss.c >+@@ -142,7 +142,7 @@ static void (*__sigpipe_handler) (int) = >+ */ >+ static ldap_session_t __session = { NULL, NULL, 0, LS_UNINITIALIZED }; >+ >+-#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE___LIBC_ONCE) >+ static pthread_once_t __once = PTHREAD_ONCE_INIT; >+ #endif >+ >+@@ -150,7 +150,7 @@ static pthread_once_t __once = PTHREAD_O >+ static FILE *__debugfile; >+ #endif /* LBER_OPT_LOG_PRINT_FILE */ >+ >+-#ifndef HAVE_PTHREAD_ATFORK >++#if !defined(HAVE_PTHREAD_ATFORK) || !defined(HAVE___LIBC_ONCE) >+ /* >+ * Process ID that opened the session. >+ */ >+@@ -162,7 +162,7 @@ static uid_t __euid = -1; >+ static int __ssl_initialized = 0; >+ #endif /* HAVE_LDAPSSL_CLIENT_INIT */ >+ >+-#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE___LIBC_ONCE) >+ /* >+ * Prepare for fork(); lock mutex. >+ */ >+@@ -513,7 +513,7 @@ _nss_ldap_default_constr (nss_ldap_backe >+ } >+ #endif /* HAVE_NSSWITCH_H */ >+ >+-#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#if defined(HAVE_PTHREAD_ATFORK) || defined(HAVE___LIBC_ONCE) >+ static void >+ do_atfork_prepare (void) >+ { >+@@ -547,7 +547,7 @@ do_atfork_setup (void) >+ #ifdef HAVE_PTHREAD_ATFORK >+ (void) pthread_atfork (do_atfork_prepare, do_atfork_parent, >+ do_atfork_child); >+-#elif defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#elif defined(HAVE___LIBC_ATFORK) >+ (void) __libc_atfork (do_atfork_prepare, do_atfork_parent, do_atfork_child); >+ #endif >+ >+@@ -1096,7 +1096,7 @@ static NSS_STATUS >+ do_init (void) >+ { >+ ldap_config_t *cfg; >+-#ifndef HAVE_PTHREAD_ATFORK >++#if !defined(HAVE_PTHREAD_ATFORK) || !defined(HAVE___LIBC_ONCE) >+ pid_t pid; >+ #endif >+ uid_t euid; >+@@ -1113,7 +1113,7 @@ do_init (void) >+ } >+ >+ #ifndef HAVE_PTHREAD_ATFORK >+-#if defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#if defined(HAVE___LIBC_ONCE) >+ /* >+ * This bogosity is necessary because Linux uses different >+ * PIDs for different threads (like IRIX, which we don't >+@@ -1145,7 +1145,7 @@ do_init (void) >+ pid = -1; /* linked against libpthreads, don't care */ >+ #else >+ pid = getpid (); >+-#endif /* HAVE_LIBC_LOCK_H || HAVE_BITS_LIBC_LOCK_H */ >++#endif /* HAVE___LIBC_ONCE */ >+ #endif /* HAVE_PTHREAD_ATFORK */ >+ >+ euid = geteuid (); >+@@ -1155,7 +1155,7 @@ do_init (void) >+ syslog (LOG_DEBUG, >+ "nss_ldap: __session.ls_state=%d, __session.ls_conn=%p, __euid=%i, euid=%i", >+ __session.ls_state, __session.ls_conn, __euid, euid); >+-#elif defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#elif defined(HAVE___LIBC_ONCE) >+ syslog (LOG_DEBUG, >+ "nss_ldap: libpthreads=%s, __session.ls_state=%d, __session.ls_conn=%p, __pid=%i, pid=%i, __euid=%i, euid=%i", >+ ((__pthread_once == NULL || __pthread_atfork == NULL) ? "FALSE" : "TRUE"), >+@@ -1179,11 +1179,11 @@ do_init (void) >+ } >+ else >+ #ifndef HAVE_PTHREAD_ATFORK >+-#if defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#if defined(HAVE___LIBC_ONCE) >+ if ((__pthread_once == NULL || __pthread_atfork == NULL) && __pid != pid) >+ #else >+ if (__pid != pid) >+-#endif /* HAVE_LIBC_LOCK_H || HAVE_BITS_LIBC_LOCK_H */ >++#endif /* HAVE___LIBC_ONCE */ >+ { >+ do_close_no_unbind (); >+ } >+@@ -1244,9 +1244,9 @@ do_init (void) >+ debug ("<== do_init (pthread_once failed)"); >+ return NSS_UNAVAIL; >+ } >+-#elif defined(HAVE_PTHREAD_ATFORK) && ( defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) ) >++#elif defined(HAVE_PTHREAD_ATFORK) && defined(HAVE___LIBC_ONCE) >+ __libc_once (__once, do_atfork_setup); >+-#elif defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#elif defined(HAVE___LIBC_ONCE) >+ /* >+ * Only install the pthread_atfork() handlers i >+ * we are linked against libpthreads. Otherwise, >+Index: ldap-nss.h >+=================================================================== >+--- ldap-nss.h.orig >++++ ldap-nss.h >+@@ -670,7 +670,7 @@ extern int __multi_threaded; >+ #define NSS_LDAP_LOCK(m) mutex_lock(&m) >+ #define NSS_LDAP_UNLOCK(m) mutex_unlock(&m) >+ #define NSS_LDAP_DEFINE_LOCK(m) static mutex_t m = DEFAULTMUTEX >+-#elif defined(HAVE_LIBC_LOCK_H) || defined(HAVE_BITS_LIBC_LOCK_H) >++#elif defined(HAVE___LIBC_LOCK_LOCK) && defined(HAVE___LIBC_LOCK_UNLOCK) >+ #define NSS_LDAP_LOCK(m) __libc_lock_lock(m) >+ #define NSS_LDAP_UNLOCK(m) __libc_lock_unlock(m) >+ #define NSS_LDAP_DEFINE_LOCK(m) static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER >+Index: configure.in >+=================================================================== >+--- configure.in.orig >++++ configure.in >+@@ -1,6 +1,7 @@ >+ AC_INIT(ldap-nss.c) >+ AC_CANONICAL_SYSTEM >+ AC_PREFIX_DEFAULT() >++AC_CONFIG_MACRO_DIR([m4]) >+ >+ AM_INIT_AUTOMAKE(nss_ldap, 265) >+ AM_CONFIG_HEADER(config.h) >+@@ -229,11 +230,18 @@ fi >+ AC_CHECK_FUNCS(snprintf) >+ AC_CHECK_FUNCS(gethostbyname) >+ AC_CHECK_FUNCS(nsdispatch) >++AC_CHECK_FUNCS(ether_aton) >++AC_CHECK_FUNCS(ether_ntoa) >++ >++AX_PTHREAD >++LIBS="$PTHREAD_LIBS $LIBS" >++CFLAGS="$CFLAGS $PTHREAD_CFLAGS" >++CC="$PTHREAD_CC" >++ >+ AC_CHECK_LIB(pthread_nonshared, main) >+ AC_CHECK_FUNCS(pthread_atfork) >+ AC_CHECK_FUNCS(pthread_once) >+-AC_CHECK_FUNCS(ether_aton) >+-AC_CHECK_FUNCS(ether_ntoa) >++AC_CHECK_FUNCS(__libc_once __libc_atfork __libc_lock_lock __libc_lock_unlock) >+ >+ AC_MSG_CHECKING(for struct ether_addr) >+ AC_TRY_COMPILE([#include <sys/types.h> >+Index: m4/ax_pthread.m4 >+=================================================================== >+--- /dev/null >++++ m4/ax_pthread.m4 >+@@ -0,0 +1,309 @@ >++# =========================================================================== >++# http://www.gnu.org/software/autoconf-archive/ax_pthread.html >++# =========================================================================== >++# >++# SYNOPSIS >++# >++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) >++# >++# DESCRIPTION >++# >++# This macro figures out how to build C programs using POSIX threads. It >++# sets the PTHREAD_LIBS output variable to the threads library and linker >++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler >++# flags that are needed. (The user can also force certain compiler >++# flags/libs to be tested by setting these environment variables.) >++# >++# Also sets PTHREAD_CC to any special C compiler that is needed for >++# multi-threaded programs (defaults to the value of CC otherwise). (This >++# is necessary on AIX to use the special cc_r compiler alias.) >++# >++# NOTE: You are assumed to not only compile your program with these flags, >++# but also link it with them as well. e.g. you should link with >++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS >++# >++# If you are only building threads programs, you may wish to use these >++# variables in your default LIBS, CFLAGS, and CC: >++# >++# LIBS="$PTHREAD_LIBS $LIBS" >++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" >++# CC="$PTHREAD_CC" >++# >++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant >++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name >++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). >++# >++# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the >++# PTHREAD_PRIO_INHERIT symbol is defined when compiling with >++# PTHREAD_CFLAGS. >++# >++# ACTION-IF-FOUND is a list of shell commands to run if a threads library >++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it >++# is not found. If ACTION-IF-FOUND is not specified, the default action >++# will define HAVE_PTHREAD. >++# >++# Please let the authors know if this macro fails on any platform, or if >++# you have any other suggestions or comments. This macro was based on work >++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help >++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by >++# Alejandro Forero Cuervo to the autoconf macro repository. We are also >++# grateful for the helpful feedback of numerous users. >++# >++# Updated for Autoconf 2.68 by Daniel Richard G. >++# >++# LICENSE >++# >++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> >++# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> >++# >++# This program is free software: you can redistribute it and/or modify it >++# under the terms of the GNU General Public License as published by the >++# Free Software Foundation, either version 3 of the License, or (at your >++# option) any later version. >++# >++# This program is distributed in the hope that it will be useful, but >++# WITHOUT ANY WARRANTY; without even the implied warranty of >++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General >++# Public License for more details. >++# >++# You should have received a copy of the GNU General Public License along >++# with this program. If not, see <http://www.gnu.org/licenses/>. >++# >++# As a special exception, the respective Autoconf Macro's copyright owner >++# gives unlimited permission to copy, distribute and modify the configure >++# scripts that are the output of Autoconf when processing the Macro. You >++# need not follow the terms of the GNU General Public License when using >++# or distributing such scripts, even though portions of the text of the >++# Macro appear in them. The GNU General Public License (GPL) does govern >++# all other use of the material that constitutes the Autoconf Macro. >++# >++# This special exception to the GPL applies to versions of the Autoconf >++# Macro released by the Autoconf Archive. When you make and distribute a >++# modified version of the Autoconf Macro, you may extend this special >++# exception to the GPL to apply to your modified version as well. >++ >++#serial 18 >++ >++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) >++AC_DEFUN([AX_PTHREAD], [ >++AC_REQUIRE([AC_CANONICAL_HOST]) >++AC_LANG_PUSH([C]) >++ax_pthread_ok=no >++ >++# We used to check for pthread.h first, but this fails if pthread.h >++# requires special compiler flags (e.g. on True64 or Sequent). >++# It gets checked for in the link test anyway. >++ >++# First of all, check if the user has set any of the PTHREAD_LIBS, >++# etcetera environment variables, and if threads linking works using >++# them: >++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then >++ save_CFLAGS="$CFLAGS" >++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" >++ save_LIBS="$LIBS" >++ LIBS="$PTHREAD_LIBS $LIBS" >++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) >++ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) >++ AC_MSG_RESULT($ax_pthread_ok) >++ if test x"$ax_pthread_ok" = xno; then >++ PTHREAD_LIBS="" >++ PTHREAD_CFLAGS="" >++ fi >++ LIBS="$save_LIBS" >++ CFLAGS="$save_CFLAGS" >++fi >++ >++# We must check for the threads library under a number of different >++# names; the ordering is very important because some systems >++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the >++# libraries is broken (non-POSIX). >++ >++# Create a list of thread flags to try. Items starting with a "-" are >++# C compiler flags, and other items are library names, except for "none" >++# which indicates that we try without any flags at all, and "pthread-config" >++# which is a program returning the flags for the Pth emulation library. >++ >++ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" >++ >++# The ordering *is* (sometimes) important. Some notes on the >++# individual items follow: >++ >++# pthreads: AIX (must check this before -lpthread) >++# none: in case threads are in libc; should be tried before -Kthread and >++# other compiler flags to prevent continual compiler warnings >++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) >++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) >++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) >++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) >++# -pthreads: Solaris/gcc >++# -mthreads: Mingw32/gcc, Lynx/gcc >++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it >++# doesn't hurt to check since this sometimes defines pthreads too; >++# also defines -D_REENTRANT) >++# ... -mt is also the pthreads flag for HP/aCC >++# pthread: Linux, etcetera >++# --thread-safe: KAI C++ >++# pthread-config: use pthread-config program (for GNU Pth library) >++ >++case ${host_os} in >++ solaris*) >++ >++ # On Solaris (at least, for some versions), libc contains stubbed >++ # (non-functional) versions of the pthreads routines, so link-based >++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/ >++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather >++ # a function called by this macro, so we could check for that, but >++ # who knows whether they'll stub that too in a future libc.) So, >++ # we'll just look for -pthreads and -lpthread first: >++ >++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" >++ ;; >++ >++ darwin*) >++ ax_pthread_flags="-pthread $ax_pthread_flags" >++ ;; >++esac >++ >++if test x"$ax_pthread_ok" = xno; then >++for flag in $ax_pthread_flags; do >++ >++ case $flag in >++ none) >++ AC_MSG_CHECKING([whether pthreads work without any flags]) >++ ;; >++ >++ -*) >++ AC_MSG_CHECKING([whether pthreads work with $flag]) >++ PTHREAD_CFLAGS="$flag" >++ ;; >++ >++ pthread-config) >++ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) >++ if test x"$ax_pthread_config" = xno; then continue; fi >++ PTHREAD_CFLAGS="`pthread-config --cflags`" >++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" >++ ;; >++ >++ *) >++ AC_MSG_CHECKING([for the pthreads library -l$flag]) >++ PTHREAD_LIBS="-l$flag" >++ ;; >++ esac >++ >++ save_LIBS="$LIBS" >++ save_CFLAGS="$CFLAGS" >++ LIBS="$PTHREAD_LIBS $LIBS" >++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" >++ >++ # Check for various functions. We must include pthread.h, >++ # since some functions may be macros. (On the Sequent, we >++ # need a special flag -Kthread to make this header compile.) >++ # We check for pthread_join because it is in -lpthread on IRIX >++ # while pthread_create is in libc. We check for pthread_attr_init >++ # due to DEC craziness with -lpthreads. We check for >++ # pthread_cleanup_push because it is one of the few pthread >++ # functions on Solaris that doesn't have a non-functional libc stub. >++ # We try pthread_create on general principles. >++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> >++ static void routine(void *a) { a = 0; } >++ static void *start_routine(void *a) { return a; }], >++ [pthread_t th; pthread_attr_t attr; >++ pthread_create(&th, 0, start_routine, 0); >++ pthread_join(th, 0); >++ pthread_attr_init(&attr); >++ pthread_cleanup_push(routine, 0); >++ pthread_cleanup_pop(0) /* ; */])], >++ [ax_pthread_ok=yes], >++ []) >++ >++ LIBS="$save_LIBS" >++ CFLAGS="$save_CFLAGS" >++ >++ AC_MSG_RESULT($ax_pthread_ok) >++ if test "x$ax_pthread_ok" = xyes; then >++ break; >++ fi >++ >++ PTHREAD_LIBS="" >++ PTHREAD_CFLAGS="" >++done >++fi >++ >++# Various other checks: >++if test "x$ax_pthread_ok" = xyes; then >++ save_LIBS="$LIBS" >++ LIBS="$PTHREAD_LIBS $LIBS" >++ save_CFLAGS="$CFLAGS" >++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" >++ >++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. >++ AC_MSG_CHECKING([for joinable pthread attribute]) >++ attr_name=unknown >++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do >++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], >++ [int attr = $attr; return attr /* ; */])], >++ [attr_name=$attr; break], >++ []) >++ done >++ AC_MSG_RESULT($attr_name) >++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then >++ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, >++ [Define to necessary symbol if this constant >++ uses a non-standard name on your system.]) >++ fi >++ >++ AC_MSG_CHECKING([if more special flags are required for pthreads]) >++ flag=no >++ case ${host_os} in >++ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; >++ osf* | hpux*) flag="-D_REENTRANT";; >++ solaris*) >++ if test "$GCC" = "yes"; then >++ flag="-D_REENTRANT" >++ else >++ flag="-mt -D_REENTRANT" >++ fi >++ ;; >++ esac >++ AC_MSG_RESULT(${flag}) >++ if test "x$flag" != xno; then >++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" >++ fi >++ >++ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], >++ ax_cv_PTHREAD_PRIO_INHERIT, [ >++ AC_LINK_IFELSE([ >++ AC_LANG_PROGRAM([[#include <pthread.h>]], [[int i = PTHREAD_PRIO_INHERIT;]])], >++ [ax_cv_PTHREAD_PRIO_INHERIT=yes], >++ [ax_cv_PTHREAD_PRIO_INHERIT=no]) >++ ]) >++ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], >++ AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) >++ >++ LIBS="$save_LIBS" >++ CFLAGS="$save_CFLAGS" >++ >++ # More AIX lossage: must compile with xlc_r or cc_r >++ if test x"$GCC" != xyes; then >++ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) >++ else >++ PTHREAD_CC=$CC >++ fi >++else >++ PTHREAD_CC="$CC" >++fi >++ >++AC_SUBST(PTHREAD_LIBS) >++AC_SUBST(PTHREAD_CFLAGS) >++AC_SUBST(PTHREAD_CC) >++ >++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: >++if test x"$ax_pthread_ok" = xyes; then >++ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) >++ : >++else >++ ax_pthread_ok=no >++ $2 >++fi >++AC_LANG_POP >++])dnl AX_PTHREAD >+Index: Makefile.am >+=================================================================== >+--- Makefile.am.orig >++++ Makefile.am >+@@ -1,3 +1,5 @@ >++ACLOCAL_AMFLAGS = -I m4 >++ >+ if AIX >+ authmod = NSS_LDAP >+ else >diff -Naurp /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/nss_ldap-265-r1.ebuild sys-auth/nss_ldap/nss_ldap-265-r1.ebuild >--- /home/benda/gentoo/usr/portage/sys-auth/nss_ldap/nss_ldap-265-r1.ebuild 2012-09-30 17:33:53.000000000 +0000 >+++ sys-auth/nss_ldap/nss_ldap-265-r1.ebuild 2013-06-18 04:47:56.047715000 +0000 >@@ -2,8 +2,8 @@ > # Distributed under the terms of the GNU General Public License v2 > # $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/nss_ldap-265-r1.ebuild,v 1.8 2012/09/30 17:13:47 armin76 Exp $ > >-EAPI=2 >-inherit fixheadtails eutils multilib autotools >+EAPI=5 >+inherit fixheadtails eutils multilib autotools prefix > > IUSE="debug ssl sasl kerberos" > >@@ -13,7 +13,7 @@ SRC_URI="http://www.padl.com/download/${ > > SLOT="0" > LICENSE="LGPL-2" >-KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86" >+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux" > > DEPEND=">=net-nds/openldap-2.1.30-r5 > sasl? ( dev-libs/cyrus-sasl ) >@@ -23,6 +23,14 @@ RDEPEND="${DEPEND} > !<net-fs/autofs-4.1.3" > > src_prepare() { >+ if use prefix; then >+ epatch "${FILESDIR}"/${P}-installdir.patch >+ eprefixify Makefile.am >+ fi >+ >+ # bug 438692 >+ epatch "${FILESDIR}"/${P}-pthread.patch >+ > epatch "${FILESDIR}"/nsswitch.ldap.diff > > # Applied by upstream >@@ -39,7 +47,7 @@ src_prepare() { > > sed -i.orig \ > -e '/^ @(#)\$Id: ldap.conf,v/s,^,#,' \ >- "${S}"/ldap.conf || die "failed to clean up initial version marker" >+ "${S}"/ldap.conf > > # fix head/tail stuff > ht_fix_file "${S}"/Makefile.am "${S}"/Makefile.in "${S}"/depcomp >@@ -78,34 +86,33 @@ src_configure() { > # --enable-schema-mapping \ > econf \ > --with-ldap-lib=openldap \ >- --libdir=/$(get_libdir) \ >+ --libdir="${EPREFIX}/$(get_libdir)" \ >+ --with-ldap-conf-file="${EPREFIX}/etc/ldap.conf" \ > --enable-paged-results \ > --enable-rfc2307bis \ > $(use_enable ssl) \ > $(use_enable sasl) \ > $(use_enable kerberos krb) \ >- ${myconf} || die "configure failed" >+ ${myconf} > } > > src_install() { > dodir /$(get_libdir) > >- emake -j1 DESTDIR="${D}" install || die "make install failed" >+ emake -j1 DESTDIR="${D}" install INST_UID=${PORTAGE_USER} INST_GID=${PORTAGE_GROUP} > > insinto /etc > doins ldap.conf > > # Append two blank lines and some skip entries >- echo >>"${D}"/etc/ldap.conf >- echo >>"${D}"/etc/ldap.conf >- sed -i "${D}"/etc/ldap.conf \ >- -e '$inss_initgroups_ignoreusers ldap,openldap,mysql,syslog,root,postgres' \ >- || die "failed to sed /etc/ldap.conf" >+ echo >>"${ED}"/etc/ldap.conf >+ echo >>"${ED}"/etc/ldap.conf >+ sed -i "${ED}"/etc/ldap.conf \ >+ -e '$inss_initgroups_ignoreusers ldap,openldap,mysql,syslog,root,postgres' > > dodoc ldap.conf ANNOUNCE NEWS ChangeLog AUTHORS \ > COPYING CVSVersionInfo.txt README nsswitch.ldap certutil > docinto docs; dodoc doc/* >- > } > > pkg_postinst() {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 438692
:
326768
|
351284
| 351286