Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > 3b06913419501ea51e887ed7147afa0a > files > 6

openafs-1.3.87-2mdk.src.rpm

%define name	openafs
%define version 1.3.87
%define release %mkrel 2
%define module	libafs
%define major	1
%define libname	%mklibname %{name} %{major}
%define _requires_exceptions libafsrpc.so

Name: 		%{name}
Version: 	%{version}
Release: 	%{release}
Summary:        OpenAFS distributed filesystem
Group:		Networking/Other
License:	IBM Public License
URL:            http://openafs.org/
Source0:        http://www.openafs.org/dl/openafs/%{version}/openafs-%{version}-src.tar.bz2
Source1:	http://www.openafs.org/dl/openafs/%{version}/openafs-%{version}-doc.tar.bz2
Source2:        http://grand.central.org/dl/cellservdb/CellServDB.bz2
Source3:        openafs.init.bz2
Source4:        openafs.config.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}
BuildRequires:  pam-devel
BuildRequires:  ncurses-devel
BuildRequires:  flex
BuildRequires:  byacc
BuildRequires:  autoconf2.1
BuildRequires:  automake1.4
Conflicts:	krbafs-utils
Conflicts:	krb5-workstation
Conflicts:	coda-debug-backup

%description
AFS is a distributed filesystem allowing cross-platform sharing of files
among multiple computers. Facilities are provided for access control,
authentication, backup and administrative management.

This package provides common files shared across all the various
OpenAFS packages but are not necessarily tied to a client or server.


%package client
Summary:        	OpenAFS filesystem client
Group:			Networking/Other
Requires:       	%{name} = %{version}
Requires(preun):	rpm-helper
Requires(post):		rpm-helper
Conflicts:		up

%description client
AFS is a distributed filesystem allowing cross-platform sharing of files
among multiple computers. Facilities are provided for access control,
authentication, backup and administrative management.

This package provides basic client support to mount and manipulate
AFS.

%package server
Summary:        OpenAFS filesystem server
Group:		Networking/Other
Requires:       %{name}-client = %{version}

%description server
AFS is a distributed filesystem allowing cross-platform sharing of files
among multiple computers. Facilities are provided for access control,
authentication, backup and administrative management.

This package provides basic server support to host files in an AFS
cell.

%package -n %{libname}
Summary:	Libraries for %{name}
Group:		System/Libraries

%description -n	%{libname}
This package contains the libraries needed to run programs dynamically
linked with OpenAFS libraries.

%package -n	%{libname}-devel
Summary:	Static libraries and header files for OpenAFS
Group:		Development/C
Provides:	%{name}-devel = %{version}-%{release}
Provides:	lib%{name}-devel = %{version}-%{release}
Requires:       %{libname} = %{version}

%description -n	%{libname}-devel
This package contains the static development libraries and headers needed
to compile applications linked with OpenAFS libraries.

%package -n dkms-%{module}
Summary:	DKMS-ready kernel source for AFS distributed filesystem
Group:		Development/Kernel
Obsoletes:	openafs-kernel-source
Provides:	openafs-kernel-source

%description -n dkms-%{module}
This package provides the AFS kernel module.

%package	doc
Summary:	OpenAFS doc
Group:		Networking/Other

%description doc
This packages provides the documentation for OpenAFS.


