Compare commits

...

No commits in common. "c9-beta" and "c9s" have entirely different histories.
c9-beta ... c9s

12 changed files with 228 additions and 4 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

73
.gitignore vendored
View File

@ -1,2 +1,71 @@
SOURCES/ignition-2.22.0.tar.gz /ignition-40c0b57.tar.gz
SOURCES/ignition-edge-b8d1b7a.tar.gz /ignition-7610725.tar.gz
/ignition-dracut-d664657.tar.gz
/ignition-cc7ebe0.tar.gz
/ignition-dracut-56aa514.tar.gz
/ignition-f707912.tar.gz
/ignition-dracut-d056287.tar.gz
/ignition-dracut-8c85eb3.tar.gz
/ignition-dracut-c09ce6f.tar.gz
/ignition-dracut-4bdfb34.tar.gz
/ignition-dracut-7ee64ca.tar.gz
/ignition-dracut-decf63f.tar.gz
/ignition-dracut-7b83454.tar.gz
/ignition-b1ab0b2.tar.gz
/ignition-308d7a0.tar.gz
/ignition-dracut-fa7131b.tar.gz
/ignition-dracut-2c69925.tar.gz
/ignition-f59a653.tar.gz
/ignition-dracut-0d09097.tar.gz
/ignition-dracut-73ec3fc.tar.gz
/ignition-dracut-ec9a492.tar.gz
/ignition-906cf04.tar.gz
/ignition-dracut-85f2e65.tar.gz
/ignition-910e6c6.tar.gz
/ignition-dracut-df88988.tar.gz
/ignition-0c1da80.tar.gz
/ignition-e75cf24.tar.gz
/ignition-dracut-343b886.tar.gz
/ignition-dracut-d63f76f.tar.gz
/ignition-641ec6a.tar.gz
/ignition-dracut-3d08487.tar.gz
/ignition-dracut-8bf2cbd.tar.gz
/ignition-a8f91fa.tar.gz
/ignition-dracut-736459e.tar.gz
/ignition-dracut-14808e2.tar.gz
/ignition-2d3ff58.tar.gz
/ignition-dracut-f67d587.tar.gz
/ignition-dracut-793d0ef.tar.gz
/ignition-dracut-6136be3.tar.gz
/ignition-dracut-390779d.tar.gz
/ignition-ee616d5.tar.gz
/ignition-dracut-7ff38d9.tar.gz
/ignition-dracut-8f5d1ec.tar.gz
/ignition-dracut-bdf0a65.tar.gz
/ignition-d18bf90.tar.gz
/ignition-dracut-e75fef0.tar.gz
/ignition-5260a5b.tar.gz
/ignition-dracut-6b1d128.tar.gz
/ignition-0d6f3e5.tar.gz
/ignition-947598e.tar.gz
/ignition-5be43fd.tar.gz
/ignition-db4d30d.tar.gz
/ignition-c733d23.tar.gz
/ignition-1d56dc8.tar.gz
/ignition-2.9.0.tar.gz
/ignition-2.12.0.tar.gz
/ignition-2.13.0.tar.gz
/ignition-2.14.0.tar.gz
/ignition-edge-a3a8f0a.tar.gz
/ignition-2.15.0.tar.gz
/ignition-edge-35853de.tar.gz
/ignition-2.16.2.tar.gz
/ignition-2.17.0.tar.gz
/ignition-2.18.0.tar.gz
/ignition-2.19.0.tar.gz
/ignition-edge-b8d1b7a.tar.gz
/ignition-2.20.0.tar.gz
/ignition-2.21.0.tar.gz
/ignition-2.22.0.tar.gz
/ignition-*.src.rpm
/results_ignition/

View File

@ -1,2 +0,0 @@
0e0e0229c4d32ca50d19df8c0adca27d28c4a9b9 SOURCES/ignition-2.22.0.tar.gz
0069b62bce8673f82ac6a4b9959ec8db4ffed8ad SOURCES/ignition-edge-b8d1b7a.tar.gz

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# ignition
The ignition package

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./tests/tmt/plans/smoke} # this is the testcase identifier, which OSCI pipeline uses

84
go-mods-to-bundled-provides.py Executable file
View File

