beakerlib/beakerlib.spec
2023-07-10 13:37:40 +02:00

491 lines
18 KiB
RPMSpec

Name: beakerlib
Summary: A shell-level integration testing library
Version: 1.29.2
Release: 1%{?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 <dapospis@redhat.com> - 1.29.2-1
- improved performance and memory consumption of the fingerprint feature
* Tue Jul 19 2022 Dalibor Pospisil <dapospis@redhat.com> - 1.29.1-1
- 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.27-1
- rlCheckRequirements is now able to check also versions requirements
* Tue Mar 9 2021 Dalibor Pospisil <dapospis@redhat.com> - 1.26-1
- fixed rlServiceDisable if called without rlServiceEnable beforehand
- few internal fixes
* Tue Feb 9 2021 Dalibor Pospisil <dapospis@redhat.com> - 1.25-1
- rebased yash to version 1.2, fixes the backtick iterpretation
- docs fixes, by Štěpán Němec <snemec@redhat.com>
* Sat Jan 30 2021 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.18-12
- optiomized CPU info gathering
- enhanced library search
* Mon Apr 6 2020 Dalibor Pospisil <dapospis@redhat.com> - 1.18-7
- added missing dependencies on /usr/bin/bc and /usr/bin/time
* Mon Jun 3 2019 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.18-4
- show getopt parsing error (good for debugging)
- do not use -T option to submit command
* Fri Apr 5 2019 Dalibor Pospisil <dapospis@redhat.com> - 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
- <prefix>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 <dapospis@redhat.com> - 1.17-19
- fixed meta file generation
- follow url redirection when using curl
- fixed checking for python interpreter
* Wed Aug 22 2018 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.17-14
- use python2 as an interpreter of python scripts
* Sat Feb 24 2018 Dalibor Pospisil <dapospis@redhat.com> - 1.17-13
- rlRun -s now waits for output logs to be flushed, bz1361246 + bz1416796
* Wed Feb 14 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.17-12
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.17-11
- Escape macros in %%changelog
* Sat Feb 3 2018 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.17-6
- added missing dependecy
* Wed Dec 13 2017 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.17-4
- updated dependecies set
* Wed Oct 18 2017 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.16-3
- reworked rpm download function and fallbacks, bz1448510
- added links to bugzilla
* Fri Apr 21 2017 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 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 <libPrefix>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 <dapospis@redhat.com> - 1.11-1
- fixed bugs 971347, 1076471, 1262888, 1216177, 1184414, 1192535, 1224345,
1211269, 1224362, 1205330, 1175513, 1211617, 1221352
* Wed Feb 4 2015 Dalibor Pospisil <dapospis@redhat.com> - 1.10-2
- remount if mounting already mounted mount point with options,
fixes bug 1173623
* Mon Dec 1 2014 Dalibor Pospisil <dapospis@redhat.com> - 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 <dapospis@redhat.com> - 1.9-3
- reverted conditional phases support
* Wed Jul 2 2014 Dalibor Pospisil <dapospis@redhat.com> - 1.9-2
- bunch of fixes
* Tue Jun 17 2014 Dalibor Pospisil <dapospis@redhat.com> - 1.9-1
- rebase to upstream 1.9
* Mon Jul 15 2013 Petr Muller <muller@redhat.com> - 1.8-2
- Syntax highlighting in VIM (Filip Holec)
* Fri Jun 07 2013 Petr Muller <muller@redhat.com> - 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 <muller@redhat.com> - 1.7-1
- rebase to latest upstream
- fix padding around message timestamps (Dalibor Pospisil)
* Wed Apr 10 2013 Petr Muller <muller@redhat.com> - 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 <muller@redhat.com> - 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 <muller@redhat.com> - 1.6.99.1-1
- installation machinery fix
* Thu Jan 10 2013 Petr Muller <muller@redhat.com> - 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 <muller@redhat.com> - 1.6-2
- packaging tweaks
* Thu Jul 26 2012 Petr Muller <muller@redhat.com> - 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 <muller@redhat.com> - 1.5-2
- extended rlIs{RHEL/Fedora} syntax allowing intervals (Jiri Jaburek)
* Tue May 15 2012 Petr Muller <muller@redhat.com> - 1.5-1
- fix bz754180 (Matej Kollar)
- fork lsb_release and remove dep on lsb_redhat
* Thu Mar 08 2012 Petr Muller <muller@redhat.com> - 1.4.2
- fix rlGetDistro* functions for RHEL7 (Petr Muller)
- fix SELinux detection in rlFileBackup/Restore (Petr Muller)
* Fri Mar 02 2012 Petr Muller <muller@redhat.com> - 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 <pmuller@redhat.com> - 1.3-5
- rebuild for RHEL7
* Fri Oct 01 2010 Petr Muller <pmuller@redhat.com> - 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 <pmuller@redhat.com> - 1.3-3
- packaging fix (remove the unnecessary tag from release)
* Wed Jun 09 2010 Petr Muller <pmuller@redhat.com> - 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 <pmuller@redhat.com> - 1.3-1
- packaging fixes: permission fixes, added dep on python2,
- added examples as documentation files
* Thu Apr 29 2010 Petr Muller <pmuller@redhat.com> - 1.2-1
- packaging fixes: docdir change, specfile tweaks
- using consistently install -p everywhere
* Thu Apr 08 2010 Petr Muller <pmuller@redhat.com> - 1.2-0
- disable the testsuite and removed a 3rd party lib from the tree
* Mon Mar 22 2010 Petr Muller <pmuller@redhat.com> - 1.1-0
- packaging fixes
* Fri Feb 12 2010 Petr Muller <pmuller@redhat.com> - 1.0-3
- fixed bad path preventing tests from running
* Fri Feb 12 2010 Petr Muller <pmuller@redhat.com> - 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 <pmuller@redhat.com> - 1.0-1
- genesis of the standalone BeakerLib