%prep
%setup -q -T -b 0
%setup -q -T -D -b 1
bzcat %{SOURCE2} > CellServDB
bzcat %{SOURCE3} > %{name}.init
bzcat %{SOURCE4} > %{name}.config
chmod 644 doc/html/QuickStartWindows/*.htm

%build
%ifarch x86_64
%define sysname amd64_linux26
%else
%define sysname %{_arch}_linux26
%endif

%configure \
	--disable-kernel-module \
	--with-afs-sysname=%{sysname}
make all_nolibafs
make libafs_tree

%install
rm -rf %{buildroot}
make install_nolibafs DESTDIR=%{buildroot}

# cache
install -m 755 -d %{buildroot}/var/cache/%{name}

# configuration
install -m 755 -d %{buildroot}%{_sysconfdir}/%{name}
install -m 644 CellServDB  %{buildroot}%{_sysconfdir}/%{name}/CellServDB

# init script
install -m 755 -d %{buildroot}%{_initrddir}
install -m 755 -d %{buildroot}%{_sysconfdir}/sysconfig
install -m 755 %{name}.init %{buildroot}%{_initrddir}/%{name}
install -m 644 %{name}.config %{buildroot}%{_sysconfdir}/sysconfig/%{name}

# kernel module
install -d -m 755 %{buildroot}%{_prefix}/src
cp -a libafs_tree %{buildroot}%{_prefix}/src/%{module}-%{version}

cat > %{buildroot}%{_prefix}/src/%{module}-%{version}/dkms.conf <<EOF

PACKAGE_VERSION="%{version}"

# Items below here should not have to change with each driver version
PACKAGE_NAME="%{module}"
MAKE[0]="SMP=SP; eval \\\`grep CONFIG_SMP /boot/config-\${kernelver_array[0]}\\\`; [ -n \"\\\$CONFIG_SMP\" ] && SMP=MP; ./configure --with-linux-kernel-headers=\${kernel_source_dir}; make MPS=\\\$SMP; mv src/libafs/MODLOAD-*/libafs.ko ."
CLEAN="make -C src/libafs clean"

BUILT_MODULE_NAME[0]="\$PACKAGE_NAME"
DEST_MODULE_LOCATION[0]="/kernel/3rdparty/\$PACKAGE_NAME/"

AUTOINSTALL=yes

EOF

# clean up stuff that we don't want to package

# DCE security system stuff -- wasn't included before -- is this
# of use to anyone?
rm %{buildroot}%{_bindir}/dlog
rm %{buildroot}%{_bindir}/dpass

# this is coming out 0 bytes. And it wasn't getting packaged before.
rm %{buildroot}%{_sbindir}/kdump

# we don't use these.... Red Hat has its own pam_krb5afs modules.
# maybe in the future, we could configure these instead....
#rm %{buildroot}%{_libdir}/pam_afs.krb.so.1
#rm %{buildroot}%{_libdir}/pam_afs.so.1

# e2fsprogs-devel has one of these.
rm %{buildroot}%{_bindir}/compile_et

%multiarch_binaries %{buildroot}%{_bindir}/rxgen
%multiarch_binaries %{buildroot}%{_bindir}/xstat_cm_test
%multiarch_binaries %{buildroot}%{_bindir}/xstat_fs_test
%multiarch_includes %{buildroot}%{_includedir}/afs/dirpath.h
%multiarch_includes %{buildroot}%{_includedir}/afs/param.h

%clean
rm -rf %{buildroot}

%post -n %{libname} -p /sbin/ldconfig

%postun -n %{libname} -p /sbin/ldconfig

%post client
%_post_service %{name}
if [ ! -e /mnt/afs ]; then
	mkdir /mnt/afs
fi

%preun client
%_preun_service %{name}

%post -n dkms-%{module}
dkms add -m %{module} -v %{version} --rpm_safe_upgrade
dkms build -m %{module} -v %{version} --rpm_safe_upgrade
dkms install -m %{module} -v %{version} --rpm_safe_upgrade

%preun -n dkms-%{module}
dkms remove -m %{module} -v %{version} --rpm_safe_upgrade --all ||:

%files
%defattr(-,root,root,-)
%doc README NEWS src/LICENSE
%{_bindir}/afsmonitor
%{_bindir}/bos
%{_bindir}/fs
%{_bindir}/kpasswd
%{_bindir}/kpwvalid
%{_bindir}/klog
%{_bindir}/klog.krb
%{_bindir}/knfs
%{_bindir}/livesys
%{_bindir}/pagsh
%{_bindir}/pagsh.krb
%{_bindir}/pts
%{_bindir}/scout
%{_bindir}/sys
%{_bindir}/tokens
%{_bindir}/tokens.krb
%{_bindir}/translate_et
%{_bindir}/udebug
%{_bindir}/unlog
%{_sbindir}/backup
%{_sbindir}/bos_util
%{_sbindir}/butc
%{_sbindir}/copyauth
%{_sbindir}/fms
%{_sbindir}/fstrace
%{_sbindir}/kas
%{_sbindir}/read_tape
%{_sbindir}/restorevol
%{_sbindir}/rxdebug
%{_sbindir}/uss
%{_sbindir}/vos

