File iniparser.spec of Package iniparser.37719

#
# spec file for package iniparser
#
# Copyright (c) 2025 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/
#


Name:           iniparser
Version:        3.1.0.git20140619_c5beb80a
Release:        0
URL:            http://ndevilla.free.fr/iniparser/
Summary:        Library to parse ini files
License:        MIT
Group:          System/Libraries
#Source:         http://ndevilla.free.fr/iniparser/iniparser-%{version}.tar.gz
Source:         iniparser-%{version}.tar.gz
Source2:        baselibs.conf
Patch00:        iniparser_remove_rpath.patch
# PATCH-FIX-SUSE handle-null-return-getstring.patch bsc#1211889 -- CVE-2023-33461: NULL pointer dereference in iniparser_getboolean()
# https://github.com/ndevilla/iniparser/pull/146
Patch01:        handle-null-return-getstring.patch
# PATCH-FIX-UPSTREAM CVE-2025-0633.patch bsc#1237377 -- based on commit 072a39a772a38c475e35a1be311304ca99e9de7f
Patch02:        CVE-2025-0633.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Libiniparser offers parsing of ini files from the C level.


%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100
%define libiniparser_name libiniparser0
%else
%define libiniparser_name libiniparser
%endif

%package -n %{libiniparser_name}
Summary:        Library to parse ini files
Group:          System/Libraries

%description -n %{libiniparser_name}
Libiniparser offers parsing of ini files from the C level.

This package includes the libiniparser0 library.

%package -n libiniparser-devel
Summary:        Libraries and Header Files to Develop Programs with libiniparser Support
Group:          Development/Libraries/C and C++
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100
Requires:       %{libiniparser_name} = %{version}
%else
Requires:       libiniparser = %{version}
%endif

%description -n libiniparser-devel
This package contains the static libraries and header files needed to
develop programs which make use of the libiniparser programming
interface.

The libiniparser offers parsing of ini files from the C level.	See a
complete documentation in HTML format, from the
/usr/share/doc/packages/libiniparser-devel directory open the file
html/index.html with any HTML-capable browser.

Libraries and Header Files to Develop Programs with iniparser Support.

%prep
%setup -q -n iniparser
%patch00 -p1
%patch01 -p1
%patch02 -p1

%build
%{__make} %{?jobs:-j%jobs} CFLAGS="%{optflags} -fPIC" libiniparser.so

%install
%__install -d -m 0755 %{buildroot}%{_includedir}
%__install -d -m 0755 %{buildroot}%{_libdir}
%__install -m 0755 libiniparser.so.0 %{buildroot}%{_libdir}
%__install -m 0644 src/{dictionary,iniparser}.h %{buildroot}%{_includedir}
%__ln_s -f libiniparser.so.0 %{buildroot}%{_libdir}/libiniparser.so

%check
%__ln_s libiniparser.so.0 libiniparser.so
%{__make} check

%clean
%__rm -rf %{buildroot}

%post -n %{libiniparser_name} -p /sbin/ldconfig

%postun -n %{libiniparser_name} -p /sbin/ldconfig

%files -n %{libiniparser_name}
%defattr(-,root,root)
%{_libdir}/libiniparser.so.*
%doc LICENSE

%files -n libiniparser-devel
%defattr(-,root,root)
%{_includedir}/*.h
%{_libdir}/libiniparser.so
%doc html

%changelog
openSUSE Build Service is sponsored by