redhat: avoid rpmbuild exclude directives
[openafs.git] / src / packaging / RedHat / openafs.spec.in
1 # Openafs Spec $Revision$
2
3 %define afsvers @VERSION@
4 %define pkgvers @LINUX_PKGVER@
5 # for beta/rc releases make pkgrel 0.<tag>
6 # for real releases make pkgrel 1 (or more for extra releases)
7 %define pkgrel @LINUX_PKGREL@
8
9 %{!?build_dkmspkg: %define build_dkmspkg 1}
10
11 #
12 # Determine presence of rpmbuild command line --define arguments and set
13 # defaults if not present.
14 #
15 %define kernvers_on_cmdline %{?kernvers:1}%{!?kernvers:0}
16 %define build_userspace_on_cmdline %{?build_userspace:1}%{!?build_userspace:0}
17 %define build_modules_on_cmdline %{?build_modules:1}%{!?build_modules:0}
18 %define debugspec_on_cmdline %{?debugspec:1}%{!?debugspec:0}
19
20 %if !%{kernvers_on_cmdline}
21 %define kernvers %(uname -r)
22 %endif
23 %if !%{build_userspace_on_cmdline}
24 %define build_userspace 1
25 %endif
26 %if !%{build_modules_on_cmdline}
27 %define build_modules 1
28 %endif
29 %if !%{debugspec_on_cmdline}
30 %define debugspec 0
31 %endif
32
33 # Specify '--with kauth' if you want to build packages containing the legacy
34 # kaserver and related programs.
35 %define kauth_support %{?_with_kauth:1}%{!?_with_kauth:0}
36
37 # Specify '--without authlibs' if you do not want to build the openafs-authlibs
38 # package.
39 %define build_authlibs %{?_without_authlibs:0}%{!?_without_authlibs:1}
40
41 # Specify '--without krb5' if you do not want to build the openafs-krb5 package
42 # to distribute aklog, asetkey, and akeyconvert.
43 %define krb5support %{?_without_krb5:0}%{!?_without_krb5:1}
44
45 # Specify '--with bootkernel' if you want to build the
46 # kernel module for Red Hat BOOT Kernels on x86.
47 %define bootkernelsupport %{?_with_bootkernel:1}%{!?_with_bootkernel:0}
48
49 #
50 # Definitions
51 #
52 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
53 %define depmod /usr/sbin/depmod
54 %else
55 %define depmod /sbin/depmod
56 %endif
57
58 %define kmodtool bash %{_sourcedir}/openafs-kmodtool
59
60 %define kmod_name openafs
61 %define kverrel %(%{kmodtool} verrel %{?kernvers} 2>/dev/null)
62
63 %define upvar ""
64 %{!?kvariants: %define kvariants %{?upvar}}
65
66 %if %{?ksrcdir:1}%{!?ksrcdir:0}
67   if ( -d %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}) ; then
68     %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
69   else
70     %define ksrcdir %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}}
71   fi
72 %endif
73
74 %define dkms_version %{pkgvers}-%{pkgrel}%{?dist}
75
76 # Define the location of your init.d directory
77 %define initdir /etc/rc.d/init.d
78
79 #determine if the kernel provides an arch-specific Provides
80 %define kprovidesarch %(%{kversis} provideskernelarch %{ksrcdir} %{_target_cpu})
81
82 # Define the location of the PAM security module directory
83 %define pamdir /%{_lib}/security
84
85 Summary: OpenAFS distributed filesystem
86 Name: openafs
87 Version: %{pkgvers}
88 Release: %{pkgrel}%{?dist}
89 License: IBM Public License
90 URL: http://www.openafs.org
91 BuildRoot: %{_tmppath}/%{name}-%{version}-root
92 Packager: OpenAFS Gatekeepers <openafs-gatekeepers@openafs.org>
93 Group: Networking/Filesystems
94 BuildRequires: %{?kdepend:%{kdepend}, } pam-devel, ncurses-devel, flex, bison
95 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
96 BuildRequires: systemd-units
97 %endif
98 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 6
99 BuildRequires: perl-devel
100 %endif
101 BuildRequires: perl(ExtUtils::Embed)
102 %if %{krb5support}
103 BuildRequires: krb5-devel
104 %endif
105 %if %{build_modules}
106 BuildRequires: kernel-devel
107 %endif
108
109 ExclusiveArch: %{ix86} x86_64 ia64 s390 s390x sparc64 ppc ppc64
110
111 #    http://dl.openafs.org/dl/openafs/candidate/%{afsvers}/...
112 Source0: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-src.tar.bz2
113 Source1: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-doc.tar.bz2
114 %define srcdir openafs-%{afsvers}
115
116 Source10: http://www.openafs.org/dl/openafs/%{afsvers}/RELNOTES-%{afsvers}
117 Source11: http://www.openafs.org/dl/openafs/%{afsvers}/ChangeLog
118
119 Source20: https://www.central.org/dl/cellservdb/CellServDB.2016-01-01
120
121 Source30: openafs-kernel-version.sh
122 Source996: openafs-kvers-is.sh
123 Source997: openafs-buildfedora.pl
124 Source998: openafs-buildall.sh
125 Source999: openafs-kmodtool
126
127 %description
128 The AFS distributed filesystem.  AFS is a distributed filesystem
129 allowing cross-platform sharing of files among multiple computers.
130 Facilities are provided for access control, authentication, backup and
131 administrative management.
132
133 This package provides common files shared across all the various
134 OpenAFS packages but are not necessarily tied to a client or server.
135
136 The OpenAFS SRPM can be rebuilt with the following options to control
137 what gets built:
138
139  --define "kernvers 3.19.3-100.fc20.i686" Specify the specific kernel version
140                                   to build modules against. The default is
141                                   to build against the currently-running
142                                   kernel.
143  --define "kbase /lib/modules/"   The base location to look for kernel headers
144  --define "kend /build"           The 'end' location to look for kernels
145                                   The build will define ksrvdir as
146                                   %%{kbase}<kernvers>%%{kend}
147
148  --without authlibs               Disable authlibs package (default: with authlibs)
149  --without krb5                   Disable krb5 support (default: with krb5)
150  --with bitmap-later              Enable "bitmap later" support
151  --with bos-restricted            Enable "bos restricted" mode
152  --with supergroups               Enable "supergroups"
153  --with kauth                     Build the openafs-kauth-server and openafs-kauth-client
154                                   packages which contain the legacy kaserver and
155                                   related programs. (default: --without kauth)
156
157  --target=i386                    The target architecture to build for.
158
159  --define "build_userspace 1"     Request building of userspace tools
160  --define "build_modules 1"       Request building of kernel modules
161                                   You probably never need to specify these.
162
163  --define "kmoddir /lib/modules"  This is the base location where modules
164                                   will be installed.  You probably don't
165                                   need to change this ever.
166
167  --define "kvariants <variants>"  When building Fedora style kernel modules,
168                                   this defines the set of kernel variants
169                                   to build.
170                                   <variants> is a space seperated list which
171                                   may contain one or more of
172                                   '' (for the generic kernel), smp, PAE, xen
173                                   or kdump
174
175 To a kernel module for your running kernel, just run:
176   rpmbuild --rebuild --target=`uname -m` openafs-%{pkgvers}-%{pkgrel}%{?dist}.src.rpm
177
178 ##############################################################################
179 #
180 # build the userspace side of things if so requested
181 #
182 ##############################################################################
183 %if %{build_userspace}
184
185 %package client
186 Requires: binutils, openafs = %{version}
187 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
188 Requires: systemd-units
189 Requires(post): systemd-units, systemd-sysv
190 Requires(preun): systemd-units
191 Requires(postun): systemd-units
192 %endif
193
194 Requires: %{name}-kmod >= %{version}
195 Provides: %{name}-kmod-common = %{version}
196
197 Summary: OpenAFS Filesystem Client
198 Group: Networking/Filesystem
199
200 %description client
201 The AFS distributed filesystem.  AFS is a distributed filesystem
202 allowing cross-platform sharing of files among multiple computers.
203 Facilities are provided for access control, authentication, backup and
204 administrative management.
205
206 This package provides basic client support to mount and manipulate
207 AFS.
208
209 %package server
210 Requires: openafs = %{version}
211 Summary: OpenAFS Filesystem Server
212 Group: Networking/Filesystems
213 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
214 Requires: systemd-units
215 Requires(post): systemd-units, systemd-sysv
216 Requires(preun): systemd-units
217 Requires(postun): systemd-units
218 %endif
219
220 %description server
221 The AFS distributed filesystem.  AFS is a distributed filesystem
222 allowing cross-platform sharing of files among multiple computers.
223 Facilities are provided for access control, authentication, backup and
224 administrative management.
225
226 This package provides basic server support to host files in an AFS
227 Cell.
228
229 %if %{build_dkmspkg}
230 %package -n dkms-%{name}
231 Summary:        DKMS-ready kernel source for AFS distributed filesystem
232 Group:          Development/Kernel
233 Provides:       openafs-kernel = %{version}
234 Provides: %{name}-kmod = %{version}
235 Requires(pre):  dkms
236 Requires(pre):  flex
237 Requires(post): dkms
238 Requires:       %{name}-kmod-common = %{version}
239
240 %description -n dkms-%{name}
241 The AFS distributed filesystem.  AFS is a distributed filesystem
242 allowing cross-platform sharing of files among multiple computers.
243 Facilities are provided for access control, authentication, backup and
244 administrative management.
245
246 This package provides the source code to allow DKMS to build an
247 AFS kernel module.
248 %endif
249
250 %if %{build_authlibs}
251 %package authlibs
252 Summary: OpenAFS authentication shared libraries
253 Group: Networking/Filesystems
254
255 %description authlibs
256 The AFS distributed filesystem.  AFS is a distributed filesystem
257 allowing cross-platform sharing of files among multiple computers.
258 Facilities are provided for access control, authentication, backup and
259 administrative management.
260
261 This package provides a shared version of libafsrpc and libafsauthent.
262 None of the programs included with OpenAFS currently use these shared
263 libraries; however, third-party software that wishes to perform AFS
264 authentication may link against them.
265 %endif
266
267 %package authlibs-devel
268 %if %{build_authlibs}
269 Requires: openafs-authlibs = %{version}-%{release}
270 %endif
271 Requires: openafs-devel = %{version}-%{release}
272 Summary: OpenAFS shared library development
273 Group: Development/Filesystems
274
275 %description authlibs-devel
276 The AFS distributed filesystem.  AFS is a distributed filesystem
277 allowing cross-platform sharing of files among multiple computers.
278 Facilities are provided for access control, authentication, backup and
279 administrative management.
280
281 This package includes the static versions of libafsrpc and
282 libafsauthent, and symlinks required for building against the dynamic
283 libraries.
284
285 %package devel
286 Summary: OpenAFS Development Libraries and Headers
287 Group: Development/Filesystems
288 Requires: openafs = %{version}-%{release}
289
290 %description devel
291 The AFS distributed filesystem.  AFS is a distributed filesystem
292 allowing cross-platform sharing of files among multiple computers.
293 Facilities are provided for access control, authentication, backup and
294 administrative management.
295
296 This package provides static development libraries and headers needed
297 to compile AFS applications.  Note: AFS currently does not provide
298 shared libraries.
299
300 %package docs
301 Summary: OpenAFS user and administrator documentation
302 Requires: openafs = %{version}-%{release}
303 Group: Networking/Filesystems
304
305 %description docs
306 The AFS distributed filesystem.  AFS is a distributed filesystem
307 allowing cross-platform sharing of files among multiple computers.
308 Facilities are provided for access control, authentication, backup and
309 administrative management.
310
311 This package provides HTML documentation for OpenAFS users and system
312 administrators.
313
314 %package kernel-source
315 Summary: OpenAFS Kernel Module source tree
316 Group: Networking/Filesystems
317 Provides: openafs-kernel = %{version}
318 Provides: %{name}-kmod = %{version}
319
320 %description kernel-source
321 The AFS distributed filesystem.  AFS is a distributed filesystem
322 allowing cross-platform sharing of files among multiple computers.
323 Facilities are provided for access control, authentication, backup and
324 administrative management.
325
326 This package provides the source code to build your own AFS kernel
327 module.
328
329 %package compat
330 Summary: OpenAFS client compatibility symlinks
331 Requires: openafs = %{version}, openafs-client = %{version}
332 Group: Networking/Filesystems
333 Obsoletes: openafs-client-compat
334
335 %description compat
336 The AFS distributed filesystem.  AFS is a distributed filesystem
337 allowing cross-platform sharing of files among multiple computers.
338 Facilities are provided for access control, authentication, backup and
339 administrative management.
340
341 This package provides compatibility symlinks in /usr/afsws.  It is
342 completely optional, and is only necessary to support legacy
343 applications and scripts that hard-code the location of AFS client
344 programs.
345
346 %if %{kauth_support}
347 %package kauth-client
348 Summary: OpenAFS Kauth Client support
349 Requires: openafs
350 Group: Networking/Filesystems
351
352 %description kauth-client
353 The AFS distributed filesystem.  AFS is a distributed filesystem
354 allowing cross-platform sharing of files among multiple computers.
355 Facilities are provided for access control, authentication, backup and
356 administrative management.
357
358 This package provides the legacy KAServer client programs and the PAM module
359 for authentication with the OpenAFS KAserver; a deprecated authentication
360 service.  Generally you should not install this package for new cells or for
361 cells using Kerberos v5.
362
363 %package kauth-server
364 Summary: OpenAFS Kauth Server support
365 Requires: openafs
366 Group: Networking/Filesystems
367
368 %description kauth-server
369 The AFS distributed filesystem.  AFS is a distributed filesystem
370 allowing cross-platform sharing of files among multiple computers.
371 Facilities are provided for access control, authentication, backup and
372 administrative management.
373
374 This package provides the legacy OpenAFS KAServer; a deprecated authentication
375 service. Generally you should not install this package for new cells or for
376 cells using Kerberos v5.
377 %endif
378
379 %if %{krb5support}
380 %package krb5
381 Summary: OpenAFS programs to use with krb5
382 Requires: openafs = %{version}
383 Group: Networking/Filesystems
384 BuildRequires: krb5-devel
385
386 %description krb5
387 The AFS distributed filesystem.  AFS is a distributed filesystem
388 allowing cross-platform sharing of files among multiple computers.
389 Facilities are provided for access control, authentication, backup and
390 administrative management.
391
392 This package provides compatibility programs so you can use krb5
393 to authenticate to AFS services, instead of using AFS's homegrown
394 krb4 lookalike services.
395 %endif
396
397 %endif
398
399 ##############################################################################
400 #
401 # build the kernel modules if so requested
402 #
403 ##############################################################################
404 %if %{build_modules}
405
406 %{expand:%(%{kmodtool} rpmtemplate %{kmod_name} %{kverrel} %{depmod} %{kvariants} 2>/dev/null)}
407
408 %endif
409
410 ##############################################################################
411 #
412 # PREP
413 #
414 ##############################################################################
415
416 %prep
417
418 : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
419 : @@@
420 : @@@ kernel version:     %{kernvers}
421 : @@@ kernel variations:  %{kvariants}
422 : @@@ PAM modules dir:    %{pamdir}
423 : @@@ build userspace:    %{build_userspace}
424 : @@@ build modules:      %{build_modules}
425 : @@@ arch:               %{_arch}
426 : @@@ target cpu:         %{_target_cpu}
427 : @@@
428 : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
429
430 # Install OpenAFS src and doc
431 #%setup -q -n %{srcdir}
432 %setup -q -b 1 -n %{srcdir}
433
434 ##############################################################################
435 #
436 # building
437 #
438 ##############################################################################
439 %build
440 case %{_arch} in
441        x86_64)                         sysname=amd64_linux26        ;;
442        alpha*)                         sysname=alpha_linux_26       ;;
443        i386|i486|i586|i686|athlon)     sysname=i386_linux26         ;;
444        *)                              sysname=%{_arch}_linux26     ;;
445 esac
446
447 %ifarch %{ix86}
448 archlist="i386 i586 i686 athlon"
449 %if %{bootkernelsupport}
450   archlist="${archlist} BOOT"
451 %endif
452 %else
453 archlist=%{_arch}
454 %endif
455
456 #
457 # PrintDefine var value statements file
458 #
459 PrintDefine() {
460     case $3 in
461     *ifn*)
462         echo "#ifndef $1" >> $4
463         ;;
464     esac
465     case $3 in
466     *und*)
467         echo "#undef $1" >> $4
468         ;;
469     esac
470     case $3 in
471     *def*)
472         echo "#define $1 $2" >> $4
473         ;;
474     esac
475     case $3 in
476     *end*)
477         echo "#endif" >> $4
478         ;;
479     esac
480     case $3 in
481     *inc*)
482         echo "#include $1" >> $4
483         ;;
484     esac
485     case $3 in
486     *nl*)
487         echo "" >> $4
488         ;;
489     esac
490 }
491
492 # PrintRedhatKernelFix arch mp file
493 PrintRedhatKernelFix() {
494     arch="$1"
495     up=0
496     smp=0
497     largesmp=0
498     ent=0
499     bigmem=0
500     hugemem=0
501     boot=0
502     bootsmp=0
503
504     case "$2" in
505        up)     up=1;;
506        smp)    smp=1;;
507        largesmp) largesmp=1;;
508        bigmem) bigmem=1;;
509        hugemem) hugemem=1;;
510        *)
511                echo "$2 not supported"
512                exit 2;;
513     esac
514
515     file="$3"
516
517     rm -f $file
518     touch $file
519
520     PrintDefine "REDHAT_FIX_H" "" ifn,def,nl $file
521
522     PrintDefine __BOOT_KERNEL_ENTERPRISE $ent     und,def,nl $file
523     PrintDefine __BOOT_KERNEL_BIGMEM     $bigmem  und,def,nl $file
524     PrintDefine __BOOT_KERNEL_HUGEMEM    $hugemem und,def,nl $file
525     PrintDefine __BOOT_KERNEL_SMP        $smp     und,def,nl $file
526     PrintDefine __BOOT_KERNEL_LARGESMP   $largesmp und,def,nl $file
527     PrintDefine __BOOT_KERNEL_UP         $up      und,def,nl $file
528     PrintDefine __BOOT_KERNEL_BOOT       $boot    und,def,nl $file
529     PrintDefine __BOOT_KERNEL_BOOTSMP    $bootsmp und,def,nl $file
530
531     PrintDefine '"/boot/kernel.h"' "" inc,nl $file      # include file
532
533     for ar in $archlist ; do
534         if [ "$ar" = "$arch" ]; then
535             PrintDefine "__MODULE_KERNEL_$ar" "1" ifn,def,end $file
536         else
537             PrintDefine "__MODULE_KERNEL_$ar" "" und $file      # undef
538         fi
539     done
540     echo "" >> $file
541
542     PrintDefine "" "" end $file
543
544     if [ %{debugspec} = 1 ] ; then
545         echo "Kernel Configuration File for Red Hat kernels:"
546         cat $file
547     fi
548 }
549
550 config_opts="--enable-redhat-buildsys \
551         %{?_with_kauth:--enable-kauth} \
552         %{?_with_bitmap_later:--enable-bitmap-later} \
553         %{?_with_bos_restricted:--enable-bos-restricted-mode} \
554         %{?_with_supergroups:--enable-supergroups} \
555         --enable-transarc-paths"
556
557 # Configure AFS
558
559 # If we're using Fedora kmods, work out which is the best kernel module to
560 # use for the userland configuration step. If no variants have been specified,
561 # then use the standard kernel. If variants are specified, use the standard kernel
562 # if it's listed, otherwise pick the first listed kernel.
563 ksrc=""
564 for kvariant in %{kvariants} ; do
565   if [ -z "${kvariant}" -o -z "$ksrc" ] ; then
566     if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
567       ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
568     elif [ -d %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant} ] ; then
569       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant}
570     else
571       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
572     fi
573   fi
574 done
575 if [ -z "$ksrc" ] ; then
576 ksrc=%{ksrcdir}
577 fi
578
579 CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
580
581 %if %{krb5support}
582 %if %{?krb5config:1}%{!?krb5config:0}
583 KRB5_CONFIG="%{krb5config}"
584 export KRB5_CONFIG
585 %endif
586 %endif
587
588 ./configure --with-afs-sysname=${sysname} \
589        --prefix=%{_prefix} \
590        --libdir=%{_libdir} \
591        --bindir=%{_bindir} \
592        --sbindir=%{_sbindir} \
593        --disable-strip-binaries \
594        --enable-debug \
595        --with-linux-kernel-packaging \
596 %if %{build_modules}
597        --with-linux-kernel-headers=${ksrc} \
598 %endif
599 %if %{krb5support}
600         --with-krb5 \
601 %endif
602        $config_opts \
603        || exit 1
604
605 # Build the libafs tree
606 make only_libafs_tree || exit 1
607
608 %if %{krb5support}
609 %if %{?krb5config:1}%{!?krb5config:0}
610 KRB5_CONFIG="%{krb5config}"
611 export KRB5_CONFIG
612 %endif
613 %endif
614
615 # Configure each of our kernel modules
616
617 %if %{build_modules}
618 for kvariant in %{kvariants} ; do
619   if [ -n "${kvariant}" ] ; then
620
621     if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
622       ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
623
624     elif [ -d %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant} ] ; then
625       # Fedora 20 started putting kernel sources in e.g.
626       # 3.12.5-302.fc20.i686+PAE, instead of:
627       # 3.12.5-302.fc20.i686.PAE
628       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant}
629
630     else
631       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
632     fi
633
634     cp -R libafs_tree _kmod_build_${kvariant}
635     pushd _kmod_build_${kvariant}
636     ./configure --with-afs-sysname=${sysname} \
637         --prefix=%{_prefix} \
638         --libdir=%{_libdir} \
639         --bindir=%{_bindir} \
640         --sbindir=%{_sbindir} \
641         --with-linux-kernel-packaging \
642         --with-linux-kernel-headers=${ksrc} \
643 %if %{krb5support}
644         --with-krb5 \
645 %endif
646         $config_opts \
647         || exit 1
648     popd
649   fi
650 done
651 %endif
652
653 %if %{build_userspace}
654 # Build the user-space AFS stuff
655 make all_nolibafs
656 %endif
657
658 %if %{build_modules}
659 for kvariant in %{kvariants}
660 do
661   if [ -n "${kvariant}" ] ; then
662     pushd _kmod_build_$kvariant;
663     make all
664     popd
665   else
666     make libafs
667   fi
668 done
669 %endif
670
671
672 ##############################################################################
673 ###
674 ### install
675 ###
676 ##############################################################################
677 %install
678
679 export DONT_GPRINTIFY=1 # Do not modify initscripts.
680
681 [ $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT
682
683 ##############################################################################
684 ###
685 ### Install userspace
686 ###
687 ##############################################################################
688 %if %{build_userspace}
689
690 #-----------------------------------------------------------------------------
691 # Install userspace files
692 #-----------------------------------------------------------------------------
693 make install_nolibafs DESTDIR="$RPM_BUILD_ROOT"
694
695 # Set the executable bit on libraries in libdir, so rpmbuild knows to
696 # create "Provides" entries in the package metadata for the libraries
697 chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so*
698
699 # Exclude duplicated files.
700 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/bos
701 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/fs
702 %if %{kauth_support}
703 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kas
704 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/klog
705 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/klog.krb
706 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kpwvalid
707 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens.krb
708 rm -f $RPM_BUILD_ROOT%{_sbindir}/kpwvalid
709 %endif
710 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/pts
711 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens
712 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/udebug
713 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/vos
714
715 # Exclude obsolete or unused files.
716 rm -f $RPM_BUILD_ROOT%{_bindir}/dlog
717 rm -f $RPM_BUILD_ROOT%{_bindir}/dpass
718 rm -f $RPM_BUILD_ROOT%{_bindir}/install
719 rm -f $RPM_BUILD_ROOT%{_bindir}/knfs
720 rm -f $RPM_BUILD_ROOT%{_bindir}/livesys
721 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kdb
722 rm -f $RPM_BUILD_ROOT%{_sbindir}/rmtsysd
723 rm -rf $RPM_BUILD_ROOT%{_sbindir}/kdump*
724 %if !%{build_authlibs}
725 rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so*
726 rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so*
727 rm -f $RPM_BUILD_ROOT%{_libdir}/libkopenafs.so*
728 %endif
729 rm -f $RPM_BUILD_ROOT%{_sbindir}/afsd.fuse
730 %if !%{kauth_support}
731 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens.krb
732 rm -f $RPM_BUILD_ROOT%{_bindir}/tokens.krb
733 rm -f $RPM_BUILD_ROOT%{_bindir}/pagsh.krb
734 %endif
735
736 # Relocate afsd to legacy path to match init scripts.
737 mv $RPM_BUILD_ROOT%{_sbindir}/afsd $RPM_BUILD_ROOT%{_prefix}/vice/etc/afsd
738
739 # Relocate admin utilities to a modern path.
740 %if %{kauth_support}
741 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/kadb_check $RPM_BUILD_ROOT%{_sbindir}/kadb_check
742 %endif
743 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/prdb_check $RPM_BUILD_ROOT%{_sbindir}/prdb_check
744 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/vldb_check $RPM_BUILD_ROOT%{_sbindir}/vldb_check
745 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/vldb_convert $RPM_BUILD_ROOT%{_sbindir}/vldb_convert
746 %if %{krb5support}
747 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/akeyconvert $RPM_BUILD_ROOT%{_sbindir}/akeyconvert
748 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/asetkey $RPM_BUILD_ROOT%{_sbindir}/asetkey
749 %endif
750
751 %if %{kauth_support}
752 # Relocate PAM files to the standard PAM module path.
753 mkdir -p $RPM_BUILD_ROOT%{pamdir}
754 mv $RPM_BUILD_ROOT%{_libdir}/pam_afs.krb.so $RPM_BUILD_ROOT%{pamdir}
755 mv $RPM_BUILD_ROOT%{_libdir}/pam_afs.so $RPM_BUILD_ROOT%{pamdir}
756 ln -sf pam_afs.so $RPM_BUILD_ROOT%{pamdir}/pam_afs.so.1
757 ln -sf pam_afs.krb.so $RPM_BUILD_ROOT%{pamdir}/pam_afs.krb.so.1
758
759 # Rename kpasswd to avoid conflicting with krb5 kpasswd.
760 mv $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kapasswd
761 mv $RPM_BUILD_ROOT%{_mandir}/man1/kpasswd.1 $RPM_BUILD_ROOT%{_mandir}/man1/kapasswd.1
762 %endif
763
764 # Exclude obsolete or unused man pages.
765 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_ftpd.1
766 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_inetd.1
767 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_login.1
768 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rcp.1
769 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rlogind.1
770 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rsh.1
771 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dkload.1
772 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/knfs.1
773 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/package.1
774 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/runntp.1
775 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink.1
776 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_list.1
777 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_make.1
778 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_remove.1
779 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dlog.*
780 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/copyauth.*
781 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dpass.*
782 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/livesys.*
783 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/afsd.fuse.8
784 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rmtsysd.*
785 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/aklog_dynamic_auth.*
786 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/kdb.*
787 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/xfs_size_check.*
788 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/package_test.*
789 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/package.*
790 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/package.*
791 %if !%{krb5support}
792 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/akeyconvert.*
793 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/asetkey.*
794 %endif
795 %if !%{kauth_support}
796 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pagsh.krb.1
797 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/tokens.krb.1
798 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/AuthLog.5
799 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/AuthLog.dir.5
800 %endif
801
802 #-----------------------------------------------------------------------------
803 # Install client and server initscripts/systemd files
804 #-----------------------------------------------------------------------------
805 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
806 install -m 755 src/packaging/RedHat/openafs.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/openafs
807 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
808 mkdir -p $RPM_BUILD_ROOT%{initdir}
809 install -m 755 src/packaging/RedHat/openafs-client.init $RPM_BUILD_ROOT%{initdir}/openafs-client
810 install -m 755 src/packaging/RedHat/openafs-server.init $RPM_BUILD_ROOT%{initdir}/openafs-server
811 %else
812 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
813 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
814 install -m 644 src/packaging/RedHat/openafs-client.service $RPM_BUILD_ROOT%{_unitdir}/openafs-client.service
815 install -m 755 src/packaging/RedHat/openafs-client.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/openafs-client.modules
816 install -m 644 src/packaging/RedHat/openafs-server.service $RPM_BUILD_ROOT%{_unitdir}/openafs-server.service
817 %endif
818
819 #-----------------------------------------------------------------------------
820 # Install server directories.
821 #-----------------------------------------------------------------------------
822 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/etc
823 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/logs
824
825 #-----------------------------------------------------------------------------
826 # Install client directories and config files.
827 #-----------------------------------------------------------------------------
828 mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/etc
829 mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/cache
830 chmod 700 $RPM_BUILD_ROOT%{_prefix}/vice/cache
831 install -p -m 644 src/packaging/RedHat/openafs-ThisCell $RPM_BUILD_ROOT%{_prefix}/vice/etc/ThisCell
832 install -p -m 644 %{SOURCE20} $RPM_BUILD_ROOT%{_prefix}/vice/etc/CellServDB.dist
833 install -p -m 644 src/packaging/RedHat/openafs-cacheinfo $RPM_BUILD_ROOT%{_prefix}/vice/etc/cacheinfo
834
835 #-----------------------------------------------------------------------------
836 # Install DKMS source.
837 #-----------------------------------------------------------------------------
838 install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/src
839 cp -a libafs_tree $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}
840
841 cat > $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}/dkms.conf <<"EOF"
842
843 PACKAGE_VERSION="%{dkms_version}"
844
845 # Items below here should not have to change with each driver version.
846 PACKAGE_NAME="%{name}"
847 MAKE[0]='./configure --with-linux-kernel-headers=${kernel_source_dir} --with-linux-kernel-packaging && make && case "${kernelver_array[0]}${kernelver[0]}" in 2.4.*) mv src/libafs/MODLOAD-*/libafs-* openafs.o ;; *) mv src/libafs/MODLOAD-*/openafs.ko . ;; esac'
848 CLEAN="make -C src/libafs clean"
849
850 BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
851 DEST_MODULE_LOCATION[0]="/kernel/3rdparty/$PACKAGE_NAME/"
852 STRIP[0]=no
853 AUTOINSTALL=yes
854
855 EOF
856
857 #-----------------------------------------------------------------------------
858 # Install the kernel module source tree.
859 #-----------------------------------------------------------------------------
860 mkdir -p $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
861 tar cf - -C libafs_tree . | \
862         tar xf - -C $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
863 install -m 644 LICENSE $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
864 install -m 644 src/packaging/RedHat/openafs-LICENSE.Sun $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
865 install -m 644 src/packaging/RedHat/openafs-README $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/README
866
867 #-----------------------------------------------------------------------------
868 # Install documentation.
869 #-----------------------------------------------------------------------------
870 mkdir -p $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
871 tar cf - -C doc LICENSE html pdf | \
872     tar xf - -C $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
873 install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
874 install -m 644 %{SOURCE11} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
875
876 #-----------------------------------------------------------------------------
877 # Install compatiblity links.
878 #-----------------------------------------------------------------------------
879 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afsws/bin
880 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afsws/etc
881 ln -sf %{_prefix}/bin/afsmonitor    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/afsmonitor
882 ln -sf %{_prefix}/bin/bos           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/bos
883 ln -sf %{_prefix}/bin/fs            $RPM_BUILD_ROOT%{_prefix}/afsws/bin/fs
884 %if %{kauth_support}
885 ln -sf %{_prefix}/bin/kapasswd      $RPM_BUILD_ROOT%{_prefix}/afsws/bin/kapasswd
886 ln -sf %{_prefix}/bin/klog          $RPM_BUILD_ROOT%{_prefix}/afsws/bin/klog
887 ln -sf %{_prefix}/bin/klog.krb      $RPM_BUILD_ROOT%{_prefix}/afsws/bin/klog.krb
888 ln -sf %{_prefix}/bin/pagsh.krb     $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pagsh.krb
889 ln -sf %{_prefix}/bin/tokens.krb    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/tokens.krb
890 %endif
891 ln -sf %{_prefix}/bin/pagsh         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pagsh
892 ln -sf %{_prefix}/bin/pts           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pts
893 ln -sf %{_prefix}/bin/restorevol    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/restorevol
894 ln -sf %{_prefix}/bin/scout         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/scout
895 ln -sf %{_prefix}/bin/sys           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/sys
896 ln -sf %{_prefix}/bin/tokens        $RPM_BUILD_ROOT%{_prefix}/afsws/bin/tokens
897 ln -sf %{_prefix}/bin/translate_et  $RPM_BUILD_ROOT%{_prefix}/afsws/bin/translate_et
898 ln -sf %{_prefix}/bin/xstat_cm_test $RPM_BUILD_ROOT%{_prefix}/afsws/bin/xstat_cm_test
899 ln -sf %{_prefix}/bin/xstat_fs_test $RPM_BUILD_ROOT%{_prefix}/afsws/bin/xstat_fs_test
900 ln -sf %{_prefix}/bin/udebug        $RPM_BUILD_ROOT%{_prefix}/afsws/bin/udebug
901 ln -sf %{_prefix}/bin/unlog         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/unlog
902 ln -sf %{_prefix}/sbin/backup       $RPM_BUILD_ROOT%{_prefix}/afsws/etc/backup
903 ln -sf %{_prefix}/sbin/butc         $RPM_BUILD_ROOT%{_prefix}/afsws/etc/butc
904 ln -sf %{_prefix}/sbin/fms          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/fms
905 ln -sf %{_prefix}/sbin/fstrace      $RPM_BUILD_ROOT%{_prefix}/afsws/etc/fstrace
906 %if %{kauth_support}
907 ln -sf %{_prefix}/sbin/kas          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/kas
908 %endif
909 ln -sf %{_prefix}/sbin/read_tape    $RPM_BUILD_ROOT%{_prefix}/afsws/etc/read_tape
910 ln -sf %{_prefix}/sbin/rxdebug      $RPM_BUILD_ROOT%{_prefix}/afsws/etc/rxdebug
911 ln -sf %{_prefix}/sbin/uss          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/uss
912 ln -sf %{_prefix}/sbin/vos          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/vos
913 ln -sf %{_prefix}/sbin/vsys         $RPM_BUILD_ROOT%{_prefix}/afsws/etc/vsys
914
915 %endif
916
917 ##############################################################################
918 ###
919 ### Install modules
920 ###
921 ##############################################################################
922 %if %{build_modules}
923
924 for kvariant in %{kvariants}
925 do
926   if [ -n "$kvariant" ] ; then
927     if [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP ] ; then
928       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
929       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
930     elif [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}+${kvariant}-SP ] ; then
931       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}+${kvariant}-SP
932       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}+${kvariant}/extra/openafs
933     else
934       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}.${kvariant}-SP
935       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}.${kvariant}/extra/openafs
936     fi
937   else
938     if [ -d src/libafs/MODLOAD-%{kverrel}-SP ] ; then
939       srcdir=src/libafs/MODLOAD-%{kverrel}-SP
940       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}/extra/openafs
941     else
942       srcdir=src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}-SP
943       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}/extra/openafs
944     fi
945   fi
946
947   mkdir -p ${dstdir}
948   install -m 755 ${srcdir}/openafs.ko ${dstdir}/openafs.ko
949 done
950 %endif
951
952 ##############################################################################
953 ###
954 ### clean
955 ###
956 ##############################################################################
957 %clean
958 [ "$RPM_BUILD_ROOT" != "/" -a "x%{debugspec}" != "x1" ] && \
959         rm -fr $RPM_BUILD_ROOT
960
961
962 ##############################################################################
963 ###
964 ### scripts
965 ###
966 ##############################################################################
967 %if %{build_userspace}
968
969 %pre compat
970 if [ -e %{_prefix}/afsws ]; then
971         /bin/rm -fr %{_prefix}/afsws
972 fi
973
974 %post client
975 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
976 chkconfig --add openafs-client
977 %else
978 if [ $1 -eq 1 ] ; then
979     # Initial installation
980     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
981 fi
982 %endif
983 if [ ! -d /afs ]; then
984         mkdir /afs
985         chown root.root /afs
986         chmod 0755 /afs
987         [ -x /sbin/restorecon ] && /sbin/restorecon /afs
988 fi
989
990 # Create the CellServDB
991 [ -f /usr/vice/etc/CellServDB.local ] || touch /usr/vice/etc/CellServDB.local
992
993 ( cd /usr/vice/etc ; \
994   if [ -h CellServDB ]; then \
995     rm -f CellServDB; \
996   fi; \
997   cat CellServDB.local CellServDB.dist > CellServDB ; \
998   chmod 644 CellServDB )
999
1000 %post server
1001 #on an upgrade, don't enable if we were disabled
1002 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1003 if [ $1 = 1 ] ; then
1004   chkconfig --add openafs-server
1005 fi
1006 %{initdir}/openafs-server condrestart
1007 %else
1008 if [ $1 -eq 1 ] ; then
1009     # Initial installation
1010     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1011 fi
1012 %endif
1013
1014 %if %{build_authlibs}
1015 %post authlibs
1016 /sbin/ldconfig
1017
1018 %postun authlibs
1019 /sbin/ldconfig
1020 %endif
1021
1022 %preun
1023 if [ $1 = 0 ] ; then
1024         [ -d /afs ] && rmdir /afs
1025         :
1026 fi
1027
1028 %preun client
1029 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1030 if [ $1 = 0 ] ; then
1031         %{initdir}/openafs-client stop
1032         chkconfig --del openafs-client
1033 fi
1034 %else
1035 if [ $1 -eq 0 ] ; then
1036         # Package removal, not upgrade
1037         /bin/systemctl --no-reload disable openafs-client.service > /dev/null 2>&1 || :
1038         /bin/systemctl stop openafs-client.service > /dev/null 2>&1 || :
1039 fi
1040 %endif
1041
1042 %preun server
1043 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1044 if [ $1 = 0 ] ; then
1045         %{initdir}/openafs-server stop
1046         chkconfig --del openafs-server
1047 fi
1048 %else
1049 if [ $1 -eq 0 ] ; then
1050         /bin/systemctl --no-reload disable openafs-server.service > /dev/null 2>&1 || :
1051         /bin/systemctl stop openafs-server.service > /dev/null 2>&1 || :
1052 fi
1053 %endif
1054
1055 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
1056 %postun client
1057 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1058
1059 %postun server
1060 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1061 %endif
1062
1063 %if %{build_dkmspkg}
1064 %post -n dkms-%{name}
1065 dkms add -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1066 dkms build -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1067 dkms install -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1068
1069 %preun -n dkms-%{name}
1070 dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
1071 %endif
1072 %endif
1073
1074 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
1075 %triggerun -- openafs-client < 1.6.0-1
1076 # Save the current service runlevel info
1077 # User must manually run systemd-sysv-convert --apply httpd
1078 # to migrate them to systemd targets
1079 /usr/bin/systemd-sysv-convert --save openafs-client >/dev/null 2>&1 ||:
1080
1081 # Run this because the SysV package being removed won't do it
1082 /sbin/chkconfig --del openafs-client >/dev/null 2>&1 || :
1083
1084 %triggerun -- openafs-server < 1.6.0-1
1085 # Save the current service runlevel info
1086 # User must manually run systemd-sysv-convert --apply httpd
1087 # to migrate them to systemd targets
1088 /usr/bin/systemd-sysv-convert --save openafs-server >/dev/null 2>&1 ||:
1089
1090 # Run this because the SysV package being removed won't do it
1091 /sbin/chkconfig --del openafs-server >/dev/null 2>&1 || :
1092 %endif
1093
1094 ##############################################################################
1095 ###
1096 ### file lists
1097 ###
1098 ##############################################################################
1099 %if %{build_userspace}
1100
1101 %files
1102 %defattr(-,root,root)
1103 %config(noreplace) /etc/sysconfig/openafs
1104 %doc %{_docdir}/openafs-%{afsvers}/LICENSE
1105 %{_bindir}/afsmonitor
1106 %{_bindir}/bos
1107 %{_bindir}/fs
1108 %{_bindir}/pagsh
1109 %{_bindir}/pts
1110 %{_bindir}/restorevol
1111 %{_bindir}/scout
1112 %{_bindir}/sys
1113 %{_bindir}/tokens
1114 %{_bindir}/translate_et
1115 %{_bindir}/xstat_cm_test
1116 %{_bindir}/xstat_fs_test
1117 %{_bindir}/udebug
1118 %{_bindir}/unlog
1119 %{_sbindir}/backup
1120 %{_sbindir}/butc
1121 %{_sbindir}/fms
1122 %{_sbindir}/fstrace
1123 %{_sbindir}/read_tape
1124 %{_sbindir}/rxdebug
1125 %{_sbindir}/uss
1126 %{_sbindir}/vos
1127 %{_sbindir}/vsys
1128 %{_libdir}/libafshcrypto.so.*
1129 %{_libdir}/librokenafs.so.*
1130 %{_mandir}/man1/afs.1.gz
1131 %{_mandir}/man1/afsmonitor.1.gz
1132 %{_mandir}/man1/fs.1.gz
1133 %{_mandir}/man1/fs_*.1.gz
1134 %{_mandir}/man1/pagsh.1.gz
1135 %{_mandir}/man1/pts.1.gz
1136 %{_mandir}/man1/pts_*.1.gz
1137 %{_mandir}/man1/restorevol.1.gz
1138 %{_mandir}/man1/rxdebug.1.gz
1139 %{_mandir}/man1/scout.1.gz
1140 %{_mandir}/man1/sys.1.gz
1141 %{_mandir}/man1/tokens.1.gz
1142 %{_mandir}/man1/translate_et.1.gz
1143 %{_mandir}/man1/udebug.1.gz
1144 %{_mandir}/man1/unlog.1.gz
1145 %{_mandir}/man1/vos.1.gz
1146 %{_mandir}/man1/vos_*.1.gz
1147 %{_mandir}/man1/xstat_cm_test.1.gz
1148 %{_mandir}/man1/xstat_fs_test.1.gz
1149 %{_mandir}/man5/CellServDB.5.gz
1150 %{_mandir}/man5/ThisCell.5.gz
1151 %{_mandir}/man5/afsmonitor.5.gz
1152 %{_mandir}/man5/butc.5.gz
1153 %{_mandir}/man5/butc_logs.5.gz
1154 %{_mandir}/man5/uss.5.gz
1155 %{_mandir}/man5/uss_bulk.5.gz
1156 %{_mandir}/man8/backup.8.gz
1157 %{_mandir}/man8/backup_*.8.gz
1158 %{_mandir}/man8/bos.8.gz
1159 %{_mandir}/man8/bos_*.8.gz
1160 %{_mandir}/man8/butc.8.gz
1161 %{_mandir}/man8/fms.8.gz
1162 %{_mandir}/man8/fstrace.8.gz
1163 %{_mandir}/man8/fstrace_*.8.gz
1164 %{_mandir}/man8/read_tape.8.gz
1165 %{_mandir}/man8/uss.8.gz
1166 %{_mandir}/man8/uss_*.8.gz
1167
1168 %files docs
1169 %defattr(-,root,root)
1170 %docdir %{_docdir}/openafs-%{afsvers}
1171 %dir %{_docdir}/openafs-%{afsvers}
1172 %{_docdir}/openafs-%{afsvers}/ChangeLog
1173 %{_docdir}/openafs-%{afsvers}/RELNOTES-%{afsvers}
1174 %{_docdir}/openafs-%{afsvers}/pdf
1175
1176 %files client
1177 %defattr(-,root,root)
1178 %dir %{_prefix}/vice
1179 %dir %{_prefix}/vice/cache
1180 %dir %{_prefix}/vice/etc
1181 %dir %{_prefix}/vice/etc/C
1182 %{_prefix}/vice/etc/CellServDB.dist
1183 %config(noreplace) %{_prefix}/vice/etc/ThisCell
1184 %config(noreplace) %{_prefix}/vice/etc/cacheinfo
1185 %{_bindir}/afsio
1186 %{_bindir}/cmdebug
1187 %{_bindir}/up
1188 %{_prefix}/vice/etc/afsd
1189 %{_prefix}/vice/etc/C/afszcm.cat
1190 %{_libdir}/libuafs.a
1191 %{_libdir}/libuafs_pic.a
1192 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1193 %{initdir}/openafs-client
1194 %else
1195 %{_unitdir}/openafs-client.service
1196 %{_sysconfdir}/sysconfig/modules/openafs-client.modules
1197 %endif
1198 %{_mandir}/man1/cmdebug.1.gz
1199 %{_mandir}/man1/up.1.gz
1200 %{_mandir}/man3/AFS::ukernel.3.gz
1201 %{_mandir}/man5/afs.5.gz
1202 %{_mandir}/man5/afs_cache.5.gz
1203 %{_mandir}/man5/afs_volume_header.5.gz
1204 %{_mandir}/man5/afszcm.cat.5.gz
1205 %{_mandir}/man5/cacheinfo.5.gz
1206 %{_mandir}/man8/afsd.8.gz
1207 %{_mandir}/man8/vsys.8.gz
1208 %{_mandir}/man5/CellAlias.5.gz
1209
1210 %files server
1211 %defattr(-,root,root)
1212 %dir %{_prefix}/afs
1213 %dir %{_prefix}/afs/bin
1214 %dir %{_prefix}/afs/etc
1215 %dir %{_prefix}/afs/logs
1216 %{_prefix}/afs/bin/bosserver
1217 %{_prefix}/afs/bin/bos_util
1218 %{_prefix}/afs/bin/buserver
1219 %{_prefix}/afs/bin/dafileserver
1220 %{_prefix}/afs/bin/dafssync-debug
1221 %{_prefix}/afs/bin/dasalvager
1222 %{_prefix}/afs/bin/davolserver
1223 %{_prefix}/afs/bin/fileserver
1224 %{_prefix}/afs/bin/fssync-debug
1225 %{_prefix}/afs/bin/pt_util
1226 %{_prefix}/afs/bin/ptserver
1227 %{_prefix}/afs/bin/salvager
1228 %{_prefix}/afs/bin/salvageserver
1229 %{_prefix}/afs/bin/salvsync-debug
1230 %{_prefix}/afs/bin/state_analyzer
1231 %{_prefix}/afs/bin/upclient
1232 %{_prefix}/afs/bin/upserver
1233 %{_prefix}/afs/bin/vlserver
1234 %{_prefix}/afs/bin/volinfo
1235 %{_prefix}/afs/bin/volscan
1236 %{_prefix}/afs/bin/volserver
1237 %{_sbindir}/prdb_check
1238 %{_sbindir}/vldb_check
1239 %{_sbindir}/vldb_convert
1240 %{_sbindir}/voldump
1241 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1242 %{initdir}/openafs-server
1243 %else
1244 %{_unitdir}/openafs-server.service
1245 %endif
1246 %{_mandir}/man5/BackupLog.5.gz
1247 %{_mandir}/man5/BosConfig.5.gz
1248 %{_mandir}/man5/BosLog.5.gz
1249 %{_mandir}/man5/FORCESALVAGE.5.gz
1250 %{_mandir}/man5/FileLog.5.gz
1251 %{_mandir}/man5/KeyFile.5.gz
1252 %{_mandir}/man5/KeyFileExt.5.gz
1253 %{_mandir}/man5/NetInfo.5.gz
1254 %{_mandir}/man5/NetRestrict.5.gz
1255 %{_mandir}/man5/NoAuth.5.gz
1256 %{_mandir}/man5/PtLog.5.gz
1257 %{_mandir}/man5/SALVAGE.fs.5.gz
1258 %{_mandir}/man5/SalvageLog.5.gz
1259 %{_mandir}/man5/sysid.5.gz
1260 %{_mandir}/man5/UserList.5.gz
1261 %{_mandir}/man5/VLLog.5.gz
1262 %{_mandir}/man5/VolserLog.5.gz
1263 %{_mandir}/man5/bdb.DB0.5.gz
1264 %{_mandir}/man5/fms.log.5.gz
1265 %{_mandir}/man5/krb.conf.5.gz
1266 %{_mandir}/man5/krb.excl.5.gz
1267 %{_mandir}/man5/prdb.DB0.5.gz
1268 %{_mandir}/man5/salvage.lock.5.gz
1269 %{_mandir}/man5/tapeconfig.5.gz
1270 %{_mandir}/man5/vldb.DB0.5.gz
1271 %{_mandir}/man8/bosserver.8.gz
1272 %{_mandir}/man8/buserver.8.gz
1273 %{_mandir}/man8/fileserver.8.gz
1274 %{_mandir}/man8/dafileserver.8.gz
1275 %{_mandir}/man8/dafssync-debug.8.gz
1276 %{_mandir}/man8/dafssync-debug_*.8.gz
1277 %{_mandir}/man8/dasalvager.8.gz
1278 %{_mandir}/man8/davolserver.8.gz
1279 %{_mandir}/man8/fssync-debug.8.gz
1280 %{_mandir}/man8/fssync-debug_*.8.gz
1281 %{_mandir}/man8/prdb_check.8.gz
1282 %{_mandir}/man8/ptserver.8.gz
1283 %{_mandir}/man8/pt_util.8.gz
1284 %{_mandir}/man8/salvager.8.gz
1285 %{_mandir}/man8/salvageserver.8.gz
1286 %{_mandir}/man8/state_analyzer.8.gz
1287 %{_mandir}/man8/upclient.8.gz
1288 %{_mandir}/man8/upserver.8.gz
1289 %{_mandir}/man8/vldb_check.8.gz
1290 %{_mandir}/man8/vldb_convert.8.gz
1291 %{_mandir}/man8/vlserver.8.gz
1292 %{_mandir}/man8/voldump.8.gz
1293 %{_mandir}/man8/volinfo.8.gz
1294 %{_mandir}/man8/volscan.8.gz
1295 %{_mandir}/man8/volserver.8.gz
1296
1297 %if %{build_authlibs}
1298 %files authlibs
1299 %defattr(-,root,root)
1300 %{_libdir}/libafsauthent.so.*
1301 %{_libdir}/libafsrpc.so.*
1302 %{_libdir}/libkopenafs.so.*
1303 %endif
1304
1305 %files authlibs-devel
1306 %defattr(-,root,root)
1307 %{_includedir}/kopenafs.h
1308 %{_libdir}/libafsauthent.a
1309 %{_libdir}/libafscp.a
1310 %{_libdir}/libafsrpc.a
1311 %{_libdir}/libafsauthent_pic.a
1312 %{_libdir}/libafsrpc_pic.a
1313 %{_libdir}/libkopenafs.a
1314 %if %{build_authlibs}
1315 %{_libdir}/libafsauthent.so
1316 %{_libdir}/libafsrpc.so
1317 %{_libdir}/libkopenafs.so
1318 %endif
1319
1320 %files devel
1321 %defattr(-,root,root)
1322 %{_bindir}/afs_compile_et
1323 %{_bindir}/rxgen
1324 %{_includedir}/afs
1325 %{_includedir}/lock.h
1326 %{_includedir}/lwp.h
1327 %{_includedir}/rx
1328 %{_includedir}/timer.h
1329 %{_includedir}/ubik.h
1330 %{_includedir}/ubik_int.h
1331 %{_includedir}/opr/queue.h
1332 %{_libdir}/afs
1333 %{_libdir}/libafshcrypto.a
1334 %{_libdir}/libafshcrypto.so
1335 %{_libdir}/libafsrfc3961.a
1336 %{_libdir}/liblwp.a
1337 %{_libdir}/libopr.a
1338 %{_libdir}/librokenafs.a
1339 %{_libdir}/librokenafs.so
1340 %{_libdir}/librx.a
1341 %{_libdir}/librxkad.a
1342 %{_libdir}/librxstat.a
1343 %{_libdir}/libubik.a
1344 %{_mandir}/man1/rxgen.1.gz
1345 %{_mandir}/man1/afs_compile_et.1.gz
1346
1347 %if %{build_dkmspkg}
1348 %files -n dkms-%{name}
1349 %defattr(-,root,root)
1350 %{_prefix}/src/%{name}-%{dkms_version}
1351 %endif
1352
1353 %files kernel-source
1354 %defattr(-,root,root)
1355 %{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
1356 %{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
1357 %{_prefix}/src/openafs-kernel-%{afsvers}/README
1358 %{_prefix}/src/openafs-kernel-%{afsvers}/src
1359
1360 %files compat
1361 %defattr(-,root,root)
1362 %{_prefix}/afsws/bin/afsmonitor
1363 %{_prefix}/afsws/bin/bos
1364 %{_prefix}/afsws/bin/fs
1365 %{_prefix}/afsws/bin/pagsh
1366 %{_prefix}/afsws/bin/pts
1367 %{_prefix}/afsws/bin/restorevol
1368 %{_prefix}/afsws/bin/scout
1369 %{_prefix}/afsws/bin/sys
1370 %{_prefix}/afsws/bin/tokens
1371 %{_prefix}/afsws/bin/translate_et
1372 %{_prefix}/afsws/bin/udebug
1373 %{_prefix}/afsws/bin/unlog
1374 %{_prefix}/afsws/bin/xstat_cm_test
1375 %{_prefix}/afsws/bin/xstat_fs_test
1376 %{_prefix}/afsws/etc/backup
1377 %{_prefix}/afsws/etc/butc
1378 %{_prefix}/afsws/etc/fms
1379 %{_prefix}/afsws/etc/fstrace
1380 %{_prefix}/afsws/etc/read_tape
1381 %{_prefix}/afsws/etc/rxdebug
1382 %{_prefix}/afsws/etc/uss
1383 %{_prefix}/afsws/etc/vos
1384 %{_prefix}/afsws/etc/vsys
1385 %if %{kauth_support}
1386 %{_prefix}/afsws/bin/pagsh.krb
1387 %{_prefix}/afsws/bin/tokens.krb
1388 %endif
1389
1390 %if %{kauth_support}
1391 %files kauth-client
1392 %defattr(-,root,root)
1393 %{_sbindir}/kas
1394 %{_bindir}/klog
1395 %{_bindir}/klog.krb
1396 %{pamdir}/pam_afs.krb.so.1
1397 %{pamdir}/pam_afs.krb.so
1398 %{pamdir}/pam_afs.so.1
1399 %{pamdir}/pam_afs.so
1400 %{_bindir}/kapasswd
1401 %{_bindir}/kpwvalid
1402 %{_bindir}/pagsh.krb
1403 %{_bindir}/tokens.krb
1404 %{_prefix}/afsws/bin/kapasswd
1405 %{_prefix}/afsws/bin/klog
1406 %{_prefix}/afsws/bin/klog.krb
1407 %{_prefix}/afsws/etc/kas
1408 %{_mandir}/man1/kapasswd.1.gz
1409 %{_mandir}/man1/klog.1.gz
1410 %{_mandir}/man1/klog.krb.1.gz
1411 %{_mandir}/man1/pagsh.krb.1.gz
1412 %{_mandir}/man1/tokens.krb.1.gz
1413 %{_mandir}/man8/kpwvalid.8.gz
1414 %{_mandir}/man8/kas.8.gz
1415 %{_mandir}/man8/kas_*.8.gz
1416
1417 %files kauth-server
1418 %defattr(-,root,root)
1419 %{_prefix}/afs/bin/kaserver
1420 %{_prefix}/afs/bin/ka-forwarder
1421 %{_sbindir}/kadb_check
1422 %{_mandir}/man5/AuthLog.5.gz
1423 %{_mandir}/man5/AuthLog.dir.5.gz
1424 %{_mandir}/man5/kaserver.DB0.5.gz
1425 %{_mandir}/man5/kaserverauxdb.5.gz
1426 %{_mandir}/man8/kadb_check.8.gz
1427 %{_mandir}/man8/ka-forwarder.8.gz
1428 %{_mandir}/man8/kaserver.8.gz
1429 %endif
1430
1431 %if %{krb5support}
1432 %files krb5
1433 %defattr(-,root,root)
1434 %{_bindir}/aklog
1435 %{_bindir}/klog.krb5
1436 %{_sbindir}/akeyconvert
1437 %{_sbindir}/asetkey
1438 %{_mandir}/man1/aklog.1.gz
1439 %{_mandir}/man1/klog.krb5.1.gz
1440 %{_mandir}/man8/akeyconvert.8.gz
1441 %{_mandir}/man8/asetkey.8.gz
1442 %endif
1443
1444 %endif
1445 ##############################################################################
1446 ###
1447 ### openafs.spec change log
1448 ###
1449 ##############################################################################
1450 %changelog
1451 * Wed Dec 12 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5
1452 - Make the RPM mockable
1453
1454 * Mon Oct 29 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5
1455 - Update to match the shipped 1.4.5 RPMS
1456 - Fix the kvariant stuff to only configure the 'standard' case once
1457 - Add openafs-kvers.sh back in
1458
1459 * Wed Oct 10 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5pre1-1
1460 - Use Fedora style kmods, which allows us to install multiple kernel types
1461
1462 * Thu Jun 07 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.4-3
1463 - Use distributed files, rather than those in packager's SOURCE directory
1464 - Remove SuidCells stuff, which was unused
1465
1466 * Fri Dec 01 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-2
1467 - integrate s390x changes
1468 - allow for building libafs*.a and not libafs*.so into packages, for platforms
1469   that won't build the .so files.
1470
1471 * Wed Aug 23 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-1
1472 - update to 1.4.2
1473 - use installed aklog manpage.
1474 - moduleparam patch obsoleted.
1475
1476 * Tue Aug 22 2006  Derek Atkins <warlord@MIT.EDU> 1.4.2-0.1.rc1
1477 - update to 1.4.2-rc1
1478 - hand-apply lee damon's changes to support largesmp kernels from RHEL4
1479   (but only add support for 2.6 kernels.  No need for the 2.4 kernels).
1480 - don't need the posixlock patch anymore.
1481
1482 * Wed Jul 12 2006  Derek Atkins <warlord@MIT.EDU> 1.4.2-0.beta2
1483 - update to 1.4.2-beta2
1484 - add linux2.4 posixlock API patch
1485
1486 * Mon Jun 26 2006  Derek Atkins <warlord@MIT.EDU>
1487 - moduleparam and krb524 patches no longer required in OA-CVS
1488
1489 * Wed May 17 2006  Derek Atkins <warlord@MIT.EDU>
1490 - change non-target-cpu kernel dep to a file dep
1491 - make sure we use the proper kernel version for the dependency.
1492
1493 * Tue May 16 2006  Derek Atkins <warlord@MIT.EDU>
1494 - allow users to specify local CellServDB and SuidCells entries
1495   don't overwrite user's changes.  Provide a .dist an let users
1496   make entries in a ".local"
1497 - build the CellServDB and SuidCells at client startup and at
1498   client install-time
1499 - add provideskernelarch functionality to openafs-kvers-is.sh
1500 - use that functionality to Require kernel{,-<type>}-targetcpu
1501   to get better package safety due to RPM bugs where the kernel
1502   release isn't used so you can install the kernel module against
1503   any kernel of the same major version.
1504
1505 * Mon May 15 2006  Derek Atkins <warlord@MIT.EDU>
1506 - update the README in openafs-kernel-source
1507 - fix openafs-kvers-is.sh from Alexander Bergolth's patch.
1508 - move kernel module from .../kernel/fs/openafs to .../fs/openafs/
1509
1510 * Fri Apr 21 2006  Derek Atkins <warlord@MIT.EDU>
1511 - build requires autoconf and automake for krb5support
1512   and autoconf for standard package
1513 - dont setup the krb5 migration kit (or patches) if we don't care.
1514 - require ncurses-devel to build
1515
1516 * Wed Apr 19 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-3
1517 - look for krb524 functions in libkrb524 if we can't find them
1518   in the standard locations.
1519
1520 * Tue Apr 18 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-2
1521 - fix the module_param_array macro for Linux 2.6.9.
1522
1523 * Sat Apr 15 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-1
1524 - update to 1.4.1 release.
1525 - distribute asetkey from openafs instead of krb5-migration kit
1526 - don't need to apply the FC5 patches because they are part of the distro.
1527 - install asetkey into the "proper" place
1528 - dont list a manpage twice.
1529 - package asetkey man page.  delete it when not needed.
1530
1531 * Thu Apr  6 2006  Derek Atkins <warlord@MIT.EDU>
1532 - turn authlibs back on, because RT #18767 was applied to CVS.
1533
1534 * Wed Mar 29 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1rc10-1
1535 - update to 1.4.1rc10, build on FC5
1536 - fix the man pages (distribute into various packages)
1537 - include patches for FC5, RT #29112 and #29122
1538
1539 * Mon Dec 19 2005  Derek Atkins <warlord@MIT.EDU>
1540 - openafs-server shouldn't depend on the kernel module.
1541
1542 * Thu Nov 17 2005  Derek Atkins <warlord@MIT.EDU>
1543 - patch from Mike Polek <mike at pictage.com> to run depmod for
1544   the target kernel and not the running kernel.
1545
1546 * Tue Nov  8 2005  Derek Atkins <warlord@MIT.EDU>
1547 - build aklog from the openafs sources, not from the krb5 migration kit.
1548
1549 * Fri Nov  4 2005  Derek Atkins <warlord@MIT.EDU>
1550 - set openafs-kernel-source to Provide openafs-kernel
1551
1552 * Thu Oct 20 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0-1
1553 - update afs-krb5 res_search patch: look for res_search and __res_search
1554 - update to 1.4.0 final
1555
1556 * Mon Oct 10 2005  Derek Atkins <warlord@MIT.EDU>
1557 - remove all kdump builds.
1558
1559 * Thu Oct  6 2005  Derek Atkins <warlord@MIT.EDU>
1560 - fix openafs-kernel-version.sh so it will build an RPM for the
1561   currently-running kernel even if it's smp on 2.6.
1562
1563 * Tue Sep 27 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc5-1
1564 - upgrade to 1.4.0rc5
1565 - turn off authlibs packages
1566
1567 * Fri Sep 23 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc4-2
1568 - add kmodule26 patch: fix the kernel module name on 2.6 kernels so
1569   it's called "openafs" and not "libafs".  This fixes the shutdown
1570   problem.
1571
1572 * Thu Sep 22 2005  Derek Atkins <warlord@MIT.EDU>
1573 - update kversis script, add 'kvers' operation
1574 - fix bug that 2.6 smp/hugemem kernels don't provide
1575   kernel-foo = %{kernvers} with 'smp', 'hugemem', etc.
1576 - add patch to remove res_search from the afs-krb5 configure
1577
1578 * Thu Sep 15 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc4-1
1579 - Update to 1.4.0rc4
1580 - Update the afs-krb5 krb524 patch so it actually works on
1581   some older systems like RHEL3 that still need -lkrb524.
1582 - Update the buildall script so choose better architecture support,
1583   e.g. don't build i586 on RHEL.
1584 - Update the rebuild information in the SPEC file.
1585 - Add support for finding .EL kernels in openafs-kvers-is.sh
1586 - Add additional error messages when kernel version/type parsing fails.
1587 - Update the buildall script to use the kernel srcdir directly.
1588
1589 * Wed Sep 14 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc3-2
1590 - Add "hugemem" to 2.4 configs
1591 - Add checks to support scripts to determine whether to build
1592   the bigmem and/or hugemem kernels for 2.4.
1593
1594 * Mon Sep 12 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc3-1
1595 - Added some afs-krb5 patches to get the migration kit to build
1596   on modern AFS and modern Kerberos.
1597 - Added authlibs and authlibs-devel packages as per UMich changes.
1598
1599 * Sun Sep 11 2005  Derek Atkins <warlord@MIT.EDU>
1600 - Merged in some of the 2.6 changes from wingc@engin.umich.edu
1601
1602 * Sat Sep 10 2005  Derek Atkins <warlord@MIT.EDU>
1603 - Merged in lots of changes from David Howells and Nalin Dahyabhai
1604   from Red Hat.   Initial attempt at a release of 1.4.  Still need
1605   to work in a 2.6 build system.