From 345fe80cc33533a09058bb4b6d8505fbf80e9288 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Mar 20 2009 09:02:00 +0000 Subject: - change dependencies on samba and openldap-clients to samba-common and openldap-servers respectively - invalidate nscd caches rather than restart nscd (#476504) - add descriptions and bugzilla references to patch references in spec --- diff --git a/smbldap-tools-0.9.5-nscd.patch b/smbldap-tools-0.9.5-nscd.patch new file mode 100644 index 0000000..f6f11d9 --- /dev/null +++ b/smbldap-tools-0.9.5-nscd.patch @@ -0,0 +1,196 @@ +--- smbldap-groupadd 2009-03-04 16:46:42.000000000 +0000 ++++ smbldap-groupadd 2009-03-06 10:38:36.000000000 +0000 +@@ -47,10 +47,11 @@ + exit (1); + } + +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd stop > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + +@@ -146,7 +147,8 @@ + $ldap_master->unbind; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd start > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + if ($Options{'p'}) { +--- smbldap-groupdel 2009-03-03 21:29:44.000000000 +0000 ++++ smbldap-groupdel 2009-03-03 21:32:09.000000000 +0000 +@@ -54,10 +54,11 @@ + + group_del($dn); + +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + #if (defined($dn_line = get_group_dn($_groupName))) { +--- smbldap-groupmod 2009-03-06 10:39:43.000000000 +0000 ++++ smbldap-groupmod 2009-03-06 10:41:27.000000000 +0000 +@@ -63,10 +63,11 @@ + + my $newname = $Options{'n'}; + +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + my $gid=$group_entry->get_value('gidNumber'); +@@ -220,10 +221,11 @@ + $modify->code && warn "failed to delete entry: ", $modify->error ; + } + +-$nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++$nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + # take down session +--- smbldap_tools.pm 2009-03-06 10:44:24.000000000 +0000 ++++ smbldap_tools.pm 2009-03-06 10:43:17.000000000 +0000 +@@ -742,9 +742,10 @@ + # $gid = group_add($groupname, $group_gid, $force_using_existing_gid) + sub group_add { + my ( $gname, $gid, $force ) = @_; +- my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++ my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd stop > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + if ( !defined($gid) ) { + +@@ -762,7 +763,8 @@ + } + } + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd start > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + my $modify = $ldap->add( + "cn=$gname,$config{groupsdn}", +--- smbldap-useradd 2009-03-03 21:28:00.000000000 +0000 ++++ smbldap-useradd 2009-03-06 10:50:08.000000000 +0000 +@@ -83,10 +83,11 @@ + + # cause problems when dealing with getpwuid because of the + # negative ttl and ldap modification +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd stop > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + # Read only first @ARGV +@@ -176,7 +177,8 @@ + } + + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd start > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + my $createGroup = 0; +--- smbldap-userdel 2008-04-22 09:13:29.000000000 +0100 ++++ smbldap-userdel 2009-03-06 10:51:31.000000000 +0000 +@@ -93,10 +93,11 @@ + system('rm', @rmargs, $homedir); + } + +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ($nscd_status == 0) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + $ldap_master->unbind; # take down session +--- smbldap-usermod 2009-03-03 21:32:34.000000000 +0000 ++++ smbldap-usermod 2009-03-06 10:39:26.000000000 +0000 +@@ -237,22 +237,15 @@ + + if ( defined( $tmp = $Options{'u'} ) ) { + if ( !defined( $Options{'o'} ) ) { +- $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++ $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd stop > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } +- + if ( getpwuid($tmp) ) { +- if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd start > /dev/null 2>&1"; +- } +- + print "$0: uid number $tmp exists\n"; + exit(6); + } +- if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd start > /dev/null 2>&1"; +- } + } + + push( @mods, 'uidNumber', $tmp ); +@@ -878,10 +871,11 @@ + $ldap_master->unbind; + } + +-$nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++$nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + + if ( $nscd_status == 0 ) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + if ( defined( $Options{'P'} ) ) { +--- smbldap-usershow 2008-04-22 09:13:29.000000000 +0100 ++++ smbldap-usershow 2009-03-06 10:53:36.000000000 +0000 +@@ -44,9 +44,10 @@ + # Read only first @ARGV + my $user = $ARGV[0]; + +-my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1"; ++my $nscd_status = system "/etc/rc.d/init.d/nscd status >/dev/null 2>&1"; + if ($nscd_status == 0) { +- system "/etc/init.d/nscd restart > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i passwd > /dev/null 2>&1"; ++ system "/usr/sbin/nscd -i group > /dev/null 2>&1"; + } + + my $ldap_slave=connect_ldap_slave(); diff --git a/smbldap-tools.spec b/smbldap-tools.spec index 2153570..1c77267 100644 --- a/smbldap-tools.spec +++ b/smbldap-tools.spec @@ -1,20 +1,37 @@ Summary: User and group administration tools for Samba/OpenLDAP Name: smbldap-tools Version: 0.9.5 -Release: 2%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: System Environment/Base URL: https://gna.org/projects/smbldap-tools/ Source0: http://download.gna.org/smbldap-tools/packages/smbldap-tools-%{version}.tgz -Patch0: smbldap-tools-0.9.5-config.patch -Patch1: smbldap-tools-0.9.5-utf-8.patch -Patch2: smbldap-tools-0.9.5-chown.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: openldap-clients, samba, perl(IO::Socket::SSL) +# Need samba-common for /usr/bin/smbpasswd +Requires: samba-common +# Need openldap-servers for /usr/sbin/slappasswd +Requires: openldap-servers +# Need perl(IO::Socket::SSL) for LDAP over SSL (#122066, #207430) +Requires: perl(IO::Socket::SSL) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: openssl +# Fedora integration +Patch0: smbldap-tools-0.9.5-config.patch + +# Assume UTF-8 locale rather than ISO-8859-1 +# http://bugzilla.redhat.com/441833 https://gna.org/bugs/?11717 +Patch1: smbldap-tools-0.9.5-utf-8.patch + +# Avoid race problems with chown on LDAP slaves +# http://bugzilla.redhat.com/447758 https://gna.org/bugs/?11721 +Patch2: smbldap-tools-0.9.5-chown.patch + +# Don't stop/start nscd, invalidate caches instead +# http://bugzilla.redhat.com/476504 https://gna.org/bugs/?13098 +Patch3: smbldap-tools-0.9.5-nscd.patch + %description In conjunction with OpenLDAP and Samba-LDAP servers, this collection is useful to add, modify and delete users and groups, and to change Unix and Samba @@ -29,6 +46,7 @@ groups and passwords. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p0 # Don't want these in %{_sbindir}... %{__mv} smbldap-tools.spec original-smbldap-tools.spec @@ -90,6 +108,15 @@ done %{_mandir}/man8/* %changelog +* Fri Mar 6 2009 Paul Howarth 0.9.5-4 +- change dependencies on samba and openldap-clients to samba-common and + openldap-servers respectively +- invalidate nscd caches rather than restart nscd (#476504) +- add descriptions and bugzilla references to patch references in spec + +* Wed Feb 25 2009 Fedora Release Engineering 0.9.5-3 +- rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Thu May 22 2008 Paul Howarth 0.9.5-2 - assume the user's locale uses UTF-8 rather than ISO-8859-1 (#441833) - set ownership of home directory created by smbldap-useradd -m using UID