Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37513848
en ru br
Репозитории ALT
5.1: 3.3.1-alt1
4.1: 3.2.1-alt1.1
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: ice

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define major 3.3
Name: ice
Version: %major.1
Release: alt1

Summary: Files common to all Ice packages

License: GPLv2
Group: System/Libraries
Url: http://www.zeroc.com/

Packager: Vitaly Lipatov <lav at altlinux.ru>

Source: http://www.zeroc.com/download/Ice/%major/Ice-%version.tar.bz2
Source1: http://www.zeroc.com/download/Ice/%major/Ice-rpmbuild-%version.tar.bz2
Patch: ice-3.3-alt-build.patch
Patch1: ice-3.3-ssl-krb.patch

%def_with krb

BuildRequires: bzlib-devel gcc-c++ libdb4_cxx-devel libexpat-devel libssl-devel libmcpp-devel >= 2.7.2

%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.

%package -n libice
Summary: The base runtime libraries for Ice applications
Group: System/Libraries
Requires: %name = %version-%release
%if_with krb
BuildRequires: openssl-krb-devel
Requires: openssl-krb
Provides: libice-ssl-krb = %version-%release
%endif

%description -n libice
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.

%package -n libice-devel
Summary: Tools, libraries and headers for developing Ice applications in C++
Group: Development/C++
Requires: %name = %version-%release
Requires: ice-devel-utils = %version-%release
%if_with krb
Requires: libice-ssl-krb = %version
Provides: libice-ssl-krb-devel = %version-%release
%endif

%description -n libice-devel
Tools, libraries and headers for developing Ice applications in C++.

%package devel-utils
Summary: Tools for developing Ice applications
Group: Development/Other
Requires: %name = %version-%release

%description devel-utils
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.

%package utils
Summary: Ice utilities and admin tools.
Group: System/Configuration/Other
Requires: %name = %version-%release

%description utils
Admin tools to manage Ice servers (IceGrid, IceStorm, IceBox etc.),
plus various Ice-related utilities.

%package servers
Summary: Ice servers and related files.
Group: System/Servers
Requires: ice-utils = %version-%release
#Requires(pre): shadow-utils
# Requirements for the init.d services
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service

%description servers
Ice servers: glacier2router, icebox, icegridnode, icegridregistry,
icebox, iceboxnet, icepatch2server and related files.

%prep
%setup -q -n Ice-%version
tar xfj %SOURCE1

cd cpp
%patch -p1
%if_with krb
%patch1 -p1
%endif

%build
cd cpp
%make_build OPTIMIZE=yes embedded_runpath_prefix="" DB_HOME=%prefix

%install
pushd cpp
%make_install prefix=%buildroot embedded_runpath_prefix="" install
popd

#

