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