From 1dbfecba291c31df5fe32a41204381389f6bd4e2 Mon Sep 17 00:00:00 2001 From: Eric Thibodeau Date: Fri, 22 Aug 2008 00:20:42 -0400 Subject: Diradm did not honor the HOMEDIRECTORY variable and ignored the USER_AUTOMOUNTHOME=no - git version of diradm is corrected but not in the portage tree so I created a patch for local usage NOTE: Another bug remains. The UID auto-incrementor doesn't seem to work (BUG) --- overlay/app-admin/diradm/ChangeLog | 3 + overlay/app-admin/diradm/Manifest | 5 +- overlay/app-admin/diradm/diradm-2.9.3-r2.ebuild | 76 ++++++++++++++++++++++ .../diradm/files/diradm-2.9.3-homedirs.patch | 20 ++++++ 4 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 overlay/app-admin/diradm/diradm-2.9.3-r2.ebuild create mode 100644 overlay/app-admin/diradm/files/diradm-2.9.3-homedirs.patch (limited to 'overlay') diff --git a/overlay/app-admin/diradm/ChangeLog b/overlay/app-admin/diradm/ChangeLog index 314977d..11f22be 100644 --- a/overlay/app-admin/diradm/ChangeLog +++ b/overlay/app-admin/diradm/ChangeLog @@ -2,6 +2,9 @@ # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/app-admin/diradm/ChangeLog,v 1.32 2008/02/20 23:03:36 robbat2 Exp $ + 21 Aug 2008; Eric Thibodeau diradm-2.9.3-r2.ebuild: + Support non-automounted homedirs patch + 30 Jun 2008; Eric Thibodeau diradm-2.9.3-r1.ebuild: Add diradm-2.9.3-emptyUID.patch to fix empty UID bug. diff --git a/overlay/app-admin/diradm/Manifest b/overlay/app-admin/diradm/Manifest index 024d868..cbacafc 100644 --- a/overlay/app-admin/diradm/Manifest +++ b/overlay/app-admin/diradm/Manifest @@ -1,4 +1,5 @@ AUX diradm-2.9.3-emptyUID.patch 402 RMD160 67d06408d2dea38a8fe27cab30ce1338ebf8c66f SHA1 45103f49c5bbbed4703bd3548181c10c6b138a12 SHA256 3f08354844e55a0fe0d7d05806244be4efd9158afd709c0038af8ac8ed0395aa +AUX diradm-2.9.3-homedirs.patch 908 RMD160 c7bc19d7c2e3bb42f302b2867a21382c8cd25a9b SHA1 aab1778ce9a07a2f7218256a4f6e8f8407647823 SHA256 1bafd66cfa31a87757f3a2e58d7fff01ffc48f8b03e042ddc9a79756d97bf852 DIST diradm-2.9.3.tar.bz2 105362 RMD160 b4c24bbcecfd8f092f510663eb512b600f1c4ce2 SHA1 8451ff3023bd18c7b29200bc495db8a22f1f8935 SHA256 4bd8261c11916caab989b596c78f648510225de4d52af3c9a425ef92bf6a096d -EBUILD diradm-2.9.3-r1.ebuild 2133 RMD160 545f71372e8c529e44d635822045202dbebcdf7d SHA1 e0b4ab6e49f639dfc00eb4a31a87fda13b55567a SHA256 51fbd7ab8eb2d116903c0ad65a85dbf6ced1edf20817237e7383ef4bedc860b4 -MISC ChangeLog 4760 RMD160 378e53d71a636caad2aced83a0b883bef8a9be2f SHA1 749ef3669fa410e7d8a918eb3aaee4a5a680e544 SHA256 8ec5a9d29de2fa9b08f4564b25844d5553944c03f5591abf1e8f0a741dbc148e +EBUILD diradm-2.9.3-r2.ebuild 2184 RMD160 b84853867b10e6c916163f433da359077dc4261b SHA1 65cf503c9c161fe02434d7f4725cd8f49add9ed7 SHA256 528ff1f78b478007ade4d5dae2810a9d009d90e6940c21c8141a719d64024c76 +MISC ChangeLog 4877 RMD160 1b3f33f042c06bd401d06a686e6b7b2d46b5158f SHA1 8d00b957f5f6e296624ce3385c950c4e9faf2086 SHA256 1666c5e92e595a7c6e81b59d7467cab2b19ffa7bbcc79dcbb574cb5f3123a41c diff --git a/overlay/app-admin/diradm/diradm-2.9.3-r2.ebuild b/overlay/app-admin/diradm/diradm-2.9.3-r2.ebuild new file mode 100644 index 0000000..e64eb59 --- /dev/null +++ b/overlay/app-admin/diradm/diradm-2.9.3-r2.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/diradm/diradm-2.9.3.ebuild,v 1.6 2008/02/20 23:03:36 robbat2 Exp $ + +inherit eutils + +DESCRIPTION="diradm is a nearly complete nss/shadow suite for managing POSIX users/groups/data in LDAP." +#HOMEPAGE="http://research.iat.sfu.ca/custom-software/diradm/" +#SRC_URI="${HOMEPAGE}/${P}.tar.bz2" +HOMEPAGE="http://orbis-terrarum.net/~robbat2/" +SRC_URI="http://orbis-terrarum.net/~robbat2/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86" +IUSE="samba irixpasswd automount test" +DEPEND="net-nds/openldap + sys-apps/gawk + sys-apps/coreutils + sys-apps/grep + dev-lang/perl + app-shells/bash + sys-apps/sed + virtual/perl-MIME-Base64 + samba? ( + dev-perl/Crypt-SmbHash + >=net-fs/samba-3.0.6 + ) + test? ( dev-perl/Crypt-SmbHash >=net-fs/samba-3.0.6 dev-util/dejagnu )" + +src_unpack() { + unpack ${A} + cd "${S}/src" + epatch "${FILESDIR}"/diradm-2.9.3-emptyUID.patch + epatch "${FILESDIR}"/diradm-2.9.3-homedirs.patch +} + +pkg_setup() { + if use test; then + if built_with_use net-nds/openldap minimal ; then + die "You MUST have a non-minimal build of OpenLDAP to use the testcases!" + fi + elog "Warning, for test usage, diradm is built with all optional features!" + fi +} + +src_compile() { + local myconf + if use test; then + myconf="--enable-samba --enable-automount --enable-irixpasswd" + else + myconf="`use_enable samba` `use_enable automount` `use_enable irixpasswd`" + fi + econf ${myconf} || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake install DESTDIR="${D}" || die "emake install failed" + dodoc CHANGES* README AUTHORS ChangeLog NEWS README.prefork THANKS TODO KNOWN-BUGS + if use irixpasswd; then + insinto /etc/openldap/schema + doins irixpassword.schema + fi +} + +pkg_postinst() { + elog "The new diradm pulls many settings from your LDAP configuration." + elog "But don't forget to customize /etc/diradm.conf for other settings." + elog "Please see the README to instructions if you problems." +} + +src_test() { + use test || die "You must build diradm with USE=test to run the testcases!" + emake -j1 check +} diff --git a/overlay/app-admin/diradm/files/diradm-2.9.3-homedirs.patch b/overlay/app-admin/diradm/files/diradm-2.9.3-homedirs.patch new file mode 100644 index 0000000..f8e39bf --- /dev/null +++ b/overlay/app-admin/diradm/files/diradm-2.9.3-homedirs.patch @@ -0,0 +1,20 @@ +--- src/diradm.user.sh.in 2008-08-21 14:15:55.600127921 -0400 ++++ src.new/diradm.user.sh.in 2008-08-21 14:18:44.096787891 -0400 +@@ -312,12 +312,14 @@ + if [ "${CREATEHOMEDIR}" == "yes" ]; then + # Create Homedir + # make sure the functions are defined +- source ${libexecdir}/diradm.automount.sh +- targetdir="$(amhash "${AUTOMOUNT_USERDIRBASE}" "${LOGIN}")" +- if [ "${USER_AUTOMOUNTHOME}" == "yes" ]; then ++ if [ "${ENABLE_AUTOMOUNT}" == "yes" -a "${USER_AUTOMOUNTHOME}" == "yes" ]; then + # add automount entry first + # create hashed dir path ++ source ${libexecdir}/diradm.automount.sh ++ targetdir="$(amhash "${AUTOMOUNT_USERDIRBASE}" "${LOGIN}")" + amadd -d "${AUTOMOUNT_USERDESC}" -o "${AUTOMOUNT_OPTIONS_USERS}" -- "${AUTOMOUNT_USERMAP}" "${LOGIN}" "${targetdir}" ++ else ++ targetdir="${HOMEDIRECTORY}" + fi + # strip NFS host to make local path + targetdir_no_nfs="${targetdir/*:}" -- cgit v1.2.3-65-gdbad