@ -0,0 +1,84 @@
#!/usr/bin/env python3
'''
Tiny dumb script that generates virtual bundled `Provides` from a repo that
uses go modules and vendoring.
'''
import sys
import re
def main():
repos = get_repos_from_go_mod()
print_provides_from_modules_txt(repos)
def get_repos_from_go_mod():
repos = {}
in_reqs = False
for line in open('go.mod'):
line = line.strip()
if in_reqs and line.startswith(')'):
break
if not in_reqs:
if line.startswith('require ('):
in_reqs = True
continue
req = line.split()
repo = req[0]
tag = req[1]
repos[repo] = go_mod_tag_to_rpm_provides_version(tag)
return repos
def go_mod_tag_to_rpm_provides_version(tag):
# go.mod tags are either exact git tags, or may be "pseudo-versions". We
# want to convert these tags to something resembling a version string that
# RPM won't fail on. For more information, see
# https://golang.org/cmd/go/#hdr-Pseudo_versions and following sections.
# trim off any +incompatible
if tag.endswith('+incompatible'):
tag = tag[:-len('+incompatible')]
# git tags are normally of the form v$VERSION
if tag.startswith('v'):
tag = tag[1:]
# is this a pseudo-version? e.g. v0.0.0-20181031085051-9002847aa142
m = re.match("(.*)-([0-9.]+)-([a-f0-9]{12})", tag)
if m:
# rpm doesn't like multiple dashes in the version, so just merge the
# timestamp and the commit checksum into the "release" field
tag = f"{m.group(1)}-{m.group(2)}.git{m.group(3)}"
return tag
def print_provides_from_modules_txt(repos):
for line in open('vendor/modules.txt'):
if line.startswith('#'):
continue
gopkg = line.strip()
repo = lookup_repo_for_pkg(repos, gopkg)
if not repo:
# must be a pkg for tests only; ignore
continue
tag = repos[repo]
print(f"Provides: bundled(golang({gopkg})) = {tag}")
def lookup_repo_for_pkg(repos, gopkg):
for repo in repos:
if gopkg.startswith(repo):
return repo
if __name__ == '__main__':
sys.exit(main())

14
ignition.rpmlintrc Normal file
View File

@ -0,0 +1,14 @@
# Suppress hardcoded library path warning
addFilter("hardcoded-library-path in %{_prefix}/lib/dracut")
# Ignition sources have duplicate files because of how spec versioning is
# implemented
addFilter("ignition-debugsource.x86_64: W: files-duplicate")
# -validate-redistributable is supposed to have binaries in it
addFilter("ignition-validate-redistributable.noarch: E: arch-independent-package-contains-binary-or-object")
# This is documented as optional
# https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages#Do_I_need_to_Provide_my_old_package_names.3F
addFilter("ignition.x86_64: W: obsolete-not-provided ignition-dracut")
addFilter("ignition-validate-redistributable.noarch: W: obsolete-not-provided ignition-validate-nonlinux")

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (ignition-2.22.0.tar.gz) = fd9fbe28b77c0593c4ca3f7d08fcb46c56c29d8fd4365c37856b8ccfd178d3cbb44dbe15effcfada3da851bece893edfe2b4de2c4873a90c909322a8c806143a
SHA512 (ignition-edge-b8d1b7a.tar.gz) = 4ad167d89a4efeca8a24f24fe5a0bd2e5a1acfa86eb21653d84ad136236c727c328e7da890f3294a2e81b32e7b52435713e71fdbdd9d93d815f1c202b4f49f36

23
tests/tests.yml Normal file
View File

@ -0,0 +1,23 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required-packages:
- ignition
- ignition-validate
tests:
- ignition-run-version:
dir: ./
run: /usr/lib/dracut/modules.d/30ignition/ignition --version
- ignition-validate-run-version:
dir: ./
run: /usr/bin/ignition-validate --version
- ignition-rpm-installed:
dir: ./
run: /usr/bin/rpm -q ignition
- ignition-validate-rpm-installed:
dir: ./
run: /usr/bin/rpm -q ignition-validate

12
tests/tmt/plans/main.fmf Normal file
View File

@ -0,0 +1,12 @@
---
prepare:
- name: Install ignition package
how: install
package: ignition
- name: Set IGNITION_BIN_DIR when installed package
how: shell
script: |
set -x -e -o pipefail
echo "IGNITION_BIN_DIR=/usr/lib/dracut/modules.d/30ignition" > /tmp/ignition_bin_dir

12
tests/tmt/plans/smoke.fmf Normal file
View File

@ -0,0 +1,12 @@
---
summary: Run gating tests
tag:
- smoke
discover:
- name: Internal gating tests
how: fmf
url: https://github.com/coreos/ignition.git
filter: 'tag: smoke'
execute:
how: tmt