71e462590049b3ab7b115a8fab87efdd6fbaf208
[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, swig
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 aarch64
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.2017-03-14
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        aarch64)                        sysname=arm64_linux26        ;;
445        *)                              sysname=%{_arch}_linux26     ;;
446 esac
447
448 %ifarch %{ix86}
449 archlist="i386 i586 i686 athlon"
450 %if %{bootkernelsupport}
451   archlist="${archlist} BOOT"
452 %endif
453 %else
454 archlist=%{_arch}
455 %endif
456
457 #
458 # PrintDefine var value statements file
459 #
460 PrintDefine() {
461     case $3 in
462     *ifn*)
463         echo "#ifndef $1" >> $4
464         ;;
465     esac
466     case $3 in
467     *und*)
468         echo "#undef $1" >> $4
469         ;;
470     esac
471     case $3 in
472     *def*)
473         echo "#define $1 $2" >> $4
474         ;;
475     esac
476     case $3 in
477     *end*)
478         echo "#endif" >> $4
479         ;;
480     esac
481     case $3 in
482     *inc*)
483         echo "#include $1" >> $4
484         ;;
485     esac
486     case $3 in
487     *nl*)
488         echo "" >> $4
489         ;;
490     esac
491 }
492
493 # PrintRedhatKernelFix arch mp file
494 PrintRedhatKernelFix() {
495     arch="$1"
496     up=0
497     smp=0
498     largesmp=0
499     ent=0
500     bigmem=0
501     hugemem=0
502     boot=0
503     bootsmp=0
504
505     case "$2" in
506        up)     up=1;;
507        smp)    smp=1;;
508        largesmp) largesmp=1;;
509        bigmem) bigmem=1;;
510        hugemem) hugemem=1;;
511        *)
512                echo "$2 not supported"
513                exit 2;;
514     esac
515
516     file="$3"
517
518     rm -f $file
519     touch $file
520
521     PrintDefine "REDHAT_FIX_H" "" ifn,def,nl $file
522
523     PrintDefine __BOOT_KERNEL_ENTERPRISE $ent     und,def,nl $file
524     PrintDefine __BOOT_KERNEL_BIGMEM     $bigmem  und,def,nl $file
525     PrintDefine __BOOT_KERNEL_HUGEMEM    $hugemem und,def,nl $file
526     PrintDefine __BOOT_KERNEL_SMP        $smp     und,def,nl $file
527     PrintDefine __BOOT_KERNEL_LARGESMP   $largesmp und,def,nl $file
528     PrintDefine __BOOT_KERNEL_UP         $up      und,def,nl $file
529     PrintDefine __BOOT_KERNEL_BOOT       $boot    und,def,nl $file
530     PrintDefine __BOOT_KERNEL_BOOTSMP    $bootsmp und,def,nl $file
531
532     PrintDefine '"/boot/kernel.h"' "" inc,nl $file      # include file
533
534     for ar in $archlist ; do
535         if [ "$ar" = "$arch" ]; then
536             PrintDefine "__MODULE_KERNEL_$ar" "1" ifn,def,end $file
537         else
538             PrintDefine "__MODULE_KERNEL_$ar" "" und $file      # undef
539         fi
540     done
541     echo "" >> $file
542
543     PrintDefine "" "" end $file
544
545     if [ %{debugspec} = 1 ] ; then
546         echo "Kernel Configuration File for Red Hat kernels:"
547         cat $file
548     fi
549 }
550
551 config_opts="--enable-redhat-buildsys \
552         %{?_with_kauth:--enable-kauth} \
553         %{?_with_bitmap_later:--enable-bitmap-later} \
554         %{?_with_bos_restricted:--enable-bos-restricted-mode} \
555         %{?_with_supergroups:--enable-supergroups} \
556         --enable-transarc-paths"
557
558 # Configure AFS
559
560 # If we're using Fedora kmods, work out which is the best kernel module to
561 # use for the userland configuration step. If no variants have been specified,
562 # then use the standard kernel. If variants are specified, use the standard kernel
563 # if it's listed, otherwise pick the first listed kernel.
564 ksrc=""
565 for kvariant in %{kvariants} ; do
566   if [ -z "${kvariant}" -o -z "$ksrc" ] ; then
567     if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
568       ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
569     elif [ -d %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant} ] ; then
570       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant}
571     else
572       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
573     fi
574   fi
575 done
576 if [ -z "$ksrc" ] ; then
577 ksrc=%{ksrcdir}
578 fi
579
580 CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
581
582 %if %{krb5support}
583 %if %{?krb5config:1}%{!?krb5config:0}
584 KRB5_CONFIG="%{krb5config}"
585 export KRB5_CONFIG
586 %endif
587 %endif
588
589 ./configure --with-afs-sysname=${sysname} \
590        --prefix=%{_prefix} \
591        --libdir=%{_libdir} \
592        --bindir=%{_bindir} \
593        --sbindir=%{_sbindir} \
594        --disable-strip-binaries \
595        --enable-debug \
596        --with-linux-kernel-packaging \
597 %if %{build_modules}
598        --with-linux-kernel-headers=${ksrc} \
599 %endif
600 %if %{krb5support}
601         --with-krb5 \
602 %endif
603 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 6
604     --with-swig \
605 %else
606     --without-swig \
607 %endif
608        $config_opts \
609        || exit 1
610
611 # Build the libafs tree
612 make only_libafs_tree || exit 1
613
614 %if %{krb5support}
615 %if %{?krb5config:1}%{!?krb5config:0}
616 KRB5_CONFIG="%{krb5config}"
617 export KRB5_CONFIG
618 %endif
619 %endif
620
621 # Configure each of our kernel modules
622
623 %if %{build_modules}
624 for kvariant in %{kvariants} ; do
625   if [ -n "${kvariant}" ] ; then
626
627     if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
628       ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
629
630     elif [ -d %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant} ] ; then
631       # Fedora 20 started putting kernel sources in e.g.
632       # 3.12.5-302.fc20.i686+PAE, instead of:
633       # 3.12.5-302.fc20.i686.PAE
634       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:++$kvariant}
635
636     else
637       ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
638     fi
639
640     cp -R libafs_tree _kmod_build_${kvariant}
641     pushd _kmod_build_${kvariant}
642     ./configure --with-afs-sysname=${sysname} \
643         --prefix=%{_prefix} \
644         --libdir=%{_libdir} \
645         --bindir=%{_bindir} \
646         --sbindir=%{_sbindir} \
647         --with-linux-kernel-packaging \
648         --with-linux-kernel-headers=${ksrc} \
649 %if %{krb5support}
650         --with-krb5 \
651 %endif
652         $config_opts \
653         || exit 1
654     popd
655   fi
656 done
657 %endif
658
659 %if %{build_userspace}
660 # Build the user-space AFS stuff
661 make all_nolibafs
662 %endif
663
664 %if %{build_modules}
665 for kvariant in %{kvariants}
666 do
667   if [ -n "${kvariant}" ] ; then
668     pushd _kmod_build_$kvariant;
669     make all
670     popd
671   else
672     make libafs
673   fi
674 done
675 %endif
676
677
678 ##############################################################################
679 ###
680 ### install
681 ###
682 ##############################################################################
683 %install
684
685 export DONT_GPRINTIFY=1 # Do not modify initscripts.
686
687 [ $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT
688
689 ##############################################################################
690 ###
691 ### Install userspace
692 ###
693 ##############################################################################
694 %if %{build_userspace}
695
696 #-----------------------------------------------------------------------------
697 # Install userspace files
698 #-----------------------------------------------------------------------------
699 make install_nolibafs DESTDIR="$RPM_BUILD_ROOT"
700
701 # Set the executable bit on libraries in libdir, so rpmbuild knows to
702 # create "Provides" entries in the package metadata for the libraries
703 chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so*
704
705 # Exclude duplicated files.
706 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/bos
707 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/fs
708 %if %{kauth_support}
709 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kas
710 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/klog
711 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/klog.krb
712 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kpwvalid
713 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens.krb
714 rm -f $RPM_BUILD_ROOT%{_sbindir}/kpwvalid
715 %endif
716 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/pts
717 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens
718 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/udebug
719 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/vos
720
721 # Exclude obsolete or unused files.
722 rm -f $RPM_BUILD_ROOT%{_bindir}/dlog
723 rm -f $RPM_BUILD_ROOT%{_bindir}/dpass
724 rm -f $RPM_BUILD_ROOT%{_bindir}/install
725 rm -f $RPM_BUILD_ROOT%{_bindir}/knfs
726 rm -f $RPM_BUILD_ROOT%{_bindir}/livesys
727 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/kdb
728 rm -f $RPM_BUILD_ROOT%{_sbindir}/rmtsysd
729 rm -rf $RPM_BUILD_ROOT%{_sbindir}/kdump*
730 %if !%{build_authlibs}
731 rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so*
732 rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so*
733 rm -f $RPM_BUILD_ROOT%{_libdir}/libkopenafs.so*
734 %endif
735 rm -f $RPM_BUILD_ROOT%{_sbindir}/afsd.fuse
736 %if !%{kauth_support}
737 rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/tokens.krb
738 rm -f $RPM_BUILD_ROOT%{_bindir}/tokens.krb
739 rm -f $RPM_BUILD_ROOT%{_bindir}/pagsh.krb
740 %endif
741
742 # Relocate afsd to legacy path to match init scripts.
743 mv $RPM_BUILD_ROOT%{_sbindir}/afsd $RPM_BUILD_ROOT%{_prefix}/vice/etc/afsd
744
745 # Relocate admin utilities to a modern path.
746 %if %{kauth_support}
747 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/kadb_check $RPM_BUILD_ROOT%{_sbindir}/kadb_check
748 %endif
749 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/prdb_check $RPM_BUILD_ROOT%{_sbindir}/prdb_check
750 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/vldb_check $RPM_BUILD_ROOT%{_sbindir}/vldb_check
751 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/vldb_convert $RPM_BUILD_ROOT%{_sbindir}/vldb_convert
752 %if %{krb5support}
753 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/akeyconvert $RPM_BUILD_ROOT%{_sbindir}/akeyconvert
754 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/asetkey $RPM_BUILD_ROOT%{_sbindir}/asetkey
755 %endif
756
757 %if %{kauth_support}
758 # Relocate PAM files to the standard PAM module path.
759 mkdir -p $RPM_BUILD_ROOT%{pamdir}
760 mv $RPM_BUILD_ROOT%{_libdir}/pam_afs.krb.so $RPM_BUILD_ROOT%{pamdir}
761 mv $RPM_BUILD_ROOT%{_libdir}/pam_afs.so $RPM_BUILD_ROOT%{pamdir}
762 ln -sf pam_afs.so $RPM_BUILD_ROOT%{pamdir}/pam_afs.so.1
763 ln -sf pam_afs.krb.so $RPM_BUILD_ROOT%{pamdir}/pam_afs.krb.so.1
764
765 # Rename kpasswd to avoid conflicting with krb5 kpasswd.
766 mv $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kapasswd
767 mv $RPM_BUILD_ROOT%{_mandir}/man1/kpasswd.1 $RPM_BUILD_ROOT%{_mandir}/man1/kapasswd.1
768 %endif
769
770 # Exclude obsolete or unused man pages.
771 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_ftpd.1
772 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_inetd.1
773 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_login.1
774 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rcp.1
775 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rlogind.1
776 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/afs_rsh.1
777 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dkload.1
778 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/knfs.1
779 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/package.1
780 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/runntp.1
781 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink.1
782 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_list.1
783 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_make.1
784 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/symlink_remove.1
785 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dlog.*
786 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/copyauth.*
787 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dpass.*
788 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/livesys.*
789 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/afsd.fuse.8
790 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rmtsysd.*
791 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/aklog_dynamic_auth.*
792 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/kdb.*
793 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/xfs_size_check.*
794 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/package_test.*
795 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/package.*
796 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/package.*
797 %if !%{krb5support}
798 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/akeyconvert.*
799 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/asetkey.*
800 %endif
801 %if !%{kauth_support}
802 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pagsh.krb.1
803 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/tokens.krb.1
804 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/AuthLog.5
805 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/AuthLog.dir.5
806 %endif
807 %if !(0%{?fedora} >= 15 || 0%{?rhel} >= 6)
808 rm -f %{_mandir}/man3/AFS::ukernel.3
809 %endif
810
811 #-----------------------------------------------------------------------------
812 # Install client and server initscripts/systemd files
813 #-----------------------------------------------------------------------------
814 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
815 install -m 755 src/packaging/RedHat/openafs.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/openafs
816 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
817 mkdir -p $RPM_BUILD_ROOT%{initdir}
818 install -m 755 src/packaging/RedHat/openafs-client.init $RPM_BUILD_ROOT%{initdir}/openafs-client
819 install -m 755 src/packaging/RedHat/openafs-server.init $RPM_BUILD_ROOT%{initdir}/openafs-server
820 %else
821 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
822 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
823 install -m 644 src/packaging/RedHat/openafs-client.service $RPM_BUILD_ROOT%{_unitdir}/openafs-client.service
824 install -m 755 src/packaging/RedHat/openafs-client.modules $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/openafs-client.modules
825 install -m 644 src/packaging/RedHat/openafs-server.service $RPM_BUILD_ROOT%{_unitdir}/openafs-server.service
826 %endif
827
828 #-----------------------------------------------------------------------------
829 # Install server directories.
830 #-----------------------------------------------------------------------------
831 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/etc
832 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afs/logs
833
834 #-----------------------------------------------------------------------------
835 # Install client directories and config files.
836 #-----------------------------------------------------------------------------
837 mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/etc
838 mkdir -p $RPM_BUILD_ROOT%{_prefix}/vice/cache
839 chmod 700 $RPM_BUILD_ROOT%{_prefix}/vice/cache
840 install -p -m 644 src/packaging/RedHat/openafs-ThisCell $RPM_BUILD_ROOT%{_prefix}/vice/etc/ThisCell
841 install -p -m 644 %{SOURCE20} $RPM_BUILD_ROOT%{_prefix}/vice/etc/CellServDB.dist
842 install -p -m 644 src/packaging/RedHat/openafs-cacheinfo $RPM_BUILD_ROOT%{_prefix}/vice/etc/cacheinfo
843
844 #-----------------------------------------------------------------------------
845 # Install DKMS source.
846 #-----------------------------------------------------------------------------
847 install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/src
848 cp -a libafs_tree $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}
849
850 cat > $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}/dkms.conf <<"EOF"
851
852 PACKAGE_VERSION="%{dkms_version}"
853
854 # Items below here should not have to change with each driver version.
855 PACKAGE_NAME="%{name}"
856 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'
857 CLEAN="make -C src/libafs clean"
858
859 BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
860 DEST_MODULE_LOCATION[0]="/kernel/3rdparty/$PACKAGE_NAME/"
861 STRIP[0]=no
862 AUTOINSTALL=yes
863
864 EOF
865
866 #-----------------------------------------------------------------------------
867 # Install the kernel module source tree.
868 #-----------------------------------------------------------------------------
869 mkdir -p $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
870 tar cf - -C libafs_tree . | \
871         tar xf - -C $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/src
872 install -m 644 LICENSE $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
873 install -m 644 src/packaging/RedHat/openafs-LICENSE.Sun $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
874 install -m 644 src/packaging/RedHat/openafs-README $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/README
875
876 #-----------------------------------------------------------------------------
877 # Install documentation.
878 #-----------------------------------------------------------------------------
879 mkdir -p $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
880 tar cf - -C doc LICENSE html pdf | \
881     tar xf - -C $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
882 install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
883 install -m 644 %{SOURCE11} $RPM_BUILD_ROOT/$RPM_DOC_DIR/openafs-%{afsvers}
884
885 #-----------------------------------------------------------------------------
886 # Install compatiblity links.
887 #-----------------------------------------------------------------------------
888 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afsws/bin
889 mkdir -p $RPM_BUILD_ROOT%{_prefix}/afsws/etc
890 ln -sf %{_prefix}/bin/afsmonitor    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/afsmonitor
891 ln -sf %{_prefix}/bin/bos           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/bos
892 ln -sf %{_prefix}/bin/fs            $RPM_BUILD_ROOT%{_prefix}/afsws/bin/fs
893 %if %{kauth_support}
894 ln -sf %{_prefix}/bin/kapasswd      $RPM_BUILD_ROOT%{_prefix}/afsws/bin/kapasswd
895 ln -sf %{_prefix}/bin/klog          $RPM_BUILD_ROOT%{_prefix}/afsws/bin/klog
896 ln -sf %{_prefix}/bin/klog.krb      $RPM_BUILD_ROOT%{_prefix}/afsws/bin/klog.krb
897 ln -sf %{_prefix}/bin/pagsh.krb     $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pagsh.krb
898 ln -sf %{_prefix}/bin/tokens.krb    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/tokens.krb
899 %endif
900 ln -sf %{_prefix}/bin/pagsh         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pagsh
901 ln -sf %{_prefix}/bin/pts           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/pts
902 ln -sf %{_prefix}/bin/restorevol    $RPM_BUILD_ROOT%{_prefix}/afsws/bin/restorevol
903 ln -sf %{_prefix}/bin/scout         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/scout
904 ln -sf %{_prefix}/bin/sys           $RPM_BUILD_ROOT%{_prefix}/afsws/bin/sys
905 ln -sf %{_prefix}/bin/tokens        $RPM_BUILD_ROOT%{_prefix}/afsws/bin/tokens
906 ln -sf %{_prefix}/bin/translate_et  $RPM_BUILD_ROOT%{_prefix}/afsws/bin/translate_et
907 ln -sf %{_prefix}/bin/xstat_cm_test $RPM_BUILD_ROOT%{_prefix}/afsws/bin/xstat_cm_test
908 ln -sf %{_prefix}/bin/xstat_fs_test $RPM_BUILD_ROOT%{_prefix}/afsws/bin/xstat_fs_test
909 ln -sf %{_prefix}/bin/udebug        $RPM_BUILD_ROOT%{_prefix}/afsws/bin/udebug
910 ln -sf %{_prefix}/bin/unlog         $RPM_BUILD_ROOT%{_prefix}/afsws/bin/unlog
911 ln -sf %{_prefix}/sbin/backup       $RPM_BUILD_ROOT%{_prefix}/afsws/etc/backup
912 ln -sf %{_prefix}/sbin/butc         $RPM_BUILD_ROOT%{_prefix}/afsws/etc/butc
913 ln -sf %{_prefix}/sbin/fms          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/fms
914 ln -sf %{_prefix}/sbin/fstrace      $RPM_BUILD_ROOT%{_prefix}/afsws/etc/fstrace
915 %if %{kauth_support}
916 ln -sf %{_prefix}/sbin/kas          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/kas
917 %endif
918 ln -sf %{_prefix}/sbin/read_tape    $RPM_BUILD_ROOT%{_prefix}/afsws/etc/read_tape
919 ln -sf %{_prefix}/sbin/rxdebug      $RPM_BUILD_ROOT%{_prefix}/afsws/etc/rxdebug
920 ln -sf %{_prefix}/sbin/uss          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/uss
921 ln -sf %{_prefix}/sbin/vos          $RPM_BUILD_ROOT%{_prefix}/afsws/etc/vos
922 ln -sf %{_prefix}/sbin/vsys         $RPM_BUILD_ROOT%{_prefix}/afsws/etc/vsys
923
924 %endif
925
926 ##############################################################################
927 ###
928 ### Install modules
929 ###
930 ##############################################################################
931 %if %{build_modules}
932
933 for kvariant in %{kvariants}
934 do
935   if [ -n "$kvariant" ] ; then
936     if [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP ] ; then
937       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
938       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
939     elif [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}+${kvariant}-SP ] ; then
940       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}+${kvariant}-SP
941       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}+${kvariant}/extra/openafs
942     else
943       srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}.${kvariant}-SP
944       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}.${kvariant}/extra/openafs
945     fi
946   else
947     if [ -d src/libafs/MODLOAD-%{kverrel}-SP ] ; then
948       srcdir=src/libafs/MODLOAD-%{kverrel}-SP
949       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}/extra/openafs
950     else
951       srcdir=src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}-SP
952       dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}/extra/openafs
953     fi
954   fi
955
956   mkdir -p ${dstdir}
957   install -m 755 ${srcdir}/openafs.ko ${dstdir}/openafs.ko
958 done
959 %endif
960
961 ##############################################################################
962 ###
963 ### clean
964 ###
965 ##############################################################################
966 %clean
967 [ "$RPM_BUILD_ROOT" != "/" -a "x%{debugspec}" != "x1" ] && \
968         rm -fr $RPM_BUILD_ROOT
969
970
971 ##############################################################################
972 ###
973 ### scripts
974 ###
975 ##############################################################################
976 %if %{build_userspace}
977
978 %pre compat
979 if [ -e %{_prefix}/afsws ]; then
980         /bin/rm -fr %{_prefix}/afsws
981 fi
982
983 %post client
984 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
985 chkconfig --add openafs-client
986 %else
987 if [ $1 -eq 1 ] ; then
988     # Initial installation
989     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
990 fi
991 %endif
992 if [ ! -d /afs ]; then
993         mkdir /afs
994         chown root.root /afs
995         chmod 0755 /afs
996         [ -x /sbin/restorecon ] && /sbin/restorecon /afs
997 fi
998
999 # Create the CellServDB
1000 [ -f /usr/vice/etc/CellServDB.local ] || touch /usr/vice/etc/CellServDB.local
1001
1002 ( cd /usr/vice/etc ; \
1003   if [ -h CellServDB ]; then \
1004     rm -f CellServDB; \
1005   fi; \
1006   cat CellServDB.local CellServDB.dist > CellServDB ; \
1007   chmod 644 CellServDB )
1008
1009 %post server
1010 #on an upgrade, don't enable if we were disabled
1011 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1012 if [ $1 = 1 ] ; then
1013   chkconfig --add openafs-server
1014 fi
1015 %{initdir}/openafs-server condrestart
1016 %else
1017 if [ $1 -eq 1 ] ; then
1018     # Initial installation
1019     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1020 fi
1021 %endif
1022
1023 %if %{build_authlibs}
1024 %post authlibs
1025 /sbin/ldconfig
1026
1027 %postun authlibs
1028 /sbin/ldconfig
1029 %endif
1030
1031 %preun
1032 if [ $1 = 0 ] ; then
1033         [ -d /afs ] && rmdir /afs
1034         :
1035 fi
1036
1037 %preun client
1038 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1039 if [ $1 = 0 ] ; then
1040         %{initdir}/openafs-client stop
1041         chkconfig --del openafs-client
1042 fi
1043 %else
1044 if [ $1 -eq 0 ] ; then
1045         # Package removal, not upgrade
1046         /bin/systemctl --no-reload disable openafs-client.service > /dev/null 2>&1 || :
1047         /bin/systemctl stop openafs-client.service > /dev/null 2>&1 || :
1048 fi
1049 %endif
1050
1051 %preun server
1052 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1053 if [ $1 = 0 ] ; then
1054         %{initdir}/openafs-server stop
1055         chkconfig --del openafs-server
1056 fi
1057 %else
1058 if [ $1 -eq 0 ] ; then
1059         /bin/systemctl --no-reload disable openafs-server.service > /dev/null 2>&1 || :
1060         /bin/systemctl stop openafs-server.service > /dev/null 2>&1 || :
1061 fi
1062 %endif
1063
1064 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
1065 %postun client
1066 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1067
1068 %postun server
1069 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1070 %endif
1071
1072 %if %{build_dkmspkg}
1073 %post -n dkms-%{name}
1074 dkms add -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1075 dkms build -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1076 dkms install -m %{name} -v %{dkms_version} --rpm_safe_upgrade
1077
1078 %preun -n dkms-%{name}
1079 dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
1080 %endif
1081 %endif
1082
1083 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
1084 %triggerun -- openafs-client < 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-client >/dev/null 2>&1 ||:
1089
1090 # Run this because the SysV package being removed won't do it
1091 /sbin/chkconfig --del openafs-client >/dev/null 2>&1 || :
1092
1093 %triggerun -- openafs-server < 1.6.0-1
1094 # Save the current service runlevel info
1095 # User must manually run systemd-sysv-convert --apply httpd
1096 # to migrate them to systemd targets
1097 /usr/bin/systemd-sysv-convert --save openafs-server >/dev/null 2>&1 ||:
1098
1099 # Run this because the SysV package being removed won't do it
1100 /sbin/chkconfig --del openafs-server >/dev/null 2>&1 || :
1101 %endif
1102
1103 ##############################################################################
1104 ###
1105 ### file lists
1106 ###
1107 ##############################################################################
1108 %if %{build_userspace}
1109
1110 %files
1111 %defattr(-,root,root)
1112 %config(noreplace) /etc/sysconfig/openafs
1113 %doc %{_docdir}/openafs-%{afsvers}/LICENSE
1114 %{_bindir}/afsmonitor
1115 %{_bindir}/bos
1116 %{_bindir}/fs
1117 %{_bindir}/pagsh
1118 %{_bindir}/pts
1119 %{_bindir}/restorevol
1120 %{_bindir}/scout
1121 %{_bindir}/sys
1122 %{_bindir}/tokens
1123 %{_bindir}/translate_et
1124 %{_bindir}/xstat_cm_test
1125 %{_bindir}/xstat_fs_test
1126 %{_bindir}/udebug
1127 %{_bindir}/unlog
1128 %{_sbindir}/backup
1129 %{_sbindir}/butc
1130 %{_sbindir}/fms
1131 %{_sbindir}/fstrace
1132 %{_sbindir}/read_tape
1133 %{_sbindir}/rxdebug
1134 %{_sbindir}/uss
1135 %{_sbindir}/vos
1136 %{_sbindir}/vsys
1137 %{_libdir}/libafshcrypto.so.*
1138 %{_libdir}/librokenafs.so.*
1139 %{_mandir}/man1/afs.1.gz
1140 %{_mandir}/man1/afsmonitor.1.gz
1141 %{_mandir}/man1/fs.1.gz
1142 %{_mandir}/man1/fs_*.1.gz
1143 %{_mandir}/man1/pagsh.1.gz
1144 %{_mandir}/man1/pts.1.gz
1145 %{_mandir}/man1/pts_*.1.gz
1146 %{_mandir}/man1/restorevol.1.gz
1147 %{_mandir}/man1/rxdebug.1.gz
1148 %{_mandir}/man1/scout.1.gz
1149 %{_mandir}/man1/sys.1.gz
1150 %{_mandir}/man1/tokens.1.gz
1151 %{_mandir}/man1/translate_et.1.gz
1152 %{_mandir}/man1/udebug.1.gz
1153 %{_mandir}/man1/unlog.1.gz
1154 %{_mandir}/man1/vos.1.gz
1155 %{_mandir}/man1/vos_*.1.gz
1156 %{_mandir}/man1/xstat_cm_test.1.gz
1157 %{_mandir}/man1/xstat_fs_test.1.gz
1158 %{_mandir}/man5/CellServDB.5.gz
1159 %{_mandir}/man5/ThisCell.5.gz
1160 %{_mandir}/man5/afsmonitor.5.gz
1161 %{_mandir}/man5/butc.5.gz
1162 %{_mandir}/man5/butc_logs.5.gz
1163 %{_mandir}/man5/uss.5.gz
1164 %{_mandir}/man5/uss_bulk.5.gz
1165 %{_mandir}/man8/backup.8.gz
1166 %{_mandir}/man8/backup_*.8.gz
1167 %{_mandir}/man8/bos.8.gz
1168 %{_mandir}/man8/bos_*.8.gz
1169 %{_mandir}/man8/butc.8.gz
1170 %{_mandir}/man8/fms.8.gz
1171 %{_mandir}/man8/fstrace.8.gz
1172 %{_mandir}/man8/fstrace_*.8.gz
1173 %{_mandir}/man8/read_tape.8.gz
1174 %{_mandir}/man8/uss.8.gz
1175 %{_mandir}/man8/uss_*.8.gz
1176
1177 %files docs
1178 %defattr(-,root,root)
1179 %docdir %{_docdir}/openafs-%{afsvers}
1180 %dir %{_docdir}/openafs-%{afsvers}
1181 %{_docdir}/openafs-%{afsvers}/ChangeLog
1182 %{_docdir}/openafs-%{afsvers}/RELNOTES-%{afsvers}
1183 %{_docdir}/openafs-%{afsvers}/pdf
1184
1185 %files client
1186 %defattr(-,root,root)
1187 %dir %{_prefix}/vice
1188 %dir %{_prefix}/vice/cache
1189 %dir %{_prefix}/vice/etc
1190 %dir %{_prefix}/vice/etc/C
1191 %{_prefix}/vice/etc/CellServDB.dist
1192 %config(noreplace) %{_prefix}/vice/etc/ThisCell
1193 %config(noreplace) %{_prefix}/vice/etc/cacheinfo
1194 %{_bindir}/afsio
1195 %{_bindir}/cmdebug
1196 %{_bindir}/up
1197 %{_prefix}/vice/etc/afsd
1198 %{_prefix}/vice/etc/C/afszcm.cat
1199 %{_libdir}/libuafs.a
1200 %{_libdir}/libuafs_pic.a
1201 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1202 %{initdir}/openafs-client
1203 %else
1204 %{_unitdir}/openafs-client.service
1205 %{_sysconfdir}/sysconfig/modules/openafs-client.modules
1206 %endif
1207 %{_mandir}/man1/cmdebug.1.gz
1208 %{_mandir}/man1/up.1.gz
1209 %{_mandir}/man5/afs.5.gz
1210 %{_mandir}/man5/afs_cache.5.gz
1211 %{_mandir}/man5/afs_volume_header.5.gz
1212 %{_mandir}/man5/afszcm.cat.5.gz
1213 %{_mandir}/man5/cacheinfo.5.gz
1214 %{_mandir}/man8/afsd.8.gz
1215 %{_mandir}/man8/vsys.8.gz
1216 %{_mandir}/man5/CellAlias.5.gz
1217
1218 %files server
1219 %defattr(-,root,root)
1220 %dir %{_prefix}/afs
1221 %dir %{_prefix}/afs/bin
1222 %dir %{_prefix}/afs/etc
1223 %dir %{_prefix}/afs/logs
1224 %{_prefix}/afs/bin/bosserver
1225 %{_prefix}/afs/bin/bos_util
1226 %{_prefix}/afs/bin/buserver
1227 %{_prefix}/afs/bin/dafileserver
1228 %{_prefix}/afs/bin/dafssync-debug
1229 %{_prefix}/afs/bin/dasalvager
1230 %{_prefix}/afs/bin/davolserver
1231 %{_prefix}/afs/bin/fileserver
1232 %{_prefix}/afs/bin/fssync-debug
1233 %{_prefix}/afs/bin/pt_util
1234 %{_prefix}/afs/bin/ptserver
1235 %{_prefix}/afs/bin/salvager
1236 %{_prefix}/afs/bin/salvageserver
1237 %{_prefix}/afs/bin/salvsync-debug
1238 %{_prefix}/afs/bin/state_analyzer
1239 %{_prefix}/afs/bin/upclient
1240 %{_prefix}/afs/bin/upserver
1241 %{_prefix}/afs/bin/vlserver
1242 %{_prefix}/afs/bin/volinfo
1243 %{_prefix}/afs/bin/volscan
1244 %{_prefix}/afs/bin/volserver
1245 %{_sbindir}/prdb_check
1246 %{_sbindir}/vldb_check
1247 %{_sbindir}/vldb_convert
1248 %{_sbindir}/voldump
1249 %if 0%{?fedora} < 15 && 0%{?rhel} < 7
1250 %{initdir}/openafs-server
1251 %else
1252 %{_unitdir}/openafs-server.service
1253 %endif
1254 %{_mandir}/man5/BackupLog.5.gz
1255 %{_mandir}/man5/BosConfig.5.gz
1256 %{_mandir}/man5/BosLog.5.gz
1257 %{_mandir}/man5/FORCESALVAGE.5.gz
1258 %{_mandir}/man5/FileLog.5.gz
1259 %{_mandir}/man5/KeyFile.5.gz
1260 %{_mandir}/man5/KeyFileExt.5.gz
1261 %{_mandir}/man5/NetInfo.5.gz
1262 %{_mandir}/man5/NetRestrict.5.gz
1263 %{_mandir}/man5/NoAuth.5.gz
1264 %{_mandir}/man5/PtLog.5.gz
1265 %{_mandir}/man5/SALVAGE.fs.5.gz
1266 %{_mandir}/man5/SalvageLog.5.gz
1267 %{_mandir}/man5/sysid.5.gz
1268 %{_mandir}/man5/UserList.5.gz
1269 %{_mandir}/man5/VLLog.5.gz
1270 %{_mandir}/man5/VolserLog.5.gz
1271 %{_mandir}/man5/bdb.DB0.5.gz
1272 %{_mandir}/man5/fms.log.5.gz
1273 %{_mandir}/man5/krb.conf.5.gz
1274 %{_mandir}/man5/krb.excl.5.gz
1275 %{_mandir}/man5/prdb.DB0.5.gz
1276 %{_mandir}/man5/salvage.lock.5.gz
1277 %{_mandir}/man5/tapeconfig.5.gz
1278 %{_mandir}/man5/vldb.DB0.5.gz
1279 %{_mandir}/man8/bosserver.8.gz
1280 %{_mandir}/man8/buserver.8.gz
1281 %{_mandir}/man8/fileserver.8.gz
1282 %{_mandir}/man8/dafileserver.8.gz
1283 %{_mandir}/man8/dafssync-debug.8.gz
1284 %{_mandir}/man8/dafssync-debug_*.8.gz
1285 %{_mandir}/man8/dasalvager.8.gz
1286 %{_mandir}/man8/davolserver.8.gz
1287 %{_mandir}/man8/fssync-debug.8.gz
1288 %{_mandir}/man8/fssync-debug_*.8.gz
1289 %{_mandir}/man8/prdb_check.8.gz
1290 %{_mandir}/man8/ptserver.8.gz
1291 %{_mandir}/man8/pt_util.8.gz
1292 %{_mandir}/man8/salvager.8.gz
1293 %{_mandir}/man8/salvageserver.8.gz
1294 %{_mandir}/man8/state_analyzer.8.gz
1295 %{_mandir}/man8/upclient.8.gz
1296 %{_mandir}/man8/upserver.8.gz
1297 %{_mandir}/man8/vldb_check.8.gz
1298 %{_mandir}/man8/vldb_convert.8.gz
1299 %{_mandir}/man8/vlserver.8.gz
1300 %{_mandir}/man8/voldump.8.gz
1301 %{_mandir}/man8/volinfo.8.gz
1302 %{_mandir}/man8/volscan.8.gz
1303 %{_mandir}/man8/volserver.8.gz
1304
1305 %if %{build_authlibs}
1306 %files authlibs
1307 %defattr(-,root,root)
1308 %{_libdir}/libafsauthent.so.*
1309 %{_libdir}/libafsrpc.so.*
1310 %{_libdir}/libkopenafs.so.*
1311 %endif
1312
1313 %files authlibs-devel
1314 %defattr(-,root,root)
1315 %{_includedir}/kopenafs.h
1316 %{_libdir}/libafsauthent.a
1317 %{_libdir}/libafscp.a
1318 %{_libdir}/libafsrpc.a
1319 %{_libdir}/libafsauthent_pic.a
1320 %{_libdir}/libafsrpc_pic.a
1321 %{_libdir}/libkopenafs.a
1322 %if %{build_authlibs}
1323 %{_libdir}/libafsauthent.so
1324 %{_libdir}/libafsrpc.so
1325 %{_libdir}/libkopenafs.so
1326 %endif
1327
1328 %files devel
1329 %defattr(-,root,root)
1330 %{_bindir}/afs_compile_et
1331 %{_bindir}/rxgen
1332 %{_includedir}/afs
1333 %{_includedir}/lock.h
1334 %{_includedir}/lwp.h
1335 %{_includedir}/rx
1336 %{_includedir}/timer.h
1337 %{_includedir}/ubik.h
1338 %{_includedir}/ubik_int.h
1339 %{_includedir}/opr/queue.h
1340 %{_libdir}/afs
1341 %{_libdir}/libafshcrypto.a
1342 %{_libdir}/libafshcrypto.so
1343 %{_libdir}/libafsrfc3961.a
1344 %{_libdir}/liblwp.a
1345 %{_libdir}/libopr.a
1346 %{_libdir}/librokenafs.a
1347 %{_libdir}/librokenafs.so
1348 %{_libdir}/librx.a
1349 %{_libdir}/librxkad.a
1350 %{_libdir}/librxstat.a
1351 %{_libdir}/libubik.a
1352 %{_mandir}/man1/rxgen.1.gz
1353 %{_mandir}/man1/afs_compile_et.1.gz
1354 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 6
1355 %{_libdir}/perl/AFS/ukernel.pm
1356 %{_libdir}/perl/ukernel.so
1357 %{_mandir}/man3/AFS::ukernel.3.gz
1358 %endif
1359
1360 %if %{build_dkmspkg}
1361 %files -n dkms-%{name}
1362 %defattr(-,root,root)
1363 %{_prefix}/src/%{name}-%{dkms_version}
1364 %endif
1365
1366 %files kernel-source
1367 %defattr(-,root,root)
1368 %{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
1369 %{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
1370 %{_prefix}/src/openafs-kernel-%{afsvers}/README
1371 %{_prefix}/src/openafs-kernel-%{afsvers}/src
1372
1373 %files compat
1374 %defattr(-,root,root)
1375 %{_prefix}/afsws/bin/afsmonitor
1376 %{_prefix}/afsws/bin/bos
1377 %{_prefix}/afsws/bin/fs
1378 %{_prefix}/afsws/bin/pagsh
1379 %{_prefix}/afsws/bin/pts
1380 %{_prefix}/afsws/bin/restorevol
1381 %{_prefix}/afsws/bin/scout
1382 %{_prefix}/afsws/bin/sys
1383 %{_prefix}/afsws/bin/tokens
1384 %{_prefix}/afsws/bin/translate_et
1385 %{_prefix}/afsws/bin/udebug
1386 %{_prefix}/afsws/bin/unlog
1387 %{_prefix}/afsws/bin/xstat_cm_test
1388 %{_prefix}/afsws/bin/xstat_fs_test
1389 %{_prefix}/afsws/etc/backup
1390 %{_prefix}/afsws/etc/butc
1391 %{_prefix}/afsws/etc/fms
1392 %{_prefix}/afsws/etc/fstrace
1393 %{_prefix}/afsws/etc/read_tape
1394 %{_prefix}/afsws/etc/rxdebug
1395 %{_prefix}/afsws/etc/uss
1396 %{_prefix}/afsws/etc/vos
1397 %{_prefix}/afsws/etc/vsys
1398 %if %{kauth_support}
1399 %{_prefix}/afsws/bin/pagsh.krb
1400 %{_prefix}/afsws/bin/tokens.krb
1401 %endif
1402
1403 %if %{kauth_support}
1404 %files kauth-client
1405 %defattr(-,root,root)
1406 %{_sbindir}/kas
1407 %{_bindir}/klog
1408 %{_bindir}/klog.krb
1409 %{pamdir}/pam_afs.krb.so.1
1410 %{pamdir}/pam_afs.krb.so
1411 %{pamdir}/pam_afs.so.1
1412 %{pamdir}/pam_afs.so
1413 %{_bindir}/kapasswd
1414 %{_bindir}/kpwvalid
1415 %{_bindir}/pagsh.krb
1416 %{_bindir}/tokens.krb
1417 %{_prefix}/afsws/bin/kapasswd
1418 %{_prefix}/afsws/bin/klog
1419 %{_prefix}/afsws/bin/klog.krb
1420 %{_prefix}/afsws/etc/kas
1421 %{_mandir}/man1/kapasswd.1.gz
1422 %{_mandir}/man1/klog.1.gz
1423 %{_mandir}/man1/klog.krb.1.gz
1424 %{_mandir}/man1/pagsh.krb.1.gz
1425 %{_mandir}/man1/tokens.krb.1.gz
1426 %{_mandir}/man8/kpwvalid.8.gz
1427 %{_mandir}/man8/kas.8.gz
1428 %{_mandir}/man8/kas_*.8.gz
1429
1430 %files kauth-server
1431 %defattr(-,root,root)
1432 %{_prefix}/afs/bin/kaserver
1433 %{_prefix}/afs/bin/ka-forwarder
1434 %{_sbindir}/kadb_check
1435 %{_mandir}/man5/AuthLog.5.gz
1436 %{_mandir}/man5/AuthLog.dir.5.gz
1437 %{_mandir}/man5/kaserver.DB0.5.gz
1438 %{_mandir}/man5/kaserverauxdb.5.gz
1439 %{_mandir}/man8/kadb_check.8.gz
1440 %{_mandir}/man8/ka-forwarder.8.gz
1441 %{_mandir}/man8/kaserver.8.gz
1442 %endif
1443
1444 %if %{krb5support}
1445 %files krb5
1446 %defattr(-,root,root)
1447 %{_bindir}/aklog
1448 %{_bindir}/klog.krb5
1449 %{_sbindir}/akeyconvert
1450 %{_sbindir}/asetkey
1451 %{_mandir}/man1/aklog.1.gz
1452 %{_mandir}/man1/klog.krb5.1.gz
1453 %{_mandir}/man8/akeyconvert.8.gz
1454 %{_mandir}/man8/asetkey.8.gz
1455 %endif
1456 %endif  # build_userspace
1457
1458 ##############################################################################
1459 ###
1460 ### openafs.spec change log
1461 ###
1462 ##############################################################################
1463 %changelog
1464 * Wed Dec 12 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5
1465 - Make the RPM mockable
1466
1467 * Mon Oct 29 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5
1468 - Update to match the shipped 1.4.5 RPMS
1469 - Fix the kvariant stuff to only configure the 'standard' case once
1470 - Add openafs-kvers.sh back in
1471
1472 * Wed Oct 10 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5pre1-1
1473 - Use Fedora style kmods, which allows us to install multiple kernel types
1474
1475 * Thu Jun 07 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.4-3
1476 - Use distributed files, rather than those in packager's SOURCE directory
1477 - Remove SuidCells stuff, which was unused
1478
1479 * Fri Dec 01 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-2
1480 - integrate s390x changes
1481 - allow for building libafs*.a and not libafs*.so into packages, for platforms
1482   that won't build the .so files.
1483
1484 * Wed Aug 23 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-1
1485 - update to 1.4.2
1486 - use installed aklog manpage.
1487 - moduleparam patch obsoleted.
1488
1489 * Tue Aug 22 2006  Derek Atkins <warlord@MIT.EDU> 1.4.2-0.1.rc1
1490 - update to 1.4.2-rc1
1491 - hand-apply lee damon's changes to support largesmp kernels from RHEL4
1492   (but only add support for 2.6 kernels.  No need for the 2.4 kernels).
1493 - don't need the posixlock patch anymore.
1494
1495 * Wed Jul 12 2006  Derek Atkins <warlord@MIT.EDU> 1.4.2-0.beta2
1496 - update to 1.4.2-beta2
1497 - add linux2.4 posixlock API patch
1498
1499 * Mon Jun 26 2006  Derek Atkins <warlord@MIT.EDU>
1500 - moduleparam and krb524 patches no longer required in OA-CVS
1501
1502 * Wed May 17 2006  Derek Atkins <warlord@MIT.EDU>
1503 - change non-target-cpu kernel dep to a file dep
1504 - make sure we use the proper kernel version for the dependency.
1505
1506 * Tue May 16 2006  Derek Atkins <warlord@MIT.EDU>
1507 - allow users to specify local CellServDB and SuidCells entries
1508   don't overwrite user's changes.  Provide a .dist an let users
1509   make entries in a ".local"
1510 - build the CellServDB and SuidCells at client startup and at
1511   client install-time
1512 - add provideskernelarch functionality to openafs-kvers-is.sh
1513 - use that functionality to Require kernel{,-<type>}-targetcpu
1514   to get better package safety due to RPM bugs where the kernel
1515   release isn't used so you can install the kernel module against
1516   any kernel of the same major version.
1517
1518 * Mon May 15 2006  Derek Atkins <warlord@MIT.EDU>
1519 - update the README in openafs-kernel-source
1520 - fix openafs-kvers-is.sh from Alexander Bergolth's patch.
1521 - move kernel module from .../kernel/fs/openafs to .../fs/openafs/
1522
1523 * Fri Apr 21 2006  Derek Atkins <warlord@MIT.EDU>
1524 - build requires autoconf and automake for krb5support
1525   and autoconf for standard package
1526 - dont setup the krb5 migration kit (or patches) if we don't care.
1527 - require ncurses-devel to build
1528
1529 * Wed Apr 19 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-3
1530 - look for krb524 functions in libkrb524 if we can't find them
1531   in the standard locations.
1532
1533 * Tue Apr 18 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-2
1534 - fix the module_param_array macro for Linux 2.6.9.
1535
1536 * Sat Apr 15 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1-1
1537 - update to 1.4.1 release.
1538 - distribute asetkey from openafs instead of krb5-migration kit
1539 - don't need to apply the FC5 patches because they are part of the distro.
1540 - install asetkey into the "proper" place
1541 - dont list a manpage twice.
1542 - package asetkey man page.  delete it when not needed.
1543
1544 * Thu Apr  6 2006  Derek Atkins <warlord@MIT.EDU>
1545 - turn authlibs back on, because RT #18767 was applied to CVS.
1546
1547 * Wed Mar 29 2006  Derek Atkins <warlord@MIT.EDU> 1.4.1rc10-1
1548 - update to 1.4.1rc10, build on FC5
1549 - fix the man pages (distribute into various packages)
1550 - include patches for FC5, RT #29112 and #29122
1551
1552 * Mon Dec 19 2005  Derek Atkins <warlord@MIT.EDU>
1553 - openafs-server shouldn't depend on the kernel module.
1554
1555 * Thu Nov 17 2005  Derek Atkins <warlord@MIT.EDU>
1556 - patch from Mike Polek <mike at pictage.com> to run depmod for
1557   the target kernel and not the running kernel.
1558
1559 * Tue Nov  8 2005  Derek Atkins <warlord@MIT.EDU>
1560 - build aklog from the openafs sources, not from the krb5 migration kit.
1561
1562 * Fri Nov  4 2005  Derek Atkins <warlord@MIT.EDU>
1563 - set openafs-kernel-source to Provide openafs-kernel
1564
1565 * Thu Oct 20 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0-1
1566 - update afs-krb5 res_search patch: look for res_search and __res_search
1567 - update to 1.4.0 final
1568
1569 * Mon Oct 10 2005  Derek Atkins <warlord@MIT.EDU>
1570 - remove all kdump builds.
1571
1572 * Thu Oct  6 2005  Derek Atkins <warlord@MIT.EDU>
1573 - fix openafs-kernel-version.sh so it will build an RPM for the
1574   currently-running kernel even if it's smp on 2.6.
1575
1576 * Tue Sep 27 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc5-1
1577 - upgrade to 1.4.0rc5
1578 - turn off authlibs packages
1579
1580 * Fri Sep 23 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc4-2
1581 - add kmodule26 patch: fix the kernel module name on 2.6 kernels so
1582   it's called "openafs" and not "libafs".  This fixes the shutdown
1583   problem.
1584
1585 * Thu Sep 22 2005  Derek Atkins <warlord@MIT.EDU>
1586 - update kversis script, add 'kvers' operation
1587 - fix bug that 2.6 smp/hugemem kernels don't provide
1588   kernel-foo = %{kernvers} with 'smp', 'hugemem', etc.
1589 - add patch to remove res_search from the afs-krb5 configure
1590
1591 * Thu Sep 15 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc4-1
1592 - Update to 1.4.0rc4
1593 - Update the afs-krb5 krb524 patch so it actually works on
1594   some older systems like RHEL3 that still need -lkrb524.
1595 - Update the buildall script so choose better architecture support,
1596   e.g. don't build i586 on RHEL.
1597 - Update the rebuild information in the SPEC file.
1598 - Add support for finding .EL kernels in openafs-kvers-is.sh
1599 - Add additional error messages when kernel version/type parsing fails.
1600 - Update the buildall script to use the kernel srcdir directly.
1601
1602 * Wed Sep 14 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc3-2
1603 - Add "hugemem" to 2.4 configs
1604 - Add checks to support scripts to determine whether to build
1605   the bigmem and/or hugemem kernels for 2.4.
1606
1607 * Mon Sep 12 2005  Derek Atkins <warlord@MIT.EDU> 1.4.0rc3-1
1608 - Added some afs-krb5 patches to get the migration kit to build
1609   on modern AFS and modern Kerberos.
1610 - Added authlibs and authlibs-devel packages as per UMich changes.
1611
1612 * Sun Sep 11 2005  Derek Atkins <warlord@MIT.EDU>
1613 - Merged in some of the 2.6 changes from wingc@engin.umich.edu
1614
1615 * Sat Sep 10 2005  Derek Atkins <warlord@MIT.EDU>
1616 - Merged in lots of changes from David Howells and Nalin Dahyabhai
1617   from Red Hat.   Initial attempt at a release of 1.4.  Still need
1618   to work in a 2.6 build system.