From 02e36a99a9739e660a17243fc442380284a81d99 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 28 Dec 2011 07:44:11 +0100 Subject: ice: import from f16 --- Ice-3.3-dont-build-demo-test.patch | 24 ++ Ice-3.4.0-s390.patch | 21 + Ice-README.Fedora | 283 +++++++++++++ IceGridAdmin.desktop | 10 + Makefile | 4 + glacier2router.conf | 104 +++++ glacier2router.init | 110 +++++ ice-3.4.1-no-mono.patch | 16 + ice-3.4.2-gcc46.patch | 100 +++++ ice-3.4.2-jgoodies.patch | 44 ++ ice.ini | 1 + ice.pth | 4 + ice.spec | 838 +++++++++++++++++++++++++++++++++++++ icegridgui | 5 + icegridnode.conf | 48 +++ icegridnode.init | 111 +++++ icegridregistry.conf | 70 ++++ icegridregistry.init | 111 +++++ 18 files changed, 1904 insertions(+) create mode 100644 Ice-3.3-dont-build-demo-test.patch create mode 100644 Ice-3.4.0-s390.patch create mode 100644 Ice-README.Fedora create mode 100644 IceGridAdmin.desktop create mode 100644 Makefile create mode 100644 glacier2router.conf create mode 100644 glacier2router.init create mode 100644 ice-3.4.1-no-mono.patch create mode 100644 ice-3.4.2-gcc46.patch create mode 100644 ice-3.4.2-jgoodies.patch create mode 100644 ice.ini create mode 100644 ice.pth create mode 100644 ice.spec create mode 100755 icegridgui create mode 100644 icegridnode.conf create mode 100644 icegridnode.init create mode 100644 icegridregistry.conf create mode 100644 icegridregistry.init diff --git a/Ice-3.3-dont-build-demo-test.patch b/Ice-3.3-dont-build-demo-test.patch new file mode 100644 index 0000000..87c0ce8 --- /dev/null +++ b/Ice-3.3-dont-build-demo-test.patch @@ -0,0 +1,24 @@ +diff -ur Ice-3.3.0.orig/cpp/Makefile Ice-3.3.0/cpp/Makefile +--- Ice-3.3.0.orig/cpp/Makefile 2008-05-16 18:24:00.000000000 +0100 ++++ Ice-3.3.0/cpp/Makefile 2008-05-21 11:18:17.000000000 +0100 +@@ -11,7 +11,7 @@ + + include $(top_srcdir)/config/Make.rules + +-SUBDIRS = config src include test demo ++SUBDIRS = config src include + + INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir) + +diff -ur Ice-3.3.0.orig/cs/Makefile Ice-3.3.0/cs/Makefile +--- Ice-3.3.0.orig/cs/Makefile 2008-05-16 18:24:01.000000000 +0100 ++++ Ice-3.3.0/cs/Makefile 2008-05-21 11:18:22.000000000 +0100 +@@ -11,7 +11,7 @@ + + include $(top_srcdir)/config/Make.rules.cs + +-SUBDIRS = src test demo ++SUBDIRS = src + + install:: install-common + @if test ! -d $(install_bindir) ; \ diff --git a/Ice-3.4.0-s390.patch b/Ice-3.4.0-s390.patch new file mode 100644 index 0000000..819b18a --- /dev/null +++ b/Ice-3.4.0-s390.patch @@ -0,0 +1,21 @@ +diff -up Ice-3.4.0/cpp/include/IceUtil/Config.h.s390 Ice-3.4.0/cpp/include/IceUtil/Config.h +--- Ice-3.4.0/cpp/include/IceUtil/Config.h.s390 2010-06-20 10:57:34.000000000 +0200 ++++ Ice-3.4.0/cpp/include/IceUtil/Config.h 2010-06-20 10:59:38.000000000 +0200 +@@ -26,7 +26,7 @@ + # define ICE_LITTLE_ENDIAN + #elif defined(__sparc) || defined(__sparc__) || defined(__hppa) || \ + defined(__ppc__) || defined(__powerpc) || defined(_ARCH_COM) || \ +- defined(__MIPSEB__) || (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) ++ defined(__MIPSEB__) || defined(__s390__) || (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) + # define ICE_BIG_ENDIAN + #else + # error "Unknown architecture" +@@ -42,7 +42,7 @@ + // + # define ICE_32 + #elif defined(__sun) && (defined(__sparcv9) || defined(__x86_64)) || \ +- defined(__linux) && defined(__x86_64) || \ ++ defined(__linux) && (defined(__x86_64) || defined(__s390x__)) || \ + defined(__hppa) && defined(__LP64__) || \ + defined(_ARCH_COM) && defined(__64BIT__) || \ + defined(__alpha__) || \ diff --git a/Ice-README.Fedora b/Ice-README.Fedora new file mode 100644 index 0000000..f50106d --- /dev/null +++ b/Ice-README.Fedora @@ -0,0 +1,283 @@ +====================================================================== +The Internet Communications Engine +====================================================================== + +Ice is a modern alternative to object middleware such as CORBA or +COM/DCOM/COM+. It is easy to learn, yet provides a powerful network +infrastructure for demanding technical applications. It features an +object-oriented specification language, easy to use C++, C#, Java, +Python, Ruby, PHP, and Visual Basic mappings, a highly efficient +protocol, asynchronous method invocation and dispatch, dynamic +transport plug-ins, TCP/IP and UDP/IP support, SSL-based security, a +firewall solution, and much more. + +Ice is available under the terms of the GNU General Public License +(GPL) (see LICENSE file). Commercial licenses are available for +customers who wish to use Ice with proprietary products. Please +contact sales@zeroc.com for more information about licensing Ice. + + +====================================================================== +About this distribution +====================================================================== + +This distribution is an RPM release of the Ice 3.3.1 run time for +Fedora and includes executables for the Ice services, HTML +documentation, Slice files, and the C++ runtime libraries. It has been +modified from the RPM distribution provided through +http://www.zeroc.com/download.html to meet Fedora packaging standards. + +Additional Ice components are provided in separate RPM packages: + +- Run time libraries for Java, Python, PHP, Ruby and C# (Mono). These + libraries enable you to execute Ice applications. (ice-java, + ice-python, ice-php, ice-ruby, ice-csharp) + +- Development kits for C++, Java, Python, Ruby, and C# (Mono). A + development kit is required for building Ice applications using a + supported language mapping. (ice-devel, ice-java-devel, + ice-python-devel, ice-ruby-devel, ice-csharp-devel) + +- Sample /etc/init.d scripts. (ice-servers) + +- The graphical IceGrid administrative tool. (icegrid-gui) + +These RPMS can all also be installed through yum. + + +====================================================================== +Setting up your environment to use Ice +====================================================================== + + +C++ +--- + +No additional compiler or linker options are required for an RPM +installation of the Ice for C++ development kit. + + +Java +---- + +To use Ice for Java with Java5 or Java6, add Ice.jar to your CLASSPATH, +as shown in the following bash command: + +$ export CLASSPATH=`build-classpath Ice`:$CLASSPATH + +Note that the Freeze component of Ice for Java requires Berkeley DB. +In order to use Freeze, you must add db.jar to your CLASSPATH. In +addition, the JVM requires the directory containing the Berkeley DB +libraries to be listed in java.library.path, therefore you must add +this directory to your LD_LIBRARY_PATH. Assuming you are using the RPM +installation of Berkeley DB, the bash command is shown below: + +$ export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH + +On a x86_64 system with a 64-bit JVM, the 64-bit Berkeley DB libraries +are installed in /usr/lib64, so use instead: + +$ export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH + +When using the Ice for Java SSL plugin (IceSSL), you may experience +occasional hangs. The most likely reason is that your system's entropy +pool is empty. If you have sufficient system privileges, you can solve +this issue by editing the following file + +/jre/lib/security/java.security + +and changing it to use /dev/urandom instead of /dev/random. If you do +not have permission to modify the security file, you can also use the +command-line option shown below: + +$ java -Djava.security.egd=file:/dev/urandom MyClass ... + +On SuSE Linux Enterprise Server, you may experience occasional hangs +the first time an Ice object adapter is activated within a JVM. A +work-around is to disable IPv6 support by setting the Java property +java.net.preferIPv4Stack to true. For example: + +$ java -Djava.net.preferIPv4Stack=true MyClass ... + +For more information on this issue, refer to Sun's bug database: + + http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6483406 + + +Python +------ + +The RPM installation puts the Python libraries into the correct +sitelib directories; there is no need for any additional configuration +to use them. + + +C#/Mono +------- + +The RPM installation adds the C# runtime libraries to the global +assembly cache (GAC), so that no changes to your environment are +necessary to locate the assemblies. + +The instructions for running the demos assume that you have configured +your kernel to automatically execute the Mono interpreter. To do this, +run the following commands as root (replace /usr/bin/mono with the +location of your mono interpreter): + + if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then + /sbin/modprobe binfmt_misc + mount -t binfmt_misc none /proc/sys/fs/binfmt_misc + fi + if [ -e /proc/sys/fs/binfmt_misc/register ]; then + echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register + else + echo "No binfmt_misc support" exit 1 + fi + +If you don't want to do this you need to run the executable with +mono. For example, + +$ mono server.exe + + +Ruby +---- + +The RPM installation puts the Ruby libraries into the correct +sitelib directories; there is no need for any additional configuration +to use them. + + +PHP +--- + +The Ice extension for PHP is loaded automatically when the interpreter +loads the contents of the file /etc/php.d/ice.ini. + +extension=IcePHP.so + +You can modify this file to include additional configuration +directives, such as those used by the Ice extension. + +At run time, the PHP interpreter requires the Ice shared libraries as +well as the Slice preprocessor (icecpp). + +You can verify that the Ice extension is installed properly by +examining the output of the "php -m" command, or by calling the +phpinfo() function from a script. + + +SELinux Notes +-------------------------------------------------- + +SELinux augments the traditional Unix permissions with a number of +new features. In particular, SELinux can prevent the httpd daemon from +opening network connections and reading files without the proper +SELinux types. + +If you suspect that your IcePHP application does not work due to +SELinux restrictions, we recommend that you first try it with SELinux +disabled. As root, run: + +# setenforce 0 + +to disable SELinux until the next reboot of your computer. + +If you want to run httpd with IcePHP and SELinux enabled, you must do +the following: + +- Allow httpd to open network connections: + + # setsebool httpd_can_network_connect=1 + + (add the -P option to make this setting persistent across reboots) + +- Make sure any .ice file used by your PHP scripts can be read by + httpd. The enclosing directory also needs to be accessible. For + example: + + # chcon -R -t httpd_sys_content_t /opt/MyApp/slice + +For more information on SELinux, refer to the link below: + + http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/ + + +====================================================================== +/etc/init.d scripts +====================================================================== + +The ice-servers includes the following sample /etc/init.d scripts and +associated configuration files: + +- /etc/init.d/icegridregistry and /etc/icegridregistry.conf +- /etc/init.d/icegridnode and /etc/icegridnode.conf +- /etc/init.d/glacier2router and /etc/glacier2router.conf + +This RPM also creates an "iceuser" account to run the services. + +None of these services are enabled during the RPM installation; you +need to manually enable the desired service(s) using the chkconfig +command, for example: + +# chkconfig --add icegridregistry + +Before doing so, please review the script itself and its associated +configuration file. For icegridregistry and icegridnode, you also need +to create 'data' directories with the proper permissions (refer to the +.conf files). + + +====================================================================== +Using the IceGrid Administrative Console +====================================================================== + +The Java-based graphical tool for administering IceGrid applications +can be run as follows: + +$ icegridgui + +Full documentation of this tool is at the following URL: + + http://www.zeroc.com/doc/latest/IceGridAdmin/ + + +====================================================================== +Demos and documentation +====================================================================== + +Sample programs are provided in the Ice-3.3.1-demos.tar.gz package, +which can be downloaded from the ZeroC web site at + + http://www.zeroc.com/download.html + +Please refer to the README.DEMOS file included in that package for +more information. + +See doc/README.html for information on the documentation included with +this distribution. + + +====================================================================== +Binary compatibility +====================================================================== + +Patch releases of Ice are binary compatible. For example, version +..1 is compatible with ..0, so you can run applications +compiled with ..0 with the ..1 runtime without having to +recompile. + +With the binary installers, simply uninstall the previous version of +Ice and install the new one. Already deployed applications that were +compiled against the ..0 runtime will automatically use the +..1 runtime. + +Note: Under Mono, binary compatibility currently does not work due to + issues with Mono. Until this problem in Mono is fixed, you + cannot run applications compiled with previous minor versions of + Ice against a newer version of the Ice assemblies. For example, + an application compiled with version ..0 of Ice cannot run + with the ..1 Ice assemblies. + +[ This file was modified by Mary Ellen Foster from the original +README.Linux-RPM distributed by ZeroC. ] diff --git a/IceGridAdmin.desktop b/IceGridAdmin.desktop new file mode 100644 index 0000000..3eb72a8 --- /dev/null +++ b/IceGridAdmin.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=IceGrid Admin +GenericName=IceGrid Admin +Comment=Graphical administration tool for IceGrid +Exec=icegridgui +Icon=icegrid +Terminal=false +Type=Application +Categories=Development; diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/glacier2router.conf b/glacier2router.conf new file mode 100644 index 0000000..90a3cfb --- /dev/null +++ b/glacier2router.conf @@ -0,0 +1,104 @@ +# +# Sample configuration file for the Glacier2 router daemon +# + +# +# Set the instance name +# +Glacier2.InstanceName=DemoGlacier2Router + +# +# The client-visible endpoint of Glacier2. This should be an endpoint +# visible from the public Internet, and it should be secure. +# IANA-registered TCP ports for the Glacier2 router: +# - 4063 (insecure) +# - 4064 (secure, using SSL) +# +# Using tcp is not recommended for production! +# +Glacier2.Client.Endpoints=tcp -p 4063 -h localhost +#Glacier2.Client.Endpoints=ssl -p 4064 -h localhost + +# +# The server-visible endpoint of Glacier2. This endpoint is only +# required if callbacks are needed (leave empty otherwise). This +# should be an endpoint on an internal network (like 192.168.x.x), or +# on the loopback, so that the server is not directly accessible from +# the Internet. +# +Glacier2.Server.Endpoints=tcp -h localhost + +# +# This permissions verifier allows any user-id / password combination; +# this is not recommended for production! +# +Glacier2.PermissionsVerifier=DemoGlacier2Router/NullPermissionsVerifier + +# +# The timeout for inactive sessions. If any client session is inactive +# for longer than this value, the session expires and is removed. The +# unit is seconds. +# +Glacier2.SessionTimeout=30 + +# +# Glacier2 always disables active connection management so there is no +# need to configure this manually. Connection retry does not need to +# be disabled, as it's safe for Glacier2 to retry outgoing connections +# to servers. Retry for incoming connections from clients must be +# disabled in the clients. +# + +# +# Various settings to trace requests, overrides, etc. +# +Ice.UseSyslog=1 +Glacier2.Client.Trace.Request=1 +Glacier2.Server.Trace.Request=1 +Glacier2.Client.Trace.Override=1 +Glacier2.Server.Trace.Override=1 +Glacier2.Client.Trace.Reject=1 +Glacier2.Trace.Session=1 +Glacier2.Trace.RoutingTable=1 + +# +# Warn about connection exceptions +# +Ice.Warn.Connections=1 + +# +# Network Tracing +# +# 0 = no network tracing +# 1 = trace connection establishment and closure +# 2 = like 1, but more detailed +# 3 = like 2, but also trace data transfer +# +#Ice.Trace.Network=1 + +# +# Protocol Tracing +# +# 0 = no protocol tracing +# 1 = trace protocol messages +# +#Ice.Trace.Protocol=1 + +# +# Security Tracing +# +# 0 = no security tracing +# 1 = trace messages +# +#IceSSL.Trace.Security=1 + +# +# SSL Configuration +# +#Ice.Plugin.IceSSL=IceSSL:createIceSSL + +#IceSSL.DefaultDir= + +#IceSSL.CertAuthFile=cacert.pem +#IceSSL.CertFile=s_rsa1024_pub.pem +#IceSSL.KeyFile=s_rsa1024_priv.pem diff --git a/glacier2router.init b/glacier2router.init new file mode 100644 index 0000000..5466419 --- /dev/null +++ b/glacier2router.init @@ -0,0 +1,110 @@ +#!/bin/bash +# +# Copyright (c) 2007-2010 ZeroC, Inc. All rights reserved. +# +# glacier2router This shell script takes care of starting and +# stopping the glacier2router daemon. +# +# chkconfig: - 62 74 +# description: The Glacier2 router daemon. \ +# Glacier2 is the firewall traversal service for the Internet \ +# Communications Engine (Ice). + +# +# Source function library. +# +. /etc/init.d/functions + +# +# The Glacier2 router user; root is allowed, but not necessary, therefore +# it is recommended to use a non-root account. +# +user=iceuser + +# +# Ask for a password at startup? +# +prompt=no + +# +# The Glacier2 router configuration file +# +routerconf="/etc/glacier2router.conf" + +prog="/usr/bin/glacier2router" + +progbase=${prog##*/} +pidfile=/var/run/$progbase.pid + +options="--daemon --pidfile $pidfile --Ice.Config=$routerconf" + +RETVAL=0 + +start() { + if [ "${prompt:-}" = "yes" ] + then + echo $"Starting $progbase: " + INITLOG_ARGS= # clears -q + else + echo -n $"Starting $progbase: " + fi + + daemonoptions="--pidfile $pidfile" + if [ "$user" != "root" ] + then + daemonoptions="$daemonoptions --user $user" + + if [ ! -e $pidfile ] + then + touch $pidfile + fi + chown $user $pidfile + fi + + daemon $daemonoptions $prog $options + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$progbase + return $RETVAL +} + +stop() { + echo -n $"Shutting down $progbase: " + killproc -p $pidfile $prog + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$progbase + return $RETVAL +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status $progbase + RETVAL=$? + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/$progbase ]; then + stop + start + RETVAL=$? + fi + ;; + *) + echo $"Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL diff --git a/ice-3.4.1-no-mono.patch b/ice-3.4.1-no-mono.patch new file mode 100644 index 0000000..c72e754 --- /dev/null +++ b/ice-3.4.1-no-mono.patch @@ -0,0 +1,16 @@ +diff -up Ice-3.4.1/Makefile.no-mono Ice-3.4.1/Makefile +--- Ice-3.4.1/Makefile.no-mono 2011-03-21 18:55:22.000000000 +0100 ++++ Ice-3.4.1/Makefile 2011-03-21 18:55:36.000000000 +0100 +@@ -7,10 +7,10 @@ + # + # ********************************************************************** + +-SUBDIRS = cpp java cs py rb php ++SUBDIRS = cpp java py rb php + CLEAN_SUBDIRS = java cs py rb php cpp + DEPEND_SUBDIRS = cpp cs py rb php +-INSTALL_SUBDIRS = cpp java cs py rb php ++INSTALL_SUBDIRS = cpp java py rb php + + all:: + @for subdir in $(SUBDIRS); \ diff --git a/ice-3.4.2-gcc46.patch b/ice-3.4.2-gcc46.patch new file mode 100644 index 0000000..9a2e639 --- /dev/null +++ b/ice-3.4.2-gcc46.patch @@ -0,0 +1,100 @@ +diff --git a/cpp/include/Freeze/Map.h b/cpp/include/Freeze/Map.h +index 2ec759d..d8ef692 100644 +--- a/cpp/include/Freeze/Map.h ++++ b/cpp/include/Freeze/Map.h +@@ -15,7 +15,7 @@ + #include + #include + #include +- ++#include + // + // Berkeley DB's DbEnv + // +diff --git a/cpp/include/Ice/Buffer.h b/cpp/include/Ice/Buffer.h +index 6f7ebab..9501f08 100644 +--- a/cpp/include/Ice/Buffer.h ++++ b/cpp/include/Ice/Buffer.h +@@ -12,6 +12,8 @@ + + #include + ++#include ++ + namespace IceInternal + { + +diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp +index ee201fd..c5cfae1 100644 +--- a/cpp/src/Ice/ConnectionFactory.cpp ++++ b/cpp/src/Ice/ConnectionFactory.cpp +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + using namespace std; + using namespace Ice; +diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp +index 2d942ca..a864509 100644 +--- a/cpp/src/Ice/ConnectionI.cpp ++++ b/cpp/src/Ice/ConnectionI.cpp +@@ -26,6 +26,7 @@ + #include // For createProxy(). + #include // For createProxy(). + #include ++#include + + using namespace std; + using namespace Ice; +diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp +index 875b64e..6f84069 100644 +--- a/cpp/src/Ice/Reference.cpp ++++ b/cpp/src/Ice/Reference.cpp +@@ -28,7 +28,7 @@ + #include + #include + #include +- ++#include + #include + + using namespace std; +diff --git a/cpp/src/IceGrid/Util.h b/cpp/src/IceGrid/Util.h +index 72ffded..0047e57 100644 +--- a/cpp/src/IceGrid/Util.h ++++ b/cpp/src/IceGrid/Util.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + namespace IceGrid + { +diff --git a/cpp/src/slice2freeze/Main.cpp b/cpp/src/slice2freeze/Main.cpp +index 7e2afb2..af68a7d 100644 +--- a/cpp/src/slice2freeze/Main.cpp ++++ b/cpp/src/slice2freeze/Main.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + using namespace std; + using namespace IceUtil; +diff --git a/cpp/test/Ice/binding/AllTests.cpp b/cpp/test/Ice/binding/AllTests.cpp +index f4da896..912aed1 100644 +--- a/cpp/test/Ice/binding/AllTests.cpp ++++ b/cpp/test/Ice/binding/AllTests.cpp +@@ -12,7 +12,7 @@ + #include + #include + #include +- ++#include + #include + + using namespace std; diff --git a/ice-3.4.2-jgoodies.patch b/ice-3.4.2-jgoodies.patch new file mode 100644 index 0000000..ac2c299 --- /dev/null +++ b/ice-3.4.2-jgoodies.patch @@ -0,0 +1,44 @@ +diff --git a/java/config/build.properties b/java/config/build.properties +index 6d53b7b..224b16b 100644 +--- a/java/config/build.properties ++++ b/java/config/build.properties +@@ -31,9 +31,9 @@ lint = unchecked,deprecation + # These properties only need to be set if you want to build the + # standalone jar for the IceGrid GUI. + # +-jgoodies.common = /usr/share/java/jgoodies-common-1.2.0.jar +-jgoodies.forms = /usr/share/java/jgoodies-forms-1.4.1.jar +-jgoodies.looks = /usr/share/java/jgoodies-looks-2.4.1.jar ++jgoodies.common = /usr/share/java/jgoodies-common.jar ++jgoodies.forms = /usr/share/java/jgoodies-forms.jar ++jgoodies.looks = /usr/share/java/jgoodies-looks.jar + #jgoodies.common = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-common-1.2.0.jar + #jgoodies.forms = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-forms-1.4.1.jar + #jgoodies.looks = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-looks-2.4.1.jar +diff --git a/java/src/IceGridGUI/ApplicationPane.java b/java/src/IceGridGUI/ApplicationPane.java +index d35baae..b98766a 100644 +--- a/java/src/IceGridGUI/ApplicationPane.java ++++ b/java/src/IceGridGUI/ApplicationPane.java +@@ -29,7 +29,6 @@ import javax.swing.tree.TreeSelectionModel; + + import com.jgoodies.looks.Options; + import com.jgoodies.looks.plastic.PlasticLookAndFeel; +-import com.jgoodies.looks.windows.WindowsLookAndFeel; + import com.jgoodies.forms.factories.Borders; + + import IceGrid.*; +diff --git a/java/src/IceGridGUI/SimpleInternalFrame.java b/java/src/IceGridGUI/SimpleInternalFrame.java +index 8f3b017..a60689a 100644 +--- a/java/src/IceGridGUI/SimpleInternalFrame.java ++++ b/java/src/IceGridGUI/SimpleInternalFrame.java +@@ -373,8 +373,8 @@ public class SimpleInternalFrame extends JPanel { + UIManager.getColor("SimpleInternalFrame.activeTitleBackground"); + if (c != null) + return c; +- if (SystemUtils.IS_LAF_WINDOWS_XP_ENABLED) +- c = UIManager.getColor("InternalFrame.activeTitleGradient"); ++ /*if (SystemUtils.IS_LAF_WINDOWS_XP_ENABLED) ++ c = UIManager.getColor("InternalFrame.activeTitleGradient");*/ + return c != null + ? c + : UIManager.getColor("InternalFrame.activeTitleBackground"); diff --git a/ice.ini b/ice.ini new file mode 100644 index 0000000..f9c9870 --- /dev/null +++ b/ice.ini @@ -0,0 +1 @@ +extension=IcePHP.so diff --git a/ice.pth b/ice.pth new file mode 100644 index 0000000..4c67afd --- /dev/null +++ b/ice.pth @@ -0,0 +1,4 @@ +# This file belongs in the "site-packages" directory of a Python +# installation. It causes the interpreter to add the subdirectory +# listed below to the default module search path. +Ice diff --git a/ice.spec b/ice.spec new file mode 100644 index 0000000..53d402f --- /dev/null +++ b/ice.spec @@ -0,0 +1,838 @@ +# Get Python and Ruby packages into sitearch (see Fedora Wiki) +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} + +%global php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4) +%global php_apiver %((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API => //p') | tail -1) + +Name: ice +Version: 3.4.2 +Release: 3%{?dist} +Summary: ZeroC Object-Oriented middleware + +Group: System Environment/Libraries +License: GPLv2 with exceptions +URL: http://www.zeroc.com/ +Source0: http://zeroc.com/download/Ice/3.4/Ice-%{version}.tar.gz +# Man pages courtesy of Francisco Moya's Debian packages +Source1: ice-3.4.2-man-pages.tar.gz +Source2: icegridgui +Source3: IceGridAdmin.desktop +Source4: Ice-README.Fedora +Source5: glacier2router.conf +Source6: glacier2router.init +Source7: icegridnode.conf +Source8: icegridnode.init +Source9: icegridregistry.conf +Source10: icegridregistry.init +Source11: ice.ini +Source12: ice.pth +# Remove reference to Windows L&F +Patch0: ice-3.4.2-jgoodies.patch +# fix gcc46 issue +Patch1: ice-3.4.2-gcc46.patch +# Add support for the s390/s390x architecture +Patch2: Ice-3.4.0-s390.patch +# don't build demo/test +# TODO: should we keep it or not ? +# significantly reduce compile time but shipping demos could be useful +Patch3: Ice-3.3-dont-build-demo-test.patch +# disable the CSharp interface +Patch4: ice-3.4.1-no-mono.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# Ice doesn't officially support ppc64 at all +ExcludeArch: ppc64 + +# mono exists only on these +%ifarch %{ix86} x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x +%global with_mono 1 +%endif + +# Some file suffixes we need to grab the right stuff for the file lists +%define soversion 34 + +BuildRequires: db4-devel, expat-devel, openssl-devel, bzip2-devel +BuildRequires: ant, ant-nodeps, jpackage-utils, db4-java +BuildRequires: php, php-devel +BuildRequires: ruby, ruby(abi) = 1.8, ruby-devel +BuildRequires: python-devel +%if 0%{?with_mono} +BuildRequires: mono-core, mono-devel +%endif +BuildRequires: libmcpp-devel >= 2.7.2 +BuildRequires: dos2unix +BuildRequires: java-1.6.0-openjdk-devel +BuildRequires: jgoodies-forms jgoodies-looks jgoodies-common +BuildRequires: /usr/bin/convert +BuildRequires: desktop-file-utils + +%description +Ice is a modern alternative to object middleware such as CORBA or +COM/DCOM/COM+. It is easy to learn, yet provides a powerful network +infrastructure for demanding technical applications. It features an +object-oriented specification language, easy to use C++, C#, Java, +Python, Ruby, PHP, and Visual Basic mappings, a highly efficient +protocol, asynchronous method invocation and dispatch, dynamic +transport plug-ins, TCP/IP and UDP/IP support, SSL-based security, a +firewall solution, and much more. + +# All of the other Ice packages also get built by this SRPM. + +%package servers +Summary: ICE SysV style services +Group: Development/Tools +Requires: ice%{?_isa} = %{version}-%{release} +# Requirements for the users +Requires(pre): shadow-utils%{?isa} +# Requirements for the init.d services +Requires(post): /sbin/chkconfig%{?isa} +Requires(preun): /sbin/chkconfig%{?isa} +Requires(preun): /sbin/service%{?isa} +%description servers +Ice services to run through /etc/rc.d/init.d + +%package devel +Summary: C++ tools for developing Ice applications +Group: Development/Tools +Provides: ice-c++-devel = %{version}-%{release} +Obsoletes: ice-c++-devel < %{version}-%{release} +Requires: ice%{?isa} = %{version}-%{release} +%description devel +Tools for developing Ice applications in C++. + +%package java +Summary: Java runtime for Ice applications +Group: System Environment/Libraries +Requires: java >= 1:1.6.0 +Requires: ice%{?_isa} = %{version}-%{release} +Requires: db4-java%{?_isa} +%description java +The Ice runtime for Java + +%package java-devel +Summary: Java tools for developing Ice Applications +Group: Development/Tools +Requires: ice-java%{?_isa} = %{version}-%{release} +%description java-devel +Tools for developing Ice applications in Java. + +%package -n icegrid-gui +Summary: IceGrid Admin Tool +Group: Development/Tools +Requires: ice-java%{?_isa} = %{version}-%{release} +Requires: jgoodies-forms, jgoodies-looks +Requires: jpackage-utils +%description -n icegrid-gui +Graphical administration tool for IceGrid + +%if 0%{?with_mono} +%package csharp +Summary: C# runtime for Ice applications +Group: System Environment/Libraries +Provides: ice-dotnet = %{version}-%{release} +Obsoletes: ice-dotnet < %{version}-%{release} +Requires: ice%{?_isa} = %{version}-%{release} +Requires: mono-core%{?_isa} >= 1.2.2 +%description csharp +The Ice runtime for C# + +%package csharp-devel +Summary: C# tools for developping Ice applications +Group: Development/Tools +Requires: ice-csharp%{?_isa} = %{version}-%{release} +%description csharp-devel +Tools for developing Ice applications in C#. +%endif + +%package ruby +Summary: Ruby runtime for Ice applications +Group: Development/Tools +Requires: ice%{?_isa} = %{version}-%{release} +Requires: ruby(abi) = 1.8 +%description ruby +The Ice runtime for Ruby applications. + +%package ruby-devel +Summary: Ruby tools for developping Ice applications +Group: Development/Tools +Requires: ice-ruby%{?_isa} = %{version}-%{release} +%description ruby-devel +Tools for developing Ice applications in Ruby. + +%package python +Summary: Python runtime for Ice applications +Group: Development/Tools +Requires: ice%{?_isa} = %{version}-%{release} +Requires: python >= 2.3.4 +%description python +The Ice runtime for Python applications. + +%package python-devel +Summary: Python tools for developping Ice applications +Group: Development/Tools +Requires: ice-python%{?_isa} = %{version}-%{release} +%description python-devel +Tools for developing Ice applications in Python. + +%package php +Summary: PHP runtime for developping Ice applications +Group: System Environment/Libraries +Requires: ice%{?_isa} = %{version}-%{release} +%if %{?php_zend_api:1}%{!?php_zend_api:0} +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} +%else +Requires: php-api = %{php_apiver} +%endif +%description php +The Ice runtime for PHP applications. + +%package php-devel +Summary: PHP tools for developping Ice applications +Group: Development/Tools +Requires: ice-php%{?_isa} = %{version}-%{release} +%description php-devel +Tools for developing Ice applications in PHP. + +%prep +%setup -q -n Ice-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%if ! 0%{?with_mono} +%patch4 -p1 +%endif +%setup -q -n ice-3.4.2-man-pages -T -b 1 +rm -f slice2docbook.1 + +%build +# Set the CLASSPATH correctly for the Java compile +export CLASSPATH=`build-classpath db jgoodies-forms jgoodies-looks` + +# Compile the main Ice runtime +cd ${RPM_BUILD_DIR}/Ice-%{version} +make CXXFLAGS="%{optflags} -fPIC" CFLAGS="%{optflags} -fPIC" embedded_runpath_prefix="" + +# Rebuild the Java ImportKey class +cd ${RPM_BUILD_DIR}/Ice-%{version}/cpp/src/ca +rm *.class +javac ImportKey.java + +# Create the IceGrid icon +cd $RPM_BUILD_DIR/Ice-%{version}/java +cd resources/icons +convert icegrid.ico temp.png +mv temp-8.png icegrid.png +rm temp*.png + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT + +# Do the basic "make install" +cd $RPM_BUILD_DIR/Ice-%{version} +make prefix=$RPM_BUILD_ROOT GACINSTALL=yes GAC_ROOT=$RPM_BUILD_ROOT%{_libdir} embedded_runpath_prefix="" install + +## install java bindings in the right place +mkdir -p ${RPM_BUILD_ROOT}%{_javadir} +mv ${RPM_BUILD_ROOT}/lib/ant-ice.jar $RPM_BUILD_ROOT%{_javadir}/ant-ice-%{version}.jar +ln -s ant-ice-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/ant-ice.jar +mv ${RPM_BUILD_ROOT}/lib/Ice.jar $RPM_BUILD_ROOT%{_javadir}/Ice-%{version}.jar +ln -s Ice-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/Ice.jar +mv ${RPM_BUILD_ROOT}/lib/Freeze.jar $RPM_BUILD_ROOT%{_javadir}/Freeze-%{version}.jar +ln -s Freeze-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/Freeze.jar + +## install IceGrid GUI in the right place +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +mv ${RPM_BUILD_ROOT}/lib/IceGridGUI.jar $RPM_BUILD_ROOT%{_datadir}/Ice-%{version} +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/48x48/apps/ +cp -p ${RPM_BUILD_DIR}/Ice-%{version}/java/resources/icons/icegrid.png \ + ${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/48x48/apps/ +mkdir -p ${RPM_BUILD_ROOT}%{_bindir} +cp -p %{SOURCE2} ${RPM_BUILD_ROOT}%{_bindir} +sed -i -e "s#DIR#%{_datadir}/Ice-%{version}#" $RPM_BUILD_ROOT%{_bindir}/icegridgui + +%if 0%{?rhel} +desktop-file-install \ + --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ + --vendor = zeroc \ + %{SOURCE3} +%else +desktop-file-install \ + --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ + %{SOURCE3} +%endif + +# Move other rpm-specific files into the right place (README, service stuff) +mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/Ice-%{version} +cp -p %{SOURCE4} $RPM_BUILD_ROOT/%{_defaultdocdir}/Ice-%{version}/README.Fedora + +## install SysV services configuration +## glacier2router +install -Dp -m0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/glacier2router.conf +install -Dp -m0755 %{SOURCE6} $RPM_BUILD_ROOT%{_initddir}/glacier2router +## icegridnode +install -Dp -m0644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/icegridnode.conf +install -Dp -m0755 %{SOURCE8} $RPM_BUILD_ROOT%{_initddir}/icegridnode +## icegridregistry +install -Dp -m0644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/icegridregistry.conf +install -Dp -m0755 %{SOURCE10} $RPM_BUILD_ROOT%{_initddir}/icegridregistry +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/icegrid + +# "make install" assumes it's going into a directory under /opt. +# Move things to where they should be in an RPM setting (adapted from +# the original ZeroC srpm). +install -p -m0755 -t $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT/bin/* +rm -rf $RPM_BUILD_ROOT/bin +mkdir -p $RPM_BUILD_ROOT%{_includedir} +mv $RPM_BUILD_ROOT/include/* ${RPM_BUILD_ROOT}%{_includedir} +mkdir -p $RPM_BUILD_ROOT%{_libdir} +# There are a couple of files that end up installed in /lib, not %%{_libdir}, +# so we try this move too. +mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig +install -p -m0644 -t $RPM_BUILD_ROOT%{_libdir}/pkgconfig \ + $RPM_BUILD_ROOT/lib/pkgconfig/*.pc +install -p -m0755 -t $RPM_BUILD_ROOT%{_libdir}/ \ + $RPM_BUILD_ROOT/%{_lib}/*.so* +# Move the ImportKey.class file +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +mv $RPM_BUILD_ROOT/lib/ImportKey.class ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +rm -rf $RPM_BUILD_ROOT/%{_lib} $RPM_BUILD_ROOT/lib + +mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/Ice-%{version} +mv $RPM_BUILD_ROOT/help/IceGridAdmin $RPM_BUILD_ROOT%{_defaultdocdir}/Ice-%{version} + +# Copy the man pages into the correct directory +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp -p $RPM_BUILD_DIR/ice-3.4.2-man-pages/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +# Fix the encoding and line-endings of all the IceGridAdmin documentation files +pushd $RPM_BUILD_ROOT%{_defaultdocdir}/Ice-%{version}/IceGridAdmin +chmod a-x * +for f in *.js *.css *.js; +do + dos2unix $f +done +for f in helpman_topicinit.js icegridadmin_navigation.js \ + IceGridAdmin_popup_html.js zoom_pageinfo.js highlight.js; +do + iconv -f ISO88591 -t UTF8 $f -o $f.tmp + mv $f.tmp $f +done +popd + +## Mono bindings +%if 0%{?with_mono} +# .NET spec files (for csharp-devel) -- convert the paths +for f in IceGrid Glacier2 IceBox Ice IceStorm IcePatch2; +do + sed -i -e "s#/lib/#%{_libdir}/#" $RPM_BUILD_ROOT%{_libdir}/pkgconfig/$f.pc + sed -i -e "s#mono_root}/usr#mono_root}#" \ + $RPM_BUILD_ROOT%{_libdir}/pkgconfig/$f.pc + mv $RPM_BUILD_ROOT%{_bindir}/$f.xml \ + $RPM_BUILD_ROOT%{_libdir}/mono/gac/$f/%{version}.*/ + # fix xml files permissions + chmod 0644 $RPM_BUILD_ROOT%{_libdir}/mono/gac/$f/%{version}.*/*.xml +done +%else +# clean some files when building without mono +rm $RPM_BUILD_ROOT%{_bindir}/slice2cs +rm $RPM_BUILD_ROOT%{_mandir}/man1/iceboxnet.exe.1* +rm $RPM_BUILD_ROOT%{_mandir}/man1/slice2cs.1* +%endif + +## install PHP bindings in the right place +install -D -p -m0644 %{SOURCE11} \ + $RPM_BUILD_ROOT%{_sysconfdir}/php.d/%{name}.ini +install -D -p -m0755 ${RPM_BUILD_ROOT}/php/IcePHP.so \ + ${RPM_BUILD_ROOT}%{php_extdir}/IcePHP.so +rm -f ${RPM_BUILD_ROOT}/php/IcePHP.so +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/php +mv ${RPM_BUILD_ROOT}/php/* ${RPM_BUILD_ROOT}%{_datadir}/php + +## install Python and Ruby bindings in the right place +# remove shebangs from python/ruby modules +for f in $RPM_BUILD_ROOT/python/Ice.py $RPM_BUILD_ROOT/ruby/*.rb; +do + grep -v '/usr/bin/env' $f > $f.tmp + mv $f.tmp $f +done +mkdir -p ${RPM_BUILD_ROOT}%{ruby_sitearch} +mv $RPM_BUILD_ROOT/ruby/* ${RPM_BUILD_ROOT}%{ruby_sitearch} +mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/Ice +mv ${RPM_BUILD_ROOT}/python/* ${RPM_BUILD_ROOT}%{python_sitearch}/Ice +cp -p %{SOURCE12} $RPM_BUILD_ROOT%{python_sitearch} +# fix permissions for Python/Ruby C extensions libraries +chmod 0755 $RPM_BUILD_ROOT%{python_sitearch}/Ice/IcePy.so* +chmod 0755 $RPM_BUILD_ROOT%{ruby_sitearch}/IceRuby.so* + +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +mv $RPM_BUILD_ROOT/config/* ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +mv $RPM_BUILD_ROOT/slice ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} +# Somehow, some files under "slice" end up with executable permissions -- ?? +find ${RPM_BUILD_ROOT}%{_datadir}/Ice-%{version} -name "*.ice" | xargs chmod a-x + + +# Move license files into the documentation directory +mkdir -p ${RPM_BUILD_ROOT}%{_defaultdocdir}/Ice-%{version} +mv $RPM_BUILD_ROOT/ICE_LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/Ice-%{version}/ICE_LICENSE +mv $RPM_BUILD_ROOT/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/Ice-%{version}/LICENSE +# Copy in the other files too +cd ${RPM_BUILD_DIR}/Ice-%{version} +cp CHANGES RELEASE_NOTES ${RPM_BUILD_ROOT}%{_defaultdocdir}/Ice-%{version}/ + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root,-) +%{_defaultdocdir}/Ice-%{version} +%doc %{_mandir}/man1/dumpdb.1.gz +%doc %{_mandir}/man1/glacier2router.1.gz +%doc %{_mandir}/man1/icebox.1.gz +%doc %{_mandir}/man1/iceboxadmin.1.gz +%doc %{_mandir}/man1/iceca.1.gz +%doc %{_mandir}/man1/icegridadmin.1.gz +%doc %{_mandir}/man1/icegridnode.1.gz +%doc %{_mandir}/man1/icegridregistry.1.gz +%doc %{_mandir}/man1/icepatch2calc.1.gz +%doc %{_mandir}/man1/icepatch2client.1.gz +%doc %{_mandir}/man1/icepatch2server.1.gz +%doc %{_mandir}/man1/icestormadmin.1.gz +%doc %{_mandir}/man1/slice2html.1.gz +%doc %{_mandir}/man1/transformdb.1.gz +%{_bindir}/dumpdb +%{_bindir}/glacier2router +%{_bindir}/icebox +%{_bindir}/iceboxadmin +%{_bindir}/iceca +%{_bindir}/icegridadmin +%{_bindir}/icegridnode +%{_bindir}/icegridregistry +%{_bindir}/icepatch2calc +%{_bindir}/icepatch2client +%{_bindir}/icepatch2server +%{_bindir}/icestormadmin +%{_bindir}/icestormmigrate +%{_bindir}/slice2html +%{_bindir}/transformdb +%{_libdir}/lib*.so.%{version} +%{_libdir}/lib*.so.%{soversion} +%{_datadir}/Ice-%{version} +# Exclude the stuff that's in IceGrid +%exclude %{_defaultdocdir}/Ice-%{version}/IceGridAdmin +%exclude %{_datadir}/Ice-%{version}/IceGridGUI.jar + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files servers +%defattr(-,root,root,-) +%{_initddir}/icegridregistry +%{_initddir}/icegridnode +%{_initddir}/glacier2router +%config(noreplace) %{_sysconfdir}/icegridregistry.conf +%config(noreplace) %{_sysconfdir}/icegridnode.conf +%config(noreplace) %{_sysconfdir}/glacier2router.conf +%dir %{_localstatedir}/lib/icegrid + +%pre servers +# Following the Wiki instructions ... +getent group iceuser > /dev/null || groupadd -r iceuser +getent passwd iceuser > /dev/null || \ + useradd -r -g iceuser -d %{_localstatedir}/lib/icegrid \ + -s /sbin/nologin -c "IceGrid server user" iceuser +exit 0 + +%post servers +/sbin/chkconfig --add icegridregistry +/sbin/chkconfig --add icegridnode +/sbin/chkconfig --add glacier2router + +%preun servers +if [ $1 = 0 ]; then + /sbin/service icegridregistry stop >/dev/null 2>&1 || : + /sbin/chkconfig --del icegridregistry + /sbin/service icegridnode stop >/dev/null 2>&1 || : + /sbin/chkconfig --del icegridnode + /sbin/service glacier2router stop >/dev/null 2>&1 || : + /sbin/chkconfig --del glacier2router +fi + +%postun servers +if [ "$1" -ge "1" ]; then + /sbin/service icegridregistry condrestart >/dev/null 2>&1 || : + /sbin/service icegridnode condrestart >/dev/null 2>&1 || : + /sbin/service glacier2router condrestart >/dev/null 2>&1 || : +fi + +%files devel +%defattr(-,root,root,-) +%doc %{_mandir}/man1/slice2cpp.1.gz +%doc %{_mandir}/man1/slice2freeze.1.gz +%{_bindir}/slice2cpp +%{_bindir}/slice2freeze +%{_includedir}/Freeze +%{_includedir}/Glacier2 +%{_includedir}/Ice +%{_includedir}/IceBox +%{_includedir}/IceGrid +%{_includedir}/IcePatch2 +%{_includedir}/IceSSL +%{_includedir}/IceStorm +%{_includedir}/IceUtil +%{_includedir}/IceXML +%{_includedir}/Slice +%{_libdir}/lib*.so + +%files java +%defattr(-,root,root,-) +%{_javadir}/*.jar + +%files -n icegrid-gui +%defattr(-,root,root,-) +%{_datadir}/Ice-%{version}/IceGridGUI.jar +%attr(755,root,root) %{_bindir}/icegridgui +%doc %{_mandir}/man1/icegridgui.1.gz +%{_datadir}/applications/* +%{_datadir}/icons/hicolor/48x48/apps/icegrid.png +%doc %{_defaultdocdir}/Ice-%{version}/IceGridAdmin + +%files java-devel +%defattr(-,root,root,-) +%doc %{_mandir}/man1/slice2java.1.gz +%doc %{_mandir}/man1/slice2freezej.1.gz +%{_bindir}/slice2java +%{_bindir}/slice2freezej +%{_javadir}/ant-ice-%{version}.jar +%{_javadir}/ant-ice.jar + +%if 0%{?with_mono} +%files csharp +%defattr(-,root,root,-) +%{_libdir}/mono/Glacier2/ +%{_libdir}/mono/Ice/ +%{_libdir}/mono/IceBox/ +%{_libdir}/mono/IceGrid/ +%{_libdir}/mono/IcePatch2/ +%{_libdir}/mono/IceStorm/ +%{_libdir}/mono/gac/Glacier2 +%{_libdir}/mono/gac/Ice +%{_libdir}/mono/gac/IceBox +%{_libdir}/mono/gac/IceGrid +%{_libdir}/mono/gac/IcePatch2 +%{_libdir}/mono/gac/IceStorm +%{_libdir}/mono/gac/policy* +%{_bindir}/iceboxnet.exe +%doc %{_mandir}/man1/iceboxnet.exe.1.gz + +%files csharp-devel +%defattr(-,root,root,-) +%doc %{_mandir}/man1/slice2cs.1.gz +%{_bindir}/slice2cs +%{_libdir}/pkgconfig/Glacier2.pc +%{_libdir}/pkgconfig/Ice.pc +%{_libdir}/pkgconfig/IceBox.pc +%{_libdir}/pkgconfig/IceGrid.pc +%{_libdir}/pkgconfig/IcePatch2.pc +%{_libdir}/pkgconfig/IceStorm.pc +%endif + +%files python +%defattr(-,root,root,-) +%{python_sitearch}/Ice/ +%{python_sitearch}/%{name}.pth + +%files python-devel +%defattr(-,root,root,-) +%{_bindir}/slice2py +%doc %{_mandir}/man1/slice2py.1.gz + +%files ruby +%defattr(-,root,root,-) +%{ruby_sitearch}/* + +%files ruby-devel +%defattr(-,root,root,-) +%{_bindir}/slice2rb +%doc %{_mandir}/man1/slice2rb.1.gz + +%files php +%defattr(-,root,root,-) +%{php_extdir}/IcePHP.so +%{_datadir}/php/* +%config(noreplace) %{_sysconfdir}/php.d/ice.ini + +%files php-devel +%defattr(-,root,root,-) +%{_bindir}/slice2php +%{_mandir}/man1/slice2php.1.gz + + +%changelog +* Wed Aug 31 2011 Haïkel Guémar - 3.4.2-3 +- remove arch-dependency on java requires + +* Sun Aug 28 2011 Haïkel Guémar - 3.4.2-2 +- ice-java: bump java requires epoch + +* Fri Aug 05 2011 Haïkel Guémar - 3.4.2-1 +- upstream 3.4.2 +- refresh gcc 4.6/jgoodies patch +- retrieved updated debian man pages +- fix permissions +- use %%{?_isa} for arch-dependent requires +- spec cleanup + +* Tue Mar 22 2011 Dan Horák - 3.4.1-2 +- conditionalize CSharp/Mono support + +* Sat Feb 12 2011 Haïkel Guémar - 3.4.1-1 +- upstream 3.4.1 +- fix gcc46 build issue +- some spec cleaning and patches revamping (dropped: java, openssl) +- updated man pages from Francisco Moya Debian's package + +* Wed Feb 09 2011 Fedora Release Engineering - 3.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 3.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Sun Jun 20 2010 Dan Horák - 3.4.0-2 +- add support for the s390/s390x architectures + +* Fri Mar 12 2010 Mary Ellen Foster - 3.4.0-1 +- Update to new upstream release -- complete release notes at + http://www.zeroc.com/download/Ice/3.4/Ice-3.4.0-RELEASE_NOTES +- Of particular note: + - There is a completely new AMI facility for C++, C#, Java, and Python + - The PHP support has changed significantly (note the new ice-php-devel + package). + - The slice2docbook command is no longer included + - The Java2 mapping has been removed -- Java5 only + +* Tue Feb 16 2010 Mary Ellen Foster - 3.3.1-7 +- Add a couple of changes to allow the RPM to be rebuilt on RHEL + (bugs 511068, 565411) + +* Mon Feb 1 2010 Mary Ellen Foster - 3.3.1-6 +- Fix the user name in the server scripts (bug 557411) + +* Sat Aug 22 2009 Tomas Mraz - 3.3.1-5 +- rebuilt with new openssl + +* Fri Jul 24 2009 Fedora Release Engineering - 3.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jul 13 2009 Remi Collet - 3.3.1-3 +- rebuild for new PHP 5.3.0 ABI (20090626) + ice-php53.patch +- add PHP ABI check +- use php_extdir + +* Wed Jul 8 2009 Mary Ellen Foster - 3.3.1-2 +- Include upstream patches: + - slice2html creates bad links + - slice compilers abort on symlinks and double backslashes + - random endpoint selection in .Net + See http://www.zeroc.com/forums/patches/ for details + +* Wed Mar 25 2009 Mary Ellen Foster - 3.3.1-1 +- Update to new upstream 3.3.1 release + - Includes all previous patches + - Support for serializable Java and .NET types in your Slice definitions + - Ability to use Ice for Java in an applet and to load IceSSL files, such + as keystores, from class path resources +- Details at http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1-RELEASE_NOTES + +* Tue Feb 24 2009 Fedora Release Engineering - 3.3.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 23 2009 Mary Ellen Foster - 3.3.0-13 +- Explicitly BuildRequire OpenJDK to fix a build failure on rawhide +- Fix author name in previous change log +- No longer include ant.jar in the CLASSPATH for building (unnecessary) + +* Fri Feb 6 2009 Mary Ellen Foster - 3.3.0-12 +- Include Debian patch for GCC 4.4 + +* Sat Jan 17 2009 Tomas Mraz - 3.3.0-11 +- rebuild with new openssl + +* Sat Jan 10 2009 Dennis Gilmore - 3.3.0-10 +- ExcludeArch sparc64 no mono there + +* Thu Dec 4 2008 Ignacio Vazquez-Abrams - 3.3.0-9 +- Rebuild for Python 2.6 + +* Thu Dec 4 2008 - 3.3.0-8 +- Add all accumulated upstream patches + +* Thu Dec 4 2008 - 3.3.0-7 +- (Tiny) patch to support Python 2.6 + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 3.3.0-6 +- Rebuild for Python 2.6 + +* Tue Aug 12 2008 Mary Ellen Foster 3.3.0-5 +- Explicitly create build root so it builds on F10 +- Patch to build against DB4.7 + +* Wed Jul 30 2008 Mary Ellen Foster 3.3.0-4 +- Re-add .pth file -- the alternative method involves editing auto-generated + files that say "don't edit" and I don't want to break other parts of Ice + +* Fri Jun 27 2008 Mary Ellen Foster 3.3.0-3 +- Bump release to fix tag problem and bad date +- Add dist back to release field + +* Wed Jun 25 2008 Mary Ellen Foster 3.3.0-2 +- Add patch from ZeroC + +* Mon Jun 9 2008 Mary Ellen Foster 3.3.0-1 +- Update for 3.3 final +- Fix ppc64 issues with directories in Mono .pc files (I hope) +- Incorporate patches and man pages from Debian package + +* Tue May 06 2008 Mary Ellen Foster 3.3-0.1.b +- Update for 3.3 beta prerelease +- Fix Python sitelib/sitearch issues + +* Fri Feb 22 2008 Mary Ellen Foster 3.2.1-17 +- Improved, less invasive patch based on the Debian one + +* Fri Feb 22 2008 Mary Ellen Foster 3.2.1-16 +- Add includes so that it compiles with GCC 4.3 + +* Tue Feb 19 2008 Fedora Release Engineering - 3.2.1-15 +- Autorebuild for GCC 4.3 + +* Wed Dec 05 2007 Mary Ellen Foster 3.2.1-14 +- Version bump to rebuild because of changed OpenSSL in rawhide + +* Tue Nov 20 2007 Mary Ellen Foster 3.2.1-13 +- Enable the IceGrid GUI +- Fix a problem with Python on 64-bit systems (bz #392751) +- Incorporate one more Mono patch from ZeroC + +* Tue Oct 30 2007 Mary Ellen Foster 3.2.1-12 +- Put the slice2java classes into a .jar file instead of as bare classes +- Incorporate all Ice 3.2.1 patches from ZeroC +- Fix templates path in icegridregistry.conf + +* Fri Sep 7 2007 Mary Ellen Foster 3.2.1-11 +- Also add Obsoletes: for the old zeroc names +- Fix bad date in changelog + +* Wed Aug 29 2007 Mary Ellen Foster 3.2.1-9 +- Add "with exceptions" to license tag +- Minor typo corrections in README.Fedora +- Move ruby sitearch files out of an "Ice/" subdirectory so that they're + actually useful + +* Tue Aug 28 2007 Mary Ellen Foster 3.2.1-8 +- Remove parallel make to see if that fixes build errors + +* Mon Aug 27 2007 Mary Ellen Foster 3.2.1-7 +- Fix over-zealous patch in csharp IceBox Makefile + +* Mon Aug 27 2007 Mary Ellen Foster 3.2.1-6 +- Put IcePy.so* into sitearch, not sitelib +- Use %%ifarch in python file list to avoid duplicate warnings +- Actually use gacutil for the Mono dlls instead of faking it + +* Fri Aug 24 2007 Mary Ellen Foster 3.2.1-5 +- Clean up packaging of icegridgui: it's a gui app, so we should treat it as + such (NB: building this package is still disabled by default because it needs + jgoodies) +- Actually create the working directory for the Ice services +- Remove redundant requires on java-devel and csharp-devel packages +- Fix file list for python package to own directories too +- Modified the README to accurately reflect what's in the Fedora package + +* Thu Aug 23 2007 Mary Ellen Foster 3.2.1-4 +- Whoops, ruby(abi) doesn't pull in ruby ... +- Redirect getent output to /dev/null +- Try again to remove execute permission on all *.ice files (????) +- Move ImportKey.class out of bin and into share (not sure what it does, but I'm + pretty sure it doesn't belong in bin!) + +* Wed Aug 22 2007 Mary Ellen Foster 3.2.1-3 +- Changed BuildRequires on ruby to ruby(abi) = 1.8 +- Fixed all dependencies between subpackages: everything requires the base + package, and -devel packages should all require their corresponding non-devel + package now +- Made ice-csharp require pkgconfig +- Modified the user/group creation process based on the wiki +- Removed ldconfig for ice-c++-devel subpackage +- Made the python_sitelib subdirectory owned by ice-python +- Removed executable permission on all files under slice (how did that happen?) +- Fixed typo on ice-csharp group +- Changed license tag to GPLv2 +- Removed macros in changelog +- Set CFLAGS as well as CPPFLAGS for make so that building icecpp gets the + correct flags too +- Renamed ice-c++-devel to ice-devel +- Added Provides: for ice-c++-devel and ice-dotnet for people moving from the + ZeroC RPMs +- Also don't build "test" or "demo" for IceCS + +* Sun Aug 18 2007 Mary Ellen Foster 3.2.1-2 +- ExcludeArch ppc64 +- Fix one more hard-coding problem for x86_64 + +* Thu Aug 16 2007 Mary Ellen Foster 3.2.1-1 +- Update to 3.2.1 + +* Wed Aug 1 2007 Mary Ellen Foster 3.2.0-7 +- Fixed arch-specific issues: + - %%ifnarch ppc64 in a lot of places; it doesn't have db4-java or mono-core, + so no Java or CSharp packages + - Replaced one literal "lib" with %%{_lib} +- Added IceGrid registry patch from ZeroC forum +- Don't build "test" or "demo" subdirectories +- Use "/sbin/ldconfig" instead of %%{_sbindir} because that's /usr/sbin (also + for other things like /sbin/service etc) +- Removed useless "dotnetversion" define (it's the same as "version") +- Remove executable bit on all "*.ice" files (it gets set somehow on a few) + +* Tue Jul 31 2007 Mary Ellen Foster 3.2.0-6 +- Updated to incorporate more suggestions from Mamoru Tasaka (sorry for the delay!) +- Include Java and C# stuff in the single SRPM (NB: they'll no longer be noarch) + +* Mon Jul 9 2007 Mary Ellen Foster 3.2.0-5 +- Updated following review comments from Mamoru Tasaka +- Renamed file to "ice.spec" +- Use %%{_libdir} instead of literal "lib"/"lib64" (not yet tested on 64-bit + system) +- Changed "make" calls to use the correct compiler flags (including -fPIC) +- Changed "cp" to "cp -p" everywhere for timestamps +- Use more macros instead of hard-coded directory names: + %%_prefix, %%_libdir, %%_initrddir, %%_localstatedir, %%_sbindir +- Un-excluded *.pyo files + +* Wed Jun 13 2007 Mary Ellen foster 3.2.0-4 +- Removed cruft so that it no longer tries to build Java stuff (whoops) + +* Wed Apr 18 2007 Mary Ellen Foster 3.2.0-3 +- Use RPM macros instead of /etc and /usr/bin (Thanks to Peter Lemenkov) +- Suggestions from ZeroC forum (http://zeroc.com/forums/showthread.php?t=3095): + - Use Python site-packages directory + - Create "iceuser" user + - Split /etc/init.d services into a separate sub-package +- Follow guidelines from Fedora wiki about packaging Ruby + - Use Ruby site-arch directory + - Depend on ruby(abi) +- Make sure to compile all Java files with -source 1.4 -target 1.4 + +* Wed Apr 11 2007 Mary Ellen Foster 3.2.0-2 +- Remove "assert" in Java classes for compilation with Java 1.4 + +* Fri Mar 30 2007 Mary Ellen Foster 3.2.0-1 +- Initial spec, based on spec distributed by ZeroC diff --git a/icegridgui b/icegridgui new file mode 100755 index 0000000..93e8976 --- /dev/null +++ b/icegridgui @@ -0,0 +1,5 @@ +#!/bin/sh + +exec java \ + -cp `build-classpath Ice jgoodies-looks jgoodies-forms`:DIR/IceGridGUI.jar \ + IceGridGUI.Main "$@" diff --git a/icegridnode.conf b/icegridnode.conf new file mode 100644 index 0000000..4d2efd3 --- /dev/null +++ b/icegridnode.conf @@ -0,0 +1,48 @@ +# +# Sample configuration file for the IceGrid node daemon +# + +# +# Proxy to the IceGrid registry +# +Ice.Default.Locator=DemoIceGrid/Locator:tcp -h localhost -p 4061 +#Ice.Default.Locator=DemoIceGrid/Locator:ssl -h localhost -p 4062 + +# +# The name of this node; must be unique within an IceGrid deployment +# +IceGrid.Node.Name=node1 + +# +# The node object adapter listens on the loopback interface using an +# OS-assigned port +# +# These endpoints must be accessible to IceGrid registries. +# +# To listen on an additional interface add an additional endpoint with +# -h or remove -h localhost to listen on all +# interfaces. Note that access to these endpoints can pose a security +# risk (remote code execution) and therefore these endpoints should be +# secured. See the Ice manual for more information. +# +IceGrid.Node.Endpoints=tcp -h localhost + +# +# The directory where the IceGrid node maintains its data +# (server configuration files etc.) +# This directory must exist when icegridnode starts +# +IceGrid.Node.Data=/var/lib/ice/icegrid/node1 + +# +# Redirect the servers'stdout and stderr to files in this directory: +# +IceGrid.Node.Output=/var/lib/ice/icegrid/node1 +#IceGrid.Node.RedirectErrToOut=1 + +# +# Logging to syslog +# +Ice.UseSyslog=1 +Ice.ProgramName=icegridnode (DemoIceGrid node1) +IceGrid.Node.Trace.Replica=2 diff --git a/icegridnode.init b/icegridnode.init new file mode 100644 index 0000000..f400d11 --- /dev/null +++ b/icegridnode.init @@ -0,0 +1,111 @@ +#!/bin/bash +# +# Copyright (c) 2007-2010 ZeroC, Inc. All rights reserved. +# +# icegridnode This shell script takes care of starting and +# stopping the icegridnode daemon. +# +# chkconfig: - 61 75 +# description: The IceGrid node daemon. \ +# IceGrid is the server deployment and monitoring for the Internet \ +# Communications Engine (Ice). An IceGrid domain consists of one master \ +# registry, zero or more slave registries, and zero or more IceGrid nodes. + +# +# Source function library. +# +. /etc/init.d/functions + +# +# The IceGrid node user; root is allowed, but not necessary, therefore +# it is recommended to use a non-root account. +# +user=iceuser + +# +# Ask for a password at startup? +# +prompt=no + +# +# The IceGrid node configuration file +# +nodeconf="/etc/icegridnode.conf" + +prog="/usr/bin/icegridnode" + +progbase=${prog##*/} +pidfile=/var/run/$progbase.pid + +options="--daemon --pidfile $pidfile --Ice.Config=$nodeconf" + +RETVAL=0 + +start() { + if [ "${prompt:-}" = "yes" ] + then + echo $"Starting $progbase: " + INITLOG_ARGS= # clears -q + else + echo -n $"Starting $progbase: " + fi + + daemonoptions="--pidfile $pidfile" + if [ "$user" != "root" ] + then + daemonoptions="$daemonoptions --user $user" + + if [ ! -e $pidfile ] + then + touch $pidfile + fi + chown $user $pidfile + fi + + daemon $daemonoptions $prog $options + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$progbase + return $RETVAL +} + +stop() { + echo -n $"Shutting down $progbase: " + killproc -p $pidfile $prog + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$progbase + return $RETVAL +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status $progbase + RETVAL=$? + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/$progbase ]; then + stop + start + RETVAL=$? + fi + ;; + *) + echo $"Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL diff --git a/icegridregistry.conf b/icegridregistry.conf new file mode 100644 index 0000000..e64303a --- /dev/null +++ b/icegridregistry.conf @@ -0,0 +1,70 @@ +# +# Sample configuration file for the IceGrid registry daemon +# + +# +# The IceGrid instance name; must be unique, to distinguish several +# IceGrid deployments +# +IceGrid.InstanceName=DemoIceGrid + +# +# Client object adapter: listens on the loopback interface +# IANA-registered TCP ports for the IceGrid registry: +# - 4061 (insecure) +# - 4062 (secure, using SSL) +# +# These endpoints must be accessible to Ice clients and servers as +# well as the IceGrid administrative utilities. +# +# To listen on an additional interface add an additional endpoint with +# -h or remove -h localhost to listen on all +# interfaces. +# +IceGrid.Registry.Client.Endpoints=tcp -p 4061 -h localhost +#IceGrid.Registry.Client.Endpoints=ssl -p 4062 -h localhost +#IceGrid.Registry.Client.Endpoints=tcp -p 4061 -h localhost:ssl -p 4062 -h localhost + +# +# Server and Internal object adapters: listens on the loopback +# interface using an OS-assigned port number. +# +# The Server endpoints must be accessible to Ice servers deployed on +# IceGrid nodes or to Ice servers using IceGrid dynamic +# registration. The Internal endpoints must be accessible to IceGrid +# nodes. +# +# To listen on an additional interface add an additional endpoint with +# -h or remove -h localhost to listen on all +# interfaces. Note that access to these endpoints can pose a security +# risk (remote code execution) and therefore these endpoints should be +# secured. See the Ice manual for more information. +# +IceGrid.Registry.Server.Endpoints=tcp -h localhost +IceGrid.Registry.Internal.Endpoints=tcp -h localhost + +# +# The registry DB home; must exist when icegridregistry starts +# +IceGrid.Registry.Data=/var/lib/ice/icegrid/registry + +# +# Authentication/authorization +# With NullPermissionsVerifier, any password is accepted (not recommended +# for production) +# +IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier +IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier + +# +# Default templates +# +IceGrid.Registry.DefaultTemplates=/usr/share/Ice-3.4.1/templates.xml + +# +# Logging to syslog +# +Ice.UseSyslog=1 +Ice.ProgramName=icegridregistry (DemoIceGrid Master) +IceGrid.Registry.Trace.Node=1 +IceGrid.Registry.Trace.Replica=1 diff --git a/icegridregistry.init b/icegridregistry.init new file mode 100644 index 0000000..1e9eae9 --- /dev/null +++ b/icegridregistry.init @@ -0,0 +1,111 @@ +#!/bin/bash +# +# Copyright (c) 2007-2010 ZeroC, Inc. All rights reserved. +# +# icegridregistry This shell script takes care of starting and +# stopping the icegridregistry daemon. +# +# chkconfig: - 60 76 +# description: The IceGrid registry daemon. \ +# IceGrid is the server deployment and monitoring for the Internet \ +# Communications Engine (Ice). An IceGrid domain consists of one master \ +# registry, zero or more slave registries, and zero or more IceGrid nodes. + +# +# Source function library. +# +. /etc/init.d/functions + +# +# The IceGrid registry user; root is allowed, but not necessary, therefore +# it is recommended to use a non-root account. +# +user=iceuser + +# +# Ask for a password at startup? +# +prompt=no + +# +# The IceGrid registry configuration file +# +registryconf="/etc/icegridregistry.conf" + +prog="/usr/bin/icegridregistry" + +progbase=${prog##*/} +pidfile=/var/run/$progbase.pid + +options="--daemon --pidfile $pidfile --Ice.Config=$registryconf" + +RETVAL=0 + +start() { + if [ "${prompt:-}" = "yes" ] + then + echo $"Starting $progbase: " + INITLOG_ARGS= # clears -q + else + echo -n $"Starting $progbase: " + fi + + daemonoptions="--pidfile $pidfile" + if [ "$user" != "root" ] + then + daemonoptions="$daemonoptions --user $user" + + if [ ! -e $pidfile ] + then + touch $pidfile + fi + chown $user $pidfile + fi + + daemon $daemonoptions $prog $options + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$progbase + return $RETVAL +} + +stop() { + echo -n $"Shutting down $progbase: " + killproc -p $pidfile $prog + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$progbase + return $RETVAL +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status $progbase + RETVAL=$? + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/$progbase ]; then + stop + start + RETVAL=$? + fi + ;; + *) + echo $"Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL -- cgit