diff --git a/0002-Add-getentropy-emulation-through-syscall.patch b/0002-Add-getentropy-emulation-through-syscall.patch new file mode 100644 index 0000000..dc1b21a --- /dev/null +++ b/0002-Add-getentropy-emulation-through-syscall.patch @@ -0,0 +1,73 @@ +From 6a92ea98544e0d03d4ce0563ad765ae21773b0fd Mon Sep 17 00:00:00 2001 +From: Benjamin Tissoires +Date: Tue, 25 Apr 2017 11:00:36 +0200 +Subject: [PATCH libICE 2/2] Add getentropy emulation through syscall + +Signed-off-by: Benjamin Tissoires +--- + src/iceauth.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 49 insertions(+) + +diff --git a/src/iceauth.c b/src/iceauth.c +index 9b77eac..9af62f5 100644 +--- a/src/iceauth.c ++++ b/src/iceauth.c +@@ -78,6 +78,55 @@ emulate_getrandom_buf ( + } + } + ++#ifndef HAVE_GETENTROPY ++#include ++#include ++ ++/* code taken from libressl, license: */ ++/* ++ * Copyright (c) 2014 Theo de Raadt ++ * Copyright (c) 2014 Bob Beck ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ * Emulation of getentropy(2) as documented at: ++ * http://man.openbsd.org/getentropy.2 ++ */ ++#ifdef __NR_getrandom ++static int ++getentropy(void *buf, size_t len) ++{ ++ int pre_errno = errno; ++ int ret; ++ if (len > 256) ++ return (-1); ++ do { ++ ret = syscall(__NR_getrandom, buf, len, 0); ++ } while (ret == -1 && errno == EINTR); ++ ++ if (ret != len) ++ return (-1); ++ errno = pre_errno; ++ ++ fprintf(stderr, "generating cookie with syscall\n"); ++ ++ return (0); ++} ++#define HAVE_GETENTROPY 1 ++#endif /* __NR_getrandom */ ++ ++#endif /* HAVE_GETENTROPY */ ++ + static void + arc4random_buf ( + char *auth, +-- +2.9.3 + diff --git a/libICE-1.0.10.tar.bz2 b/libICE-1.0.10.tar.bz2 new file mode 100644 index 0000000..81443d9 Binary files /dev/null and b/libICE-1.0.10.tar.bz2 differ diff --git a/libICE.spec b/libICE.spec new file mode 100644 index 0000000..1a577b9 --- /dev/null +++ b/libICE.spec @@ -0,0 +1,71 @@ +Name: libICE +Version: 1.0.10 +Release: 2 +Summary: Inter-Client Exchange Library +License: MIT +URL: http://www.x.org +Source0: https://www.x.org/pub/individual/lib/%{name}-%{version}.tar.bz2 + +Patch0: 0002-Add-getentropy-emulation-through-syscall.patch + +BuildRequires: xorg-x11-util-macros autoconf automake libtool pkgconfig +BuildRequires: xorg-x11-proto-devel xorg-x11-xtrans-devel >= 1.0.3-5 + +%description +The X.Org X11 ICE runtime library. + +%package devel +Summary: header files for libICE +Requires: %{name} = %{version}-%{release} + +%description devel +header files for libICE + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +autoreconf -ivf +%configure --without-fop --without-xmlto +%make_build V=1 + +%install +%make_install +%delete_la_and_a + +%ldconfig_scriptlets + +%files +%defattr(-,root,root) +%doc AUTHORS INSTALL +%license COPYING +%{_libdir}/libICE.so.* + +%files devel +%defattr(-,root,root) +%{_libdir}/libICE.so +%{_libdir}/pkgconfig/ice.pc +%{_includedir}/X11/ICE +%{_docdir}/%{name}/*.xml + +%files help +%defattr(-,root,root) +%doc ChangeLog README.md + +%changelog +* Sat Dec 28 2019 openEuler Buildteam - 1.0.10-2 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:modify the spec + +* Thu Oct 31 2019 openEuler Buildteam - 1.0.10-1 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:update to 1.0.10 + +* Tue Sep 17 2019 Yiru Wang - 1.0.9-15 +- Pakcage init