Compare commits

..

No commits in common. "rawhide" and "f38" have entirely different histories.

8 changed files with 2 additions and 227 deletions

View file

@ -1 +0,0 @@
1

View file

@ -1,15 +1,8 @@
%global with_mingw 0
%if 0%{?fedora}
%global with_mingw 1
%endif
Name: libyaml
Version: 0.2.5
Release: 17%{?dist}
Release: 9%{?dist}
Summary: YAML 1.1 parser and emitter written in C
# SPDX
License: MIT
URL: https://github.com/yaml/libyaml
Source0: https://github.com/yaml/libyaml/releases/download/%{version}/yaml-%{version}.tar.gz
@ -21,13 +14,6 @@ BuildRequires: gcc
BuildRequires: libtool
BuildRequires: make
%if %{with_mingw}
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc-c++
%endif
%description
YAML is a data serialization format designed for human readability and
interaction with scripting languages. LibYAML is a YAML parser and
@ -38,61 +24,23 @@ emitter written in C.
Summary: Development files for LibYAML applications
Requires: libyaml%{?_isa} = %{version}-%{release}, pkgconfig
# docs contain files generated by doxygen which are licensed as follows:
# dynsections.js and menu.js are GPL-2.0-or-later
# jquery.js is MIT
License: GPL-2.0-or-later AND MIT
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use LibYAML.
%if %{with_mingw}
%package -n mingw32-libyaml
Summary: MinGW YAML 1.1 parser and emitter written in C
BuildArch: noarch
%description -n mingw32-libyaml
YAML is a data serialization format designed for human readability and
interaction with scripting languages. LibYAML is a YAML parser and
emitter written in C.
%package -n mingw64-libyaml
Summary: MinGW YAML 1.1 parser and emitter written in C
BuildArch: noarch
%description -n mingw64-libyaml
YAML is a data serialization format designed for human readability and
interaction with scripting languages. LibYAML is a YAML parser and
emitter written in C.
%endif
%prep
%setup -q -n yaml-%{version}
%build
%define _configure ../configure
mkdir build
pushd build
%configure
%make_build all html
popd
%if %{with_mingw}
%mingw_configure
%mingw_make_build
%endif
%install
pushd build
%make_install
popd
%if %{with_mingw}
%mingw_make_install
%endif
rm -f %{buildroot}%{_libdir}/*.{la,a}
soname=$(readelf -d %{buildroot}%{_libdir}/libyaml.so | awk '$2 == "(SONAME)" {print $NF}' | tr -d '[]')
@ -101,9 +49,8 @@ echo "INPUT($soname)" > %{buildroot}%{_libdir}/libyaml.so
%check
pushd build
make check
popd
%ldconfig_scriptlets
@ -121,50 +68,7 @@ popd
%{_includedir}/yaml.h
%if %{with_mingw}
%files -n mingw32-libyaml
%license License
%{mingw32_bindir}/libyaml-0-2.dll
%{mingw32_includedir}/yaml.h
%{mingw32_libdir}/libyaml.a
%{mingw32_libdir}/libyaml.dll.a
%{mingw32_libdir}/pkgconfig/yaml-0.1.pc
%files -n mingw64-libyaml
%license License
%{mingw64_bindir}/libyaml-0-2.dll
%{mingw64_includedir}/yaml.h
%{mingw64_libdir}/libyaml.a
%{mingw64_libdir}/libyaml.dll.a
%{mingw64_libdir}/pkgconfig/yaml-0.1.pc
%endif
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 26 2023 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.2.5-12
- Add MinGW packages.
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed May 17 2023 Karolina Surma <ksurma@redhat.com> - 0.2.5-10
- Review the license tag according to the SPDX standard, declare the docs license
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

View file

@ -1,4 +0,0 @@
discover:
how: fmf
execute:
how: tmt

View file

@ -1,12 +0,0 @@
summary: Run examples
description: |
Runs simple examples which already caused problems while fixing CVE.
run-parser is taken from the source
component:
- libyaml
test: ./runtest.sh
framework: beakerlib
require:
- libyaml-devel
- gcc
duration: 5m

View file

@ -1,4 +0,0 @@
%YAML 1.1
---
{Backoff: 1}
...

View file

@ -1,6 +0,0 @@
%YAML 1.1
--- # Indented Block
name: John Smith
age: 33
--- # Inline Block
{name: John Smith, age: 33}

View file

@ -1,63 +0,0 @@
#include <yaml.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef NDEBUG
#undef NDEBUG
#endif
#include <assert.h>
int
main(int argc, char *argv[])
{
int number;
if (argc < 2) {
printf("Usage: %s file1.yaml ...\n", argv[0]);
return 0;
}
for (number = 1; number < argc; number ++)
{
FILE *file;
yaml_parser_t parser;
yaml_event_t event;
int done = 0;
int count = 0;
int error = 0;
printf("[%d] Parsing '%s': ", number, argv[number]);
fflush(stdout);
file = fopen(argv[number], "rb");
assert(file);
assert(yaml_parser_initialize(&parser));
yaml_parser_set_input_file(&parser, file);
while (!done)
{
if (!yaml_parser_parse(&parser, &event)) {
error = 1;
break;
}
done = (event.type == YAML_STREAM_END_EVENT);
yaml_event_delete(&event);
count ++;
}
yaml_parser_delete(&parser);
assert(!fclose(file));
printf("%s (%d events)\n", (error ? "FAILURE" : "SUCCESS"), count);
}
return 0;
}

View file

@ -1,39 +0,0 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/libyaml/Sanity/smoke
# Description: What the test does
# Author: Lukas Zachar <lzachar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun "gcc -O2 -Wall -W -g run-parser.c -lyaml -o run-parser"
rlRun "./run-parser regression_1063866.yaml"
rlRun "./run-parser regression_1033990.yaml"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd