public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-auth/nss_ldap/files/, sys-auth/nss_ldap/
@ 2021-04-11 21:11 David Seifert
  0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2021-04-11 21:11 UTC (permalink / raw
  To: gentoo-commits

commit:     fd52dbeb4c26bcb6b5331def1eb65c1339f2036a
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 11 21:11:06 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Apr 11 21:11:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd52dbeb

sys-auth/nss_ldap: Fix libdir symlinks

Bug: https://bugs.gentoo.org/581306
Bug: https://bugs.gentoo.org/780108
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sys-auth/nss_ldap/files/nss_ldap-265-libdir.patch  | 31 ++++++++++++++++++++++
 ...s_ldap-265-r8.ebuild => nss_ldap-265-r9.ebuild} | 10 +++----
 2 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/sys-auth/nss_ldap/files/nss_ldap-265-libdir.patch b/sys-auth/nss_ldap/files/nss_ldap-265-libdir.patch
new file mode 100644
index 00000000000..d3609b604a2
--- /dev/null
+++ b/sys-auth/nss_ldap/files/nss_ldap-265-libdir.patch
@@ -0,0 +1,31 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -38,17 +38,13 @@
+ 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,6 @@
+ 	$(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) .)
+ else
+ 	$(mkinstalldirs) $(DESTDIR)$(libdir)
+ if HPUX

diff --git a/sys-auth/nss_ldap/nss_ldap-265-r8.ebuild b/sys-auth/nss_ldap/nss_ldap-265-r9.ebuild
similarity index 94%
rename from sys-auth/nss_ldap/nss_ldap-265-r8.ebuild
rename to sys-auth/nss_ldap/nss_ldap-265-r9.ebuild
index e6ed3ba6fc3..749cdb870cf 100644
--- a/sys-auth/nss_ldap/nss_ldap-265-r8.ebuild
+++ b/sys-auth/nss_ldap/nss_ldap-265-r9.ebuild
@@ -12,7 +12,7 @@ SRC_URI="http://www.padl.com/download/${P}.tar.gz"
 SLOT="0"
 LICENSE="LGPL-2"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
-IUSE="debug kerberos ssl sasl"
+IUSE="debug kerberos ssl sasl split-usr"
 
 DEPEND="
 	>=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}]
