[packages/ice] - updated to 3.6.3 - updated no-arch-opts patch - added db patch (db-cxx 6.x fixes) - added php7 pat

qboosh qboosh at pld-linux.org
Mon Jul 3 21:47:43 CEST 2017


commit ad948676e95fc02c1041fbe43910a0cbb53759dc
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Jul 3 21:49:16 2017 +0200

    - updated to 3.6.3
    - updated no-arch-opts patch
    - added db patch (db-cxx 6.x fixes)
    - added php7 patch (php 7.1.x fix)

 ice-db.patch       |  48 +++++++++
 ice-php7.patch     |  30 ++++++
 ice.spec           | 284 ++++++++++++++++++++++++++++++++---------------------
 no-arch-opts.patch |  39 +++++---
 4 files changed, 277 insertions(+), 124 deletions(-)
---
diff --git a/ice.spec b/ice.spec
index d12ea54..9b90c4d 100644
--- a/ice.spec
+++ b/ice.spec
@@ -17,28 +17,31 @@
 %undefine	with_dotnet
 %endif
 
-%if "%{?php_suffix}" == ""
+%if "%{?php_suffix}" == "x"
 %define		php_suffix	55
 %endif
 %define		php_name	php%{?php_suffix}
 
 %{?with_java:%include	/usr/lib/rpm/macros.java}
 Summary:	The Ice base runtime and services
+Summary(pl.UTF-8):	Podstawowy pakiet uruchomieniowy oraz usługowy Ice
 Name:		ice
-Version:	3.6.0
-Release:	5
+Version:	3.6.3
+Release:	1
 License:	GPL v2 with exceptions (see ICE_LICENSE)
 Group:		Applications
+#Source0Download: https://github.com/zeroc-ice/ice/releases
 Source0:	https://github.com/zeroc-ice/ice/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	ced45c83fb892a0b392b78af3dbb4af4
-# Extracted from http://zeroc.com/download/Ice/3.6/ice-3.6.0.src.rpm
+# Source0-md5:	88bf025890cdd8d1193a7155dc539671
+# Extracted from http://zeroc.com/download/Ice/3.6/rpm/el7/SRPMS/ice-3.6.3-1.el7.src.rpm
 Source1:	Ice-rpmbuild-%{version}.tar.gz
-# Source1-md5:	b999b2ef7c2decf601b128e5bba50d17
-# Man pages courtesy of Francisco Moya's Debian packages
+# Source1-md5:	38536c26981a5cdc9b57723bc28aea44
 Source3:	%{name}gridgui
 Source4:	IceGridAdmin.desktop
 Patch0:		no-arch-opts.patch
 Patch1:		csharp-build.patch
+Patch2:		%{name}-db.patch
+Patch3:		%{name}-php7.patch
 URL:		http://www.zeroc.com/
 BuildRequires:	bzip2-devel
 BuildRequires:	db-cxx-devel
@@ -75,7 +78,7 @@ BuildRequires:	rpm-rubyprov
 BuildRequires:	ruby >= 1:1.8.6
 BuildRequires:	ruby-devel
 %endif
-# Ice doesn't officially support ppc64 at all; sparc64 doesnt have mono
+# Ice doesn't officially support ppc64 at all; sparc64 doesn't have mono
 ExcludeArch:	ppc64 sparc64
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -92,26 +95,45 @@ 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.
 
+%description -l pl.UTF-8
+Ice to współczesna alternatywa dla pośredniej warstwy obiektowej,
+takiej jak CORBA lub COM/DCOM/COM+. Jest łatwy do nauczenia, a daje
+potężną infrastrukturę sieciową dla wymagających aplikacji
+technicznych. Ma zorientowany obiektowo język specyfikacji, łatwe do
+nauki odwzorowania w C++, C#, Javie, Pythonie, Rubym, PHP i Visual
+Basicu, bardzo wydajny protokół, asynchroniczne wywoływanie i
+ekspediowanie metod, dynamiczne wtyczki transportowe, obsługę TCP/IP
+oraz UDP/IP, szyfrowanie oparte na SSL, wbudowany firewall.
+
 %package devel
 Summary:	Tools for developing Ice applications in C++
+Summary(pl.UTF-8):	Narzędzia do tworzenia aplikacji Ice w C++
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
 
 %description devel
 Tools for developing Ice applications in C++.
 
