Name: beakerlib Summary: A shell-level integration testing library Version: 1.29.2 Release: 2%{?dist} License: GPLv2 BuildArch: noarch URL: https://github.com/%{name} Autoreq: 0 Requires: nfs-utils Requires: /bin/bash Requires: /bin/sh %if 0%{?fedora} Recommends: /usr/bin/python3 %endif %if 0%{?rhel} > 7 Recommends: /usr/libexec/platform-python %else # rhel <= 7 Requires: /usr/bin/python %endif %if 0%{?rhel} < 8 Requires: /usr/bin/perl Requires: wget Requires: python-lxml Requires: /usr/bin/xmllint %else # rhel > 7 and fedora Recommends: /usr/bin/perl Requires: (wget or curl) Suggests: wget Recommends: python3-lxml Recommends: /usr/bin/xmllint %endif Requires: grep Requires: sed Requires: iproute Requires: coreutils Requires: tar Requires: gzip Requires: util-linux Requires: which %if 0%{?fedora} Requires: dnf-utils %else Requires: yum-utils %endif Requires: /usr/bin/bc Requires: /usr/bin/time %if 0%{?rhel} < 8 %else Recommends: beakerlib-redhat %endif Conflicts: beakerlib-redhat < 1-30 BuildRequires: /usr/bin/pod2man BuildRequires: perl-generators BuildRequires: util-linux BuildRequires: make Source0: https://github.com/beakerlib/beakerlib/archive/%{name}-%{version}.tar.gz Source1: %{name}-tmpfiles.conf Patch0: bugzilla-links.patch Patch1: bugzilla-links-epel.patch Patch2: python3.patch Patch3: python-platform.patch %prep %autosetup -N %if 0%{?fedora} # Patch0: bugzilla-links.patch %patch0 -p1 %else # rhel # Patch1: bugzilla-links-epel.patch %patch1 -p1 %endif %if 0%{?fedora} # Patch2: python3.patch %patch2 -p1 %endif %if 0%{?rhel} > 7 # Patch3: python-platform.patch %patch3 -p1 %endif %build make build %install %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} %{!?_tmpfilesdir: %global _tmpfilesdir %{_prefix}/lib/tmpfiles.d/} rm -rf $RPM_BUILD_ROOT make PKGDOCDIR=%{_pkgdocdir} DESTDIR=$RPM_BUILD_ROOT install mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir} install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf %description The BeakerLib project means to provide a library of various helpers, which could be used when writing operating system level integration tests. %files %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/xslt-templates %dir %{_pkgdocdir} %dir %{_pkgdocdir}/examples %dir %{_pkgdocdir}/examples/* %{_datadir}/%{name}/dictionary.vim %{_datadir}/%{name}/*.sh %{_datadir}/%{name}/xslt-templates/* %{_bindir}/%{name}-* %{_mandir}/man1/%{name}*1* %doc %{_pkgdocdir}/* %config %{_tmpfilesdir}/%{name}.conf %package vim-syntax Summary: Files for syntax highlighting BeakerLib tests in VIM editor Requires: vim-common BuildRequires: vim-common BuildRequires: make %description vim-syntax Files for syntax highlighting BeakerLib tests in VIM editor %files vim-syntax %{_datadir}/vim/vimfiles/after/ftdetect/beakerlib.vim %{_datadir}/vim/vimfiles/after/syntax/beakerlib.vim %changelog * Thu Aug 25 2022 Dalibor Pospisil - 1.29.2-2 - improved performance and memory consumption of the fingerprint feature * Mon Aug 8 2022 Dalibor Pospisil - 1.29.1-2 - rlImport: upwards traversal start in the current directory - rlImport: support '.' to import lib.sh from the current directory - rlImport: can handle libraries required by the fmf_id in different forms than (url, name) also name-only. Also the path attribute is considered - fingerprint: an asserts fingerprint and phases fingerprint is computed it is printed as a message and it is also available in the TestResults file - fixed a check for os-release file existence - fixed LOG_LEVEL usage - removed dependency on selinuxenabled - fixed a few typos, thanks to jwakely@fedoraproject.org * Tue Nov 9 2021 Dalibor Pospisil - 1.28-1 - cleanup rlRun_LOG files at rlJournalEnd - close journal in rlDie - generate journal.xml at that moment - implemented functions rlIsOS, rlIsOSLike, rlIsOSVersion, and rlIsRHELLike - rlAssertRequired can now handle versioned dependencies - new functions rlCheckRerquired, rlCheckRecommended, and rlCheckDependencies * Thu Mar 25 2021 Dalibor Pospisil - 1.27-1 - rlCheckRequirements is now able to check also versions requirements * Tue Mar 9 2021 Dalibor Pospisil - 1.26-1 - fixed rlServiceDisable if called without rlServiceEnable beforehand - few internal fixes * Tue Feb 9 2021 Dalibor Pospisil - 1.25-1 - rebased yash to version 1.2, fixes the backtick iterpretation - docs fixes, by Štěpán Němec * Sat Jan 30 2021 Dalibor Pospisil - 1.24-1 - rlImport --all imports only required libraries, not recommend - implemented chkconfig fallback to systemctl - fixed `make test` test suite execution * Tue Jan 26 2021 Dalibor Pospisil - 1.23-1 - TestResults state indicator - profiling code - rebased yash to 1.1 - fixed rlAssertLesser - fixed failed library load name logging * Fri Jan 15 2021 Dalibor Pospisil - 1.22-1 - ability to parse fmf id references - ability the use simpler library name - library(foo), {url: '../foo.git', name: '/'}, meaming the library is n the root folder - ability put library even deeper in the tree - library(foo/path/to/the/library), {url: '../foo.git', name: '/path/to/the/library'} - rebased yash to 1.0 - and few more minor fixes * Tue Dec 8 2020 Dalibor Pospisil - 1.21-1 - Rebase to the laster upstream - better and more consistent search for libraries - ability to parse yaml files including main.fmf and metadata.yaml * Thu Sep 10 2020 Dalibor Pospisil - 1.20-1 - Rebase to the latest upstream - improvements to libraries search - docs update - some optimizations - fixed pattern for mathing port or socket in rlWaitFor* - log colorizing on all screen* terminals - IFS fixes - Use /etc/os-release in rlGetDistro*() (#35) - support for curl 7.29.0 - prefer curl over wget - silence status of service in rlService{Start,Stop,Restore} functions (#… - TESTPACKAGE variable to force package name (#54) * Tue Jun 9 2020 Dalibor Pospisil - 1.18-12 - optiomized CPU info gathering - enhanced library search * Mon Apr 6 2020 Dalibor Pospisil - 1.18-7 - added missing dependencies on /usr/bin/bc and /usr/bin/time * Mon Jun 3 2019 Dalibor Pospisil - 1.18-6 - fixed correct python checking, bz1715479 - fix unbound variables, issues #43 - fixed path to services state store - fixed file submit to local patch is called outside test harness - restore shell options in rlWatchdog, bz1713291 - correctly skip test version if there's no rpm source of it, bz1712495 * Thu May 9 2019 Dalibor Pospisil - 1.18-4 - show getopt parsing error (good for debugging) - do not use -T option to submit command * Fri Apr 5 2019 Dalibor Pospisil - 1.18-3 - rebase to beakerlib-1.18 - support for dnf/dnf download - support direct systemctl call - netstat replaced by ss - ability to run without python (no journal.xml) - better handling of reboots - better handling of persistent data - final report polishing - better compatibility with old bash - LibraryDir variable pointing to the library directory for all imported libraries - fallback to curl if wget is not available - updated documentation * Fri Sep 7 2018 Dalibor Pospisil - 1.17-19 - fixed meta file generation - follow url redirection when using curl - fixed checking for python interpreter * Wed Aug 22 2018 Dalibor Pospisil - 1.17-16 - weak dependency on platform-python - handling of missing python - fixed srpm fetching - fallback to curl if wget is not available - changed requirements structure * Mon Jun 25 2018 Dalibor Pospisil - 1.17-15 - migrated to python3 - weak dependency of python3-lxml - without this the journal.xml just will not be generated * Tue May 15 2018 Dalibor Pospisil - 1.17-14 - use python2 as an interpreter of python scripts * Sat Feb 24 2018 Dalibor Pospisil - 1.17-13 - rlRun -s now waits for output logs to be flushed, bz1361246 + bz1416796 * Wed Feb 14 2018 Iryna Shcherbina - 1.17-12 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Fri Feb 09 2018 Igor Gnatenko - 1.17-11 - Escape macros in %%changelog * Sat Feb 3 2018 Dalibor Pospisil - 1.17-9 - support rxvt terminal colors - fixed persistent data load for bash version <= 4.1.2 - moved printing of final summray to rlJournalEnd - extended coloring capabilities - unified footer format * Fri Jan 26 2018 Dalibor Pospisil - 1.17-7 - phase name sanitization (remove all weird characters) - allow debug message to to only to console (speeds execution up in debug) - allow to reboot inside of phase and continue there - fixed persistent data loading * Mon Dec 18 2017 Dalibor Pospisil - 1.17-6 - added missing dependecy * Wed Dec 13 2017 Dalibor Pospisil - 1.17-5 - result file tweaks - fixed ifs issue - improved performance of journaling.py - fixed computing the length of text text journal per phase - use internal test name and do not touch TEST variable if empty - omit human readable meta file comments in non-debug mode - enable nested phases by default * Fri Oct 20 2017 Dalibor Pospisil - 1.17-4 - updated dependecies set * Wed Oct 18 2017 Dalibor Pospisil - 1.17-2 - completely reworked getting rpms - bstor.py rewritten in pure bash - some doc fixes - completely rewritten journal - extended test suite - support for XSL transformation of journal.xml - provided xunit.xsl - libraries are now searched also in /usr/share/beakerlib-libraries * Wed May 17 2017 Dalibor Pospisil - 1.16-3 - reworked rpm download function and fallbacks, bz1448510 - added links to bugzilla * Fri Apr 21 2017 Dalibor Pospisil - 1.16-2 - added missing dependency - updated links to beakerlib's new home, bz1436810 - added rlAssertLesser and rlAssertLesserOrEqual, bz1423488 - added rpm-handling functions rlFetchSrcForInstalled, rlRpmDownload, and rlRpmInstall * Thu Jan 26 2017 Dalibor Pospisil - 1.15-1 - added rlIsCentOS similar to rlIsRHEL, bz1214190 - added missing dependencies, bz1391969 - make rlRun use internal variables with more unique name, bz1285804 - fix rlRun exitcodes while using various switches, bz1303900 - rlFileRestore now better distinquish betwwen various errorneous situations, bz1370453 - rlService* won't be blocked be less(1) while systemctl redirection is in place, bz1383303 - variable LibraryDir variable is created for all imported libraries, holding the path to the library source, bz1074487 - all logging messages are now printed to stderr, bz1171881 - wildcard %%doc inclusion in spec, bz1206173 - prevent unbound variables, bz1228264 - new functions rlServiceEnabled/rlServiceDisable for enabling/disabling services, bz1234804 - updated documentation for rlImport -all, bz1246061 - rlAssertNotEquals now accept empty argument, bz1303618 - rlRun now uses better filename for output log, bz1314700 - fixed cosmetic discrepancy in log output, bz1374256 - added documentation reference for bkrdoc, bz843823 - added documentation of the testwatcher feature, bz1218169 - rlServiceRestore can restore all saved services in no parameter provided, bz494318 - rlCheckMount take mount options (ro/rw) into consideration, bz1191627 - added documentation for LOG_LEVEL variable, bz581816 * Thu Oct 29 2015 Dalibor Pospisil - 1.11-1 - fixed bugs 971347, 1076471, 1262888, 1216177, 1184414, 1192535, 1224345, 1211269, 1224362, 1205330, 1175513, 1211617, 1221352 * Wed Feb 4 2015 Dalibor Pospisil - 1.10-2 - remount if mounting already mounted mount point with options, fixes bug 1173623 * Mon Dec 1 2014 Dalibor Pospisil - 1.10-1 - dropped support for rlSEBoolean functions - fixed bugs 554280, 1003433, 1103137, 1105299, 1124440, 1124454, 1131934, 1131963, 1136206, 1155158, 1155234, 1158464, 1159191, and 1165265 * Thu Jul 17 2014 Dalibor Pospisil - 1.9-3 - reverted conditional phases support * Wed Jul 2 2014 Dalibor Pospisil - 1.9-2 - bunch of fixes * Tue Jun 17 2014 Dalibor Pospisil - 1.9-1 - rebase to upstream 1.9 * Mon Jul 15 2013 Petr Muller - 1.8-2 - Syntax highlighting in VIM (Filip Holec) * Fri Jun 07 2013 Petr Muller - 1.8-1 - Robustify journal against non-ascii in release names (Petr Muller) - Make PURPOSE file optional (Nikolai Kondrashov) - Fix doc paths to /usr/share (Petr Muller) - Fix corner cases of library discovery (Petr Muller) - Robustify /dev/null usage in rlRun (Petr Muller) - Provide more information in passed tests' messages (Petr Muller) - rlService* functions provide more debugging information (Filip Holec) - fix rlBundleLogs (Filip Holec) - fix rlAssertGrep parameter processing (Miroslav Franc) * Thu Apr 25 2013 Petr Muller - 1.7-1 - rebase to latest upstream - fix padding around message timestamps (Dalibor Pospisil) * Wed Apr 10 2013 Petr Muller - 1.6.99.3-1 - third attempt for upstream release - show more package information in the header (Petr Muller) - journal unicode robustifications (Petr Muller) - fix crashes when /etc/redhat-release is not present (Petr Muller) - fix searching of library paths in rlImport (Dalibor Pospisil) - rlImport --all (Dalibor Pospisil) - rlImport support for RhtsRequires: Library(foo/bar) (Dalibor Pospisil) - Improved bookkeeping on already imported libraries (Dalibor Pospisil) - rewritten rlImport to run also on old bash (Dalibor Pospisil) - fix rlImport for libs with weird characters in name (Dalibor Pospisil) - rlLogDebug: fix return code (Dalibor Pospisil) - several more small fixes * Tue Mar 05 2013 Petr Muller - 1.6.99.2-1 - use only distro Python, not the SCL one - fix pipefail detection for older RHELs - rlAssertRpm --all - rlAssertBinaryOrigin - journal can be used as a Python module now * Mon Jan 21 2013 Petr Muller - 1.6.99.1-1 - installation machinery fix * Thu Jan 10 2013 Petr Muller - 1.6.99-1 - testing the rebase to potential 1.7 - journal storage cleanups and fixes (Jiri Jaburek) - fixes in rlMount functions (Petr Muller) - code cleanups - use non-tmpfs-backed storage where needed (Petr Muller) - rlFileBackup namespace support (Jiri Jaburek) - rlImport implementation * Thu Jul 26 2012 Petr Muller - 1.6-2 - packaging tweaks * Thu Jul 26 2012 Petr Muller - 1.6-1 - update to upstream version - code clean-up - fix rlFileBackup behavior with symlinks (Karel Srot) - fix rlGetDistroRelease for RHEL7 Alphas - fix journal tracebacks related to time operations * Mon Jun 11 2012 Petr Muller - 1.5-2 - extended rlIs{RHEL/Fedora} syntax allowing intervals (Jiri Jaburek) * Tue May 15 2012 Petr Muller - 1.5-1 - fix bz754180 (Matej Kollar) - fork lsb_release and remove dep on lsb_redhat * Thu Mar 08 2012 Petr Muller - 1.4.2 - fix rlGetDistro* functions for RHEL7 (Petr Muller) - fix SELinux detection in rlFileBackup/Restore (Petr Muller) * Fri Mar 02 2012 Petr Muller - 1.4-1 - merge upstream changes and bump the version - added rlIsXXXX functions from RH internal (Petr Muller) - added COBBLER_SERVER function export if available (Marian Ganisin) - unified bash syntax (Roman Rakus) - INFO logs are now shown by default (Petr Splichal) - rlFileBackup of symlinks improvements (Petr Splichal) - added a dep on redhat-lsb to accomodate rlIsXXXX - log colorizing (Petr Splichal) - fix rlFileRestore problems with symlinks (Filip Skola) - added timezone information to start/end time (Pavel Holica) - deprecate the ABORT state (Brano Nater) - fix rlWatchdog (Mirek Franc) - rlCheckMount improvements (Brano Nater) - add a summary of phase results to logfile (Ales Zelinka) - config option for more verbose journal printing (Jan Hutar) - Testsuite improvements (Jan Hutar) - add John Lockhart's deja-summarize) * Tue Feb 21 2012 Petr Muller - 1.3-5 - rebuild for RHEL7 * Fri Oct 01 2010 Petr Muller - 1.3-4 - fixed bug when rlRun with -l param didn't work properly (Jan Hutar) - fixed selinux context problems in rlFileRestore (Petr Splichal) * Wed Jun 09 2010 Petr Muller - 1.3-3 - packaging fix (remove the unnecessary tag from release) * Wed Jun 09 2010 Petr Muller - 1.3-2 - functions for determining current test status (Ales Zelinka, Petr Splichal] - removal of unnecessary sync in rlRun (Petr Splichal) - packaging tuned for rhel6 * Wed May 12 2010 Petr Muller - 1.3-1 - packaging fixes: permission fixes, added dep on python2, - added examples as documentation files * Thu Apr 29 2010 Petr Muller - 1.2-1 - packaging fixes: docdir change, specfile tweaks - using consistently install -p everywhere * Thu Apr 08 2010 Petr Muller - 1.2-0 - disable the testsuite and removed a 3rd party lib from the tree * Mon Mar 22 2010 Petr Muller - 1.1-0 - packaging fixes * Fri Feb 12 2010 Petr Muller - 1.0-3 - fixed bad path preventing tests from running * Fri Feb 12 2010 Petr Muller - 1.0-2 - zillion of specfile tweaks for Fedora inclusion - staf-rhts files were removed - added a LICENSE file - added a better package summary - directory structure revamped - improved rLDejaSum * Wed Jan 27 2010 Petr Muller - 1.0-1 - genesis of the standalone BeakerLib