@@ -32,7 +32,7 @@ src_prepare() {
 	# eprefixify is safe on non-Prefix systems, so go unconditional
 	# Note: comment this out or make it conditional on 'use prefix'
 	# if needs rebasing. Don't remove.
-	eapply "${FILESDIR}"/${P}-installdir.patch
+	eapply "${FILESDIR}"/${P}-libdir.patch
 	eprefixify Makefile.am
 
 	# bug 438692
@@ -121,8 +121,8 @@ multilib_src_install() {
 }
 
 multilib_src_install_all() {
-	# Dumb /usr/lib* -> /lib* symlinks gone wrong
-	rm -rf "${ED}"/usr/usr || die
+	use split-usr &&
+		dosym ../../$(get_libdir)/libnss_ldap.so.2 /usr/$(get_libdir)/libnss_ldap.so.2
 
 	insinto /etc
 	doins ldap.conf
@@ -138,7 +138,7 @@ multilib_src_install_all() {
 		CVSVersionInfo.txt README nsswitch.ldap certutil
 
 	docinto docs
-	dodoc doc/*
+	dodoc -r doc/.
 }
 
 pkg_postinst() {


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-auth/nss_ldap/files/, sys-auth/nss_ldap/
@ 2021-08-26 18:21 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2021-08-26 18:21 UTC (permalink / raw
  To: gentoo-commits

commit:     185c7bc43d6c85bfa46f3420493fbe3502071ad3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 26 18:18:43 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 26 18:21:02 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=185c7bc4

sys-auth/nss_ldap: fix finding glibc version on no-multilib

Bit of a hack but the rest of it is rather fragile anyway.

The issue was that ${EPREFIX}/lib doesn't exist on
non-multilib systems.

Bug: https://bugs.gentoo.org/810058
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../nss_ldap/files/nss_ldap-265-r10-libdir.patch   |  31 +++++
 sys-auth/nss_ldap/nss_ldap-265-r10.ebuild          | 148 +++++++++++++++++++++
 2 files changed, 179 insertions(+)

diff --git a/sys-auth/nss_ldap/files/nss_ldap-265-r10-libdir.patch b/sys-auth/nss_ldap/files/nss_ldap-265-r10-libdir.patch
new file mode 100644
index 00000000000..6fdf4cc6c08
--- /dev/null
+++ b/sys-auth/nss_ldap/files/nss_ldap-265-r10-libdir.patch
@@ -0,0 +1,31 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -38,17 +38,13 @@
+ 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@/$(LIBDIR_UNPREFIXED)/$(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@/$(LIBDIR_UNPREFIXED)/$(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,6 @@
+ 	$(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) .)
+ else
+ 	$(mkinstalldirs) $(DESTDIR)$(libdir)
+ if HPUX

diff --git a/sys-auth/nss_ldap/nss_ldap-265-r10.ebuild b/sys-auth/nss_ldap/nss_ldap-265-r10.ebuild
new file mode 100644
index 00000000000..c066b1fceb5
--- /dev/null
+++ b/sys-auth/nss_ldap/nss_ldap-265-r10.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools fixheadtails multilib-minimal prefix
+
+DESCRIPTION="NSS LDAP Module"
+HOMEPAGE="http://www.padl.com/OSS/nss_ldap.html"
+SRC_URI="http://www.padl.com/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="debug kerberos ssl sasl split-usr"
+
+DEPEND="
+	>=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}]
+	sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r3[${MULTILIB_USEDEP}] )
+	kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+	ssl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	${DEPEND}
+	!<net-fs/autofs-4.1.3
+"
+
+src_prepare() {
+	default
+
+	# Patch is for Prefix
+	# eprefixify is safe on non-Prefix systems, so go unconditional
+	# Note: comment this out or make it conditional on 'use prefix'
+	# if needs rebasing. Don't remove.
+	eapply "${FILESDIR}"/${P}-r9-libdir.patch
+	eprefixify Makefile.am
+
+	# bug 438692
+	eapply -p0 "${FILESDIR}"/${P}-pthread.patch
+
+	eapply -p0 "${FILESDIR}"/nsswitch.ldap.diff
+
+	# Applied by upstream
+	#eapply "${FILESDIR}"/${PN}-239-tls-security-bug.patch
+
+	eapply -p0 "${FILESDIR}"/${PN}-249-sasl-compile.patch
+
+	eapply "${FILESDIR}"/${PN}-265-reconnect-timeouts.patch
+
+	# Applied by upstream
+	#eapply "${FILESDIR}"/${PN}-254-nss_getgrent_skipmembers.patch
+
+	eapply "${FILESDIR}"/${PN}-257-nss_max_group_depth.patch
+
+	sed -i.orig \
+		-e '/^ @(#)\$Id: ldap.conf,v/s,^,#,' \
+		"${S}"/ldap.conf \
+		|| die
+
+	# Fix head/tail stuff
+	ht_fix_file "${S}"/Makefile.am "${S}"/Makefile.in "${S}"/depcomp
+
+	# Fix build borkage
+	local i
+	for i in Makefile.{in,am}; do
+		sed -i.orig \
+			-e '/^install-exec-local: nss_ldap.so/s,nss_ldap.so,,g' \
+			"${S}"/$i || die
+	done
+
+	eapply "${FILESDIR}"/${PN}-257.2-gssapi-headers.patch
+
+	# Bug #214750, no automagic deps
+	eapply "${FILESDIR}"/${PN}-264-disable-automagic.patch
+
+	# Upstream forgets the version number sometimes
+	#sed -i \
+	#	-e "/^AM_INIT_AUTOMAKE/s~2..~$PV~" \
+	#	"${S}"/configure.in || die
+
+	# Include an SONAME
+	eapply "${FILESDIR}"/${PN}-254-soname.patch
+
+	# Fix broken oneshot connections
+	eapply "${FILESDIR}/nss_ldap-265-missing-entries-oneshot.patch"
+
+	sed -i \
+		-e 's, vers_string , PERL5LIB="@top_srcdir@" @top_srcdir@/vers_string ,g' \
+		"${S}"/Makefile.am || die
+
+	eautoreconf
+}
+
+multilib_src_configure() {
+	local myconf=(
+		# --enable-schema-mapping
+		--with-ldap-lib=openldap
+		--with-ldap-conf-file="${EPREFIX}/etc/ldap.conf"
+		--enable-paged-results
+		--enable-rfc2307bis
+		$(use_enable ssl)
+		$(use_enable sasl)
+		$(use_enable kerberos krb)
+	)
+
+	use debug && myconf+=( --enable-debugging )
+	use kerberos && myconf+=( --enable-configurable-krb5-ccname-gssapi )
+
+	# Neede to be careful with changing this
+	# bug #581306
+	multilib_is_native_abi && myconf+=( --libdir="${EPREFIX}/$(get_libdir)" )
+
+	ECONF_SOURCE=${S} econf "${myconf[@]}"
+}
+
+multilib_src_install() {
+	emake -j1 DESTDIR="${D}" \
+		LIBDIR_UNPREFIXED="$(get_libdir)" \
+		INST_UID=${PORTAGE_USER:-root} \
+		INST_GID=${PORTAGE_GROUP:-root} \
+		install
+}
+
+multilib_src_install_all() {
+	use split-usr &&
+		dosym ../../$(get_libdir)/libnss_ldap.so.2 /usr/$(get_libdir)/libnss_ldap.so.2
+
+	insinto /etc
+	doins ldap.conf
+
+	# Append two blank lines and some skip entries
+	echo >>"${ED}"/etc/ldap.conf || die
+	echo >>"${ED}"/etc/ldap.conf || die
+	sed -i "${ED}"/etc/ldap.conf \
+		-e '$inss_initgroups_ignoreusers ldap,openldap,mysql,syslog,root,postgres' \
+		|| die
+
+	dodoc ldap.conf ANNOUNCE NEWS ChangeLog AUTHORS \
+		CVSVersionInfo.txt README nsswitch.ldap certutil
+
+	docinto docs
+	dodoc -r doc/.
+}
+
+pkg_postinst() {
+	elog "If you use a ldaps:// string in the 'uri' setting of"
+	elog "your /etc/ldap.conf, you must set 'ssl on'!"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-26 18:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-11 21:11 [gentoo-commits] repo/gentoo:master commit in: sys-auth/nss_ldap/files/, sys-auth/nss_ldap/ David Seifert
  -- strict thread matches above, loose matches on Subject: below --
2021-08-26 18:21 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox