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