version 1.5, 2005/04/29 20:33:43
|
version 1.6, 2005/11/18 21:17:39
|
|
|
|
# Start of section pegasus/rpm/tog-specfiles/tog-pegasus-post.spec |
# Create OpenSSL Configuration File (ssl.cnf) |
|
# | # |
if [ -f %PEGASUS_CONFIG_DIR/ssl.cnf ] |
# install remove upgrade reinstall |
then |
# %post 1 - 2 2 |
echo "WARNING: %PEGASUS_CONFIG_DIR/ssl.cnf already exists." |
# |
else |
if [ -d %PEGASUS_PREV_REPOSITORY_DIR ]; then |
echo " Generating SSL Certificate..." |
|
echo "[ req ]" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "distinguished_name = req_distinguished_name" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "prompt = no" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "[ req_distinguished_name ]" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "C = UK" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "ST = Berkshire" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "L = Reading" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "O = The Open Group" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "OU = The OpenPegasus Project" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
echo "CN = `host \`hostname\`|cut -d\" \" -f1`" >> %PEGASUS_CONFIG_DIR/ssl.cnf |
|
chmod 400 %PEGASUS_CONFIG_DIR/ssl.cnf |
|
chown root %PEGASUS_CONFIG_DIR/ssl.cnf |
|
fi |
|
|
|
%OPENSSL_BIN/openssl req -x509 -days 3650 -newkey rsa:2048 \ |
|
-nodes -config %PEGASUS_CONFIG_DIR/ssl.cnf \ |
|
-keyout %PEGASUS_PEM_DIR/key.pem -out %PEGASUS_PEM_DIR/cert.pem \ |
|
2>>%PEGASUS_INSTALL_LOG |
|
|
|
cat %PEGASUS_PEM_DIR/key.pem > %PEGASUS_PEM_DIR/key-2048.pem |
|
chmod 400 %PEGASUS_PEM_DIR/key-2048.pem |
|
cat %PEGASUS_PEM_DIR/cert.pem > %PEGASUS_PEM_DIR/cert-2048.pem |
|
chmod 400 %PEGASUS_PEM_DIR/cert-2048.pem |
|
cat %PEGASUS_PEM_DIR/cert.pem > %PEGASUS_PEM_DIR/truststore-2048.pem |
|
chmod 400 %PEGASUS_PEM_DIR/truststore-2048.pem |
|
rm -f %PEGASUS_PEM_DIR/key.pem %PEGASUS_PEM_DIR/cert.pem |
|
|
|
if [ -f %PEGASUS_PEM_DIR/%PEGASUS_SSL_CERT_FILE ] |
|
then |
|
echo "WARNING: %PEGASUS_PEM_DIR/%PEGASUS_SSL_CERT_FILE SSL Certificate file already exists." |
|
else |
|
cp %PEGASUS_PEM_DIR/cert-2048.pem %PEGASUS_PEM_DIR/%PEGASUS_SSL_CERT_FILE |
|
chmod 444 %PEGASUS_PEM_DIR/%PEGASUS_SSL_CERT_FILE |
|
cp %PEGASUS_PEM_DIR/key-2048.pem %PEGASUS_PEM_DIR/%PEGASUS_SSL_KEY_FILE |
|
chmod 400 %PEGASUS_PEM_DIR/%PEGASUS_SSL_KEY_FILE |
|
fi |
|
|
|
if [ -f %PEGASUS_PEM_DIR/%PEGASUS_SSL_TRUSTSTORE ] |
|
then |
|
echo "WARNING: %PEGASUS_PEM_DIR/%PEGASUS_SSL_TRUSTSTORE SSL Certificate trust store already exists." |
|
else |
|
cp %PEGASUS_PEM_DIR/truststore-2048.pem %PEGASUS_PEM_DIR/%PEGASUS_SSL_TRUSTSTORE |
|
chmod 444 %PEGASUS_PEM_DIR/%PEGASUS_SSL_TRUSTSTORE |
|
fi |
|
if [[ -d %PEGASUS_PREV_REPOSITORY_DIR ]] |
|
then |
|
# Running Repository Upgrade utility | # Running Repository Upgrade utility |
%PEGASUS_SBIN_DIR/repupgrade %PEGASUS_PREV_REPOSITORY_DIR %PEGASUS_REPOSITORY_DIR 2>>%PEGASUS_INSTALL_LOG |
%PEGASUS_SBIN_DIR/repupgrade %PEGASUS_PREV_REPOSITORY_DIR \ |
|
%PEGASUS_REPOSITORY_DIR 2>>%PEGASUS_INSTALL_LOG |
|
/bin/tar -C %PEGASUS_REPOSITORY_PARENT_DIR -cf \ |
|
%PEGASUS_PREV_REPOSITORY_DIR`date '+%Y-%m-%d-%s.%N'`.tar \ |
|
%PEGASUS_PREV_REPOSITORY_DIR_NAME |
|
rm -rf %PEGASUS_PREV_REPOSITORY_DIR |
|
fi |
|
if [ $1 -eq 1 ]; then |
|
%if %{AUTOSTART} |
|
/sbin/chkconfig --add tog-pegasus |
|
%endif |
|
:; |
|
elif [ $1 -gt 0 ]; then |
|
/sbin/service tog-pegasus condrestart |
|
:; |
fi | fi |
|
# |
|
# End of section pegasus/rpm/tog-specfiles/tog-pegasus-post.spec |
/usr/lib/lsb/install_initd /etc/init.d/tog-pegasus |
|
|
|
echo " To start Pegasus manually:" |
|
echo " /etc/init.d/tog-pegasus start" |
|
echo " Stop it:" |
|
echo " /etc/init.d/tog-pegasus stop" |
|
echo " To set up PATH and MANPATH in /etc/profile" |
|
echo " run /opt/tog-pegasus/sbin/settogpath." |
|