SCIENTIFIC-LINUX-DEVEL Archives

February 2005

SCIENTIFIC-LINUX-DEVEL@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stephan Wiesand <[log in to unmask]>
Reply To:
Stephan Wiesand <[log in to unmask]>
Date:
Tue, 1 Feb 2005 15:06:13 +0100
Content-Type:
multipart/mixed
Parts/Attachments:
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>

ATOM RSS1 RSS2