From: Sam Hartman Date: Fri, 2 Aug 2002 04:34:42 +0000 (+0000) Subject: Initial revision X-Git-Tag: debian/1.2.6-1~14 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a3fde00d540fa4a7679a25a3fcf847254d0acca2;p=packages%2Fo%2Fopenafs.git Initial revision --- diff --git a/src/config/Makefile.sunx86_57.in b/src/config/Makefile.sunx86_57.in new file mode 100644 index 000000000..e1fb1301a --- /dev/null +++ b/src/config/Makefile.sunx86_57.in @@ -0,0 +1,48 @@ +# Keep macros within each section in sorted order for clean diff displays. +# +# AFS_OSTYPE used to indicate suffixes and os specific subdirectories. +AFS_OSTYPE = SOLARIS +# +# compilation and link editor flags +XCFLAGS=-dy -Bdynamic +MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS} +PAM_CFLAGS = -KPIC +PAMLIBS= -lc -lpam -lsocket -lnsl -lm +SHARE_LDFLAGS = -G -Bsymbolic +LWP_OPTMZ=-g +OPTMZ=-O +DBG=-g + +## Compilation flags for 64 bit Solaris +XCFLAGS64 = ${XCFLAGS} -xarch=v9 + +# +# libraries +XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl +TXLIBS=-lcurses +MTLIBS=-lpthread -lsocket +XLIBELFA=-lelf +XLIBKVM=-lkvm +# +SHLIB_SUFFIX=so +SHLIB_CFLAGS=-KPIC +# +# programs +AR=/usr/ccs/bin/ar +AS=as +CC=/opt/SUNWspro/bin/cc +MT_CC=/opt/SUNWspro/bin/cc +CP=/bin/cp +LEX=lex +LD= /usr/ccs/bin/ld +LORDER = /usr/ccs/bin/lorder +MV=mv +RANLIB=/bin/true +RM=rm +STRIP= /usr/ccs/bin/strip +INSTALL=${TOP_SRCDIR}/pinstall/pinstall +# +# this is for the vol package +FS_CONV_SOL26 = fs_conv_sol26 +install_FS_CONV_SOL26 = $(DESTDIR)${afssrvsbindir}/fs_conv_sol26 +dest_FS_CONV_SOL26 = $(DEST)/root.server/usr/afs/bin/fs_conv_sol26 diff --git a/src/config/param.sunx86_57.h b/src/config/param.sunx86_57.h new file mode 100644 index 000000000..3c6fb87f5 --- /dev/null +++ b/src/config/param.sunx86_57.h @@ -0,0 +1,116 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ + +#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_SUN_ENV 1 +#define AFS_SUN5_ENV 1 +#define AFS_SUN52_ENV 1 +#define AFS_SUN53_ENV 1 +#define AFS_SUN54_ENV 1 +#define AFS_SUN55_ENV 1 +#define AFS_SUN56_ENV 1 +#define AFS_SUN57_ENV 1 +#define AFS_X86_ENV 1 + +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ + +#include + +#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#define AFS_SYSCALL 73 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS "afs" + +/* Machine / Operating system information */ +#define sys_sunx86_57 1 +#define SYS_NAME "sunx86_57" +#define SYS_NAME_ID SYS_NAME_ID_sunx86_57 +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */ +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ + +#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk*/ +#define nearInodeHash(volid, hval) { \ + unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\ + for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\ + (hval) *= 173; \ + (hval) += *ts; \ + } \ + } + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +/* sun definitions here */ +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define osi_GetTime(x) uniqtime(x) + +/** + * These defines are for the 64 bit Solaris 7 port + * AFS_SYSCALL32 is used to protect the ILP32 syscall interface + * AFS_64BIT_ENV is for use of 64 bit inode numbers + */ +#if defined(__sparcv9) +#define AFS_SUN57_64BIT_ENV 1 +#define AFS_64BIT_INO 1 +#endif + +/** + * Solaris 7 64 bit has two versions of uniqtime. Since we consistently + * use 32 bit quantities for time in afs, we now use uniqtime32 + */ +#if defined(AFS_SUN57_64BIT_ENV) +#undef osi_GetTime +#define osi_GetTime(x) uniqtime32(x) +#endif + + + +#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP) +#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP) +#define AFS_KFREE kmem_free +#define VATTR_NULL vattr_null +#define memset(A, B, S) bzero(A, S) +#define memcpy(B, A, S) bcopy(A, B, S) +#define memcmp(A, B, S) bcmp(A, B, S) +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.sunx86_57_usr.h b/src/config/param.sunx86_57_usr.h new file mode 100644 index 000000000..a15bb9004 --- /dev/null +++ b/src/config/param.sunx86_57_usr.h @@ -0,0 +1,66 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_USR_SUN5_ENV 1 +#define AFS_USR_SUN6_ENV 1 + +#include + +/*#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#define AFS_SYSCALL 73 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS 1 + +/* Machine / Operating system information */ +#define sys_sun4x_55 1 +#define SYS_NAME "sun4x_55" +#define SYS_NAME_ID SYS_NAME_ID_sun4x_55 +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS 1 +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.sunx86_58.h b/src/config/param.sunx86_58.h new file mode 100644 index 000000000..74b029bac --- /dev/null +++ b/src/config/param.sunx86_58.h @@ -0,0 +1,122 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ + +#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_SUN_ENV 1 +#define AFS_SUN5_ENV 1 +#define AFS_SUN52_ENV 1 +#define AFS_SUN53_ENV 1 +#define AFS_SUN54_ENV 1 +#define AFS_SUN55_ENV 1 +#define AFS_SUN56_ENV 1 +#define AFS_SUN57_ENV 1 +#define AFS_SUN58_ENV 1 +#define AFS_X86_ENV 1 + +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ + +#include + +#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */ + +#ifdef AFS_NAMEI_ENV +#define AFS_64BIT_IOPS_ENV 1 /* needed for NAMEI... */ +#else /* AFS_NAMEI_ENV */ +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#endif /* AFS_NAMEI_ENV */ + +#define AFS_SYSCALL 65 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS "afs" + +/* Machine / Operating system information */ +#define sys_sunx86_58 1 +#define SYS_NAME "sunx86_58" +#define SYS_NAME_ID SYS_NAME_ID_sunx86_58 +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */ +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ + +#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk*/ +#define nearInodeHash(volid, hval) { \ + unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\ + for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\ + (hval) *= 173; \ + (hval) += *ts; \ + } \ + } + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +/* sun definitions here */ +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define osi_GetTime(x) uniqtime(x) + +/** + * These defines are for the 64 bit Solaris 7 port + * AFS_SYSCALL32 is used to protect the ILP32 syscall interface + * AFS_64BIT_ENV is for use of 64 bit inode numbers + */ +#if defined(__sparcv9) +#define AFS_SUN57_64BIT_ENV 1 +#define AFS_64BIT_INO 1 +#endif + +/** + * Solaris 7 64 bit has two versions of uniqtime. Since we consistently + * use 32 bit quantities for time in afs, we now use uniqtime32 + */ +#if defined(AFS_SUN57_64BIT_ENV) +#undef osi_GetTime +#define osi_GetTime(x) uniqtime32(x) +#endif + + + +#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP) +#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP) +#define AFS_KFREE kmem_free +#define VATTR_NULL vattr_null +#define memset(A, B, S) bzero(A, S) +#define memcpy(B, A, S) bcopy(A, B, S) +#define memcmp(A, B, S) bcmp(A, B, S) +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.sunx86_58_usr.h b/src/config/param.sunx86_58_usr.h new file mode 100644 index 000000000..bc9657c8d --- /dev/null +++ b/src/config/param.sunx86_58_usr.h @@ -0,0 +1,66 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_USR_SUN5_ENV 1 +#define AFS_USR_SUN6_ENV 1 + +#include + +/*#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#define AFS_SYSCALL 65 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS 1 + +/* Machine / Operating system information */ +#define sys_sun4x_55 1 +#define SYS_NAME "sun4x_55" +#define SYS_NAME_ID SYS_NAME_ID_sun4x_55 +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS 1 +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/tools/install/.afs_state b/src/tools/install/.afs_state new file mode 100644 index 000000000..370c416d9 --- /dev/null +++ b/src/tools/install/.afs_state @@ -0,0 +1,2 @@ +Uninstall +complete diff --git a/src/tools/install/K5_README b/src/tools/install/K5_README new file mode 100644 index 000000000..4eaf3a4a7 --- /dev/null +++ b/src/tools/install/K5_README @@ -0,0 +1,104 @@ +6/27/02 + +This is a brief description of how to use the OpenAFS Tools to create a cell +that uses Kerberos 5 authentication, rather than the kaserver program that +comes with OpenAFS. + +*** INTRODUCTION *** + +Kerberos 5 is an authentication protocol that is widely used by many +applications. If you have an OpenAFS environment that is K5-aware, your +users will not have to obtain authenticate separately with OpenAFS -- they +can use their Kerberos tickets instead. For more information about the +benefits of K5 over AFS authentication, see the following webpage: + +http://www.mathematik.uni-karlsruhe.de/~iwrmm/Persons/Schulz/Unix/afs/afs-krb5.html + +You should also check out AFSLore (http://grand.central.org/twiki/). + +Also, refer to the OpenAFS Tools README for a much more complete set +of requirements and instructions. This document contains only things that +are specific to the process of using Kerberos; it assumes you are already +familiar with the other OpenAFS Tools requirements. + +*** REQUIREMENTS *** + +There are two major implementations of K5 -- MIT, and Heimdal. From what +I can gather, one is not significantly better than the other. Unfortunately, +their command line interfaces differ slightly, so for these tools I had to +choose one with which to be compatible. I chose the MIT version. It is +available at http://web.mit.edu/kerberos/www/index.html. You should download, +compile, and install this if you haven't already. + +If you have an existing Kerberos realm that you plan to use, you only need to +configure your soon-to-be OpenAFS server as a Kerberos client. If you're +making a new realm, you're going to have to create a master KDC (which can +be the same as your OpenAFS server if you want, but that's not advised), and +also configure your OpenAFS server to be a client. The aforementioned MIT +website has all the information you'll need on how to create or connect to +a K5 realm. IMPORTANT NOTE: If you're creating a new realm, keep in mind +that the OpenAFS cell you will be creating later must have the same name as +the realm, except the name of the realm must be in all caps. + +The next step is to install the OpenAFS RPMs, available at +http://www.openafs.org/. You'll need to get the openafs, openafs-kernel, +openafs-client, openafs-server, and openafs-krb5 packages, and install +them all. + +*** INSTALLATION *** + +Installation is pretty easy. Just do a normal install_afs command (as +described in the OpenAFS Tools README), but specify the "-k" option. This +informs the program that you are going to be using Kerberos for authentication. +During the installation process, it will ask for a Kerberos administration +password; this is the password for the admin/admin principal in your +Kerberos realm. If it is not correct, the installation will not work! + +IMPORTANT NOTE: As far as I can tell, the name of your cell must be THE SAME +as the name of the Kerberos realm you are using, except in should be in lower +case letters instead of upper case. Supposedly there are ways to get around +this, but I have not found them. Currently, the OpenAFS Tools supports only +same-name integration. + +*** USE *** + +After the install_afs program completes, you should be ready to go. To test +it out, execute the following commands. + + kinit admin + aklog + vos create test.vol + +This will create a test volume in your AFS cell. If you see any error +messages about authentication, then something's not working. + +If everything works, you can start using your AFS cell. When you want to make +new users, make them a Kerberos account, and then give them a PTS entry in +your OpenAFS cell. That should be it! + +*** COMMON PROBLEMS *** + +Here are some solutions to problems I've encountered: + +- Some KDC in your Kerberos realm must be running the following programs +before you run the OpenAFS installation program: + kadmind + krb5kdc + krb524d -m +- The name of your OpenAFS cell and Kerberos realm must be the same, except +for differences in capitalization. +- Make sure, after uninstalling OpenAFS, to delete the 'admin' and 'afs' +principals from the Kerberos database. + +*** Future Work *** + +These tools should support both MIT and Heimdal implementations, and any +others that may exist. Unfortunately, the only reasonable way to do this +that I can see is to use the actual Kerberos 5 API. This would require +writing a C program or two and integrating them into the OpenAFS +installation script. While certainly possible, this would probably take +some work. + +Removing the same name dependency between the OpenAFS cell and the Kerberos +realm would be fantastic. + diff --git a/src/tools/install/openafs-tools-cmd-1.2.5-1.spec b/src/tools/install/openafs-tools-cmd-1.2.5-1.spec new file mode 100644 index 000000000..ee88e668c --- /dev/null +++ b/src/tools/install/openafs-tools-cmd-1.2.5-1.spec @@ -0,0 +1,72 @@ +Summary: A program that can install and uninstall OpenAFS for Linux (command line only). +Name: openafs-tools-cmd +Version: 1.2.5 +Release: 1 +Copyright: IPL +Packager: OpenAFS +Group: Applications/File +Source: openafs-tools-cmd.tar +Conflicts: openafs-tools +Requires: openafs, openafs-kernel, openafs-client, openafs-server +BuildRoot: /var/tmp/%{name}-buildroot + +%description +This rpm will extract and install the files needed to install and uninstall +OpenAFS on a Linux system. + +%prep +%setup -c +gunzip afs_linux.tar.gz +tar -xf afs_linux.tar + +%build +chmod 744 unpack_cmd + +%install +rm -rf $RPM_BUILD_ROOT +./unpack_cmd + +%post +%ifnos Linux + echo -e "WARNING: Operating system is not Linux.\n openafs-tools has only been tested on Red Hat Linux, so proceed with caution." +%endif +if [ ! -e /usr/src/redhat ]; then + echo -e "WARNING: This operating system may not be Red Hat Linux.\nopenafs-tools has only been tested on Red Hat, so proceed with caution." +fi +%ifos Linux + ver=$(uname -r) + verdash=${ver%%-*} + vermaj=${verdash%.*} + vermin=${verdash##*.} + if [ $vermaj != "2.2" -a $vermaj != "2.4" ]; then + echo -e "WARNING: Kernel version is not 2.2 or 2.4.\n openafs-tools-client has only been tested on kernel versions 2.2 and 2.4, so proceed with caution." + fi +%endif + +%preun +rm -f /usr/afs/tools/install/*install_output* +rm -rf /usr/afs/tools/install/afs +rm -rf /usr/afs/tools/install/vice +rm -rf /usr/afs/tools/install/done.txt + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%doc openafs-tools-cmd.README +/usr/afs/tools/openafs-tools-cmd.README +/usr/afs/tools/install/.afs_state +/usr/afs/tools/install/afsinit_both +/usr/afs/tools/install/afsinit_client +/usr/afs/tools/install/afsinit_server +/usr/afs/tools/install/afs_uninstall +/usr/afs/tools/install/install_afs +/usr/afs/tools/install/K5_README +/usr/afs/tools/install/check_udebug.pl +/usr/afs/tools/install/write_fstab.pl +/usr/afs/tools/install/write_pam.pl +%dir /usr/afs/tools/install/ + + + +