Sync from SUSE:SLFO:Main libbsd revision 98948977623d5684d99496508b2a55a8

This commit is contained in:
Adrian Schröter 2024-05-03 14:38:03 +02:00
commit 7805644d3a
7 changed files with 1081 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libbsd-0.11.7.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

16
libbsd-0.11.7.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEETz509DYFDBD1aWV0uXK/PqSuV6MFAmM+OcMACgkQuXK/PqSu
V6N8dA/9HvRw8/1oxr7+3aIBFQ2bMFwxSojwID5KrBeRQH48vuAxouCtKNAHx4fv
VCSULx9AXwWxy+MV4Ib8fzeJaawJBjdnyN3Dfifyt3GsZESoBkvl0reJSOq3g9wt
LJydT9NNJqB2DNrOg9bemrDt2IeF4yinM6Yv4N2jBe+b1UOHXgdjYtGqchqvcAOi
h14o8MGjHxj3E6Q+m1i+nB2ILrxrJvsXa5M7UD/OHmAj3l1V8gf28g4iOc3WHKzx
nPfdk5h3ErAmxLlNYC875uhgFdCNje4U40xY0Zu492CxQzKUmTfQuNn1PDlRcWbD
aM02u7c9O8M+xTDbHmuedXDylwek2FfPEo8hhb6tgusq6wmPweeGnP1w3SfEcg7b
VxqHqjuumBfEAfUjTZ6gSKgygrFxxfz3liqfUJ35Ndf2vFjeq2kY+lsvdl8qZ+mK
QyDgSQTreZRPhlUEjbij+rAQbMj8sDA1+hIJFMF5iltrx5Q96kRAxpUbl45oR+l0
w70xz8QpJoY57n9InOUWDZEr/FINL9I2LGBumiPlBQnUOyLzcbOYzxown38gemkH
KdMbC99TCeUQNBnry4VtURQEoDLjWm99gfTgV4bBG9Mry5/Xnhw5Ybv+yPZUP5xJ
+bj7cN8T/g+aAdIgrlccQviLNAtzR4H5LRL5sKI3alnoY7wBIx4=
=oPWW
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,31 @@
From 7b4ebd6521a693f236cad4170fce1bb5237ecae5 Mon Sep 17 00:00:00 2001
From: Callum Farmer <callumjfarmer13@gmail.com>
Date: Thu, 16 Feb 2023 21:26:05 +0000
Subject: [PATCH] include: Adjust closefrom() per glibc adoption
Added in glibc 2.34
https://sourceware.org/git/?p=glibc.git;a=commit;h=607449506f197cc9514408908f41f22537a47a8c
Signed-off-by: Guillem Jover <guillem@hadrons.org>
---
include/bsd/unistd.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/bsd/unistd.h b/include/bsd/unistd.h
index 167241b..20b0993 100644
--- a/include/bsd/unistd.h
+++ b/include/bsd/unistd.h
@@ -59,7 +59,11 @@ int bsd_getopt(int argc, char * const argv[], const char *shortopts);
mode_t getmode(const void *set, mode_t mode);
void *setmode(const char *mode_str);
+#if !defined(__GLIBC__) || \
+ !__GLIBC_PREREQ(2, 34) || \
+ !defined(_DEFAULT_SOURCE)
void closefrom(int lowfd);
+#endif
/* Compatibility with sendmail implementations. */
#define initsetproctitle(c, a, e) setproctitle_init((c), (a), (e))
--
GitLab

242
libbsd.changes Normal file
View File

@ -0,0 +1,242 @@
-------------------------------------------------------------------
Wed Mar 15 20:08:08 UTC 2023 - Callum Farmer <gmbr3@opensuse.org>
- Add libbsd-glibc-2.34-closefrom.patch to avoid conflicting
with function provided by glibc 2.34
-------------------------------------------------------------------
Fri Oct 7 12:04:07 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.11.7:
* man: Discourage using the library in non-overlay mode
* include: Adjust reallocarray() per glibc adoption
* include: Adjust arc4random() per glibc adoption
* include: explicit_bzero() requires _DEFAULT_SOURCE
* include: Simplify glibc version dependent macro handling
* doc: Switch references from pkg-config to pkgconf
* doc: Add missing empty line to separate README sections
* doc: Refer to the main git repository as primary
* test: Fix explicit_bzero() test on the Hurd
* fgetwln: Add comment about lack of getwline(3) for recommendation
* setmode: Dot not use saveset after free
* man: Rewrite gerprogname(3bsd) from scratch
* man: Lowercase man page title
* man: Document that some arc4random(3) functions are now in glibc 2.36
* Sync arc4random(3) implementation from OpenBSD
* Fix ELF support for big endian SH
* man: Use -compact also for alternative functions in libbsd(7)
* getentropy: Fix function cast for getauxval()
-------------------------------------------------------------------
Wed Apr 20 08:53:15 UTC 2022 - Dirk Müller <dmueller@suse.com>
- add missing devel requires
-------------------------------------------------------------------
Fri Apr 15 12:44:11 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.11.6:
* import pwcache module from OpenBSD
* use libmd for hashing functions
* Fix message digest library checks
* Switch libmd wrapper to dlsym
* Enable .init_array support when building with LTO
* Switch md5 back to direct linking
- reenable LTO
-------------------------------------------------------------------
Mon Jun 7 12:12:37 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Drop --with-pic (no effect with --disable-static).
- Make description neutral; adhere to noun phrasing.
-------------------------------------------------------------------
Mon Dec 16 09:18:45 UTC 2019 - Martin Pluskal <mpluskal@suse.com>
- Update to version 0.10.0:
* Several security related fixes for nlist() reported by Daniel
Hodson and one by Coverity Scan.
* Preliminary and partial Windows porting, thanks to Aaron
Dierking.
* Fix for a leak in the vis family of functions.
* Fix for a configure check to not unnecessarily link against
librt.
* General portability fixes for musl, uClibc, macOS and
GNU/kFreeBSD.
* New architectures support for nlist().
* Switch the <err.h> *c() functions to be standalone and add
err(), warn(), errx() and warnx() familiy of functions in case
the system lacks them.
* Several man page fixes.
-------------------------------------------------------------------
Tue Apr 23 12:29:53 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO - symbol versioning unsupported by GCC (boo#1133096).
-------------------------------------------------------------------
Wed Jun 27 11:13:12 UTC 2018 - mpluskal@suse.com
- Update to version 0.9.1:
* Add __arraycount() macro.
* Add flopenat() function.
* Add strtoi() and strtou() functions.
* Add several new vis and unvis functions.
* Add pidfile_fileno() function, and struct pidfh is now opaque.
* The humanize_number() now understands HN_IEC_PREFIXES.
* The fmtcheck() function supports all standard printf(3)
conversions.
* The getentropy(), and thus arc4random() functions will not
block anymore on Linux on boot when there's not enough entropy
available.
* The arc4random() function handles direct clone() calls better.
-------------------------------------------------------------------
Wed Jan 24 02:06:58 UTC 2018 - avindra@opensuse.org
- Update to version 0.8.7:
* Fix <sys/cdefs.h> for gcc with no __has_include or
__has_include_next support
* man: Document on what other BSDs arc4random(3) is present
* Handle several functions now being provided by glibc
* test: Fix nlist(3) unit test on IA64
- switch to mirror temporarily, per announce:
https://lists.freedesktop.org/archives/libbsd/2018-January/000166.html
-------------------------------------------------------------------
Thu Oct 19 12:40:58 UTC 2017 - mpluskal@suse.com
- Update to version 0.8.6:
* test:
+ Fix nlist() unit test on IA64 and PowerPC 64-bit ELFv1
* Fix handling of non-contiguous argv + envp in setproctitle()
- Changes for version 0.8.5:
* test:
+ Handle libtool executable names in getprogname() unit test
+ Remove unused variable in nlist() unit test
* man:
+ Ship and install libbsd(7)
+ Update man page sections in titles and references
* Fix ELF definitions for PowerPC in local-elf.h
* Fix ELF definitions for MIPS in local-elf.h
- Changes for version 0.8.4:
* Add support for RISC-V
* Support GCC deprecated attribute for GCC older than 4.5
* Fix the __progname check to avoid the optimizer discarding the symbol
* Gracefully handle lack of system <sys/cdefs.h>
* Do not provide funopen() on musl
* Try <linux/a.out.h> if <a.out.h> is not present
* Do not use legacy BSD u_* types
* Import <sys/time.h> for some of its macros
-------------------------------------------------------------------
Tue May 17 16:03:07 UTC 2016 - mpluskal@suse.com
- Update to version 0.8.3:
* Fix unportable sizeof() usage
* Fix file descriptor leak in HASHFileChunk helper
* Switch URLs from http or git to https
* build: Support clock_gettime() provided in librt
* man: Fix ungrammatical construct
* test: Add a unit test for md5
* Add missing <fcntl.h> includes
- Changes for 0.8.2:
* test: Fix success return code for arc4random unit test
* test: Add missing <sys/stat.h> include
* Fix heap buffer overflow in fgetwln()
* test: Fix race condition in headers-*.sh
- Enable internal tests
- Use correct package categories
-------------------------------------------------------------------
Mon Dec 28 14:13:16 UTC 2015 - idonmez@suse.com
- Split static library into libbsd-ctor-static package.
-------------------------------------------------------------------
Sat Dec 26 16:57:51 UTC 2015 - mpluskal@suse.com
- Update to 0.8.1
* Use local SHA512 header
* Unify most arc4random Unix hooks into a single file
* Add support for GNU/kFreeBSD for closefrom() and getentropy()
* Fix getentropy implementation to use the correct system hooks
* Add missing copyright and license headers
* Relicense my contribution to BSD-2-clause
* Switch COPYING to Debian copyright machine readable format 1.0
* Use the non-overlayed libbsd headers when we need our own definitions
* Add missing include to <md5.h>
* Turn <bsd/bsd.h> inert when using LIBBSD_OVERLAY
* test: Add new unit tests for individual headers usage
* Add support for GNU/Hurd to getentropy()
-------------------------------------------------------------------
Wed Dec 9 17:05:41 UTC 2015 - mpluskal@suse.com
- Update to 0.8.0
* See attached ChangeLog for details
-------------------------------------------------------------------
Fri May 8 08:42:39 UTC 2015 - mpluskal@suse.com
- Add gpg signature
- Use fdupes to remove duplicate files
- Cleanup spec file with spec-cleaner
-------------------------------------------------------------------
Thu Oct 30 20:16:58 UTC 2014 - dhall@wustl.edu
- update to version 0.7.0
-------------------------------------------------------------------
Thu Sep 6 19:14:04 UTC 2012 - jengelh@inai.de
- Avoid unnecessary complex install line on Redhatish
- Compact file list, add helpful URLs to specfile
-------------------------------------------------------------------
Thu Sep 6 13:44:20 UTC 2012 - idonmez@suse.com
- Fix installation on SLE
-------------------------------------------------------------------
Mon Aug 20 16:30:51 UTC 2012 - crrodriguez@opensuse.org
- Version 0.4.2, swithes to autoconf build system.
-------------------------------------------------------------------
Fri Feb 17 00:32:12 UTC 2012 - crrodriguez@opensuse.org
- Cleanup spec file for factory submission
-------------------------------------------------------------------
Wed Feb 1 03:14:38 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections per specfile guideline suggestions
- Parallel building using %_smp_mflags
-------------------------------------------------------------------
Fri Oct 21 21:49:35 UTC 2011 - crrodriguez@opensuse.org
- Fix missing headers, bug in spec file [bnc#725800]
-------------------------------------------------------------------
Tue Aug 2 22:29:17 UTC 2011 - crrodriguez@opensuse.org
- Update to version 0.3.0
-------------------------------------------------------------------
Fri Jul 30 02:23:42 UTC 2010 - cristian.rodriguez@opensuse.org
- update to version 0.2.0
-------------------------------------------------------------------
Tue Sep 15 23:47:23 CEST 2009 - crrodriguez@suse.de
- update to version 0.1.6
-------------------------------------------------------------------
Sun Jan 4 21:52:45 CET 2009 - crrodriguez@suse.de
- first package version

654
libbsd.keyring Normal file
View File

@ -0,0 +1,654 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.14 (GNU/Linux)
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
=d41c
-----END PGP PUBLIC KEY BLOCK-----

112
libbsd.spec Normal file
View File

@ -0,0 +1,112 @@
#
# spec file for package libbsd
#
# Copyright (c) 2022 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 lname libbsd0
Name: libbsd
Version: 0.11.7
Release: 0
Summary: Library with functions commonly found on BSD systems
License: BSD-3-Clause
Group: Development/Libraries/C and C++
URL: https://libbsd.freedesktop.org/
Source0: https://libbsd.freedesktop.org/releases/libbsd-%{version}.tar.xz
Source1: https://libbsd.freedesktop.org/releases/libbsd-%{version}.tar.xz.asc
Source2: %{name}.keyring
Patch0: libbsd-glibc-2.34-closefrom.patch
BuildRequires: fdupes
BuildRequires: libmd-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
%description
This library provides functions commonly found on BSD systems, and
lacking on others like GNU systems, thus making it easier to port projects
with strong BSD origins, without needing to embed the same code over and
over again on each project.
%package -n %{lname}
Summary: Library with functions commonly found on BSD systems
Group: System/Libraries
%description -n %{lname}
This library provides functions commonly found on BSD systems, and
lacking on others like GNU systems, thus making it easier to port projects
with strong BSD origins, without needing to embed the same code over and
over again on each project.
%package devel
Summary: Development headers and files for libbsd
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
Requires: glibc-devel
Requires: libmd-devel
%description devel
This library provides functions commonly found on BSD systems, and
lacking on others like GNU systems, thus making it easier to port projects
with strong BSD origins, without needing to embed the same code over and
over again on each project.
%package ctor-static
Summary: Development headers and files for libbsd
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}-%{release}
Requires: pkgconfig
%description ctor-static
The libbsd-ctor static library is required if setproctitle() is to be used
when libbsd is loaded via dlopen() from a threaded program. This can be
configured using "pkg-config --libs libbsd-ctor".
%prep
%autosetup -p1
%build
export CFLAGS="%{optflags} -ffat-lto-objects"
%configure --disable-static
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes -s %{buildroot}
%check
%make_build check
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files -n %{lname}
%license COPYING
%doc ChangeLog
%{_libdir}/libbsd.so.0*
%files devel
%{_includedir}/bsd
%{_libdir}/libbsd.so
%{_mandir}/man3/*
%{_mandir}/man7/*
%{_libdir}/pkgconfig/libbsd.pc
%{_libdir}/pkgconfig/libbsd-overlay.pc
%files ctor-static
%{_libdir}/libbsd-ctor.a
%{_libdir}/pkgconfig/libbsd-ctor.pc
%changelog