Hi Troy,
thanks for the fast response. I'll attach my current "work spec" and
a tiny patch. Besides the changes described here, the spec is also
an attempt to make it possible to build the ia32e kernel module from it.
I just built a working 1.2.13 client + module for ia32e with it :) but
it's definitely work in progress - I'm not sure I understood that
"redhat-fix.h" trick.
>> - Shouldn't we go for 1.2.13? I think there's at least one fix for
>> deadlocks on SMP clients in there.
>>
>
> Part of me says yes, part of me says no.
> The yes part says, that's a great idea, we'll get the latest and all it's
> fixes.
> The no part of me says - We've got alot of patches in it for building, and we
> just got the X86_64 aklog bug fixed. It's stable on alot of machines. I'm
> not sure I want to mess with it.
>
> So while I like the idea, I would really like to have more testing. I don't
> feel comfortable that we would have enough time to test it good before S.L.
> 3.0.4 comes out.
> How about we get 3.0.4 out and then get to work on this?
Fine. I didn't want to press for getting any (major) changes in for 3.0.4.
>> - Shouldn't openafs-client require wget, since that's used in the
>> init script?
>>
>
> Done
>
> On a similar note. Do you have any ideas one a better way for this. Jarek
> brought up the point that wget is doing a tcp ping, while AFS really is using
> UDP. So if someone set's up their firewall to just do udp, this is still
> going to fail.
You could use something like "rxdebug $server -noconnections". The timeout
for this is 20 seconds, but there's a prominent "#define TIMEOUT 20" in
rxdebug.c, so I guess one could build a modified version for this purpose.
Alas, the *debug commands are broken on 64bit :-(
>> - There are two fileserver implementations: The one installed by default
>> which is using pthreads, and one using LWP (AFS' "lightweight process"
>> implementation) which is built (in src/viced) but not installed by
>> default.
>>
>> The former one is supposed to be a bit faster, but rumour says the
>> latter one may be a bit more stable (all I know for sure is that we
>> are using the LWP version on our linux file servers, and it *is*
>> stable - I haven't tried the pthreaded one yet).
>>
>> I propose to package both of them (as fileserver.{pt|lwp}) and make
>> fileserver a link (to fileserver.pt, for backward compatibility).
>>
>> - The following configure options are foreseen to be activated in the
>> spec, but they're all off, and I think they should be on:
>>
>> --enable-bitmap-later
>>
>> This delays vnode bitmap creation by the fileserver until a volume
>> is accessed the first time, instead of creating them all when the
>> volumes are attached (during fileserver startup). I think most
>> sites are using this on their fileservers nowadays.
>>
>> --enable-fast-restart
>>
>> This does not change the default fileserver behaviour in any way,
>> but allows adding -DontSalvage to the salvager options for an fs
>> instance. Corrupted volumes will be taken offline upon attach, to
>> be salvaged manually later on.
>>
>> --enable-bos-restricted-mode
>>
>> Again, this just adds a runtime option but does not affect default
>> behaviour.
>>
>> - The following configure options are not foreseen to be activated in the
>> spec, but I think they should, and they should be on:
>>
>> --enable-full-vos-listvol-switch
>>
>> Adds a "-format" switch to the "vos listvol" and "vos examine"
>> commands (complete & parseable output). I really need this...
>>
>> --enable-bos-new-config
>>
>> I haven't used this yet, but I may want to eventually (bosserver
>> will read BosConfig.new upon restart, if it exists).
>>
>
> See above talking about not enough testing time for 3.0.4.
> This is something that you will need to send to me the spec file, and
> changes. You clearly know what your doing, and I would probrubly mess things
> up.
See the demo spec:
* For the fileserver, we have to do this in %install (after
dest/root.server has been copied):
# lwp fileserver
mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver \
$RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver.pt
install -m 755 src/viced/fileserver \
$RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver.lwp
ln -s fileserver.pt $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver
and change %{_prefix}/afs/bin/fileserver to
%{_prefix}/afs/bin/fileserver* in the server packages' %files section.
* For the extra configure options, we need to change these defines
# OpenAFS configuration options
%define enable_bitmap_later 0
%define enable_bos_restricted_mode 0
%define enable_fast_restart 0
into this:
# OpenAFS configuration options
%define enable_bitmap_later 1
%define enable_bos_restricted_mode 1
%define enable_bos_new_config 1
%define enable_fast_restart 1
%define enable_full_vos_listvol_switch 1
and in %build, add to the config_opts= statement accordingly:
config_opts="--enable-redhat-buildsys \
%if %{enable_bitmap_later}
--enable-bitmap-later \
%endif
%if %{enable_bos_restricted_mode}
--enable-bos-restricted-mode \
%endif
%if %{enable_fast_restart}
--enable-fast-restart \
%endif
%if %{enable_full_vos_listvol_switch}
--enable-full-vos-listvol-switch \
%endif
%if %{enable_bos_new_config}
--enable-bos-new-config \
%endif
--enable-transarc-paths"
>> - The "livesys" executable should at least be packaged. Probably the
>> "sys" executable should be replaced by a (hard) link to livesys.
>>
>
> You'll have to send me the changes to let me know what you mean.
Simply add it to the openafs-file-list:
#
# create filelist
#
grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
%{_bindir}/afsmonitor
...
%{_bindir}/scout
%{_bindir}/sys
%{_bindir}/livesys <----------
%{_bindir}/tokens
...
%{_sbindir}/vos
EOF-openafs-file-list
And if you feel like it, replace sys with it entirely.
>> - There's a number of additional tools for tuning, debugging and recovery.
>> Most of them are built during a normal "make", but not installed by
>> "make dest". A few have to be built explicitly.
>>
>> I propose collecting these in /usr/afs/debug and packaging them into
>> a new "openafs-debug" package. Most of us will hopefully never need
>> it, but once you do it's not the time for finding out how to get to
>> them.
>>
>
> Sure,
> Can you send me the changes for the spec file. I don't know if the changes
> will make it in to 3.0.4, but we can try.
It's in the demo spec as well: Besides the tiny
Patch301: openafs-1.2.10-twiddle.patch
and an unconditional
%patch301 -p0
in %prep, it takes
%package debug
Summary: OpenAFS additional debugging utilities
Requires: openafs = %{PACKAGE_VERSION}
Group: Networking/Filesystems
%description debug
The AFS distributed filesystem. 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 additional tools useful for understanding and
debugging the client and server. It is completely optional.
plus this in %build:
# additional debugging tools
make -C src/venus twiddle
make -C src/venus whatfid
make -C src/tests dumptool
make -C src/tests afsdump_scan
plus this in %install:
# extra debugging tools
mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/debug
for i in \
src/viced/cbd \
src/viced/fsprobe \
src/viced/check_sysid \
src/auth/setkey \
src/fsprobe/fsprobe_test \
src/rxdebug/rxdumptrace \
src/venus/twiddle \
src/venus/whatfid \
src/venus/test/getinitparams \
src/tests/dumptool \
src/tests/afsdump_scan \
src/ubik/utst_client \
src/ubik/utst_server \
src/vlserver/cnvldb \
src/vlserver/vlclient \
src/ptserver/readgroup \
src/ptserver/readpwd \
src/ptserver/testpt \
src/ptserver/db_verify \
src/kauth/rebuild \
;do
install -p -m 755 $i $RPM_BUILD_ROOT%{_prefix}/afs/debug
done
plus a %files section:
%files debug
%defattr(-,root,root)
%{_prefix}/afs/debug
%{_prefix}/vice/etc/C
(the /usr/vice/etc/C/afszcm.cat is a message catalog needed for making
various kinds of dumps human readable).
Cheers,
Stephan
--
----------------------------------------------------
| Stephan Wiesand | |
| | |
| DESY - DV - | phone +49 33762 7 7370 |
| Platanenallee 6 | fax +49 33762 7 7216 |
| 15738 Zeuthen | |
| Germany | |
----------------------------------------------------
# TODO: builds on SMP create ELsmp and Elsmpsmp modules :-(
# Test ia32e
%define afsvers 1.2.13
%define pkgrel 15.11.SLZ
# Determine presence of rpmbuild command line --define arguments used for
# option specification
# These include:
# (*) Specify kernel version to build modules against:
# --define "kernel 2.4.20-1.1931.2.231.2.11.ent"
# (*) Request building of userspace tools
# --define "build_userspace 1"
# (*) Request building of kernel modules
# --define "build_modules 1"
%{!?kernel: %define kernel %(uname -r)}
#define kernvers_on_cmdline %{?kernel:1}%{!?kernel:0}
%define build_userspace_on_cmdline %{?build_userspace:1}%{!?build_userspace:0}
%define build_modules_on_cmdline %{?build_modules:1}%{!?build_modules:0}
# Determine the version of the kernel to build against
# - automatically select the latest kernel with sources from /lib/modules
# - note that this can be overridden on the command line
#
#if !%{kernvers_on_cmdline}
#define kernel %(%{_sourcedir}/openafs-kernel-version.sh)
#endif
# This is where to look for kernel build include files.
#
%define kbase /lib/modules/
%define kxmoddir %{kbase}/%{kernel}
%define ksrcdir %{kxmoddir}/build
# Set 'debugspec' to 1 if you want to debug the spec file. This will
# not remove the installed tree as part of the %clean operation
%define debugspec 1
# Set 'enterprisekernelsupport' to 1 if you want to build the
# kernel module for the enterprise kernel
# Note: This will only work for kernvers == 24 on i686
%define enterprisekernelsupport 0
# Set 'bigmemkernelsupport' to 1 if you want to build the
# kernel module for the bigmem kernel
# Note: This will only work for kernvers == 24 on i686
%define bigmemkernelsupport 0
# Set 'krb5support' to 1 if you want to build the openafs-krb5 package
# to distribute aklog and asetkey
%define krb5support 1
# Set 'bootkernelsupport' to 1 if you want to build the
# kernel module for RedHat BOOT Kernels on x86.
%define bootkernelsupport 0
# OpenAFS configuration options
%define enable_bitmap_later 1
%define enable_bos_restricted_mode 1
%define enable_bos_new_config 1
%define enable_fast_restart 1
%define enable_full_vos_listvol_switch 1
# additional default options for the client
%define extra_client_flags -dynroot -fakestat
# AFSModname Symbol information
# Mandrake users can define symtab to be "-S iget4_locked -x"
%define symtab -x
# Define the location of your init.d directory
%define initdir /etc/init.d
# Set 'requires_pam_devel' to 0 if compiling for earlier than rh6.2
# (Newer versions of Red Hat require pam-devel in order to build)
%define requires_pam_devel 1
# Define the location of the PAM security module directory
%define pamdir /%{_lib}/security
# Define set of kernel module variations to be built
%define mod_up 0
%define mod_smp 0
%define mod_bigmem 0
%define mod_hugemem 0
%ifarch i686
%define kvariations up smp
%define mod_up 1
%define mod_smp 1
%define mod_bigmem 0
%define mod_hugemem 0
%endif
%ifarch athlon
%define kvariations up smp
%define mod_up 1
%define mod_smp 1
%endif
%ifarch i586
%define kvariations up
%define mod_up 1
%endif
%ifarch i386
%define kvariations up
%define mod_up 1
%endif
%ifarch x86_64
%define kvariations up smp
%define mod_up 1
%define mod_smp 1
%endif
%ifarch ia32e
%define kvariations up
%define mod_smp 1
%endif
%ifarch ia64
%define kvariations smp
%define mod_smp 1
%endif
# Determine which elements of OpenAFS to build. For non-x86 arches
# (subject to the ExclusiveArch setting, below), we build both userspace
# and modules. For most x86 arches, we build just the kernel modules. For
# i386, we build just the userspace. If you're running an i386 kernel,
# you'll need to tweak that last bit.
%if !%{build_userspace_on_cmdline} && !%{build_modules_on_cmdline}
%ifarch x86_64 ia64
%define build_userspace 1
%define build_modules 1
%endif
%ifarch %{ix86} ia32e
%define build_userspace 0
%define build_modules 1
%endif
%ifarch i386
%define build_userspace 1
%define build_modules 0
%endif
%endif
# deal with cmdline specification
%if %{build_userspace_on_cmdline} || %{build_modules_on_cmdline}
%if !%{build_userspace_on_cmdline}
%define build_userspace 0
%endif
%if !%{build_modules_on_cmdline}
%define build_modules 0
%endif
%endif
#######################################################################
# You probably don't need to change anything beyond this line
# NOTE: If you do, please email me!!!
# Make sure RPM doesn't complain about installed but non-packaged files.
%define __check_files %{nil}
Summary: OpenAFS distributed filesystem
Name: openafs
Version: %{afsvers}
Release: %{pkgrel}
Epoch: 0
Copyright: IBM Public License
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Vendor: Scientific Linux
Group: Networking/Filesystems
BuildRequires: kernel-source, autoconf
ExclusiveArch: %{ix86} x86_64 ia64 ia32e
%if %{requires_pam_devel}
BuildRequires: pam-devel
%else
BuildRequires: %{_includedir}/security/pam_modules.h
%endif
%ifarch i386
Requires: /sbin/insmod
%endif
Source0: http://www.openafs.org/dl/openafs/${afsvers}/openafs-%{afsvers}-src.tar.bz2
Source1: http://www.openafs.org/dl/openafs/${afsvers}/openafs-%{afsvers}-doc.tar.bz2
Source2: openafs-SL-ThisCell
# http://grand.central.org/dl/cellservdb/CellServDB
Source3: openafs-SL-CellServDB
Source4: openafs-SL-SuidCells
Source5: openafs-cacheinfo
Source6: openafs-afsmodname
Source7: openafs-LICENSE.Sun
Source8: openafs-README
# Source10: http://www.openafs.org/dl/openafs/${afsvers}/RELNOTES-%{afsvers}
Source11: http://www.openafs.org/dl/openafs/${afsvers}/ChangeLog
Source20: openafs-krb5-2.0.tar.gz
Source21: openafs-kernel-version.sh
Source30: http://www.tu-chemnitz.de/urz/afs/openafs/download/suse-7.2/SOURCES/openafs-killafs
Patch100: openafs-%{afsvers}-afs.rc.linux.patch
#
# 64 bit bug of aklog & Co. Thanks to Chris Wing <[log in to unmask]>
Patch103: openafs-krb5-64bit.patch
Patch106: openafs-build.patch
Patch107: openafs-module.patch
Patch202: openafs-1.2.10-cflags.patch
Patch203: openafs-%{afsvers}-pam-x86_64.patch
Patch204: openafs-SL-krb5-configure-amd64.patch
Patch205: openafs-1.2.11-no_old_gid_t.patch
Patch301: openafs-1.2.10-twiddle.patch
%description
The AFS distributed filesystem. 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.
###############################################################################
#
# build the userspace side of things if so requested
#
###############################################################################
%if %{build_userspace}
%package client
Requires: binutils, openafs-kernel, openafs = %{PACKAGE_VERSION}, wget
Summary: OpenAFS Filesystem Client
Group: Networking/Filesystem
%description client
The AFS distributed filesystem. 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
Requires: openafs-kernel, openafs = %{PACKAGE_VERSION}
Summary: OpenAFS Filesystem Server
Group: Networking/Filesystems
%description server
The AFS distributed filesystem. 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 devel
Summary: OpenAFS Development Libraries and Headers
Group: Development/Filesystems
%description devel
The AFS distributed filesystem. 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 static development libraries and headers needed
to compile AFS applications. Note: AFS currently does not provide
shared libraries.
%endif
###############################################################################
#
# build the kernel modules if so requested
#
###############################################################################
%if %{build_modules}
#define kernel %{kernvers}
#define modkversion %(echo %{kernvers} | cut -d- -f1)
#define modkrelease %(echo %{kernvers} | cut -d- -f2)
#define modpkgrel %{modkversion}_%{modkrelease}.%{pkgrel}
%if %{mod_up}
%package -n kernel-module-openafs-%{kernel}
Summary: OpenAFS Kernel Module (compiled for UP)
Requires: openafs >= %{PACKAGE_VERSION}
Requires: /boot/vmlinuz-%{kernel}, modutils
Obsoletes: openafs-kernel
Provides: openafs-kernel, kernel-module-openafs = %{epoch}:%{version}-%{release}
Provides: kernel-module
Group: Networking/Filesystems
%description -n kernel-module-openafs-%{kernel}
The AFS distributed filesystem. 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 an openafs kernel module for
kernel %{kernel} and architecture %{_target_cpu}.
#%package kernel
#Summary: OpenAFS Kernel Module(s)
#Requires: openafs = %{PACKAGE_VERSION}
#Group: Networking/Filesystems
#
#%description kernel
#The AFS distributed filesystem. AFS is a distributed filesystem
#allowing cross-platform sharing of files among multiple computers.
#Facilities are provided for access control, authentication, backup and
##
#This package provides precompiled AFS kernel modules for various
#kernels.
#
%endif
%if %{mod_smp}
%ifarch ia64 ia32e
%package -n kernel-module-openafs-%{kernel}
Summary: OpenAFS Kernel Module (compiled for SMP)
Requires: openafs >= %{PACKAGE_VERSION}
Obsoletes: openafs-kernel
Requires: /boot/vmlinux-%{kernel}, modutils
Provides: openafs-kernel, kernel-module-openafs = %{epoch}:%{version}-%{release}
Provides: kernel-module
Group: Networking/Filesystems
%description -n kernel-module-openafs-%{kernel}
The AFS distributed filesystem. 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 an openafs kernel module for
kernel %{kernel} and architecture %{_target_cpu}.
%else
%package -n kernel-module-openafs-%{kernel}smp
Summary: OpenAFS Kernel Module (compiled for SMP)
Requires: openafs >= %{PACKAGE_VERSION}
Obsoletes: openafs-kernel
Requires: /boot/vmlinuz-%{kernel}smp, modutils
Provides: openafs-kernel, kernel-module-openafs = %{epoch}:%{version}-%{release}
Provides: kernel-module
Group: Networking/Filesystems
%description -n kernel-module-openafs-%{kernel}smp
The AFS distributed filesystem. 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 an openafs kernel module for
kernel %{kernel}smp and architecture %{_target_cpu}.
%endif
%endif
%if %{mod_bigmem}
%package -n kernel-module-openafs-%{kernel}bigmem
Summary: OpenAFS Kernel Module (compiled for SMP & big memory support)
Requires: openafs >= %{PACKAGE_VERSION}
Obsoletes: openafs-kernel
Requires: /boot/vmlinuz-%{kernel}bigmem, modutils
Provides: openafs-kernel, kernel-module-openafs = %{epoch}:%{version}-%{release}
Provides: kernel-module
Group: Networking/Filesystems
%description -n kernel-module-openafs-%{kernel}bigmem
The AFS distributed filesystem. 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 an openafs kernel module for
kernel %{kernel}bigmem and architecture %{_target_cpu}.
%endif
%if %{mod_hugemem}
%package -n kernel-module-openafs-%{kernel}hugemem
Summary: OpenAFS Kernel Module (compiled for SMP & huge memory support)
Requires: openafs >= %{PACKAGE_VERSION}
Obsoletes: openafs-kernel
Requires: /boot/vmlinuz-%{kernel}hugemem, modutils
Provides: openafs-kernel, kernel-module-openafs = %{epoch}:%{version}-%{release}
Provides: kernel-module
Group: Networking/Filesystems
%description -n kernel-module-openafs-%{kernel}hugemem
The AFS distributed filesystem. 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 an openafs kernel module for
kernel %{kernel}hugemem and architecture %{_target_cpu}.
%endif
%endif
#build modules
%package kernel-source
Summary: OpenAFS Kernel Module source tree
Group: Networking/Filesystems
%description kernel-source
The AFS distributed filesystem. 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 the source code to build your own AFS kernel
module.
%package compat
Summary: OpenAFS client compatibility symlinks
Requires: openafs = %{PACKAGE_VERSION}, openafs-client = %{PACKAGE_VERSION}
Group: Networking/Filesystems
Obsoletes: openafs-client-compat
%description compat
The AFS distributed filesystem. 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 compatibility symlinks in /usr/afsws. It is
completely optional, and is only necessary to support legacy
applications and scripts that hard-code the location of AFS client
programs.
%package debug
Summary: OpenAFS additional debugging utilities
Requires: openafs = %{PACKAGE_VERSION}
Group: Networking/Filesystems
%description debug
The AFS distributed filesystem. 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 additional tools useful for understanding and
debugging the client and server. It is completely optional.
%package kpasswd
Summary: OpenAFS KA kpasswd support
Requires: openafs
Group: Networking/Filesystems
%description kpasswd
The AFS distributed filesystem. 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 the compatibility symlink for kpasswd, in case
you are using KAserver instead of Krb5.
%if %{krb5support}
%package krb5
Summary: OpenAFS programs to use with krb5
Requires: openafs = %{PACKAGE_VERSION}
Group: Networking/Filesystems
BuildRequires: krb5-devel
%description krb5
The AFS distributed filesystem. 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 compatibility programs so you can use krb5
to authenticate to AFS services, instead of using AFS's homegrown
krb4 lookalike services.
%endif
###############################################################################
#
# preparation
#
###############################################################################
%prep
: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
: @@@
: @@@ kernel version: %{kernel}
: @@@ kernel modules dir: %{kxmoddir}
: @@@ kernel RPM version: kernel*-%{kernel}
: @@@ PAM modules dir: %{pamdir}
: @@@ build userspace: %{build_userspace}
: @@@ build modules: %{build_modules}
: @@@ arch: %{_arch}
: @@@ target cpu: %{_target_cpu}
: @@@
: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ `/usr/bin/which krb5-config` = /usr/kerberos/bin/krb5-config ] || {
: ::::::::::::::::::::::::::::::::::::::::::::::::::
: :: PLEASE export PATH=/usr/kerberos/bin:\$PATH ::
: ::::::::::::::::::::::::::::::::::::::::::::::::::
false
}
%setup -q -b 1
%setup -q -T -D -a 20
%patch100 -p1
%patch106 -p1
%patch107 -p1
%patch202 -p1
%patch203 -p1
%ifarch x86_64 ia32e
%if %{krb5support}
%patch103 -p0
%patch204 -p1
%endif
%patch205 -p1
%endif
%patch301 -p0
###############################################################################
#
# building
#
###############################################################################
%build
case %{kernel} in
2.4.*)
kv='24'
;;
*)
echo "I don't know how to build linux-`expr ${kernel} : \(^[0-9]*[.][0-9]*\)`"
exit 1
;;
esac
case %{_arch} in
x86_64|ia32e) sysname=amd64_linux${kv} ;;
alpha*) sysname=alpha_linux_${kv} ;;
i386|i486|i586|i686|athlon) sysname=i386_linux${kv} ;;
*) sysname=%{_arch}_linux${kv} ;;
esac
%ifarch x86_64 ia32e
perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.amd64_linux24.in
perl -pi -e 's,^(XLIBS.*),\1 -lresolv,' src/config/Makefile.amd64_linux24.in
%endif
%ifarch %{ix86}
archlist="i386 i586 i686 athlon"
%if %{bootkernelsupport}
archlist="${archlist} BOOT"
%endif
%else
%ifarch x86_64 ia32e
archlist="x86_64 ia32e"
%if %{bootkernelsupport}
archlist="${archlist} BOOT"
%endif
%endif
%else
archlist=%{_arch}
%endif
#
# PrintDefine var value statements file
#
PrintDefine() {
case $3 in
*ifn*)
echo "#ifndef $1" >> $4
;;
esac
case $3 in
*und*)
echo "#undef $1" >> $4
;;
esac
case $3 in
*def*)
echo "#define $1 $2" >> $4
;;
esac
case $3 in
*end*)
echo "#endif" >> $4
;;
esac
case $3 in
*inc*)
echo "#include $1" >> $4
;;
esac
case $3 in
*nl*)
echo "" >> $4
;;
esac
}
# PrintRedhatKernelFix arch mp file
PrintRedhatKernelFix() {
arch="$1"
up=0
smp=0
ent=0
bigmem=0
boot=0
bootsmp=0
hugemem=0
case "$2" in
up) up=1;;
smp) smp=1;;
bigmem) bigmem=1;;
hugemem) hugemem=1;;
*)
echo "$2 not supported"
exit 2;;
esac
file="$3"
rm -f $file
touch $file
PrintDefine "REDHAT_FIX_H" "" ifn,def,nl $file
PrintDefine __BOOT_KERNEL_ENTERPRISE $ent und,def,nl $file
PrintDefine __BOOT_KERNEL_BIGMEM $bigmem und,def,nl $file
PrintDefine __BOOT_KERNEL_HUGEMEM $hugemem und,def,nl $file
PrintDefine __BOOT_KERNEL_SMP $smp und,def,nl $file
PrintDefine __BOOT_KERNEL_UP $up und,def,nl $file
PrintDefine __BOOT_KERNEL_BOOT $boot und,def,nl $file
PrintDefine __BOOT_KERNEL_BOOTSMP $bootsmp und,def,nl $file
PrintDefine '"/boot/kernel.h"' "" inc,nl $file # include file
for ar in $archlist ; do
if [ "$ar" = "$arch" ]; then
PrintDefine "__MODULE_KERNEL_$ar" "1" ifn,def,end $file
else
PrintDefine "__MODULE_KERNEL_$ar" "" und $file # undef
fi
done
echo "" >> $file
PrintDefine "" "" end $file
if [ %{debugspec} = 1 ] ; then
echo "Kernel Configuration File for Red Hat kernels:"
cat $file
fi
}
config_opts="--enable-redhat-buildsys \
%if %{enable_bitmap_later}
--enable-bitmap-later \
%endif
%if %{enable_bos_restricted_mode}
--enable-bos-restricted-mode \
%endif
%if %{enable_fast_restart}
--enable-fast-restart \
%endif
%if %{enable_full_vos_listvol_switch}
--enable-full-vos-listvol-switch \
%endif
%if %{enable_bos_new_config}
--enable-bos-new-config \
%endif
--enable-transarc-paths"
# Configure AFS
CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
# On some platforms, static libraries must be built with -fPIC before we can
# link them into shared objects. Because the PAM module uses the libraries,
# we need to build them with -fPIC. This is one way to do it.
%ifarch x86_64 ia32e
CFLAGS="$CFLAGS -fPIC"; export CFLAGS
%endif
./configure --with-afs-sysname=${sysname} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--bindir=%{_bindir} \
--sbindir=%{_sbindir} \
--with-linux-kernel-headers=%{ksrcdir} \
$config_opts \
|| exit 1
%if %{build_userspace}
# Build the user-space AFS stuff
make dest_nolibafs || exit 1
# Build the libafs tree
make only_libafs_tree || exit 1
%if %{krb5support}
# Now build aklog/asetkey
(cd afs-krb5/src &&
./configure --prefix=/usr --with-krb5=/usr/kerberos \
--with-afs=`pwd`/../../${sysname}/dest/ && \
make all PROGS="asetkey aklog ka-forwarder" && \
touch afs2k5db && touch fakeka && \
make install PROGS="asetkey aklog ka-forwarder" \
DESTDIR=`pwd`/../../${sysname}/dest/ INSTALL_BIN=/bin \
INSTALL_SBIN=/etc) || exit 1
%endif
# additional debugging tools
make -C src/venus twiddle
make -C src/venus whatfid
make -C src/tests dumptool
make -C src/tests afsdump_scan
%endif
%if %{build_modules}
for variation in %{kvariations}
do
if [ ${variation} = up && %{_arch} != ia32e ]
then
local_smp_def=-DREDHAT_FIX
suffix=
else
local_smp_def="-DAFS_SMP -DREDHAT_FIX"
suffix=${variation}
fi
PrintRedhatKernelFix %{_target_cpu} $variation src/config/redhat-fix.h
make dest_only_libafs LOCAL_SMP_DEF="${local_smp_def}" LINUX_MODULE_VARIETY="$variation" KMODDIR="%{kxmoddir}${suffix}/kernel/fs/openafs"
rm -f src/config/redhat-fix.h.$variation
mv src/config/redhat-fix.h src/config/redhat-fix.h.$variation
done
%endif
###############################################################################
#
# installation
#
###############################################################################
%install
export DONT_GPRINTIFY=1
[ $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT
case %{kernel} in
2.4.*)
kv='24'
;;
*)
echo "I don't know how to build linux-`expr ${kernel} : \(^[0-9]*[.][0-9]*\)`"
exit 1
;;
esac
case %{_arch} in
x86_64|ia32e) sysname=amd64_linux${kv} ;;
alpha*) sysname=alpha_linux_${kv} ;;
i386|i486|i586|i686|athlon) sysname=i386_linux${kv} ;;
*) sysname=%{_arch}_linux${kv} ;;
esac
# Build install tree
%if %{build_userspace}
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
mkdir -p $RPM_BUILD_ROOT%{initdir}
mkdir -p $RPM_BUILD_ROOT/etc/openafs
mkdir -p $RPM_BUILD_ROOT%{pamdir}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/logs
mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/debug
mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/etc
mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/cache
chmod 700 $RPM_BUILD_ROOT%{_prefix}/vice/cache
# Copy files from dest to the appropriate places in BuildRoot
tar cf - -C ${sysname}/dest bin include | tar xf - -C $RPM_BUILD_ROOT%{_prefix}
tar cf - -C ${sysname}/dest/lib . | tar xf - -C $RPM_BUILD_ROOT%{_libdir}
tar cf - -C ${sysname}/dest/etc . | tar xf - -C $RPM_BUILD_ROOT%{_sbindir}
tar cf - -C ${sysname}/dest/root.server%{_prefix}/afs bin | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/afs
tar cf - -C ${sysname}/dest/root.client%{_prefix}/vice/etc afsd C | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/vice/etc
# lwp fileserver
mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver.pt
install -m 755 src/viced/fileserver $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver.lwp
ln -s fileserver.pt $RPM_BUILD_ROOT%{_prefix}/afs/bin/fileserver
# Link kpasswd to kapasswd
mv -f $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kpasswd.openafs
ln -f $RPM_BUILD_ROOT%{_bindir}/kpasswd.openafs $RPM_BUILD_ROOT%{_bindir}/kapasswd
mv -f $RPM_BUILD_ROOT%{_bindir}/pagsh $RPM_BUILD_ROOT%{_bindir}/pagsh.openafs
# Copy root.client config files
install -m 755 ${sysname}/dest/root.client%{_prefix}/vice/etc/afs.conf $RPM_BUILD_ROOT/etc/sysconfig/afs
install -m 755 ${sysname}/dest/root.client%{_prefix}/vice/etc/afs.rc $RPM_BUILD_ROOT%{initdir}/afs
# Copy PAM modules
install -m 755 ${sysname}/dest/lib/pam* $RPM_BUILD_ROOT%{pamdir}
# PAM symlinks
ln -sf pam_afs.so.1 $RPM_BUILD_ROOT%{pamdir}/pam_afs.so
ln -sf pam_afs.krb.so.1 $RPM_BUILD_ROOT%{pamdir}/pam_afs.krb.so
# replace sys by livesys
mv $RPM_BUILD_ROOT%{_prefix}/bin/sys $RPM_BUILD_ROOT%{_prefix}/bin/sys.orig
ln $RPM_BUILD_ROOT%{_prefix}/bin/livesys $RPM_BUILD_ROOT%{_prefix}/bin/sys
uve=$RPM_BUILD_ROOT%{_prefix}/vice/etc
install -p -m 644 %{SOURCE2} $uve/ThisCell
install -p -m 644 %{SOURCE3} $uve/CellServDB
install -p -m 644 %{SOURCE4} $uve/SuidCells
install -p -m 644 %{SOURCE5} $uve/cacheinfo
#
install -p -m 755 %{SOURCE30} $uve/killafs
cat>$uve/CellAlias<<EOF-uve-CellAlias
# This file allows to define aliases as replacements for
# symlinks in root.cell, which do not work if the dynroot
# option is used on the client. For example, to achieve
# the equivalent of the link /afs/oao -> openafs.org,
# put a line like this into this file:
#
# openafs.org oao
EOF-uve-CellAlias
# extra debugging tools
mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/debug
for i in \
src/viced/cbd \
src/viced/fsprobe \
src/viced/check_sysid \
src/auth/setkey \
src/fsprobe/fsprobe_test \
src/rxdebug/rxdumptrace \
src/venus/twiddle \
src/venus/whatfid \
src/venus/test/getinitparams \
src/tests/dumptool \
src/tests/afsdump_scan \
src/ubik/utst_client \
src/ubik/utst_server \
src/vlserver/cnvldb \
src/vlserver/vlclient \
src/ptserver/readgroup \
src/ptserver/readpwd \
src/ptserver/testpt \
src/ptserver/db_verify \
src/kauth/rebuild \
;do
strip $i || true
install -p -m 755 $i $RPM_BUILD_ROOT%{_prefix}/afs/debug
done
#
# install kernel-source
#
# Install the kernel module source tree
mkdir -p $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
tar cf - -C libafs_tree . | \
tar xf - -C $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
# Next, copy the LICENSE Files, README
install -m 644 src/LICENSE $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/README
#
# Install DOCUMENTATION
#
# Build the DOC directory
mkdir -p $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
tar cf - -C doc LICENSE html pdf | \
tar xf - -C $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
#install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
#
# create filelist
#
grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
%{_bindir}/afsmonitor
%{_bindir}/bos
%{_bindir}/fs
# in openafs-kpasswd
#%{_bindir}/kapasswd
#
#%{_bindir}/kpasswd
%{_bindir}/klog
%{_bindir}/klog.krb
%{_bindir}/pagsh.openafs
%{_bindir}/pagsh.krb
%{_bindir}/pts
%{_bindir}/scout
%{_bindir}/sys
%{_bindir}/sys.orig
%{_bindir}/livesys
%{_bindir}/tokens
%{_bindir}/tokens.krb
%{_bindir}/translate_et
%{_bindir}/udebug
%{_bindir}/unlog
%{_sbindir}/backup
%{_sbindir}/butc
%{_sbindir}/fms
%{_sbindir}/fstrace
%{_sbindir}/kas
%{_sbindir}/read_tape
%{_sbindir}/restorevol
%{_sbindir}/rxdebug
%{_sbindir}/uss
%{_sbindir}/vos
EOF-openafs-file-list
#
# Install compatibility links
#
for d in bin:bin etc:sbin; do
olddir=`echo $d | sed 's/:.*$//'`
newdir=`echo $d | sed 's/^.*://'`
mkdir -p $RPM_BUILD_ROOT%{_prefix}/afsws/$olddir
for f in `cat openafs-file-list`; do
if echo $f | grep -q /$newdir/; then
fb=`basename $f`
ln -sf %{_prefix}/$newdir/$fb $RPM_BUILD_ROOT%{_prefix}/afsws/$olddir/$fb
fi
done
done
#
# modify default client options
#
perl -pi -e 's/\"-stat/\"%{extra_client_flags} -stat/' \
$RPM_BUILD_ROOT/etc/sysconfiig/afs
%endif
# %{build_userspace}
%if %{build_modules}
for variation in %{kvariations}
do
if [ ${variation} = up && %{_arch} != ia32e ]
then
kvar=%{kxmoddir}
else
kvar=%{kxmoddir}${variation}
fi
srcdir=${sysname}/dest/root.client/${kvar}/kernel/fs/openafs
%ifarch ia64 ia32e
dstdir=$RPM_BUILD_ROOT/%{kxmoddir}/kernel/fs/openafs
%else
dstdir=$RPM_BUILD_ROOT/${kvar}/kernel/fs/openafs
%endif
mkdir -p ${dstdir}
install -m 644 ${srcdir}/openafs.o ${dstdir}
done
%endif
%clean
rm -f openafs-file-list
[ "$RPM_BUILD_ROOT" != "/" -a "x%{debugspec}" != "x1" ] && \
rm -fr $RPM_BUILD_ROOT
###############################################################################
###
### scripts
###
###############################################################################
%if %{build_userspace}
#sw %pre compat
#sw if [ -e /usr/afsws ]; then
#sw /bin/rm -fr /usr/afsws
#sw fi
%post
# If afs was configured already: don't touch
# if not add to config but disable
/sbin/chkconfig --list afs > /dev/null 2>&1
if [ $? -ne 0 ]; then
/sbin/chkconfig --add afs
# Add afs but put it off.
/sbin/chkconfig --level 345 afs off
fi
#if [ -x /usr/sbin/chstk ]; then
# /usr/sbin/chstk -e /sbin/insmod
#fi
%post client
if [ ! -d /afs ]; then
mkdir /afs
chown root.root /afs
chmod 0755 /afs
fi
echo
echo The AFS cache is configured for 100 MB. Edit the
echo /usr/vice/etc/cacheinfo file to change this before
echo running AFS for the first time. You should also
echo set your home cell in /usr/vice/etc/ThisCell.
echo
echo Also, you may want to edit /etc/pam.d/login and
echo possibly others there to get an AFS token on login.
echo Put the line:
echo
echo auth sufficient /lib/security/pam_afs.so try_first_pass ignore_root
echo
echo before the one for pwdb.
echo
%post server
if [ -f /etc/sysconfig/afs ] ; then
srv=`grep ^AFS_SERVER /etc/sysconfig/afs | sed 's/^AFS_SERVER[\s]*=[\s]*//'`
if [ "x$srv" = "xon" ] ; then
exit 0
fi
fi
echo
echo Be sure to edit /etc/sysconfig/afs and turn AFS_SERVER on
echo
%preun
if [ $1 = 0 ] ; then
%{initdir}/afs stop
chkconfig --del afs
[ -d /afs ] && rmdir /afs
fi
%endif
#build_userspace
%if %{build_modules}
%if %{mod_up}
%post -n kernel-module-openafs-%{kernel}
depmod -ae %{kernel} >/dev/null 2>&1 || :
%endif
%if %{mod_smp}
%ifarch ia64 ia32e
%post -n kernel-module-openafs-%{kernel}
depmod -ae %{kernel} >/dev/null 2>&1 || :
%else
%post -n kernel-module-openafs-%{kernel}smp
depmod -ae %{kernel}smp >/dev/null 2>&1 || :
%endif
%endif
%if %{mod_bigmem}
%post -n kernel-module-openafs-%{kernel}bigmem
depmod -ae %{kernel}bigmem >/dev/null 2>&1 || :
%endif
%if %{mod_hugemem}
%post -n kernel-module-openafs-%{kernel}hugemem
depmod -ae %{kernel}hugemem >/dev/null 2>&1 || :
%endif
%if %{mod_up}
%postun -n kernel-module-openafs-%{kernel}
depmod -ae %{kernel} >/dev/null 2>&1 || :
%endif
%if %{mod_smp}
%ifarch ia64 ia32e
%postun -n kernel-module-openafs-%{kernel}
depmod -ae %{kernel} >/dev/null 2>&1 || :
%else
%postun -n kernel-module-openafs-%{kernel}smp
depmod -ae %{kernel}smp >/dev/null 2>&1 || :
%endif
%endif
%if %{mod_bigmem}
%postun -n kernel-module-openafs-%{kernel}bigmem
depmod -ae %{kernel}bigmem >/dev/null 2>&1 || :
%endif
%if %{mod_hugemem}
%postun -n kernel-module-openafs-%{kernel}hugemem
depmod -ae %{kernel}hugemem >/dev/null 2>&1 || :
%endif
%endif
#build_modules
###############################################################################
###
### file lists
###
###############################################################################
%if %{build_userspace}
%files -f openafs-file-list
%defattr(-,root,root)
%config(noreplace) /etc/sysconfig/afs
%doc %{_docdir}/openafs-%{afsvers}
%{initdir}/afs
%files client
%defattr(-,root,root)
%dir %{_prefix}/vice
%dir %{_prefix}/vice/cache
%dir %{_prefix}/vice/etc
%config %{_prefix}/vice/etc/CellServDB
%config(noreplace) %{_prefix}/vice/etc/SuidCells
%config(noreplace) %{_prefix}/vice/etc/ThisCell
%config(noreplace) %{_prefix}/vice/etc/cacheinfo
%config(noreplace) %{_prefix}/vice/etc/CellAlias
%{_bindir}/cmdebug
%{_bindir}/up
%{_prefix}/vice/etc/afsd
%{_prefix}/vice/etc/killafs
%{pamdir}/pam_afs.krb.so.1
%{pamdir}/pam_afs.krb.so
%{pamdir}/pam_afs.so.1
%{pamdir}/pam_afs.so
%files server
%defattr(-,root,root)
%dir %{_prefix}/afs
%dir %{_prefix}/afs/bin
%dir %{_prefix}/afs/logs
%{_prefix}/afs/bin/bosserver
%{_prefix}/afs/bin/buserver
%{_prefix}/afs/bin/fileserver*
# Should we support KAServer?
%{_prefix}/afs/bin/kaserver
%{_prefix}/afs/bin/kpwvalid
%{_prefix}/afs/bin/pt_util
%{_prefix}/afs/bin/ptserver
%{_prefix}/afs/bin/salvager
%{_prefix}/afs/bin/upclient
%{_prefix}/afs/bin/upserver
%{_prefix}/afs/bin/vlserver
%{_prefix}/afs/bin/volinfo
%{_prefix}/afs/bin/volserver
%{_sbindir}/prdb_check
%{_sbindir}/vldb_check
%{_sbindir}/vldb_convert
%files devel
%defattr(-,root,root)
%{_bindir}/rxgen
%{_includedir}/afs
%{_includedir}/des.h
%{_includedir}/des_conf.h
%{_includedir}/des_odd.h
%{_includedir}/lock.h
%{_includedir}/lwp.h
%{_includedir}/mit-cpyright.h
%{_includedir}/potpourri.h
%{_includedir}/preempt.h
%{_includedir}/rx
%{_includedir}/timer.h
%{_includedir}/ubik.h
%{_includedir}/ubik_int.h
%{_libdir}/afs
%{_libdir}/libafsauthent.a
%{_libdir}/libafsrpc.a
%{_libdir}/libdes.a
%{_libdir}/liblwp.a
%{_libdir}/librx.a
%{_libdir}/librxkad.a
%{_libdir}/librxstat.a
%{_libdir}/libubik.a
%files kernel-source
%defattr(-,root,root)
%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
%{_prefix}/src/openafs-kernel-%{afsvers}/README
%{_prefix}/src/openafs-kernel-%{afsvers}/src
%files compat
%defattr(-,root,root)
%{_prefix}/afsws
%files kpasswd
%defattr(-,root,root)
%{_bindir}/kapasswd
%{_bindir}/kpasswd.openafs
%{_bindir}/kpwvalid
%files debug
%defattr(-,root,root)
%{_prefix}/afs/debug
%{_prefix}/vice/etc/C
%if %{krb5support}
%files krb5
%defattr(-,root,root)
%{_bindir}/aklog
%{_sbindir}/asetkey
%endif
%endif
%if %{build_modules}
%if %{mod_up}
%files -n kernel-module-openafs-%{kernel}
%defattr(-,root,root)
%{kxmoddir}/kernel/fs/openafs/openafs.o
%endif
%if %{mod_smp}
%ifarch ia64 ia32e
%files -n kernel-module-openafs-%{kernel}
%defattr(-,root,root)
%{kxmoddir}/kernel/fs/openafs/openafs.o
%else
%files -n kernel-module-openafs-%{kernel}smp
%defattr(-,root,root)
%{kxmoddir}smp/kernel/fs/openafs/openafs.o
%endif
%endif
%if %{mod_bigmem}
%files -n kernel-module-openafs-%{kernel}bigmem
%defattr(-,root,root)
%{kxmoddir}bigmem/kernel/fs/openafs/openafs.o
%endif
%if %{mod_hugemem}
%files -n kernel-module-openafs-%{kernel}hugemem
%defattr(-,root,root)
%{kxmoddir}hugemem/kernel/fs/openafs/openafs.o
%endif
%endif
###############################################################################
###
### openafs.spec change log
###
###############################################################################
%changelog
* Tue Feb 01 2005 Stephan Wiesand <[log in to unmask]> 15.11.SLZ
- build/collect extra debugging tools (package openafs-debug)
- install livesys, and replace sys by a hard link to it
- package fileserver.{lwp|pthread}, link fileserver -> fileserver.lwp
- removed pre-script in openafs-compat (doing rm -rf /usr/afsws)
- added a check to make sure krb5-config is from /usr/kerberos/bin
- added configure switches --enable-bitmap-later,
--enable-bos-restricted-mode, --enable-bos-new-config,
--enable-fast-restart, --enable-full-vos-listvol-switch
- make openafs-client require wget, since it is used in the init script
- modify the default client options with a perl statement in the spec
instead of in the tarball (allows building from pristine tarball again)
- make /etc/sysconfig/afs %config(noreplace)
- package /usr/vice/etc/C (afszcm.cat needed for reading dumps)
- handle ia32e module builds (mostly like ia64, but ...)
- add a /usr/vice/etc/CellAlias with comments explaining what to do with it
* Wed Jan 19 2005 Troy Dawson <[log in to unmask]> 15.11.SL
- Put LC_ALL=C into the startup server test. This helps with
internationalization. Submitted by Jaroslaw Polok
* Mon Jan 17 2005 Enrico M.V. Fasanelli <[log in to unmask]> 15.10.SL
- applied patch from Chris Wing for 64bit aklog & Co.
* Thu Aug 12 2004 Troy Dawson <[log in to unmask]> 15.7.SL
- Put -fakestat in as a default option
* Tue Aug 10 2004 Troy Dawson <[log in to unmask]> 15.6.SL
- Updated CellServDB
- Put -dynroot in as a default option
* Sat Jun 19 2004 Troy Dawson <[log in to unmask]> 15.4.SL
- Made more changes to startup script. Does sanity checks of ThisCell
* Fri Jun 18 2004 Troy Dawson <[log in to unmask]> 15.3.SL
- Made change to /etc/init.d/afs startup script
* Sun May 30 2004 [log in to unmask]
- rebuilt for Scientific Linux without site-specific setup
- kerberos 5 enabled in build
* Fri Apr 16 2004 [log in to unmask]
- changed packaging of modules again: to followup Fedora Core
(draft) rules and allow yum/apt/up2date to handle these
* Tue Apr 06 2004 [log in to unmask]
- changed packaging of modules
* Sun Feb 22 2004 [log in to unmask]
- Rebuilt for CERN E. Linux (ix86/ia64/x86_64)
* Thu Sep 4 2003 David Howells <[log in to unmask]>> 1.2.10-4
- don't use rpm from within spec file as this can cause problems
* Wed Sep 3 2003 David Howells <[log in to unmask]> 1.2.10-4
- added ia64 to the ExclusiveArch list
* Fri Aug 29 2003 <David Howells <[log in to unmask]>> 1.2.10-3
- get rid of a %%else that causes problems with rpm-4.0.4
* Fri Aug 22 2003 David Howells <[log in to unmask]> 1.2.10-3
- added rpmbuild cmdline defines to control which bits to build
* Wed Aug 20 2003 Nalin Dahyabhai <[log in to unmask]>
- obey CFLAGS set at configure-time on i386/x86_64 linux
- openafs-krb5: look in $krb5_prefix/lib64 for Kerberos libraries if they are
not found in $krb5_prefix/lib
- build the modules for PAM on x86_64
- when checking for res_search, try to link with it instead of checking for it
in libraries, in case it's a macro or redefined by a macro
- use %%{ix86} instead of %%{all_x86} where appropriate
- install AFS libraries into %%{_libdir} instead of %%{_prefix}/lib
* Fri Aug 15 2003 <David Howells <[log in to unmask]>> 1.2.10-3
- permit the kernel-to-build-against to be selected by cmdline argument to
rpmbuild if preferred
* Thu Aug 14 2003 Nalin Dahyabhai <[log in to unmask]>
- fix compilation of openafs-krb5 bits against krb5 1.3
* Mon Aug 11 2003 <David Howells <[log in to unmask]>> 1.2.10-2
- got rid of all rpmlint errors
- delete certain tags (Packager/Vendor/Distribution)
* Fri Aug 8 2003 <David Howells <[log in to unmask]>> 1.2.10-1
- Adapted OpenAFS version 1.2.10 to compile in beehive
--- src/venus/twiddle.c.orig 2003-10-12 15:33:58.000000000 +0200
+++ src/venus/twiddle.c 2003-10-12 15:34:32.000000000 +0200
@@ -30,8 +30,8 @@
#undef VICE
#include "afs/prs_fs.h"
#include <afs/afsint.h>
-#include <afs/auth.h>>
-#include <errno.h
+#include <afs/auth.h>
+#include <errno.h>
#include <afs/cellconfig.h>
#include <afs/cmd.h>
#include <strings.h>
|