Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP5:GA
glibc-livepatches
glibc-livepatches.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File glibc-livepatches.spec of Package glibc-livepatches
# # spec file for package glibc-livepatches # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define bname glibc-livepatches # First livepatch has target library lib ISO-2022-CN-EXT.so instead libc.so.6 %define target_library ISO-2022-CN-EXT.so Name: %{bname} Version: 0.1 Release: 0 Summary: Livepatches for Glibc License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later Group: System/Libraries URL: https://www.suse.com/products/live-patching Source: %{bname}-%{version}.tar.xz BuildRequires: glibc BuildRequires: libpulp-tools BuildRequires: libpulp0 BuildRoot: %{_tmppath}/%{name}-%{version}-build # Only available for these architectures. ExclusiveArch: x86_64 # install if glibc is installed in the system (is there any case it isn't?) Requires: glibc Requires: libpulp-tools >= 0.3.0 Requires: coreutils # Only available for these architectures ExclusiveArch: x86_64 %description Live patching enables userland processes to be fixed without a restart cycle. This package provides live patches for the libraries provided by glibc. Applying a live patch requires libpulp-tools. %prep tar -xvf %{_sourcedir}/%{name}-%{version}.tar.xz %build make %{?_smp_mflags} %install %make_install %post verlte() { [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] } ulp_ver=$(ulp --version | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+") # Previous version of ulp_post_hook script are broken. verlte "$ulp_ver" "0.2.6" || code=$? if [ $code -eq 0 ]; then if test -e /.buildenv; then echo "Skipping userspace live patches in buildroot" return 0 fi # Check if we are running a transactional update. If yes, set the root # accordingly. This is only supported in ulp 0.2.6 verlte "0.2.6" "$ulp_ver" || code=$? if [ $code -eq 0 ] && [ "$TRANSACTIONAL_UPDATE" = "true" ] && [ "x$TRANSACTIONAL_UPDATE_ROOT" != "x" ]; then ROOT="-R $TRANSACTIONAL_UPDATE_ROOT" fi ulp trigger $ROOT -r 100 --timeout 200 --revert-all="$target_library" \ "/usr/lib64/%{bname}/%{version}/*.so" else # Call the ulp post hook, which will trigger the update. %{ulp_post_hook %{bname} %{version} %{target_library}} fi %files /usr/lib64/%{bname}
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor