From 8955653bd3e37afd97a81ce752559e51b01d8f1d Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Sun, 27 Jan 2008 14:47:42 +0000 Subject: svn keywords expansion --- README | 58 ++++++++++++++++++++++++++++++++++++++++++++++++-- create-ssl-certificate | 22 ++++++++++++------- rpm-helper.macros.in | 2 +- 3 files changed, 71 insertions(+), 11 deletions(-) diff --git a/README b/README index 5beb4d2..4376e18 100644 --- a/README +++ b/README @@ -1,3 +1,57 @@ -rpm-helper is a set of scripts called by rpm scriptlets. +rpm-helper is a set of helper scripts to be executed at package installation +time. They are invocated through rpm macros. Here is a list of them, along with +their usage instructions. -Comments and new scripts welcome. +%_get_password +Return a random password from given length (default 8). + +%create_ghostfile +Create an empty file, with given owner, group and mode. + +%_create_ssl_certificate [-g ] [-b] +Create a ssl key and certificate pair with given name under /etc/pki/tls. +Optional arguments: +-b: concatenate certificate with the key file (bundle mode) +-g: ensure key is readable by given group + +%_post_service +Add given service to boot sequence, by running chkconfig --add on it. + +%_preun_service +Remove given service from boot sequence, by running chkconfig --del on it. + +%_pre_useradd +Add given user, with given homedir and shell. + +%_postun_userdel +Does nothing currently. + +%_pre_groupadd [user1,user2,...] +Add given group, with optional list of coma-separated users as members. + +%_postun_groupdel +Does nothing currently. + +%_post_shelladd +Add given shell to the list of available system shells. + +%_preun_shelldel +Remove given shell from the list of available system shells. + +%_post_syslogadd [-s ] [-f ] [-m ] [-M ] +Add a syslog entry, with given destination (usually a log file), and returns +used facility. Support sysklogd and syslog-ng. +Optional arguments: +-s: ensure given source (usually /dev/log) is readable by syslog daemon. +-f: use given facility (otherwise first available local one is used). +-m: use given minimal priority. +-M: use given maximal priority. + +%_preun_syslogdel +Delete syslog entry created by previous macro. Support sysklogd and syslog-ng. + +%_post_webapp +Handle apache configuration reloading if needed when adding a web application. + +%_postun_webapp +Handle apache configuration reloading if needed when removing a web application. diff --git a/create-ssl-certificate b/create-ssl-certificate index 784d0e4..0e2e250 100755 --- a/create-ssl-certificate +++ b/create-ssl-certificate @@ -2,17 +2,23 @@ # $Id$ # helper script for creating ssl certificates -if [ $# -lt 3 ]; then - echo "usage: $0 " 1>&2 +while [ $# -gt 0 ]; do + case $1 in + -g) group=$2; shift 2;; + -b) bundle="true"; shift;; + *) args=( ${args[@]:-} $1 ); shift;; + esac +done + +pkg=${args[0]} # name of the package +num=${args[1]} # number of packages installed +srv=${args[2]} # name of the service + +if [ -z "$pkg" -o -z "$num" -o -z "$srv" ]; then + echo "usage: $0 [-g ] [-b] " 1>&2 exit 1 fi -pkg=$1 # name of the package -num=$2 # number of packages installed -srv=$3 # name of the service -bundle=$4 # bundle mode -group=$5 # group with read access on key - if [ $num = 1 ]; then # default values host=$(hostname) diff --git a/rpm-helper.macros.in b/rpm-helper.macros.in index bd8c8eb..60caa82 100644 --- a/rpm-helper.macros.in +++ b/rpm-helper.macros.in @@ -10,7 +10,7 @@ %{nil} %_create_ssl_certificate_helper %_rpm_helper_dir/create-ssl-certificate -%create_ssl_certificate() %_create_ssl_certificate_helper %{name} $1 %{1} %{2} %{?3} \ +%_create_ssl_certificate(g:b) %_create_ssl_certificate_helper %{name} $1 %{1} %{?-g:-g %{-g*}} %{?-b:-b} \ %{nil} # initscripts macros -- cgit v1.2.1