+%description devel -l pl.UTF-8
+Narzędzia do tworzenia aplikacji Ice w C++.
+
 %package servers
 Summary:	Ice services to run through /etc/rc.d/init.d
+Summary(pl.UTF-8):	Usługi Ice do uruchamiania z poziomu /etc/rc.d/init.d
 Group:		Development/Tools
 Requires(post,preun):	/sbin/chkconfig
 Requires:	%{name} = %{version}-%{release}
 Requires:	rc-scripts
 
 %description servers
-Ice services to run through /etc/rc.d/init.d
+Ice services to run through /etc/rc.d/init.d.
+
+%description servers -l pl.UTF-8
+Usługi Ice do uruchamiania z poziomu /etc/rc.d/init.d.
 
 %package -n icegrid-gui
 Summary:	IceGrid Admin Tool
+Summary(pl.UTF-8):	Narzędzie administracyjne IceGrid
 Group:		Development/Tools
 Requires:	%{name} = %{version}-%{release}
 Requires:	java-%{name} = %{version}-%{release}
@@ -120,37 +142,53 @@ Requires:	java-jgoodies-looks
 Requires:	jpackage-utils
 
 %description -n icegrid-gui
-Graphical administration tool for IceGrid
+Graphical administration tool for IceGrid.
+
+%description -n icegrid-gui -l pl.UTF-8
+Graficzne narzędzie administracyjne do IceGrida.
 
 %package -n java-%{name}
 Summary:	The Ice runtime for Java
+Summary(pl.UTF-8):	Pakiet uruchomieniowy Ice dla Javy
 Group:		Libraries/Java
 Requires:	%{name} = %{version}-%{release}
 Requires:	db-java
 Requires:	jpackage-utils
 
 %description -n java-%{name}
-The Ice runtime for Java
+The Ice runtime for Java.
+
+%description -n java-%{name} -l pl.UTF-8
+Pakiet uruchomieniowy Ice dla Javy.
 
 %package -n csharp-%{name}
 Summary:	The Ice runtime for C#
+Summary(pl.UTF-8):	Pakiet uruchomieniowy Ice dla C#
 Group:		Libraries
 Requires:	%{name} = %{version}-%{release}
 Requires:	mono >= 1.2.2
 
 %description -n csharp-%{name}
-The Ice runtime for C#
+The Ice runtime for C#.
+
+%description -n csharp-%{name} -l pl.UTF-8
+Pakiet uruchomieniowy Ice dla C#.
 
 %package -n ruby-%{name}
 Summary:	The Ice runtime for Ruby applications
+Summary(pl.UTF-8):	Pakiet uruchomieniowy Ice dla aplikacji w języku Ruby
 Group:		Development/Languages
 Requires:	%{name} = %{version}-%{release}
 
 %description -n ruby-%{name}
 The Ice runtime for Ruby applications.
 
+%description -n ruby-%{name} -l pl.UTF-8
+Pakiet uruchomieniowy Ice dla aplikacji w języku Ruby.
+
 %package -n python-%{name}
 Summary:	The Ice runtime for Python applications
+Summary(pl.UTF-8):	Pakiet uruchomieniowy Ice dla aplikacji w Pythonie
 Group:		Development/Languages/Python
 Requires:	%{name} = %{version}-%{release}
 Requires:	python >= 1:2.3.4
@@ -158,8 +196,12 @@ Requires:	python >= 1:2.3.4
 %description -n python-%{name}
 The Ice runtime for Python applications.
 
+%description -n python-%{name} -l pl.UTF-8
+Pakiet uruchomieniowy Ice dla aplikacji w Pythonie.
+
 %package -n %{php_name}-%{name}
 Summary:	The Ice runtime for PHP applications
+Summary(pl.UTF-8):	Pakiet uruchomieniowy Ice dla aplikacji w PHP
 Group:		Development/Languages/PHP
 Requires:	%{name} = %{version}-%{release}
 %{?requires_php_extension}
@@ -167,10 +209,15 @@ Requires:	%{name} = %{version}-%{release}
 %description -n %{php_name}-%{name}
 The Ice runtime for PHP applications.
 
+%description -n %{php_name}-%{name} -l pl.UTF-8
+Pakiet uruchomieniowy Ice dla aplikacji w PHP.
+
 %prep
 %setup -q -a1
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %if %{with java}
 # we nuke it only when we build new class later, as ice build system expects the file being around
