diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 73ae13c..54d37c5 100644 --- a/.gitignore +++ b/.gitignore @@ -196,97 +196,3 @@ pykickstart-1.78.tar.gz /pykickstart-3.20.tar.gz.asc /pykickstart-3.21.tar.gz /pykickstart-3.21.tar.gz.asc -/pykickstart-3.22.tar.gz -/pykickstart-3.22.tar.gz.asc -/pykickstart-3.23.tar.gz -/pykickstart-3.23.tar.gz.asc -/pykickstart-3.24.tar.gz -/pykickstart-3.24.tar.gz.asc -/pykickstart-3.25.tar.gz -/pykickstart-3.25.tar.gz.asc -/pykickstart-3.26.tar.gz -/pykickstart-3.26.tar.gz.asc -/pykickstart-3.27.tar.gz -/pykickstart-3.27.tar.gz.asc -/pykickstart-3.28.tar.gz -/pykickstart-3.28.tar.gz.asc -/pykickstart-3.29.tar.gz -/pykickstart-3.29.tar.gz.asc -/pykickstart-3.30.tar.gz -/pykickstart-3.30.tar.gz.asc -/pykickstart-3.31.tar.gz -/pykickstart-3.31.tar.gz.asc -/pykickstart-3.32.tar.gz -/pykickstart-3.32.tar.gz.asc -/pykickstart-3.33.tar.gz -/pykickstart-3.33.tar.gz.asc -/pykickstart-3.34.tar.gz -/pykickstart-3.34.tar.gz.asc -/pykickstart-3.35.tar.gz -/pykickstart-3.35.tar.gz.asc -/pykickstart-3.36.tar.gz -/pykickstart-3.36.tar.gz.asc -/pykickstart-3.37.tar.gz -/pykickstart-3.37.tar.gz.asc -/pykickstart-3.38.tar.gz -/pykickstart-3.38.tar.gz.asc -/pykickstart-3.39.tar.gz -/pykickstart-3.39.tar.gz.asc -/pykickstart-3.40.tar.gz -/pykickstart-3.40.tar.gz.asc -/pykickstart-3.41.tar.gz -/pykickstart-3.41.tar.gz.asc -/pykickstart-3.42.tar.gz -/pykickstart-3.42.tar.gz.asc -/pykickstart-3.43.tar.gz -/pykickstart-3.43.tar.gz.asc -/pykickstart-3.44.tar.gz -/pykickstart-3.44.tar.gz.asc -/pykickstart-3.45.tar.gz -/pykickstart-3.45.tar.gz.asc -/pykickstart-3.46.tar.gz -/pykickstart-3.46.tar.gz.asc -/pykickstart-3.47.tar.gz -/pykickstart-3.47.tar.gz.asc -/pykickstart-3.48.tar.gz -/pykickstart-3.48.tar.gz.asc -/pykickstart-3.49.tar.gz -/pykickstart-3.49.tar.gz.asc -/pykickstart-3.50.tar.gz -/pykickstart-3.50.tar.gz.asc -/pykickstart-3.51.tar.gz -/pykickstart-3.51.tar.gz.asc -/pykickstart-3.52.tar.gz -/pykickstart-3.52.tar.gz.asc -/pykickstart-3.53.tar.gz -/pykickstart-3.53.tar.gz.asc -/pykickstart-3.54.tar.gz -/pykickstart-3.54.tar.gz.asc -/pykickstart-3.55.tar.gz -/pykickstart-3.55.tar.gz.asc -/pykickstart-3.56.tar.gz -/pykickstart-3.56.tar.gz.asc -/pykickstart-3.57.tar.gz -/pykickstart-3.57.tar.gz.asc -/pykickstart-3.58.tar.gz -/pykickstart-3.58.tar.gz.asc -/pykickstart-3.59.tar.gz -/pykickstart-3.59.tar.gz.asc -/pykickstart-3.60.tar.gz -/pykickstart-3.60.tar.gz.asc -/pykickstart-3.61.tar.gz -/pykickstart-3.61.tar.gz.asc -/pykickstart-3.62.tar.gz -/pykickstart-3.62.tar.gz.asc -/pykickstart-3.63.tar.gz -/pykickstart-3.63.tar.gz.asc -/pykickstart-3.64.tar.gz -/pykickstart-3.64.tar.gz.asc -/pykickstart-3.65.tar.gz -/pykickstart-3.65.tar.gz.asc -/pykickstart-3.66.tar.gz -/pykickstart-3.66.tar.gz.asc -/pykickstart-3.67.tar.gz -/pykickstart-3.67.tar.gz.asc -/pykickstart-3.68.tar.gz -/pykickstart-3.68.tar.gz.asc diff --git a/gating.yaml b/gating.yaml index 0c1cc35..d71584a 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,7 +1,6 @@ --- !Policy product_versions: - fedora-* -decision_contexts: [bodhi_update_push_stable] -subject_type: koji_build +decision_context: bodhi_update_push_testing rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: dist.depcheck} diff --git a/plans/run-tests.fmf b/plans/run-tests.fmf deleted file mode 100644 index be27fa6..0000000 --- a/plans/run-tests.fmf +++ /dev/null @@ -1,8 +0,0 @@ -summary: Run pykickstart tests -prepare: - how: install - package: - - python3-kickstart - - pykickstart -execute: - script: ./tests/scripts/run_tests.sh diff --git a/pykickstart.spec b/pykickstart.spec index 3f035ea..1ba6680 100644 --- a/pykickstart.spec +++ b/pykickstart.spec @@ -1,33 +1,31 @@ -# Enable tests by default. To disable them use: -# rpmbuild -ba --without runtests pykickstart.spec -%bcond_without runtests -%bcond_with signed +# Disable tests by default because they fail to run inside mock builds +# at the moment, but can run locally. To build and run tests, do: +# rpmbuild -ba --with runtests pykickstart.spec +%bcond_with runtests Name: pykickstart -Version: 3.68 +Version: 3.21 Release: 1%{?dist} -License: GPL-2.0-only +License: GPLv2 and MIT Summary: Python utilities for manipulating kickstart files. Url: http://fedoraproject.org/wiki/pykickstart -Source0: https://github.com/pykickstart/%{name}/releases/download/r%{version}/%{name}-%{version}.tar.gz -%if %{with signed} -Source1: https://github.com/pykickstart/%{name}/releases/download/r%{version}/%{name}-%{version}.tar.gz.asc -%endif +# This is a Red Hat maintained package which is specific to +# our distribution. Thus the source is only available from +# within this srpm. +Source0: %{name}-%{version}.tar.gz +Source1: %{name}-%{version}.tar.gz.asc BuildArch: noarch BuildRequires: gettext +BuildRequires: python3-coverage BuildRequires: python3-devel -BuildRequires: python3-pip +BuildRequires: python3-nose +BuildRequires: python3-ordered-set BuildRequires: python3-requests BuildRequires: python3-setuptools -BuildRequires: make -BuildRequires: python3-pytest - -# Only required when building with runtests -%if %{with runtests} +BuildRequires: python3-six BuildRequires: python3-sphinx -%endif Requires: python3-kickstart = %{version}-%{release} @@ -36,7 +34,9 @@ Python utilities for manipulating kickstart files. %package -n python3-kickstart Summary: Python 3 library for manipulating kickstart files. +Requires: python3-six Requires: python3-requests +Requires: python3-ordered-set %description -n python3-kickstart Python 3 library for manipulating kickstart files. The binaries are found in @@ -53,7 +53,7 @@ make PYTHON=%{__python3} DESTDIR=%{buildroot} install %check %if %{with runtests} -LC_ALL=C make PYTHON=%{__python3} test-no-coverage +make PYTHON=%{__python3} test %endif %files @@ -74,471 +74,9 @@ LC_ALL=C make PYTHON=%{__python3} test-no-coverage %doc docs/programmers-guide %doc docs/kickstart-docs.txt %{python3_sitelib}/pykickstart -%{python3_sitelib}/pykickstart-%{version}.dist-info +%{python3_sitelib}/pykickstart*.egg-info %changelog -* Tue Dec 02 2025 Brian C. Lane - 3.68-1 -- rhsm: Add Flatpak registry option for RHEL10 (bciconel) -- commands: bootc: remove 'experimental' warning (k.koukiou) - -* Fri Sep 19 2025 Python Maint - 3.67-2 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Mon Aug 18 2025 Brian C. Lane - 3.67-1 -- spec: Add python3-pytest to BuildRequires (bcl) -- tests: Use pytest module instead of unittest (bcl) -- workflows: Use py3.14 rc.1 (bcl) -- Add Fedora 44 support (bcl) -- spec: drop python3-build dependency (yselkowi) - -* Fri Aug 15 2025 Python Maint - 3.66-4 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Fri Jul 25 2025 Fedora Release Engineering - 3.66-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jul 22 2025 Brian C. Lane - 3.66-2 -- Drop python3-build, it is not needed to install the package - -* Tue Jul 15 2025 Brian C. Lane - 3.66-1 -- workflows: Use py3.14 beta.4 (bcl) -- pylint: Ignore files in .git (bcl) -- pyproject: Bump setuptools to 77 or later (bcl) -- Makefile: Stop running setup.py directly (bcl) - -* Mon Jun 16 2025 Brian C. Lane - 3.65-1 -- workflows: Add python 3.14 to the test matrix (bcl) -- Add support for RDP (jkonecny) -- Deprecate VNC (jkonecny) -- docs: Fix chapter numbering after adding certificate (bcl) - -* Tue Jun 03 2025 Python Maint - 3.64-2 -- Rebuilt for Python 3.14 - -* Fri Apr 25 2025 Brian C. Lane - 3.64-1 -- workflow: Add python 3.13 testing (bcl) -- tests: Remove unused import of constants (bcl) -- realm: Clean up documentation (bcl) -- Add support for new bootc kickstart command (ppolawsk) -- Update documentation for clearpart --initlabel option. (rvykydal) -- Update the %certificate section documentation (rvykydal) - -* Mon Feb 24 2025 Brian C. Lane - 3.63-1 -- Do not remove "md" prefix from RAID names (vtrefny) -- Add Fedora 43 support (bcl) -- workflows: Switch to ubuntu-latest (bcl) -- Update formatting of certificate section documentation (rvykydal) -- Update %certificate documentation with not about bundles (rvykydal) -- Fix formatting of %certificate documentation example (rvykydal) -- Update %certificate section documentation (rvykydal) - -* Wed Jan 29 2025 Brian C. Lane - 3.62-1 -- Make %%certificate section option --dir mandatory. (rvykydal) - Resolves: rhbz#2342762 - -* Sat Jan 18 2025 Fedora Release Engineering - 3.61-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jan 09 2025 Brian C. Lane - 3.61-1 -- runpylint: Log astroid version (bcl) -- tests: Limit the python versions used in testing (bcl) -- Add support for inline certificates with `%certificate` section (k.koukiou) - -* Thu Oct 03 2024 Brian C. Lane - 3.60-1 -- module: Remove unused warnings import (bcl) -- tox: Add py313 to tox and 3.12.7 to workflow (bcl) -- Fix the fix for _parse_optional changing (awilliam) - -* Wed Oct 02 2024 Brian C. Lane - 3.59-1 -- options: adjust to behavior change in upstream _parse_optional (awilliam) -- Add Fedora 42 support (jkonecny) - -* Mon Aug 19 2024 Brian C. Lane - 3.58-1 -- DeprecatedCommand: Return empty list for dataList (bcl) - -* Mon Aug 19 2024 Brian C. Lane - 3.57-1 -- Add "hw-passphrase" option for autopart and part commands (vtrefny) -- Enhance %onerror section with recommendation (jkonecny) - Resolves: RHEL-47142 -- commands: Add missing DeprecatedCommand class to F41_Module (kkoukiou) - -* Mon Aug 05 2024 Brian C. Lane - 3.56-1 -- doc/versionremoved: Update VersionChange import for Sphinx 8.0.0 (bcl) -- Mark the vnc command as deprecated on RHEL 10 (mkolman) - Resolves: RHEL-41219 -- pykickstart is supported on python 3.6+ (sgallagh) -- timezone: Remove the --isUtc, --nontp, and --ntpserver arguments (bcl) - Related: RHEL-34009 -- packages: Remove the old camel case arguments on RHEL10 (bcl) - Resolves: RHEL-34009 -- nvdimm: Remove support for the nvdimm command on RHEL10 (bcl) - Related: RHEL-34009 -- Drop the MIT license (bcl) - -* Fri Jul 19 2024 Fedora Release Engineering - 3.55-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 3.55-2 -- Rebuilt for Python 3.13 - -* Mon May 13 2024 Brian C. Lane - 3.55-1 -- Deprecate modularity on Fedora 41 (marusak.matej) -- btrfs: Remove support for the btrfs command on RHEL10 (bcl) - Resolves: RHEL-34009 -- Deprecate modularity on RHEL 10 (marusak.matej) - Resolves: RHEL-34829 - -* Thu Apr 25 2024 Brian C. Lane - 3.54-1 -- Add a DEFAULT_VERSION variable to version.py (bcl) -- Deprecate network team options on RHEL 10 (rvykydal) - -* Wed Apr 03 2024 Brian C. Lane - 3.53-1 -- Update sources to github release urls -- rhel10: autopart on RHEL does not support --type=btrfs (bcl) -- rhel10: Add test for btrfs command deprecation (bcl) -- rhel10: Add missing rhsm and syspurpose commands (bcl) -- Break out %pre example to kickstart-examples (tasleson) -- Update kickstart-docs.rst (tasleson) -- Add Fedora 41 support (bcl) -- Update RHEL 9 handler (bcl) -- Update RHEL 10 handler classes (bcl) -- Add RHEL 10 handler (bcl) -- workflow: Use python 3.12.2 for tests (bcl) -- workflow: Bump checkout and setup-python actions to new versions (bcl) - -* Thu Feb 01 2024 Brian C. Lane - 3.52-1 -- Deprecate %%packages --instLangs and --excludeWeakdeps kickstart options (vponcova) -- Deprecate timezone --isUtc, --ntpservers and --nontp kickstart options (vponcova) -- Fix the assert_removed check in the unit tests (vponcova) -- Remove the repo --ignoregroups kickstart option in Fedora 40 (vponcova) -- Remove the logging --level kickstart option in Fedora 40 (vponcova) -- Remove the method kickstart command in Fedora 40 (vponcova) -- Remove the autostep kickstart command in Fedora 40 (vponcova) -- requirements: Add setuptools (bcl) - -* Fri Jan 26 2024 Fedora Release Engineering - 3.51-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 3.51-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Nov 28 2023 Brian C. Lane - 3.51-1 -- Deprecate the nvdimm kickstart command (vponcova) - -* Fri Nov 10 2023 Brian C. Lane - 3.50-1 -- Add Fedora 40 support (bcl) -- remove control characters from license (cmdr) -- scripts: Fix wording in documentation (bcl) -- workflow: Fix test for python 3.12.0 version (bcl) - -* Wed Oct 25 2023 Brian C. Lane - 3.49-1 -- tox: Only run unit tests for python 3.6 (bcl) -- workflow: Update to py3.12.0 (bcl) -- pykickstart: Set timeout to 120s on requests.get (bcl) -- translation-canary: Update the subtree with current master (bcl) -- Squashed 'translation-canary/' changes from 840c2d64..5bb81253 (bcl) -- tests: Add python 3.12 support (bcl) -- tests: Update unicode test to remove deprecated resetlocale (bcl) -- rtd: formats is separate, not part of sphinx (bcl) -- rtd: Add the .readthedocs.yaml config file (bcl) -- spec: Update spec with changes from Fedora (bcl) -- Makefile: Update pypi upload command (bcl) - -* Fri Jul 21 2023 Fedora Release Engineering - 3.48-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jun 14 2023 Python Maint - 3.48-2 -- Rebuilt for Python 3.12 - -* Thu Jun 08 2023 Brian C. Lane - 3.48-1 -- Makefile: Add a test-no-coverage target (bcl) -- realm: switch from pipes.quote() to shlex.quote() (ptoscano) -- workflow: Update actions to newest versions (bcl) -- Fix issues how to generate encrypted passwords (woiling) - -* Fri Mar 17 2023 Brian C. Lane - 3.47-1 -- network: Move new options to Fedora 39 (bcl) - Related: rhbz#1656662 -- displaymode: Update description to describe behavior (bcl) - -* Tue Mar 14 2023 Brian C. Lane - 3.46-1 -- Add conflict test between ostree sources (#2125655) (jkonecny) - Related: rhbz#2125655 -- Fix missing seen check for output generation (#2125655) (jkonecny) - Related: rhbz#2125655 -- Add new ostreecontainer command (#2125655) (jkonecny) - Related: rhbz#2125655 - Resolves: rhbz#2125655 - Related: rhbz#2125655 -- Check the conflicting commands automatically (vponcova) -- Fix tests for conflicting commands (vponcova) -- Add conflicting commands support (bcl) -- Fix handling of package section arguments in older versions (bcl) - -* Tue Mar 14 2023 Brian C. Lane - 3.45-1 -- workflow: Update to use released python 3.11 version (bcl) -- Don't allow to use --sdboot and --extlinux together (vponcova) -- tests: add bootloader sdboot option (jeremy.linton) -- bootloader: Add systemd-boot support with --sdboot (jeremy.linton) -- Add %%changelog section to pykickstart.spec.in (jkonecny) -- Do not request sign for rc-release Makefile target (jkonecny) -- Do not require SPECFILE for rc-release (jkonecny) -- Add missing docs copy to scratch Makefile (jkonecny) -- Add support for Fedora 39 (vslavik) - -* Wed Feb 15 2023 Brian C. Lane - 3.44-1 -- Add DNS handling options to the network command (vslavik) - Related: rhbz#1656662 -- Fix the coverage report (vponcova) -- whitelist_externals has changed to allowlist_externals (bcl) -- Update %post example for DNS problems (bcl) -- deps: Move dependencies into requirements.txt (bcl) -- Fix syntax of a code sample (ewoud) - -* Mon Jan 30 2023 Brian C. Lane - 3.43-3 -- SPDX migration - -* Fri Jan 20 2023 Fedora Release Engineering - 3.43-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Aug 29 2022 Brian C. Lane - 3.43-1 -- pyproject.toml: Add dependencies (bcl) -- sshkey: Escapes quotes in the ssh key (bcl) - Resolves: rhbz#2117734 -- test: Add Python 3.11 to test matrix (bcl) -- Add --hibernation option to AutoPart (ozobal) -- Makefile: Include pyproject.toml in new release commit (bcl) - -* Tue Aug 16 2022 Brian C. Lane - 3.42-1 -- Use RHEL9 for RHEL command documentation (bcl) -- setup.py: use setuptools not distutils (bcl) -- Add pyproject.toml and update setup.py (bcl) -- Add Fedora 38 support (bcl) - -* Fri Jul 22 2022 Fedora Release Engineering - 3.41-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jun 16 2022 Python Maint - 3.41-2 -- Rebuilt for Python 3.11 - -* Thu Jun 16 2022 Brian C. Lane - 3.41-1 -- Write commands in alphabetical order (bcl) - Resolves: rhbz#2096871 - -* Tue Jun 14 2022 Python Maint - 3.40-2 -- Rebuilt for Python 3.11 - -* Mon Jun 13 2022 Brian C. Lane - 3.40-1 -- Add support for automatic LUN Scan (vponcova) - Related: rhbz#1432883 - -* Mon Jun 13 2022 Python Maint - 3.39-2 -- Rebuilt for Python 3.11 - -* Thu Jun 02 2022 Brian C. Lane - 3.39-1 -- tests: Fix unused out variable warnings (bcl) -- rootpw: Add an --allow-ssh argument (bcl) - Resolves: rhbz#2083269 -- github: Fix workflow to only send coverage for python 3.9 (bcl) - -* Thu Apr 07 2022 Brian C. Lane - 3.38-1 -- Add test for missing closing quote (bcl) -- i18n: Pass gettext domain on every translation call (bcl) - -* Mon Feb 28 2022 Brian C. Lane - 3.37-1 -- Remove the --ignorebroken option from RHEL handlers (vponcova) -- Add the isRHEL function (vponcova) - -* Tue Feb 15 2022 Brian C. Lane - 3.36-1 -- github: Add rhel9-branch to the list of branches (bcl) -- github: Use python 3.10 instead of a rc release (bcl) -- Fix validation of packages arguments (bcl) -- Add Fedora 37 support (vslavik) -- Add Fedora 36 support (vslavik) - -* Fri Jan 21 2022 Fedora Release Engineering - 3.35-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Oct 12 2021 Brian C. Lane - 3.35-1 -- bootloader: Fix --md5pass documentation (bcl) -- Update ksvalidator manpage for multiple input files (vslavik) -- Test new code paths in ksvalidator (vslavik) -- ksvalidator: Add file globbing (vslavik) -- Rename _is_url() to is_url() to make it public (vslavik) -- ksvalidator: Add support for multiple files (vslavik) -- ksvalidator: Handle empty files (bcl) -- ksflatten: Add test coverage for unknown version (bcl) -- tests: Add python 3.10 to the test matrix (bcl) -- ksflatten: Fix pylint complaint about msg reuse (bcl) -- Remove more python2 compatability (bcl) -- tests: Ignore new pylint warnings (bcl) -- Fix typo "installaton" (amahdal) -- Be more consistent when referring to `%pre` (amahdal) - -* Fri Jul 23 2021 Fedora Release Engineering - 3.34-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jul 13 2021 Brian C. Lane - 3.34-1 -- Remove the auth and authconfig commands (pbrezina) -- The parse method is expected to return a value (vponcova) -- tests: unittest isn't used in handle_unicode anymore (bcl) -- Add RHEL 9 handler (mkolman) - Resolves: rhbz#1966730 -- Add RHEL 9 version for commands that had a RHEL version in the past (mkolman) - Related: rhbz#1966730 -- Add RHEL 9 version for BTRFS related commands (mkolman) - Related: rhbz#1966730 - -* Wed Jun 09 2021 Brian C. Lane - 3.33-1 -- tests: Use pykickstart/commands relative to the import (bcl) - Related: rhbz#1968762 -- Document missing feature '|' for ignoredisk and clearpart (jkonecny) -- Remove python six library (bcl) -- Add Fedora 35 support (bcl) - -* Thu Jun 03 2021 Python Maint - 3.32-3 -- Rebuilt for Python 3.10 - -* Wed Jan 27 2021 Fedora Release Engineering - 3.32-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 18 2021 Brian C. Lane - 3.32-1 -- Conditionally BuildRequire coverage and sphinx for runtests (bcl) - Resolves: rhbz#1916735 -- Change the lilo command removal to use RemovedCommand (vslavik) -- Change the lilocheck command removal to use RemovedCommand (vslavik) -- Fix test for the removed "interactive" command (vslavik) -- Change the langsupport command removal to use RemovedCommand (vslavik) -- Change the monitor command removal to use RemovedCommand (vslavik) -- Change the mouse command removal to use RemovedCommand (vslavik) -- Change the upgrade command removal to use RemovedCommand (vslavik) -- Fix ksverdiff detection of removed commands (vslavik) -- Check warnings of the deprecated kickstart commands (vponcova) -- Remove the install command (vslavik) -- Remove the deviceprobe command (vslavik) -- Remove the device command (vslavik) -- Remove the dmraid command (vslavik) -- Remove the multipath command (vslavik) -- Fix deprecation test for removed commands (vslavik) -- Switch interactive removal to use RemovedCommand (bcl) -- Add RemovedCommand for removing commands and documenting them (bcl) -- Remove support for the updates command without an URL (vponcova) -- Document how to deprecate commands and options (bcl) -- Remove the ignoredisk --interactive option (vslavik) -- Remove the partition --active option (vslavik) -- Deprecate the %traceback section (vslavik) -- Add missing .coveragerc file (bcl) -- Switch to using GitHub Actions instead of Travis CI (bcl) -- Add support for running via tox (bcl) -- Deprecate the method command (vslavik) -- Remove the bootloader option --upgrade (vslavik) - -* Thu Nov 05 2020 Brian C. Lane - 3.31-1 -- Add make to BuildRequires, buildroot is removing it. -- Deprecate the autostep command (vslavik) -- Add missing spaces into the message (yurchor) -- ksshell: Fix indentation in _init_matches (bcl) -- Mark the level option of the logging command as deprecated (vponcova) - -* Tue Sep 29 2020 Brian C. Lane - 3.30-1 -- ksshell: Fix traceback and add tests (bcl) -- fs: Make tmp file creation cross-platform in ksvalidator to support Windows - -* Mon Aug 31 2020 Brian C. Lane - 3.29-1 -- setup.py: Fix script installation without filename extension (bcl) - -* Mon Aug 31 2020 Brian C. Lane - 3.28-1 -- Makefile: Add __init__.py with new version to bumpver commit (bcl) -- tests: Ignore W0707 raise-missing-from warnings (bcl) -- Add Fedora 34 support (bcl) -- Add new tests for the harddrive biospart parameter removal (jkonecny) -- Remove biospart from harddrive command (jkonecny) -- move dependencies into setup.py and use setuptools (carlos) -- remove reference to py3 as a requirement (carlos) -- remove references to nose test framework (carlos) -- update dist to 18.04 (carlos) -- add ci test for future py ver (carlos) -- use new travis-ci syntax (carlos) -- parser: Remove OrderedSet (bcl) -- tests: Add a slightly different test for Package.add (bcl) -- Add pykickstart.__version__ string (bcl) - -* Tue Jul 28 2020 Fedora Release Engineering - 3.27-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 07 2020 Brian C. Lane - 3.27-1 -- tests: Fix pylint warnings in timezone tests (bcl) -- Mark --ntpservers and --nontp options of timezone command as deprecated (mkolman) -- Add the timesource command (mkolman) - -* Mon Jun 01 2020 Brian C. Lane - 3.26-1 -- Makefile: Fix gpg signature (bcl) -- Add RHEL8_Repo, RHEL8_RepoData, and RHEL8_Url classes (bcl) -- pylint: Fix warnings and errors from pylint 2.5.x (bcl) -- i18n: Use gettext instead of lgettext (bcl) -- Use W9902 in pylint disable to avoid warnings about _ (bcl) -- Add python 3.8 to travis.yml (bcl) -- docs: Fix network.py documentation markup (bcl) -- docs: versionadded directive needs a blank line after it (bcl) -- docs: Maintain programmers-guide in the repo (bcl) -- Makefile: Add creating the detached signature to the release make target (bcl) - -* Sat May 23 2020 Miro Hrončok - 3.25-2 -- Rebuilt for Python 3.9 - -* Tue Apr 07 2020 Brian C. Lane - 3.25-1 -- Deprecate `repo --ignoregroups` (jkonecny) -- Add Fedora 33 support (jkonecny) - -* Mon Apr 06 2020 Brian C. Lane - 3.24-1 -- Make --url doctext more understandable (jkonecny) -- Remove url command doc that it's replaced (jkonecny) -- Add missing information for driverdisk KS command (jkonecny) -- tests: close the HTTP Server in tests/include.py (bcl) -- tests: Replace nose with unittest (bcl) - -* Thu Jan 30 2020 Fedora Release Engineering - 3.23-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jan 14 2020 Brian C. Lane - 3.23-1 -- tests: pin coverage at the 4.x.x series (bcl) -- Switch to using Weblate for translations (bcl) -- po: Remove pykickstart.pot (bcl) -- gpg sign the git tag (bcl) -- Cleaning up empty help strings (bcl) -- tests: Fix the empty description, help, etc. test (bcl) -- tests: Turn off HTTP logging in Include_URL_TestCase (bcl) -- tests: Catch warning in Unknown_New_Section_2_TestCase (bcl) -- tests: Capture stderr output from ksflatten test (bcl) -- Prefer --utc to --isUtc in timezone for F32 and later (vslavik) -- Give output in str(F25_Timezone) even without timezone spec (vslavik) -- Prefer the non-camelCased options for %packages (vslavik) -- Add test for kickstart option names (vslavik) -- Add lowercase aliases for camelCased %packages options (vslavik) -- Commit the new pykickstart.pot when making a release (bcl) -- Add the rhsm command (mkolman) -- Fix travis and coverage runs (bcl) -- Fix pylint unnecessary-pass warnings (bcl) -- Drop python2 compatibility (jkonecny) -- Fix check for python zanata client in Makefile (jkonecny) -- Update versionremoved sphinx extension (bcl) - -* Wed Nov 06 2019 Brian C. Lane - 3.22-1 -- Enable coveralls.io coverage tracking (bcl) -- Add tests for ignorebroken packages parameter (jkonecny) -- Add ignore broken parameter to packages section (#1642013) (jkonecny) -- Add support for the ZIPL Secure Boot for F32 and RHEL8 (vponcova) -- Add F32 support (jkonecny) -- Add note for the repo and url ssl options (jkonecny) -- Skip FailsToOpenOutputFile_TestCase if running as root (juliana.rodrigueiro) -- Change .spec Source to new pykickstart organization URL (bcl) - -* Thu Oct 03 2019 Miro Hrončok - 3.21-3 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Fri Aug 16 2019 Miro Hrončok - 3.21-2 -- Rebuilt for Python 3.8 - * Wed Aug 14 2019 David Cantrell - 3.21-1 - Make module --disable available on Fedora 31+ (mkolman) - Add F31 handler (mkolman) diff --git a/sources b/sources index b83b8c9..7aa9024 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pykickstart-3.68.tar.gz) = 103034f2ad47afa470066b4c98092ac634c5c5ed21c1c98a65170c78cc86e95f5565bb4c29a24a890836e45d2094b529fcdb02f8a004875cc13db505bd2ba51e -SHA512 (pykickstart-3.68.tar.gz.asc) = 33d2e3ea50bdffdb7bc4939b68c3069d6fce6087cd186ac57773981928a090608f7509fd8f63bacbbd6544d828da3eb1e1fb785f5ff7e547364c9cd360eaf106 +SHA512 (pykickstart-3.21.tar.gz) = 83e59af3aebd3b9a4f6b92f119cf509c2cf7763725b37f5a60f6a2f16436ebda70debc506ff6e319bd2e858e11f40581a82baf97b2b4496f4260f60658c0ff0d +SHA512 (pykickstart-3.21.tar.gz.asc) = 3aef8c396de7e755310f4b40484bc92c3dd2764eb2777f89a767df9265f6db129af936e3cbbf988a995a593fbddfb87e8728af58a3c5d60e9845e8f33343c345 diff --git a/tests/bad-ks/fedora-disk-base.ks b/tests/bad-ks/fedora-disk-base.ks deleted file mode 100644 index 5f4a9eb..0000000 --- a/tests/bad-ks/fedora-disk-base.ks +++ /dev/null @@ -1,47 +0,0 @@ -text -lang en_US.UTF-8 -keyboard us -timezone US/Eastern -selinux --enforcing -firewall --enabled --service=mdns -services --enabled=sshd,NetworkManager,chronyd -network --bootproto=dhcp --device=link --activate -rootpw --lock --iscrypted locked -shutdown - -bootloader --timeout=1 - -zerombr -clearpart --all --initlabel --disklabel=msdos - -# make sure that initial-setup runs and lets us do all the configuration bits -firstboot --reconfig - -repo --name "packages" --url https://nowhere/ - -%packages -@core -@standard -@hardware-support - -kernel -# on 32bit arm make sure we only install one kernel --kernel-lpae -# remove this in %post -dracut-config-generic --dracut-config-rescue -# install tools needed to manage and boot arm systems -@arm-tools -chrony -bcm283x-firmware -initial-setup -# Intel wireless firmware assumed never of use for disk images --iwl* --ipw* --usb_modeswitch --generic-release* - -# make sure all the locales are available for inital-setup and anaconda to work -glibc-all-langpacks - -%end diff --git a/tests/bad-ks/no-commands.ks b/tests/bad-ks/no-commands.ks deleted file mode 100644 index d50b27b..0000000 --- a/tests/bad-ks/no-commands.ks +++ /dev/null @@ -1,2 +0,0 @@ -echo "not a kickstart" -without any --commands diff --git a/tests/good-ks/fedora-disk-base.ks b/tests/good-ks/fedora-disk-base.ks deleted file mode 100644 index ea67746..0000000 --- a/tests/good-ks/fedora-disk-base.ks +++ /dev/null @@ -1,104 +0,0 @@ -# fedora-disk-base.ks -# -# Defines the basics for all kickstarts in the fedora-live branch -# Does not include package selection (other then mandatory) -# Does not include localization packages or configuration -# -# Does includes "default" language configuration (kickstarts including -# this template can override these settings) - -text -lang en_US.UTF-8 -keyboard us -timezone US/Eastern -selinux --enforcing -firewall --enabled --service=mdns -services --enabled=sshd,NetworkManager,chronyd -network --bootproto=dhcp --device=link --activate -rootpw --lock --iscrypted locked -shutdown - -bootloader --timeout=1 - -zerombr -clearpart --all --initlabel --disklabel=msdos - -# make sure that initial-setup runs and lets us do all the configuration bits -firstboot --reconfig - -%include fedora-repo.ks - -%packages -@core -@standard -@hardware-support - -kernel -# on 32bit arm make sure we only install one kernel --kernel-lpae -# remove this in %post -dracut-config-generic --dracut-config-rescue -# install tools needed to manage and boot arm systems -@arm-tools -chrony -bcm283x-firmware -initial-setup -# Intel wireless firmware assumed never of use for disk images --iwl* --ipw* --usb_modeswitch --generic-release* - -# make sure all the locales are available for inital-setup and anaconda to work -glibc-all-langpacks - -%end - -%post - -# Find the architecture we are on -arch=$(uname -m) - -# Setup Raspberry Pi firmware -if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then -if [[ $arch == "aarch64" ]]; then -cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin -cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin -cp -P /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin -else -cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/efi/rpi2-u-boot.bin -cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/efi/rpi3-u-boot.bin -cp -P /usr/share/uboot/rpi_4_32b/u-boot.bin /boot/efi/rpi4-u-boot.bin -fi -fi - -releasever=$(rpm --eval '%{fedora}') -rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary -echo "Packages within this disk image" -rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn - -# remove random seed, the newly installed instance should make it's own -rm -f /var/lib/systemd/random-seed - -# The enp1s0 interface is a left over from the imagefactory install, clean this up -rm -f /etc/NetworkManager/system-connections/*.nmconnection - -dnf -y remove dracut-config-generic - -# Remove machine-id on pre generated images -rm -f /etc/machine-id -touch /etc/machine-id - -# Note that running rpm recreates the rpm db files which aren't needed or wanted -rm -f /var/lib/rpm/__db* - -# Anaconda adds console=tty0 to the grub boot line on all images. this is problematic -# when you are using fedora via serial console as you do not get any output post grub -# linux does a good job of knowing what consoles need to be enabled. -# https://bugzilla.redhat.com/show_bug.cgi?id=2022757 -if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then -sed -i -e 's|console=tty0||g' /boot/loader/entries/*conf -fi - -%end diff --git a/tests/good-ks/fedora-live-base.ks b/tests/good-ks/fedora-live-base.ks deleted file mode 100644 index 205e114..0000000 --- a/tests/good-ks/fedora-live-base.ks +++ /dev/null @@ -1,106 +0,0 @@ -# fedora-live-base.ks -# -# Defines the basics for all kickstarts in the fedora-live branch -# Does not include package selection (other then mandatory) -# Does not include localization packages or configuration -# -# Does includes "default" language configuration (kickstarts including -# this template can override these settings) - -lang en_US.UTF-8 -keyboard us -timezone US/Eastern -selinux --enforcing -firewall --enabled --service=mdns -xconfig --startxonboot -zerombr -clearpart --all -part / --size 5120 --fstype ext4 -services --enabled=NetworkManager,ModemManager --disabled=sshd -network --bootproto=dhcp --device=link --activate -rootpw --lock --iscrypted locked -shutdown - -%include fedora-repo.ks - -%packages -# Explicitly specified here: -# walters: because otherwise dependency loops cause yum issues. -kernel -kernel-modules -kernel-modules-extra - -# The point of a live image is to install -anaconda -anaconda-install-env-deps -anaconda-live -@anaconda-tools -# Anaconda has a weak dep on this and we don't want it on livecds, see -# https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD --fcoe-utils --device-mapper-multipath - -# Need aajohan-comfortaa-fonts for the SVG rnotes images -aajohan-comfortaa-fonts - -# Without this, initramfs generation during live image creation fails: #1242586 -dracut-live - -# anaconda needs the locales available to run for different locales -glibc-all-langpacks - -# provide the livesys scripts -livesys-scripts -%end - -%post -# Enable livesys services -systemctl enable livesys.service -systemctl enable livesys-late.service - -# enable tmpfs for /tmp -systemctl enable tmp.mount - -# make it so that we don't do writing to the overlay for things which -# are just tmpdirs/caches -# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475 -cat >> /etc/fstab << EOF -vartmp /var/tmp tmpfs defaults 0 0 -EOF - -# work around for poor key import UI in PackageKit -rm -f /var/lib/rpm/__db* -echo "Packages within this LiveCD" -rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn -# Note that running rpm recreates the rpm db files which aren't needed or wanted -rm -f /var/lib/rpm/__db* - -# go ahead and pre-make the man -k cache (#455968) -/usr/bin/mandb - -# make sure there aren't core files lying around -rm -f /core* - -# remove random seed, the newly installed instance should make it's own -rm -f /var/lib/systemd/random-seed - -# convince readahead not to collect -# FIXME: for systemd - -echo 'File created by kickstart. See systemd-update-done.service(8).' \ - | tee /etc/.updated >/var/.updated - -# Drop the rescue kernel and initramfs, we don't need them on the live media itself. -# See bug 1317709 -rm -f /boot/*-rescue* - -# Disable network service here, as doing it in the services line -# fails due to RHBZ #1369794 -systemctl disable network - -# Remove machine-id on pre generated images -rm -f /etc/machine-id -touch /etc/machine-id - -%end - diff --git a/tests/include-ks/fedora-live-base.ks b/tests/include-ks/fedora-live-base.ks deleted file mode 100644 index bf89758..0000000 --- a/tests/include-ks/fedora-live-base.ks +++ /dev/null @@ -1,106 +0,0 @@ -# fedora-live-base.ks -# -# Defines the basics for all kickstarts in the fedora-live branch -# Does not include package selection (other then mandatory) -# Does not include localization packages or configuration -# -# Does includes "default" language configuration (kickstarts including -# this template can override these settings) - -lang en_US.UTF-8 -keyboard us -timezone US/Eastern -selinux --enforcing -firewall --enabled --service=mdns -xconfig --startxonboot -zerombr -clearpart --all -##part / --size 5120 --fstype ext4 -services --enabled=NetworkManager,ModemManager --disabled=sshd -network --bootproto=dhcp --device=link --activate -rootpw --lock --iscrypted locked -shutdown - -%include fedora-repo.ks - -%packages -# Explicitly specified here: -# walters: because otherwise dependency loops cause yum issues. -kernel -kernel-modules -kernel-modules-extra - -# The point of a live image is to install -anaconda -anaconda-install-env-deps -anaconda-live -@anaconda-tools -# Anaconda has a weak dep on this and we don't want it on livecds, see -# https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD --fcoe-utils --device-mapper-multipath - -# Need aajohan-comfortaa-fonts for the SVG rnotes images -aajohan-comfortaa-fonts - -# Without this, initramfs generation during live image creation fails: #1242586 -dracut-live - -# anaconda needs the locales available to run for different locales -glibc-all-langpacks - -# provide the livesys scripts -livesys-scripts -%end - -%post -# Enable livesys services -systemctl enable livesys.service -systemctl enable livesys-late.service - -# enable tmpfs for /tmp -systemctl enable tmp.mount - -# make it so that we don't do writing to the overlay for things which -# are just tmpdirs/caches -# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475 -cat >> /etc/fstab << EOF -vartmp /var/tmp tmpfs defaults 0 0 -EOF - -# work around for poor key import UI in PackageKit -rm -f /var/lib/rpm/__db* -echo "Packages within this LiveCD" -rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn -# Note that running rpm recreates the rpm db files which aren't needed or wanted -rm -f /var/lib/rpm/__db* - -# go ahead and pre-make the man -k cache (#455968) -/usr/bin/mandb - -# make sure there aren't core files lying around -rm -f /core* - -# remove random seed, the newly installed instance should make it's own -rm -f /var/lib/systemd/random-seed - -# convince readahead not to collect -# FIXME: for systemd - -echo 'File created by kickstart. See systemd-update-done.service(8).' \ - | tee /etc/.updated >/var/.updated - -# Drop the rescue kernel and initramfs, we don't need them on the live media itself. -# See bug 1317709 -rm -f /boot/*-rescue* - -# Disable network service here, as doing it in the services line -# fails due to RHBZ #1369794 -systemctl disable network - -# Remove machine-id on pre generated images -rm -f /etc/machine-id -touch /etc/machine-id - -%end - diff --git a/tests/include-ks/fedora-live-minimization.ks b/tests/include-ks/fedora-live-minimization.ks deleted file mode 100644 index 3cde144..0000000 --- a/tests/include-ks/fedora-live-minimization.ks +++ /dev/null @@ -1,9 +0,0 @@ -# Common packages removed from comps -# For F14, these removals should be moved to comps itself - -%packages - -# save some space --hplip - -%end diff --git a/tests/include-ks/fedora-live-xfce.ks b/tests/include-ks/fedora-live-xfce.ks deleted file mode 100644 index 1506163..0000000 --- a/tests/include-ks/fedora-live-xfce.ks +++ /dev/null @@ -1,33 +0,0 @@ -# fedora-livecd-xfce.ks -# -# Description: -# - Fedora Live Spin with the light-weight XFCE Desktop Environment -# -# Maintainer(s): -# - Rahul Sundaram -# - Christoph Wickert -# - Kevin Fenzi -# - Adam Miller - -%include fedora-live-base.ks -%include fedora-live-minimization.ks -%include fedora-xfce-common.ks - -# need a bigger / -part / --size 6144 - -%post -# xfce configuration - -# create /etc/sysconfig/desktop (needed for installation) - -cat > /etc/sysconfig/desktop < -# - Adam Miller -# - Mukundan Ragavan - -%packages - -fedora-release-xfce -# install env-group to resolve RhBug:1891500 -@^xfce-desktop-environment - -@xfce-apps -@xfce-extra-plugins -@xfce-media -@xfce-office - -wget -system-config-printer - -# save some space --autofs --acpid --gimp-help --desktop-backgrounds-basic --aspell-* # dictionaries are big --xfce4-sensors-plugin --xfce4-eyes-plugin - -%end diff --git a/tests/scripts/run_tests.sh b/tests/scripts/run_tests.sh index 5f5f3dc..fdb2fd5 100755 --- a/tests/scripts/run_tests.sh +++ b/tests/scripts/run_tests.sh @@ -1,24 +1,31 @@ #!/bin/sh -echo "Running pykickstart tests" -cd ./tests/ +PATH=/usr/bin +TMPDIR="$(mktemp -d)" +CWD="$(pwd)" -# Run ksvalidator on good kickstart examples -for f in ./good-ks/*.ks; do - echo "Checking $f" - ksvalidator $f || exit 1 -done +PACKAGE=pykickstart +BRANCH= -# Run ksvalidator on bad kickstart examples -for f in ./bad-ks/*.ks; do - echo "Checking $f" - ksvalidator $f && exit 1 -done +# clone the dist-git tree for this package +cd ${TMPDIR} +fedpkg co ${PACKAGE} +cd ${PACKAGE} +[ -z "${BRANCH}" ] || fedpkg switch-branch ${BRANCH} +fedpkg prep +# scramble together the extracted source tree name +SRCDIR="${PACKAGE}-$(grep Version: ${PACKAGE}.spec | cut -d ' ' -f 2)" -# Run ksflatten on a set of kickstarts -echo "Testing ksflatten with included kickstarts" -ksflatten -c ./include-ks/fedora-live-xfce.ks -o flat.ks || exit 1 -ksvalidator flat.ks || exit 1 +# run the tests +cd ${SRCDIR} +make check +CHECK_RET=$? +make test +TEST_RET=$? +RET=$((${CHECK_RET} + ${TEST_RET})) -exit 0 +# clean up and exit +cd ${CWD} +rm -rf ${TMPDIR} +exit ${RET} diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..171d4d0 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,15 @@ +--- + +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + + required_packages: + - fedpkg + + tests: + - simple: + dir: scripts/ + run: ./run_tests.sh