Compare commits

...
Sign in to create a new pull request.

39 commits

Author SHA1 Message Date
Fedora Release Engineering
866e121716 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 20:38:55 +00:00
Fedora Release Engineering
27ef5073dd Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 15:31:22 +00:00
Lumir Balhar
d1c17317af Mark the license in specfile as SPDX 2024-08-01 14:17:17 +02:00
Fedora Release Engineering
8831ece8e3 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 15:36:42 +00:00
Lukas Zachar
f1ba5cdc1d Import CI tests from RHEL
This is from RHEL distgit tests/libyaml, directory Sanity/smoke.

The original commit hash: 03647450fb247d1304a8f372c63db2bca5273bb4

Only necessary files were kept (and simplified).

Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
2024-05-10 13:51:36 +02:00
Fedora Release Engineering
64202a7ed3 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 04:08:50 +00:00
Fedora Release Engineering
d660d140aa Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 05:51:12 +00:00
Marc-André Lureau
6dd8b68ee9 Add MinGW packages 2023-07-26 15:29:13 +04:00
Fedora Release Engineering
6550f506cf Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 12:39:12 +00:00
Karolina Surma
2c8d33312a Review the license tag for docs according to the SPDX standard 2023-05-17 18:16:28 +02:00
Fedora Release Engineering
fbf1383588 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 17:56:05 +00:00
Fedora Release Engineering
85169a3ef0 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 19:30:49 +00:00
Fedora Release Engineering
06227bd6a9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 17:43:51 +00:00
Fedora Release Engineering
b7bb17400c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 12:50:25 +00:00
Fedora Release Engineering
0f1d0b3604 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 18:25:02 +00:00
Robert Scheck
268459690f Spec file cleanup 2021-01-18 01:29:55 +00:00
John Eckersberg
a064c28f37 Add BuildRequires for make 2020-12-01 09:32:22 -05:00
Fedora Release Engineering
b8a705c08b - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 06:00:07 +00:00
Tom Stellard
ee031d3ed1 Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-13 22:44:54 +00:00
John Eckersberg
730c1ae431 New upstream release (rhbz#1842769) 2020-06-02 09:49:11 -04:00
John Eckersberg
b848393978 New upstream release (rhbz#1825622) 2020-04-19 12:58:21 -04:00
John Eckersberg
550edfb304 New upstream release (rhbz#1823108) 2020-04-13 09:57:16 -04:00
Fedora Release Engineering
52944402d2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 10:54:16 +00:00
Fedora Release Engineering
efa11f4834 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 14:50:05 +00:00
John Eckersberg
9bafb5922f New upstream release (rhbz#1692750) 2019-03-26 11:37:00 -04:00
John Eckersberg
cec5d18815 Add patch: Revert removing of open_ended after top level plain scalar (rhbz#1672670) 2019-02-05 11:27:08 -05:00
John Eckersberg
5edda5a593 Add patch: Don't emit document-end marker at the end of stream (rhbz#1672670) 2019-02-05 10:43:02 -05:00
Fedora Release Engineering
850a0da635 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 08:39:23 +00:00
Igor Gnatenko
a6fe317263 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:13 +01:00
Jens Petersen
bf22ca6dc2 rebuild against latest fixed binutils 2018-08-14 16:17:27 +02:00
John Eckersberg
70ea558fc6 New upstream release 0.2.1 (rhbz#1598611) 2018-07-16 10:45:46 -04:00
John Eckersberg
88e48354c3 Add BuildRequires for gcc 2018-07-16 10:27:51 -04:00
Fedora Release Engineering
c1bfbb6d36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 09:07:46 +00:00
Igor Gnatenko
c9bfce9d6a Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:44:41 +01:00
Fedora Release Engineering
21e49eccdf - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 23:47:52 +00:00
Igor Gnatenko
4589a726d6
Switch to %ldconfig_scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-03 16:31:36 +01:00
Fedora Release Engineering
4c630b8f3c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 02:34:32 +00:00
Fedora Release Engineering
7faa7b4df2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 20:03:02 +00:00
Fedora Release Engineering
020d6ef369 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 19:45:28 +00:00
10 changed files with 331 additions and 29 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

6
.gitignore vendored
View file

@ -3,3 +3,9 @@ yaml-0.1.3.tar.gz
/yaml-0.1.5.tar.gz
/yaml-0.1.6.tar.gz
/yaml-0.1.7.tar.gz
/yaml-0.2.1.tar.gz
/libyaml-0.2.2.tar.gz
/dist-0.2.3.tar.gz
/dist-0.2.4.tar.gz
/0.2.5.tar.gz
/yaml-0.2.5.tar.gz

View file

@ -1,17 +1,32 @@
%define tarballname yaml
%global with_mingw 0
#====================================================================#
%if 0%{?fedora}
%global with_mingw 1
%endif
Name: libyaml
Version: 0.1.7
Release: 1%{?dist}
Version: 0.2.5
Release: 17%{?dist}
Summary: YAML 1.1 parser and emitter written in C
Group: System Environment/Libraries
# SPDX
License: MIT
URL: http://pyyaml.org/
Source0: http://pyyaml.org/download/libyaml/%{tarballname}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
URL: https://github.com/yaml/libyaml
Source0: https://github.com/yaml/libyaml/releases/download/%{version}/yaml-%{version}.tar.gz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
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
@ -21,27 +36,63 @@ emitter written in C.
%package devel
Summary: Development files for LibYAML applications
Group: Development/Libraries
Requires: libyaml = %{version}-%{release}, pkgconfig
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 %{tarballname}-%{version}
%setup -q -n yaml-%{version}
%build
%define _configure ../configure
mkdir build
pushd build
%configure
make %{?_smp_mflags}
%make_build all html
popd
%if %{with_mingw}
%mingw_configure
%mingw_make_build
%endif
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} INSTALL="install -p" 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 '[]')
@ -50,36 +101,152 @@ echo "INPUT($soname)" > %{buildroot}%{_libdir}/libyaml.so
%check
pushd build
make check
popd
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc README
%license License
%doc ReadMe.md
%{_libdir}/%{name}*.so.*
%files devel
%defattr(-,root,root,-)
%doc doc/html
%{_libdir}/%{name}*.so
%{_libdir}/pkgconfig/yaml-0.1.pc
%{_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
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 1 2020 John Eckersberg <jeckersb@redhat.com> - 0.2.5-4
- Add BuildRequires for make
(re: https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 0.2.5-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jun 2 2020 John Eckersberg <eck@redhat.com> - 0.2.5-1
- New upstream release (rhbz#1842769)
* Sun Apr 19 2020 John Eckersberg <eck@redhat.com> - 0.2.4-1
- New upstream release (rhbz#1825622)
- Fixes document end before directive (rhbz#1824226)
* Mon Apr 13 2020 John Eckersberg <eck@redhat.com> - 0.2.3-1
- New upstream release (rhbz#1823108)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 26 2019 John Eckersberg <eck@redhat.com> - 0.2.2-1
- New upstream release (rhbz#1692750)
* Tue Feb 5 2019 John Eckersberg <eck@redhat.com> - 0.2.1-5
- Add patch: Revert removing of open_ended after top level plain scalar (rhbz#1672670)
* Tue Feb 5 2019 John Eckersberg <eck@redhat.com> - 0.2.1-4
- Add patch: Don't emit document-end marker at the end of stream (rhbz#1672670)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Aug 7 2018 Jens Petersen <petersen@redhat.com> - 0.2.1-2
- rebuild against fixed binutils to fix missing symbols (#1613350)
* Mon Jul 16 2018 John Eckersberg <eck@redhat.com> - 0.2.1-1
- New upstream release 0.2.1 (rhbz#1598611)
* Mon Jul 16 2018 John Eckersberg <eck@redhat.com> - 0.1.7-8
- Add BuildRequires for gcc
See: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.7-5
- Switch to %%ldconfig_scriptlets
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Aug 29 2016 John Eckersberg <eck@redhat.com> - 0.1.7-1
- New upstream release 0.1.7 (RHBZ#1371154)

4
plan.fmf Normal file
View file

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

View file

@ -1 +1 @@
1abf45bd3a96374fa55ca63b32f9f2f9 yaml-0.1.7.tar.gz
SHA512 (yaml-0.2.5.tar.gz) = dadd7d8e0d88b5ebab005e5d521d56d541580198aa497370966b98c904586e642a1cd4f3881094eb57624f218d50db77417bbfd0ffdce50340f011e35e8c4c02

12
tests/smoke/main.fmf Normal file
View file

@ -0,0 +1,12 @@
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

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

View file

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

63
tests/smoke/run-parser.c Normal file
View file

@ -0,0 +1,63 @@
#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;
}

39
tests/smoke/runtest.sh Executable file
View file

@ -0,0 +1,39 @@
#!/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