@@ -178,10 +225,11 @@ The Ice runtime for PHP applications.
 %endif
 
 # update path to our install
-sed -i -e 's,/usr/share/Ice-%{version},%{_datadir}/Ice,' Ice-rpmbuild-*/icegridregistry.conf
+%{__sed} -i -e 's,/usr/share/Ice-[0-9.]\+,%{_datadir}/Ice,' Ice-rpmbuild-*/icegridregistry.conf
+%{__sed} -i -e 's,ln -s Ice-\$(VERSION)/slice,ln -s Ice/slice,' config/Make.common.rules
+%{__sed} -i -e 's,ln -s \.\./Ice-\$(VERSION)/slice,ln -s ../Ice/slice,' config/Make.common.rules
 
-# force our CC/CXX as build system compares for exactly "c++" to setup other rules
-sed -i -e 's,c++,%{__cxx},g' cpp/config/Make.rules.Linux
+%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' cpp/config/upgradeicegrid36.py
 
 %build
 %if %{with java}
@@ -190,8 +238,11 @@ javac cpp/src/ca/ImportKey.java
 %endif
 
 %{__make} -C cpp \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
 	CFLAGS="%{rpmcflags} -fPIC" \
 	CXXFLAGS="%{rpmcxxflags} -fPIC -pthread" \
+	GCC_COMPILER=yes \
 %ifarch x32
 	lp64suffix=x32 \
 %endif
@@ -200,8 +251,8 @@ javac cpp/src/ca/ImportKey.java
 %if %{with gui}
 # Create the IceGrid icon
 convert java/resources/icons/icegrid.ico temp.png
-mv temp-8.png java/resources/icons/icegrid.png
-rm temp*.png
+%{__mv} temp-8.png java/resources/icons/icegrid.png
+%{__rm} temp*.png
 %endif
 
 %if %{with java}
@@ -209,6 +260,8 @@ rm temp*.png
 export CLASSPATH=$(build-classpath db jgoodies-forms jgoodies-looks)
 
 %{__make} -C java \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
 	CFLAGS="%{rpmcflags} -fPIC" \
 	CXXFLAGS="%{rpmcxxflags} -fPIC -pthread" \
 %ifarch x32
@@ -220,8 +273,6 @@ export CLASSPATH=$(build-classpath db jgoodies-forms jgoodies-looks)
 %if %{with dotnet}
 %{__make} -C csharp \
 	MCS=dmcs \
-	CFLAGS="%{rpmcflags} -fPIC" \
-	CXXFLAGS="%{rpmcxxflags} -fPIC -pthread" \
 %ifarch x32
 	lp64suffix=x32 \
 %endif
@@ -230,6 +281,8 @@ export CLASSPATH=$(build-classpath db jgoodies-forms jgoodies-looks)
 
 %if %{with python}
 %{__make} -C python \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
 	CFLAGS="%{rpmcflags} -fPIC" \
 	CXXFLAGS="%{rpmcxxflags} -fPIC -pthread" \
 %ifarch x32
@@ -240,6 +293,8 @@ export CLASSPATH=$(build-classpath db jgoodies-forms jgoodies-looks)
 
 %if %{with ruby}
 %{__make} -C ruby \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
 	CFLAGS="%{rpmcflags} -fPIC" \
 	CXXFLAGS="%{rpmcxxflags} -fPIC -pthread" \
 %ifarch x32