# move installed files
#
## dirs
mkdir -p %buildroot/%_prefix
mkdir -p %buildroot%_datadir/Ice-%version
## bins
mv %buildroot/bin %buildroot/%_bindir
## clean libs
mv %buildroot/lib/ImportKey.class %buildroot%_datadir/Ice-%version
## libs
mv %buildroot/%_lib %buildroot%_libdir
## includes
mv %buildroot/include %buildroot%_includedir
## slices
mv %buildroot/slice %buildroot%_datadir/Ice-%version
## scripts
mv %buildroot/config/* %buildroot%_datadir/Ice-%version

rm -rf %buildroot/doc %buildroot/ICE_LICENSE %buildroot/LICENSE
rm -f %buildroot%_libdir/libIceStormService.so

#

# Certificates
#
cp -r certs %buildroot%_datadir/Ice-%version

#

# Config files (for build another parts)
#
mkdir -p %buildroot%_datadir/Ice-%version/config
cp cpp/config/Make.rules.Linux %buildroot%_datadir/Ice-%version/config
cp config/Make.common.rules* %buildroot%_datadir/Ice-%version/config
cp config/PropertyNames.xml %buildroot%_datadir/Ice-%version/config
cp config/IceDevKey.snk %buildroot%_datadir/Ice-%version/config

#

# initrd files (for servers)
#
mkdir -p %buildroot%_sysconfdir
cp Ice-rpmbuild-%version/*.conf %buildroot%_sysconfdir
mkdir -p %buildroot%_initrddir
for i in icegridregistry icegridnode glacier2router
do
   cp Ice-rpmbuild-%version/$i.%_vendor %buildroot%_initrddir/$i
done

%files
%doc CHANGES ICE_LICENSE LICENSE RELEASE_NOTES Ice-rpmbuild-%version/THIRD_PARTY_LICENSE.Linux Ice-rpmbuild-%version/SOURCES.Linux Ice-rpmbuild-%version/README.Linux-RPM
%dir %_datadir/Ice-%version
%_datadir/Ice-%version/slice
%_datadir/Ice-%version/certs
%_datadir/Ice-%version/config

%files -n libice
%_libdir/libFreeze.so.*
%_libdir/libGlacier2.so.*
%_libdir/libIceBox.so.*
%_libdir/libIcePatch2.so.*
%_libdir/libIce.so.*
%_libdir/libIceSSL.so.*
%_libdir/libIceStorm.so.*
%_libdir/libIceUtil.so.*
%_libdir/libSlice.so.*
%_libdir/libIceXML.so.*
%_libdir/libIceGrid.so.*

%files -n libice-devel
%_includedir/*
%_libdir/libFreeze.so
%_libdir/libGlacier2.so
%_libdir/libIceBox.so
%_libdir/libIceGrid.so
%_libdir/libIcePatch2.so
%_libdir/libIce.so
%_libdir/libIceSSL.so
%_libdir/libIceStorm.so
%_libdir/libIceUtil.so
%_libdir/libIceXML.so
%_libdir/libSlice.so

%files devel-utils
%_bindir/slice2*

%files utils
%_bindir/dumpdb
%_bindir/transformdb
%_bindir/iceboxadmin
%_bindir/icepatch2calc
%_bindir/icepatch2client
%_bindir/icestormadmin
%_bindir/icegridadmin
%_bindir/iceca
%_datadir/Ice-%version/ImportKey.class
%attr(755,root,root) %_datadir/Ice-%version/convertssl.py*

%files servers
%_libdir/libIceStormService.so.*
%_bindir/glacier2router
%_bindir/icebox
%_bindir/icegridnode
%_bindir/icegridregistry
%_bindir/icepatch2server
%_bindir/icestormmigrate
%_datadir/Ice-%version/templates.xml
%attr(755,root,root) %_datadir/Ice-%version/upgradeicegrid.py*
%_datadir/Ice-%version/icegrid-slice.3.*.ice.gz
%_initrddir/icegridregistry
%_initrddir/icegridnode
%_initrddir/glacier2router
%config(noreplace) %_sysconfdir/icegridregistry.conf
%config(noreplace) %_sysconfdir/icegridnode.conf
%config(noreplace) %_sysconfdir/glacier2router.conf

%pre servers
getent group ice > /dev/null || groupadd -r ice
getent passwd ice > /dev/null || \
      useradd -r -g ice -d %_localstatedir/ice \
      -s /sbin/nologin -c "Ice Service account" ice
test -d %_localstatedir/ice/icegrid/registry || \
      mkdir -p %_localstatedir/ice/icegrid/registry; chown -R ice.ice %_localstatedir/ice
test -d %_localstatedir/ice/icegrid/node1 || \
      mkdir -p %_localstatedir/ice/icegrid/node1; chown -R ice.ice %_localstatedir/ice
exit 0

%post servers
/sbin/chkconfig --add icegridregistry
/sbin/chkconfig --add icegridnode
/sbin/chkconfig --add glacier2router

%preun servers
if [ $1 = 0 ]; then
       /sbin/service icegridnode stop >/dev/null 2>&1 || :
       /sbin/chkconfig --del icegridnode
       /sbin/service icegridregistry stop >/dev/null 2>&1 || :
       /sbin/chkconfig --del icegridregistry
       /sbin/service glacier2router stop >/dev/null 2>&1 || :
       /sbin/chkconfig --del glacier2router
fi

%postun servers
if [ "$1" -ge "1" ]; then
       /sbin/service icegridnode condrestart >/dev/null 2>&1 || :
       /sbin/service icegridregistry condrestart >/dev/null 2>&1 || :
       /sbin/service glacier2router condrestart >/dev/null 2>&1 || :
fi


%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin