linux: Update Packaging to build OpenAFS services for Fedora's systemd
authorEdward Z. Yang <ezyang@mit.edu>
Tue, 18 Oct 2011 03:16:15 +0000 (23:16 -0400)
committerDerrick Brashear <shadow@dementix.org>
Thu, 27 Oct 2011 23:54:46 +0000 (16:54 -0700)
commit286ffa0d7c4d594ff107b70f9e930271c027a79e
treeae5c58e7b2a265ee8250b6ead4b19f28986a0e90
parent9743f5729d1a55513e861bb1334599a8e597de6b
linux: Update Packaging to build OpenAFS services for Fedora's systemd

Fedora 15 now uses systemd (see http://fedoraproject.org/wiki/Systemd)
for the OS init system. While it currently has backwards
compatibility with older SysV-style init scripts, future versions of
Fedora may no longer support it, and OS startup tends to be faster
with the systemd service units. Also, systemd runs all the service's
processes within a linux kernel cgroup.
(see http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt)

This change includes an openafs-client.service and
openafs-server.service unit files for the client and server packages
respectively.

Client
- Loading the openafs module was moved into
/etc/sysconfig/modules/openafs-client.modules. This causes the OS to
load the module on boot. This is the preferred way for modules to be
loaded with Fedora. (See
http://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/sec-Persistent_Module_Loading.html
for more details)
- The CellServDB file is generated with sed rather than cat.
This change was made because Systemd doesn't execute as a shell
script, but rather executes processes directly. Rather than invoking
a shell to concatenate the CellServDB.* files, they're written to the
CellServDB file using a sed oneliner.
- Do all of the proper kernel module loading and unloading.

Server
- Since systemd uses cgroups, when the service is shut down, all
processes in the openafs-server.service cgroup will be terminated.

The other changes are standard as per:
    http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd

Original version by Jonathan Billings <jsbillin@umich.edu>.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>

Change-Id: Ifb41790ffe107b319097b9750273aecfe82c3349
Reviewed-on: http://gerrit.openafs.org/5637
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Alex Chernyakhovsky <achernya@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/packaging/RedHat/openafs-client.modules [new file with mode: 0644]
src/packaging/RedHat/openafs-client.service [new file with mode: 0644]
src/packaging/RedHat/openafs-server.service [new file with mode: 0644]
src/packaging/RedHat/openafs.spec.in