@@ -261,37 +316,38 @@ export CLASSPATH=$(build-classpath db jgoodies-forms jgoodies-looks)
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir},%{_docdir}/Ice-%{version},%{_datadir}/Ice}
 
 %{__make} -C cpp install \
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT
-
-mv $RPM_BUILD_ROOT/bin/* $RPM_BUILD_ROOT%{_bindir}
-mv $RPM_BUILD_ROOT/include/* $RPM_BUILD_ROOT%{_includedir}
-mv $RPM_BUILD_ROOT/%{_lib}/* $RPM_BUILD_ROOT%{_libdir}
-
-mv $RPM_BUILD_ROOT/config/* $RPM_BUILD_ROOT%{_datadir}/Ice
+	SLICE_DIR_SYMLINK=yes \
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_configdir=%{_datadir}/Ice \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
 
 %if %{with java}
 %{__make} -C java install \
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
 
 # Move Java stuff where it should be
 install -d $RPM_BUILD_ROOT%{_javadir}
-mv $RPM_BUILD_ROOT/lib/Ice.jar $RPM_BUILD_ROOT%{_javadir}/Ice-%{version}.jar
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/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
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/lib/Freeze.jar $RPM_BUILD_ROOT%{_javadir}/Freeze-%{version}.jar
 ln -s Freeze-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/Freeze.jar
 
 # Register ant target
 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/ant.d,%{_javadir}/ant}
-mv $RPM_BUILD_ROOT/lib/ant-ice.jar $RPM_BUILD_ROOT%{_javadir}/ant/ant-ice-%{version}.jar
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/lib/ant-ice.jar $RPM_BUILD_ROOT%{_javadir}/ant/ant-ice-%{version}.jar
 ln -s ant-ice-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/ant/ant-ice.jar
 echo 'ice ant/ant-ice' > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ice
 %endif
@@ -299,11 +355,11 @@ echo 'ice ant/ant-ice' > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ice
 %if %{with gui}
 # Install the IceGrid GUI
 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}}
-mv $RPM_BUILD_ROOT/lib/IceGridGUI.jar $RPM_BUILD_ROOT%{_datadir}/Ice
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/lib/IceGridGUI.jar $RPM_BUILD_ROOT%{_datadir}/Ice
 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}
 cp -a java/resources/icons/icegrid.png $RPM_BUILD_ROOT%{_pixmapsdir}
-mv $RPM_BUILD_ROOT/help/IceGridAdmin $RPM_BUILD_ROOT%{_docdir}/Ice-%{version}
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/help/IceGridAdmin $RPM_BUILD_ROOT%{_docdir}/Ice-%{version}
 %endif
 
 %if %{with dotnet}
@@ -312,17 +368,12 @@ install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT \
 	GACINSTALL=yes \
-	GAC_ROOT=$RPM_BUILD_ROOT%{_prefix}/lib \
-
-mv $RPM_BUILD_ROOT/bin/* $RPM_BUILD_ROOT%{_bindir}
-# .NET spec files (for csharp-devel) -- convert the paths
-for f in Glacier2 Ice IceBox IceDiscovery IceGrid IceLocatorDiscovery IcePatch2 IceSSL IceStorm; do
-	sed -i -e "s#/lib/#%{_prefix}/lib/#" $RPM_BUILD_ROOT/lib/pkgconfig/$f.pc
-	sed -i -e "s#mono_root}/usr#mono_root}#" $RPM_BUILD_ROOT/lib/pkgconfig/$f.pc
-	mv $RPM_BUILD_ROOT/lib/pkgconfig/$f.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/$f.pc
-done
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_pkgconfigdir=%{_pkgconfigdir} \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
 %endif
 
 %if %{with python}
@@ -330,12 +381,15 @@ done
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT
-%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' $RPM_BUILD_ROOT/python/Ice.py
-install -d $RPM_BUILD_ROOT%{py_sitedir}/Ice
-mv $RPM_BUILD_ROOT/python/IcePy.so.*.*.* $RPM_BUILD_ROOT%{py_sitedir}/Ice/IcePy.so
-rm -f $RPM_BUILD_ROOT/python/IcePy.so*
-mv $RPM_BUILD_ROOT/python/* $RPM_BUILD_ROOT%{py_sitedir}/Ice
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_pythondir=%{py_sitedir} \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
+
+%{__mv} $RPM_BUILD_ROOT%{py_sitedir}/IcePy.so{.%{version},}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/IcePy.so.*
+
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 %py_postclean
@@ -346,12 +400,15 @@ mv $RPM_BUILD_ROOT/python/* $RPM_BUILD_ROOT%{py_sitedir}/Ice
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT
-%{__sed} -i -e '1s,/usr/bin/env ruby,%{__ruby},' $RPM_BUILD_ROOT/ruby/*.rb
-install -d $RPM_BUILD_ROOT%{ruby_vendorarchdir}
-mv $RPM_BUILD_ROOT/ruby/IceRuby.so.*.*.* $RPM_BUILD_ROOT%{ruby_vendorarchdir}/IceRuby.so
-rm -f $RPM_BUILD_ROOT/ruby/IceRuby.so*
-mv $RPM_BUILD_ROOT/ruby/* $RPM_BUILD_ROOT%{ruby_vendorarchdir}
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_rubydir=%{ruby_vendorlibdir} \
+	install_libdir=%{ruby_vendorarchdir} \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
+
+%{__mv} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/IceRuby.so{.%{version},}
+%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/IceRuby.so.*
 %endif
 
 %if %{with php}
@@ -359,37 +416,27 @@ mv $RPM_BUILD_ROOT/ruby/* $RPM_BUILD_ROOT%{ruby_vendorarchdir}
 %ifarch x32
 	lp64suffix=x32 \
 %endif
-	prefix=$RPM_BUILD_ROOT
-# Put the PHP stuff into the right place
-install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{php_data_dir}}
+	DESTDIR=$RPM_BUILD_ROOT \
+	prefix=%{_prefix} \
+	install_docdir=%{_datadir}/Ice \
+	install_slicedir=%{_datadir}/Ice/slice
+
+install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
 cp -a Ice-rpmbuild-*/ice.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
-mv $RPM_BUILD_ROOT/php/IcePHP.so $RPM_BUILD_ROOT%{php_extensiondir}
-mv $RPM_BUILD_ROOT/php/* $RPM_BUILD_ROOT%{php_data_dir}
 %endif
 
-# move as last, bindings reinstall these if missing
-mv $RPM_BUILD_ROOT/slice $RPM_BUILD_ROOT%{_datadir}/Ice
-
-# Move the license files into the documentation directory
-mv $RPM_BUILD_ROOT/ICE_LICENSE $RPM_BUILD_ROOT%{_docdir}/Ice-%{version}/ICE_LICENSE
-mv $RPM_BUILD_ROOT/LICENSE $RPM_BUILD_ROOT%{_docdir}/Ice-%{version}/LICENSE
-# Copy in the other files too
-cp CHANGELOG*.md CONTRIBUTING.md README.md $RPM_BUILD_ROOT%{_docdir}/Ice-%{version}
+# packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/Ice/{ICE_LICENSE,LICENSE}
 
 # Install the servers
 install -d $RPM_BUILD_ROOT%{_sysconfdir}
 cp -a Ice-rpmbuild-*/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
-install -d $RPM_BUILD_ROOT%{_initrddir}
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
 for i in icegridregistry icegridnode glacier2router; do
-	cp -a Ice-rpmbuild-*/$i.redhat $RPM_BUILD_ROOT%{_initrddir}/$i
+	cp -a Ice-rpmbuild-*/$i.redhat $RPM_BUILD_ROOT/etc/rc.d/init.d/$i
 done
 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/icegrid
 
-## Copy the man pages into the correct directory
-install -d $RPM_BUILD_ROOT%{_mandir}/man1
-cp -a man/man1/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
-%{__rm} -r $RPM_BUILD_ROOT/man
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -406,18 +453,20 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc %{_docdir}/Ice-%{version}
+%doc ICE_LICENSE CHANGELOG*.md README.md
 %attr(755,root,root) %{_bindir}/dumpdb
 %attr(755,root,root) %{_bindir}/glacier2router
 %attr(755,root,root) %{_bindir}/icebox
 %attr(755,root,root) %{_bindir}/iceboxadmin
 %attr(755,root,root) %{_bindir}/icegridadmin
+%attr(755,root,root) %{_bindir}/icegriddb
 %attr(755,root,root) %{_bindir}/icegridnode
 %attr(755,root,root) %{_bindir}/icegridregistry
 %attr(755,root,root) %{_bindir}/icepatch2calc
 %attr(755,root,root) %{_bindir}/icepatch2client
 %attr(755,root,root) %{_bindir}/icepatch2server
 %attr(755,root,root) %{_bindir}/icestormadmin
+%attr(755,root,root) %{_bindir}/icestormdb
 %attr(755,root,root) %{_bindir}/icestormmigrate
 %attr(755,root,root) %{_bindir}/slice2html
 %attr(755,root,root) %{_bindir}/transformdb
@@ -426,12 +475,14 @@ fi
 %{_mandir}/man1/icebox.1*
 %{_mandir}/man1/iceboxadmin.1*
 %{_mandir}/man1/icegridadmin.1*
+%{_mandir}/man1/icegriddb.1*
 %{_mandir}/man1/icegridnode.1*
 %{_mandir}/man1/icegridregistry.1*
 %{_mandir}/man1/icepatch2calc.1*
 %{_mandir}/man1/icepatch2client.1*
 %{_mandir}/man1/icepatch2server.1*
 %{_mandir}/man1/icestormadmin.1*
+%{_mandir}/man1/icestormdb.1*
 %{_mandir}/man1/icestormmigrate.1*
 %{_mandir}/man1/slice2html.1*
 %{_mandir}/man1/transformdb.1*
@@ -465,16 +516,16 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/libIceXML.so.%{soversion}
 %attr(755,root,root) %{_libdir}/libSlice.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libSlice.so.%{soversion}
-%{_datadir}/Ice
+%dir %{_datadir}/Ice
+%{_datadir}/Ice/slice
+%{_datadir}/Ice/icegrid-slice.*.ice.gz
+%{_datadir}/Ice/templates.xml
+%attr(755,root,root) %{_datadir}/Ice/upgradeicegrid36.py
+%{_datadir}/slice
 
 %if %{with gui}
-# Exclude the stuff that's in IceGrid
-%exclude %{_docdir}/Ice-%{version}/IceGridAdmin
-%exclude %{_datadir}/Ice/IceGridGUI.jar
-
 %files -n icegrid-gui
 %defattr(644,root,root,755)
-%doc %{_docdir}/Ice-%{version}/IceGridAdmin
 %attr(755,root,root) %{_bindir}/icegridgui
 %{_datadir}/Ice/IceGridGUI.jar
 %{_mandir}/man1/icegridgui.1*
@@ -547,11 +598,8 @@ fi
 %attr(755,root,root) %{_bindir}/slice2php
 %{_mandir}/man1/slice2php.1*
 # -python
-#%attr(755,root,root) %{_bindir}/slice2py
+%attr(755,root,root) %{_bindir}/slice2py
 %{_mandir}/man1/slice2py.1*
-# -ruby
-#%attr(755,root,root) %{_bindir}/slice2rb
-%{_mandir}/man1/slice2rb.1*
 
 %files servers
 %defattr(644,root,root,755)
@@ -586,43 +634,53 @@ fi
 %{_prefix}/lib/mono/gac/IcePatch2
 %{_prefix}/lib/mono/gac/IceSSL
 %{_prefix}/lib/mono/gac/IceStorm
+
+%{_prefix}/lib/mono/gac/policy.3.6.Glacier2
+%{_prefix}/lib/mono/gac/policy.3.6.Ice
+%{_prefix}/lib/mono/gac/policy.3.6.IceBox
+%{_prefix}/lib/mono/gac/policy.3.6.IceDiscovery
+%{_prefix}/lib/mono/gac/policy.3.6.IceGrid
+%{_prefix}/lib/mono/gac/policy.3.6.IceLocatorDiscovery
+%{_prefix}/lib/mono/gac/policy.3.6.IcePatch2
+%{_prefix}/lib/mono/gac/policy.3.6.IceSSL
+%{_prefix}/lib/mono/gac/policy.3.6.IceStorm
 %endif
 
 %if %{with python}
 %files -n python-%{name}
 %defattr(644,root,root,755)
-%dir %{py_sitedir}/Ice
-%dir %{py_sitedir}/Ice/IceBox
-%dir %{py_sitedir}/Ice/IceGrid
-%dir %{py_sitedir}/Ice/IceMX
-%dir %{py_sitedir}/Ice/IcePatch2
-%dir %{py_sitedir}/Ice/IceStorm
-%{py_sitedir}/Ice/*.py[co]
-%{py_sitedir}/Ice/IceBox/*.py[co]
-%{py_sitedir}/Ice/IceGrid/*.py[co]
-%{py_sitedir}/Ice/IceMX/*.py[co]
-%{py_sitedir}/Ice/IcePatch2/*.py[co]
-%{py_sitedir}/Ice/IceStorm/*.py[co]
-%attr(755,root,root) %{py_sitedir}/Ice/IcePy.so
+%attr(755,root,root) %{py_sitedir}/IcePy.so
+%{py_sitedir}/IceBox
+%{py_sitedir}/IceGrid
+%{py_sitedir}/IceMX
+%{py_sitedir}/IcePatch2
+%{py_sitedir}/IceStorm
+%{py_sitedir}/Glacier2*.py[co]
+%{py_sitedir}/Ice.py[co]
+%{py_sitedir}/IceBox*.py[co]
+%{py_sitedir}/IceGrid*.py[co]
+%{py_sitedir}/IcePatch2*.py[co]
+%{py_sitedir}/IceStorm*.py[co]
+%{py_sitedir}/Ice_*.py[co]
 %endif
 
 %if %{with ruby}
 %files -n ruby-%{name}
 %defattr(644,root,root,755)
-%{ruby_vendorarchdir}/Glacier2.rb
-%{ruby_vendorarchdir}/Glacier2
-%{ruby_vendorarchdir}/Ice.rb
-%{ruby_vendorarchdir}/Ice
-%{ruby_vendorarchdir}/IceBox.rb
-%{ruby_vendorarchdir}/IceBox
-%{ruby_vendorarchdir}/IceGrid.rb
-%{ruby_vendorarchdir}/IceGrid
-%{ruby_vendorarchdir}/IcePatch2.rb
-%{ruby_vendorarchdir}/IcePatch2
-%{ruby_vendorarchdir}/IceStorm.rb
-%dir %{ruby_vendorarchdir}/IceStorm
-%{ruby_vendorarchdir}/IceStorm/IceStorm.rb
-%{ruby_vendorarchdir}/IceStorm/Metrics.rb
+%{ruby_vendorlibdir}/Glacier2.rb
+%{ruby_vendorlibdir}/Glacier2
+%{ruby_vendorlibdir}/Ice.rb
+%{ruby_vendorlibdir}/Ice
+%{ruby_vendorlibdir}/IceBox.rb
+%{ruby_vendorlibdir}/IceBox
+%{ruby_vendorlibdir}/IceGrid.rb
+%{ruby_vendorlibdir}/IceGrid
+%{ruby_vendorlibdir}/IcePatch2.rb
+%{ruby_vendorlibdir}/IcePatch2
+%{ruby_vendorlibdir}/IceStorm.rb
+%dir %{ruby_vendorlibdir}/IceStorm
+%{ruby_vendorlibdir}/IceStorm/IceStorm.rb
+%{ruby_vendorlibdir}/IceStorm/Metrics.rb
 %attr(755,root,root) %{ruby_vendorarchdir}/IceRuby.so
 %endif
 
diff --git a/ice-db.patch b/ice-db.patch
new file mode 100644
index 0000000..b78fae7
--- /dev/null
+++ b/ice-db.patch
@@ -0,0 +1,48 @@
+Avoid ambiguous ctor call (uint32_t vs DB_ENV*) with db 6.x.
+
+--- ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp	2017-06-28 18:42:43.411869639 +0200
+@@ -530,7 +530,7 @@
+     {
+         if(_env == 0)
+         {
+-            _envHolder.reset(new DbEnv(0));
++            _envHolder.reset(new DbEnv(0u));
+             _env = _envHolder.get();
+ 
+             if(_trace >= 1)
+--- ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp	2017-06-28 19:15:03.928514164 +0200
+@@ -766,8 +766,8 @@
+     //
+     // Transform the database.
+     //
+-    DbEnv dbEnv(0);
+-    DbEnv dbEnvNew(0);
++    DbEnv dbEnv(0u);
++    DbEnv dbEnvNew(0u);
+     Freeze::TransactionPtr txNew;
+     Freeze::ConnectionPtr connection;
+     Freeze::ConnectionPtr connectionNew;
+--- ice-3.6.3/cpp/src/FreezeScript/Util.cpp.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/cpp/src/FreezeScript/Util.cpp	2017-06-28 19:22:29.318509063 +0200
+@@ -209,7 +209,7 @@
+ {
+     CatalogDataMap result;
+ 
+-    DbEnv dbEnv(0);
++    DbEnv dbEnv(0u);
+     try
+     {
+ #ifdef _WIN32
+--- ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp	2017-06-28 19:33:38.555168088 +0200
+@@ -481,7 +481,7 @@
+     FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
+     communicator->addObjectFactory(objectFactory, "");
+ 
+-    DbEnv dbEnv(0);
++    DbEnv dbEnv(0u);
+     DbTxn* txn = 0;
+     Freeze::ConnectionPtr connection;
+     int status = EXIT_SUCCESS;
diff --git a/ice-php7.patch b/ice-php7.patch
new file mode 100644
index 0000000..324f562
--- /dev/null
+++ b/ice-php7.patch
@@ -0,0 +1,30 @@
+--- ice-3.6.3/php/src/php7/Types.cpp.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/php/src/php7/Types.cpp	2017-06-30 20:05:36.233173124 +0200
+@@ -1166,26 +1166,7 @@
+ {
+     assert(Z_TYPE_P(target) == IS_OBJECT);
+ 
+-    //
+-    // The add_property_zval function fails if the data member has protected visibility.
+-    // As a workaround, before calling the function we change the current scope to be that
+-    // of the object.
+-    //
+-    zend_class_entry *oldScope = EG(scope);
+-    EG(scope) = Z_OBJCE_P(target);
+-
+-    //
+-    // add_property_zval increments the refcount of zv.
+-    //
+-    int status = add_property_zval(target, STRCAST(name.c_str()), zv);
+-
+-    EG(scope) = oldScope; // Restore the previous scope.
+-
+-    if(status == FAILURE)
+-    {
+-        runtimeError("unable to set member `%s'", name.c_str());
+-        throw AbortMarshaling();
+-    }
++    zend_update_property(Z_OBJCE_P(target), target, STRCAST(name.c_str()), strlen(name.c_str()), zv);
+ }
+ 
+ static void
diff --git a/no-arch-opts.patch b/no-arch-opts.patch
index 46fd912..a95c10e 100644
--- a/no-arch-opts.patch
+++ b/no-arch-opts.patch
@@ -1,31 +1,48 @@
---- ice-3.6.0/cpp/config/Make.rules.Linux~	2015-06-27 16:56:56.000000000 +0200
-+++ ice-3.6.0/cpp/config/Make.rules.Linux	2015-06-27 17:23:45.810591931 +0200
-@@ -71,14 +71,6 @@
+--- ice-3.6.3/cpp/config/Make.rules.Linux.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/cpp/config/Make.rules.Linux	2017-06-28 16:32:48.328625292 +0200
+@@ -79,18 +79,6 @@
          CXXARCHFLAGS	+= -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
      endif
  
--    ifeq ($(MACHINE),x86_64)
+-    #
+-    # Only use multilib -m32/-m64 options for amd64 arch, x32 arch can also run
+-    # in amd64 macines but doesn't use multilib, in this case MACHINE_TYPE will
+-    # be x86_64 and HOST_ARCH x32.
+-    #
+-    ifeq ($(HOST_ARCH),amd64)
 -        ifeq ($(LP64),yes)
 -            CXXARCHFLAGS	+= -m64
 -        else
 -            CXXARCHFLAGS	+= -m32
 -        endif
 -    endif
--
+ 
      CXXFLAGS		+= $(CXXARCHFLAGS) -fvisibility=hidden -Wall -Werror -pthread
  
-     # If MAXWARN is set then enable extra warnings
---- ice-3.6.0/config/Make.common.rules~	2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.0/config/Make.common.rules	2015-06-28 01:53:57.149666595 +0200
-@@ -104,11 +104,6 @@
+--- ice-3.6.3/config/Make.common.rules.orig	2016-10-05 16:59:08.000000000 +0200
++++ ice-3.6.3/config/Make.common.rules	2017-06-28 16:40:31.135286671 +0200
+@@ -102,24 +102,8 @@
            LP64      	= yes
        endif
+ 
+-      #
+-      # x86 binaries build on x86_64 machine use 32 binsuffix
+-      #
+-      ifneq ($(STATICLIBS),yes)
+-          ifneq ($(LP64),yes)
+-              binsuffix	= 32
+-          endif
+-      endif
     endif
+ 
+-   #
+-   # x86 builds uses 32 binsuffix
+-   #
 -   ifneq ($(STATICLIBS),yes)
--	ifneq ($(LP64),yes)
+-	ifeq ($(findstring $(MACHINE_TYPE),i386 i486 i586 i686),$(MACHINE_TYPE))
 -	    binsuffix     = 32
 -	endif
 -    endif
  endif
  
- ifeq ($(shell test -d $(usr_dir)/lib/i386-linux-gnu && echo 0),0)
+ ifeq ($(CPP11),yes)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ice.git/commitdiff/ad948676e95fc02c1041fbe43910a0cbb53759dc



More information about the pld-cvs-commit mailing list