%files client
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%{_initrddir}/%{name}
%{_bindir}/cmdebug
%{_bindir}/up
%{_sbindir}/afsd
/var/cache/%{name}

%files server
%defattr(-,root,root)
%{_sbindir}/kadb_check
%{_sbindir}/kdb
%{_sbindir}/kseal
%{_sbindir}/kpwvalid
%{_sbindir}/prdb_check
%{_sbindir}/pt_util
%{_sbindir}/rmtsysd
%{_sbindir}/vldb_check
%{_sbindir}/vldb_convert
%{_sbindir}/voldump
%{_sbindir}/volinfo
%{_sbindir}/vsys
%{_libdir}/openafs
%{_sbindir}/bosserver

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/*.so.*

%files -n %{libname}-devel
%defattr(-,root,root)
%multiarch %{multiarch_bindir}/rxgen
%multiarch %{multiarch_bindir}/xstat_cm_test
%multiarch %{multiarch_bindir}/xstat_fs_test
%{_bindir}/rxgen
%{_bindir}/xstat_cm_test
%{_bindir}/xstat_fs_test
%{_includedir}/*.h
%{_includedir}/afs
%{_includedir}/rx
%multiarch %{multiarch_includedir}/afs
%{_libdir}/*.so
%{_libdir}/*.a
%{_libdir}/afs

%files -n dkms-%{module}
%defattr(-,root,root)
%{_prefix}/src/%{module}-%{version}

%files doc
%defattr(-,root,root)
%doc doc/*

%changelog
* Tue Aug 23 2005 Guillaume Rousse <guillomovitch@mandriva.org> 1.3.87-2mdk
- fix multiarch
- fix directory ownership for includes
- %%mkrel
- conflict with coda-debug-backup
- less strict requires
- fix doc perms

* Tue Aug 16 2005 Guillaume Rousse <guillomovitch@mandriva.org> 1.3.87-1mdk
- New release 1.3.87

* Mon Aug 01 2005 Guillaume Rousse <guillomovitch@mandriva.org> 1.3.86-1mdk
- New release 1.3.86
- dropped patches

* Tue Jun 14 2005 Pascal Terjan <pterjan@mandriva.org> 1.3.84-2mdk
- Fix kernel module build (P1)
- Cleanup P0 use
 
* Sun Jun 12 2005 Guillaume Rousse <guillomovitch@mandriva.org> 1.3.84-1mdk
- New release 1.3.84

* Thu Jun 09 2005 Pascal Terjan <pterjan@mandriva.org> 1.3.82-3mdk
- Fix gcc4 build

* Tue May 17 2005 Pascal Terjan <pterjan@mandriva.org> 1.3.82-2mdk
- Transform kernel-source into dkms
- Don't require libafsrpc.so even if it has no SONAME

* Mon May 09 2005 Guillaume Rousse <guillomovitch@mandriva.org> 1.3.82-1mdk
- New release 1.3.82

* Mon Apr 11 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.81-1mdk
- New release 1.3.81

* Wed Mar 23 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.80-1mdk
- New release 1.3.80
- fix rpmbuildupdate support

* Fri Mar 04 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.79-1mdk 
- new version
- don't own mount point, it prevent upgrade when filesystem is mounted
- drop patch4 (merged upstream)

* Mon Feb 07 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.78-1mdk 
- new version
- drop all patches except p4
- fix x86_64 build

* Tue Jan 25 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.77-2mdk 
- explicit conflicts (Marek Kruz.el <marek@good.solutions.net.pl>)
- custom init script
- default mount point /mnt/afs
- spec cleanup
- no more useless config files
- fix multiarch issues

* Wed Jan 19 2005 Guillaume Rousse <guillomovitch@mandrake.org> 1.3.77-1mdk 
- first mdk release, based on a spec file stolen from  Matthew Miller <mattdm@mattdm.org>