[OpenAFS] samba 3.3.0 fake-kaserver no more working
Axel Reinhold
afs@freakout.de
Mon, 2 Feb 2009 16:05:19 +0100
--ELM1233493290-7118-0_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="ISO-8859-1"
According to G=E9mes G=E9za:
>
> First of all I'm surprised 3.2.7's fake-kaserver was working. For 3.2.5
> (with openafs 1.4.7) I had to create a patch (attached).
> Could that help you at least at finding out what did change.
>=20
Dear Gemes,
I also patch'd 3.2.7 with similar patches all integrated into a
rpm-spec-file. I attach the 3.2.7 (last stable 3.2 samba) and
3.3.0 (first stable 3.3 samba) spec files. I always install into
/opt. So afs ends in /opt/afs and samba in /opt/samba. 3.2.7 is
working fine and 3.3.0 cores as described. The diff between the
two are:
4c4
< Version: 3.3.0
---
> Version: 3.2.7
29c29
< $Id: samba.spec,v 1.73 2009/02/01 12:54:24 axel Exp $
---
> $Id: samba.spec,v 1.72 2009/01/30 11:57:28 axel Exp $
151,153c151,153
< --- source/configure.in.orig 2009-01-28 12:07:51.000000000 +0100
< +++ source/configure.in 2009-01-28 12:10:56.000000000 +0100
< @@ -100,6 +100,7 @@
---
> --- source/configure.in.orig Sat Jun 16 12:29:54 2007
> +++ source/configure.in Sat Jun 16 13:30:55 2007
> @@ -294,6 +294,7 @@
158d157
< AC_SUBST(GPEXT_LIBS)
161c160,161
< @@ -2979,6 +2980,7 @@
---
> AC_SUBST(UNINSTALL_PAM_MODULES)
> @@ -3078,6 +3079,7 @@
169c169
< @@ -2989,6 +2991,7 @@
---
> @@ -3086,6 +3088,7 @@
177,178c177,178
< @@ -6283,6 +6286,7 @@
< AC_MSG_RESULT([ DNSSD_LIBS =3D $DNSSD_LIBS])
---
> @@ -6199,6 +6202,7 @@
> AC_MSG_RESULT([ UUID_LIBS =3D $UUID_LIBS])
205,217d204
< --- source/lib/afs.c.orig 2009-01-28 09:39:02.000000000 +0100
< +++ source/lib/afs.c 2009-01-28 09:40:37.000000000 +0100
< @@ -230,8 +230,8 @@
< }
< =20
< afs_username =3D talloc_sub_advanced(ctx,
< - SNUM(conn), conn->user,
< - conn->connectpath, conn->gid,
< + SNUM(conn), conn->server_info->utok.uid,
< + conn->connectpath, conn->server_info->utok.gid,
< conn->server_info->sanitized_username,
< pdb_get_domain(conn->server_info->sam_account),
< afs_username);
Regards
Axel
--=20
|------------------------+--------------------------------------|
| Axel Reinhold | Fax: +49-9287-8244 |
| Franz-Heinrich-Str. 20 | eMail: axel@freakout.de |
| 95100 Selb +-----+ http://www.freakout.de |
| Germany | Please do not send more than 100 kilobytes |
|------------------+--------------------------------------------|
| Fingerprint: 8D EF 9F 22 DF 9A 9B 68 E5 8C 12 C7 8D 6A 97 4E |
|---------------------------------------------------------------|
| Legal Warning: Do NOT send unsolicited commercial email to me |
| I will _NOT_ open Office/.EXE files =3D> please send plain text |
--ELM1233493290-7118-0_
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
Content-Disposition: attachment; filename="samba-3.2.7.spec"
Content-Description:
Summary: the Samba SMB server
Name: samba
Group: System Environment/Daemons
Version: 3.2.7
Release: 1
URL: http://www.samba.org/
L
#define samba1 3.2.0
%define samba1 %{version}
#define samba2 a
%define samba2 %{?_not_exist}
%define sambagcc gcc41
Provides: samba
Requires: ssl afs
Source0: ftp://us2.samba.org/pub/samba/%{name}-%{samba1}.tar.gz
%description
Samba is the protocol by which a lot of PC-related machines share
files, printers, and other information (such as lists of available
files and printers). The Windows NT, OS/2, and Linux operating systems
support this natively, and add-on packages can enable the same thing
for DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This package
provides an SMB server that can be used to provide network services to
SMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS over
TCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft Raw
NetBIOS frame) protocol.
$Id: samba.spec,v 1.72 2009/01/30 11:57:28 axel Exp $
%prep
test "$RPMX" = "3" || false need rh7
test -d /usr/include/afs ||
false need ln -s /opt/afs/include /usr/include/afs
test -d /usr/include/openssl ||
false need ln -s /opt/ssl/include/openssl /usr/include/openssl
%setup -q -n %{name}-%{samba1}
for P in `/home/axel/p/rpm/count.sh %{samba2}`; do
patch -p1 <%{_sourcedir}/patch-%{samba1}`/home/axel/p/rpm/count.sh -d $P`-%{samba1}${P}.diffs
done
cp -p source/script/installswat.sh source/script/installswat.sh.orig
sed 's/BOOKDIR="\$DESTDIR\/\$SWATDIR/BOOKDIR="$DESTDIR\/$SWATDIR\/help/' \
<source/script/installswat.sh.orig >source/script/installswat.sh
patch -b -p1 <<'EOF'
--- samba-3.2.5.orig/source/lib/afs.c 2008-12-21 20:55:53.000000000 +0100
+++ samba-3.2.5/source/lib/afs.c 2008-12-23 07:27:15.000000000 +0100
@@ -23,6 +23,7 @@
#define NO_ASN1_TYPEDEFS 1
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
diff -urN samba-3.2.5.orig/source/lib/afs_settoken.c samba-3.2.5/source/lib/afs_settoken.c
--- samba-3.2.5.orig/source/lib/afs_settoken.c 2008-12-21 20:55:53.000000000 +0100
+++ samba-3.2.5/source/lib/afs_settoken.c 2008-12-23 07:36:56.000000000 +0100
@@ -23,6 +23,7 @@
#define NO_ASN1_TYPEDEFS 1
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
@@ -37,7 +38,24 @@
char * cmarg,
int follow)
{
+/*
return( syscall( SYS_afs_syscall, subcall, path, cmd, cmarg, follow));
+*/
+ int errcode;
+ struct afsprocdata afs_syscall_data;
+ afs_syscall_data.syscall = subcall;
+ afs_syscall_data.param1 = (long)path;
+ afs_syscall_data.param2 = cmd;
+ afs_syscall_data.param3 = (long)cmarg;
+ afs_syscall_data.param4 = follow;
+ int proc_afs_file = open(PROC_SYSCALL_FNAME, O_RDWR);
+ if (proc_afs_file < 0)
+ proc_afs_file = open(PROC_SYSCALL_ARLA_FNAME, O_RDWR);
+ if (proc_afs_file < 0)
+ return -1;
+ errcode = ioctl(proc_afs_file, VIOC_SYSCALL, &afs_syscall_data);
+ close(proc_afs_file);
+ return errcode;
}
struct ClearToken {
--- samba-3.2.3.orig/source/modules/vfs_afsacl.c 2008-08-27 13:23:20.000000000 +0200
+++ samba-3.2.3/source/modules/vfs_afsacl.c 2008-09-26 21:15:08.956586527 +0200
@@ -22,6 +22,7 @@
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
EOF
patch -b -p0 <<'EOF'
--- source/Makefile.in.orig Tue Aug 5 08:22:33 2008
+++ source/Makefile.in Thu Aug 7 11:17:34 2008
@@ -74,6 +74,7 @@
LIBTALLOC_LIBS=@LIBTALLOC_LIBS@
LIBTDB_LIBS=@LIBTDB_LIBS@
LIBNETAPI_LIBS=@LIBNETAPI_LIBS@
+AFS_LIBS=@AFS_LIBS@
INSTALLCMD=@INSTALL@
INSTALLLIBCMD_SH=@INSTALLLIBCMD_SH@
@@ -1337,7 +1338,7 @@
$(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \
$(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) \
$(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \
- $(WINBIND_LIBS)
+ $(WINBIND_LIBS) $(AFS_LIBS)
bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
@echo Linking $@
@@ -1349,7 +1350,7 @@
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINT_LIBS) \
$(AUTH_LIBS) $(LIBS) $(PASSDB_LIBS) $(POPT_LIBS) $(KRB5LIBS) \
- $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)
+ $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)
bin/rpcclient@EXEEXT@: $(BINARY_PREREQS) $(RPCCLIENT_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
@echo Linking $@
@@ -1369,7 +1370,7 @@
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \
$(POPT_LIBS) $(KRB5LIBS) $(UUID_LIBS) $(LDAP_LIBS) \
- $(PASSDB_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \
+ $(PASSDB_LIBS) $(AFS_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \
@INIPARSERLIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(LIBNETAPI_LIBS)
bin/profiles@EXEEXT@: $(BINARY_PREREQS) $(PROFILES_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
@@ -1767,7 +1768,7 @@
@echo "Linking $@"
@$(CC) $(FLAGS) -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \
- $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)
+ $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)
bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
@echo "Linking $@"
--- source/configure.in.orig Sat Jun 16 12:29:54 2007
+++ source/configure.in Sat Jun 16 13:30:55 2007
@@ -294,6 +294,7 @@
AC_SUBST(KRB5_LIBS)
AC_SUBST(UUID_LIBS)
AC_SUBST(LDAP_LIBS)
+AC_SUBST(AFS_LIBS)
AC_SUBST(PAM_MODULES)
AC_SUBST(INSTALL_PAM_MODULES)
AC_SUBST(UNINSTALL_PAM_MODULES)
@@ -3078,6 +3079,7 @@
#################################################
# decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER
+AFS_LIBS=""
if test x"$samba_cv_WITH_AFS" != x"no" ||
test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then
@@ -3086,6 +3088,7 @@
if test -d /usr/include/afs; then
CFLAGS="$CFLAGS -I/usr/include/afs"
CPPFLAGS="$CPPFLAGS -I/usr/include/afs"
+ AFS_LIBS="-L/usr/lib/afs -lafsauthent -lafsrpc -lpthread -lcrypto"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
@@ -6199,6 +6202,7 @@
AC_MSG_RESULT([ UUID_LIBS = $UUID_LIBS])
fi
AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])
+AC_MSG_RESULT([ AFS_LIBS = $AFS_LIBS])
#################################################
# final configure stuff
--- source/modules/vfs_afsacl.c Wed Jan 11 15:05:28 2006
+++ source/modules/vfs_afsacl.c Sat Jan 14 11:19:34 2006
@@ -311,6 +311,7 @@
static BOOL unparse_afs_acl(struct afs_acl *acl, char *acl_str)
{
+ struct afs_ace *ace;
/* TODO: String length checks!!!! */
int positives = 0;
@@ -318,8 +319,7 @@
fstring line;
*acl_str = 0;
-
- struct afs_ace *ace = acl->acelist;
+ ace = acl->acelist;
while (ace != NULL) {
if (ace->positive)
EOF
%build
cd source
CC=%{sambagcc} \
LDFLAGS="-Wl,-rpath,%{_prefix}/lib" \
/configure \
--prefix=%{_prefix} \
--with-privatedir=/etc/samba \
--with-lockdir=/var/samba/locks \
--with-swatdir=%{_prefix}/swat \
--with-configdir=/etc/samba \
--with-modulesdir=%{_prefix}/lib/modules \
--sharedstatedir=/var/samba \
--localstatedir=/var/samba \
--datarootdir=%{_prefix} \
--with-pam \
--with-fake-kaserver \
--with-vfs-afsacl \
--with-libsmbclient \
--with-quotas \
--enable-shared \
--enable-shared-libs
cp -p Makefile Makefile.orig
sed 's/-Wl,-Bsymbolic//' <Makefile.orig |
sed 's/^AFS_LIBS=.*/AFS_LIBS=-Wl,-rpath,\/opt\/afs\/lib -L\/opt\/afs\/lib -L\/opt\/ssl\/lib -lafsauthent -lafsrpc -luafs -lpthread -lcrypto/' >Makefile
make
cd ..
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_prefix}
cd source
make install DESTDIR=$RPM_BUILD_ROOT
cd ..
( cd $RPM_BUILD_ROOT%{_prefix}/lib
ln -s libtalloc.so libtalloc.so.1
ln -s libtdb.so libtdb.so.1
ln -s libwbclient.so libwbclient.so.0
)
install -d $RPM_BUILD_ROOT%{_docdir}
install -d $RPM_BUILD_ROOT%{_docdir}/registry
install docs/Samba*.pdf $RPM_BUILD_ROOT%{_docdir}
install docs/registry/*.reg $RPM_BUILD_ROOT%{_docdir}/registry
strip $RPM_BUILD_ROOT%{_prefix}/*bin/* || true
rm -rf $RPM_BUILD_ROOT/{etc,var}
--ELM1233493290-7118-0_
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
Content-Disposition: attachment; filename="samba-3.3.0.spec"
Content-Description:
Summary: the Samba SMB server
Name: samba
Group: System Environment/Daemons
Version: 3.3.0
Release: 1
URL: http://www.samba.org/
L
#define samba1 3.2.0
%define samba1 %{version}
#define samba2 a
%define samba2 %{?_not_exist}
%define sambagcc gcc41
Provides: samba
Requires: ssl afs
Source0: ftp://us2.samba.org/pub/samba/%{name}-%{samba1}.tar.gz
%description
Samba is the protocol by which a lot of PC-related machines share
files, printers, and other information (such as lists of available
files and printers). The Windows NT, OS/2, and Linux operating systems
support this natively, and add-on packages can enable the same thing
for DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This package
provides an SMB server that can be used to provide network services to
SMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS over
TCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft Raw
NetBIOS frame) protocol.
$Id: samba.spec,v 1.73 2009/02/01 12:54:24 axel Exp $
%prep
test "$RPMX" = "3" || false need rh7
test -d /usr/include/afs ||
false need ln -s /opt/afs/include /usr/include/afs
test -d /usr/include/openssl ||
false need ln -s /opt/ssl/include/openssl /usr/include/openssl
%setup -q -n %{name}-%{samba1}
for P in `/home/axel/p/rpm/count.sh %{samba2}`; do
patch -p1 <%{_sourcedir}/patch-%{samba1}`/home/axel/p/rpm/count.sh -d $P`-%{samba1}${P}.diffs
done
cp -p source/script/installswat.sh source/script/installswat.sh.orig
sed 's/BOOKDIR="\$DESTDIR\/\$SWATDIR/BOOKDIR="$DESTDIR\/$SWATDIR\/help/' \
<source/script/installswat.sh.orig >source/script/installswat.sh
patch -b -p1 <<'EOF'
--- samba-3.2.5.orig/source/lib/afs.c 2008-12-21 20:55:53.000000000 +0100
+++ samba-3.2.5/source/lib/afs.c 2008-12-23 07:27:15.000000000 +0100
@@ -23,6 +23,7 @@
#define NO_ASN1_TYPEDEFS 1
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
diff -urN samba-3.2.5.orig/source/lib/afs_settoken.c samba-3.2.5/source/lib/afs_settoken.c
--- samba-3.2.5.orig/source/lib/afs_settoken.c 2008-12-21 20:55:53.000000000 +0100
+++ samba-3.2.5/source/lib/afs_settoken.c 2008-12-23 07:36:56.000000000 +0100
@@ -23,6 +23,7 @@
#define NO_ASN1_TYPEDEFS 1
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
@@ -37,7 +38,24 @@
char * cmarg,
int follow)
{
+/*
return( syscall( SYS_afs_syscall, subcall, path, cmd, cmarg, follow));
+*/
+ int errcode;
+ struct afsprocdata afs_syscall_data;
+ afs_syscall_data.syscall = subcall;
+ afs_syscall_data.param1 = (long)path;
+ afs_syscall_data.param2 = cmd;
+ afs_syscall_data.param3 = (long)cmarg;
+ afs_syscall_data.param4 = follow;
+ int proc_afs_file = open(PROC_SYSCALL_FNAME, O_RDWR);
+ if (proc_afs_file < 0)
+ proc_afs_file = open(PROC_SYSCALL_ARLA_FNAME, O_RDWR);
+ if (proc_afs_file < 0)
+ return -1;
+ errcode = ioctl(proc_afs_file, VIOC_SYSCALL, &afs_syscall_data);
+ close(proc_afs_file);
+ return errcode;
}
struct ClearToken {
--- samba-3.2.3.orig/source/modules/vfs_afsacl.c 2008-08-27 13:23:20.000000000 +0200
+++ samba-3.2.3/source/modules/vfs_afsacl.c 2008-09-26 21:15:08.956586527 +0200
@@ -22,6 +22,7 @@
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
+#include <afs/param.h>
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/auth.h>
EOF
patch -b -p0 <<'EOF'
--- source/Makefile.in.orig Tue Aug 5 08:22:33 2008
+++ source/Makefile.in Thu Aug 7 11:17:34 2008
@@ -74,6 +74,7 @@
LIBTALLOC_LIBS=@LIBTALLOC_LIBS@
LIBTDB_LIBS=@LIBTDB_LIBS@
LIBNETAPI_LIBS=@LIBNETAPI_LIBS@
+AFS_LIBS=@AFS_LIBS@
INSTALLCMD=@INSTALL@
INSTALLLIBCMD_SH=@INSTALLLIBCMD_SH@
@@ -1337,7 +1338,7 @@
$(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \
$(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) \
$(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \
- $(WINBIND_LIBS)
+ $(WINBIND_LIBS) $(AFS_LIBS)
bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
@echo Linking $@
@@ -1349,7 +1350,7 @@
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINT_LIBS) \
$(AUTH_LIBS) $(LIBS) $(PASSDB_LIBS) $(POPT_LIBS) $(KRB5LIBS) \
- $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)
+ $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)
bin/rpcclient@EXEEXT@: $(BINARY_PREREQS) $(RPCCLIENT_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
@echo Linking $@
@@ -1369,7 +1370,7 @@
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \
$(POPT_LIBS) $(KRB5LIBS) $(UUID_LIBS) $(LDAP_LIBS) \
- $(PASSDB_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \
+ $(PASSDB_LIBS) $(AFS_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \
@INIPARSERLIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(LIBNETAPI_LIBS)
bin/profiles@EXEEXT@: $(BINARY_PREREQS) $(PROFILES_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
@@ -1767,7 +1768,7 @@
@echo "Linking $@"
@$(CC) $(FLAGS) -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
$(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \
- $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)
+ $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)
bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
@echo "Linking $@"
--- source/configure.in.orig 2009-01-28 12:07:51.000000000 +0100
+++ source/configure.in 2009-01-28 12:10:56.000000000 +0100
@@ -100,6 +100,7 @@
AC_SUBST(KRB5_LIBS)
AC_SUBST(UUID_LIBS)
AC_SUBST(LDAP_LIBS)
+AC_SUBST(AFS_LIBS)
AC_SUBST(GPEXT_LIBS)
AC_SUBST(PAM_MODULES)
AC_SUBST(INSTALL_PAM_MODULES)
@@ -2979,6 +2980,7 @@
#################################################
# decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER
+AFS_LIBS=""
if test x"$samba_cv_WITH_AFS" != x"no" ||
test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then
@@ -2989,6 +2991,7 @@
if test -d /usr/include/afs; then
CFLAGS="$CFLAGS -I/usr/include/afs"
CPPFLAGS="$CPPFLAGS -I/usr/include/afs"
+ AFS_LIBS="-L/usr/lib/afs -lafsauthent -lafsrpc -lpthread -lcrypto"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
@@ -6283,6 +6286,7 @@
AC_MSG_RESULT([ DNSSD_LIBS = $DNSSD_LIBS])
fi
AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])
+AC_MSG_RESULT([ AFS_LIBS = $AFS_LIBS])
#################################################
# final configure stuff
--- source/modules/vfs_afsacl.c Wed Jan 11 15:05:28 2006
+++ source/modules/vfs_afsacl.c Sat Jan 14 11:19:34 2006
@@ -311,6 +311,7 @@
static BOOL unparse_afs_acl(struct afs_acl *acl, char *acl_str)
{
+ struct afs_ace *ace;
/* TODO: String length checks!!!! */
int positives = 0;
@@ -318,8 +319,7 @@
fstring line;
*acl_str = 0;
-
- struct afs_ace *ace = acl->acelist;
+ ace = acl->acelist;
while (ace != NULL) {
if (ace->positive)
--- source/lib/afs.c.orig 2009-01-28 09:39:02.000000000 +0100
+++ source/lib/afs.c 2009-01-28 09:40:37.000000000 +0100
@@ -230,8 +230,8 @@
}
afs_username = talloc_sub_advanced(ctx,
- SNUM(conn), conn->user,
- conn->connectpath, conn->gid,
+ SNUM(conn), conn->server_info->utok.uid,
+ conn->connectpath, conn->server_info->utok.gid,
conn->server_info->sanitized_username,
pdb_get_domain(conn->server_info->sam_account),
afs_username);
EOF
%build
cd source
CC=%{sambagcc} \
LDFLAGS="-Wl,-rpath,%{_prefix}/lib" \
/configure \
--prefix=%{_prefix} \
--with-privatedir=/etc/samba \
--with-lockdir=/var/samba/locks \
--with-swatdir=%{_prefix}/swat \
--with-configdir=/etc/samba \
--with-modulesdir=%{_prefix}/lib/modules \
--sharedstatedir=/var/samba \
--localstatedir=/var/samba \
--datarootdir=%{_prefix} \
--with-pam \
--with-fake-kaserver \
--with-vfs-afsacl \
--with-libsmbclient \
--with-quotas \
--enable-shared \
--enable-shared-libs
cp -p Makefile Makefile.orig
sed 's/-Wl,-Bsymbolic//' <Makefile.orig |
sed 's/^AFS_LIBS=.*/AFS_LIBS=-Wl,-rpath,\/opt\/afs\/lib -L\/opt\/afs\/lib -L\/opt\/ssl\/lib -lafsauthent -lafsrpc -luafs -lpthread -lcrypto/' >Makefile
make
cd ..
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_prefix}
cd source
make install DESTDIR=$RPM_BUILD_ROOT
cd ..
( cd $RPM_BUILD_ROOT%{_prefix}/lib
ln -s libtalloc.so libtalloc.so.1
ln -s libtdb.so libtdb.so.1
ln -s libwbclient.so libwbclient.so.0
)
install -d $RPM_BUILD_ROOT%{_docdir}
install -d $RPM_BUILD_ROOT%{_docdir}/registry
install docs/Samba*.pdf $RPM_BUILD_ROOT%{_docdir}
install docs/registry/*.reg $RPM_BUILD_ROOT%{_docdir}/registry
strip $RPM_BUILD_ROOT%{_prefix}/*bin/* || true
rm -rf $RPM_BUILD_ROOT/{etc,var}
--ELM1233493290-7118-0_--
--ELM1233493290-7118-0_--