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