diff --git a/.gitignore b/.gitignore index ddf3a40..f3efa89 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,75 @@ +/ignition-40c0b57.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.10.1.tar.gz +/ignition-2.11.0.tar.gz +/ignition-2.12.0.tar.gz +/ignition-2.13.0.tar.gz +/ignition-2.14.0.tar.gz +/ignition-2.15.0.tar.gz +/ignition-edge-a3a8f0a.tar.gz +/ignition-2.16.1.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-2.20.0.tar.gz +/ignition-edge-a258749.tar.gz +/ignition-2.21.0.tar.gz +/ignition-2.22.0.tar.gz +/ignition-2.23.0.tar.gz +/ignition-2.24.0.tar.gz +/ignition-2.25.0.tar.gz +/ignition-2.25.1.tar.gz diff --git a/go-mods-to-bundled-provides.py b/go-mods-to-bundled-provides.py new file mode 100755 index 0000000..51dee83 --- /dev/null +++ b/go-mods-to-bundled-provides.py @@ -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()) diff --git a/ignition.rpmlintrc b/ignition.rpmlintrc new file mode 100644 index 0000000..8dc3988 --- /dev/null +++ b/ignition.rpmlintrc @@ -0,0 +1,12 @@ +# Ignition sources have duplicate files because of how spec versioning is +# implemented +addFilter("ignition-debugsource.x86_64: E: files-duplicated-waste") + +# -validate-redistributable is supposed to have binaries in it, and +# doesn't really need docs since it isn't user-facing +addFilter("ignition-validate-redistributable.noarch: E: arch-independent-package-contains-binary-or-object") +addFilter("ignition-validate-redistributable.noarch: W: no-documentation") + +# 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-validate-redistributable.noarch: W: obsolete-not-provided ignition-validate-nonlinux") diff --git a/ignition.spec b/ignition.spec index df4832e..91f5dda 100644 --- a/ignition.spec +++ b/ignition.spec @@ -1,470 +1,857 @@ -# Original spec file as generated by: -# gofed repo2spec --detect github.com/coreos/ignition --commit 76107251acd117c6d3e5b4dae2b47f82f944984b --with-extra --with-build -f -# With: -# gofed@8f62d8d2dea0a87ef60cad72f72e2d7558c0cb75 -# And: -# $ git submodule status -# 33207573a1875bc828da3f863e1de439d7af8166 third_party/cmdsignature (heads/master) -# 6bff7ae54535689e2ade3d0bd3d33d903a2190b9 third_party/gofed_infra (remotes/origin/WIP-37-g6bff7ae) -# 7e414c78930a81167dc2cd4d3e9adb79eeed38a6 third_party/gofed_resources (heads/master) -# ef6ec0e387f3b125308243898435774da6128a4c third_party/gofedlib (0.1.0a1-20-gef6ec0e) - - -# If any of the following macros should be set otherwise, -# you can wrap any of them with the following conditions: -# - %%if 0%%{centos} == 7 -# - %%if 0%%{?rhel} == 7 -# - %%if 0%%{?fedora} == 23 -# Or just test for particular distribution: -# - %%if 0%%{centos} -# - %%if 0%%{?rhel} -# - %%if 0%%{?fedora} -# -# Be aware, on centos, both %%rhel and %%centos are set. If you want to test -# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition. -# (Don't forget to replace double percentage symbol with single one in order to apply a condition) - -# Not all devel deps exist in Fedora so you can't install the devel rpm -# so we need to build without devel for now -# Generate devel rpm -%global with_devel 0 -# Build project from bundled dependencies -%global with_bundled 1 -# Build with debug info rpm -%global with_debug 1 -# Run tests in check section -%global with_check 1 -# Generate unit-test rpm -%global with_unit_test 1 - -%if 0%{?with_debug} -%global _dwz_low_mem_die_limit 0 +# Generated by go2rpm 1.3 +%if 0%{?fedora} +%bcond_without check %else -%global debug_package %{nil} +# %%gocheck isn't currently provided on CentOS/RHEL +# https://bugzilla.redhat.com/show_bug.cgi?id=1982298 +%bcond_with check %endif -%if ! 0%{?gobuild:1} -%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**}; -%endif +%global ignedgecommit a2587490b2a9a215ad12cf15866025efbe027552 +%global ignedgeshortcommit %(c=%{ignedgecommit}; echo ${c:0:7}) -# macros for ignition -%global provider github -%global provider_tld com -%global project coreos -%global repo ignition # https://github.com/coreos/ignition -%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} -%global import_path %{provider_prefix} -%global commit 76107251acd117c6d3e5b4dae2b47f82f944984b -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -# define ldflags, buildflags, testflags here. The ldflags were -# taken from ./build. We will need to periodically check these -# for consistency -%global ldflags ' -X github.com/coreos/ignition/internal/version.Raw=%{version} ' -%global buildflags %nil -%global testflags %nil +%global goipath github.com/coreos/ignition +%global gomodulesmode GO111MODULE=on +Version: 2.25.1 -# macros for ignition-dracut -%global dracutlibdir %{_prefix}/lib/dracut -%global dracutprovider github -%global dracutprovider_tld com -%global dracutproject dustymabe -%global dracutrepo ignition-dracut -# https://github.com/dustymabe/ignition-dracut -%global dracutprovider_prefix %{dracutprovider}.%{dracutprovider_tld}/%{dracutproject}/%{dracutrepo} -%global dracutimport_path %{dracutprovider_prefix} -%global dracutcommit d664657cc2f733d8f54e9c0e69ba603babe55d92 -%global dracutshortcommit %(c=%{dracutcommit}; echo ${c:0:7}) +%gometa +%global golicenses LICENSE +%global godocs README.md docs/ +%global dracutlibdir %{_prefix}/lib/dracut Name: ignition -Version: 0.26.0 -Release: 0.5.git%{shortcommit}%{?dist} +Release: 1%{?dist} Summary: First boot installer and configuration tool -License: ASL 2.0 -URL: https://%{provider_prefix} -Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz -# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required -ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}} -# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. -BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +# Upstream license specification: Apache-2.0 +License: Apache-2.0 +URL: %{gourl} +Source0: %{gosource} +Source1: https://github.com/fedora-iot/ignition-edge/archive/%{ignedgecommit}/ignition-edge-%{ignedgeshortcommit}.tar.gz + -# add non golang BuildRequires that weren't detected BuildRequires: libblkid-devel +BuildRequires: systemd-rpm-macros -# Main rpm package BuildRequires -%if ! 0%{?with_bundled} -# validate/main.go -BuildRequires: golang(github.com/spf13/cobra) -# Remaining dependencies not included in main packages -BuildRequires: golang(github.com/coreos/go-systemd/unit) -BuildRequires: golang(github.com/coreos/go-semver/semver) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -BuildRequires: golang(github.com/pin/tftp) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -BuildRequires: golang(github.com/coreos/go-systemd/dbus) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) -BuildRequires: golang(github.com/vincent-petithory/dataurl) -BuildRequires: golang(github.com/vmware/vmw-ovflib) -BuildRequires: golang(github.com/ajeddeloh/go-json) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3) +ExcludeArch: %{ix86} + +# Requires for 'disks' stage +%if 0%{?fedora} +Recommends: btrfs-progs %endif - -# Main package Provides (generated with parsedeps.go) -%if 0%{?with_bundled} -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awserr)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awsutil)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client/metadata)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/corehandlers)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/endpointcreds)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/stscreds)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/defaults)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/ec2metadata)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/endpoints)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/request)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/session)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/signer/v4)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/shareddefaults)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query/queryutil)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/rest)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/restxml)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3iface)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3manager)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts)) = %{version}-c861d27d0304a79f727e9a8a4e2ac1e74602fdc0 -Provides: bundled(golang(github.com/coreos/go-semver/semver)) = %{version}-294930c1e79c64e7dbe360054274fdad492c8cf5 -Provides: bundled(golang(github.com/coreos/go-systemd/dbus)) = %{version}-39ca1b05acc7ad1220e09f133283b8859a8b71ab -Provides: bundled(golang(github.com/coreos/go-systemd/unit)) = %{version}-39ca1b05acc7ad1220e09f133283b8859a8b71ab -Provides: bundled(golang(github.com/pin/tftp/netascii)) = %{version}-9ea92f6b1029bc1bf3072bba195c84bb9b0370e3 -Provides: bundled(golang(github.com/sigma/vmw-guestinfo/rpcvmx)) = %{version}-95dd4126d6e8b4ef1970b3f3fe2e8cdd470d2903 -Provides: bundled(golang(github.com/sigma/vmw-guestinfo/vmcheck)) = %{version}-95dd4126d6e8b4ef1970b3f3fe2e8cdd470d2903 -Provides: bundled(golang(github.com/vmware/vmw-guestinfo/bdoor)) = %{version}-25eff159a728be87e103a0b8045e08273f4dbec4 -Provides: bundled(golang(github.com/vmware/vmw-guestinfo/message)) = %{version}-25eff159a728be87e103a0b8045e08273f4dbec4 -Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcout)) = %{version}-25eff159a728be87e103a0b8045e08273f4dbec4 -Provides: bundled(golang(go4.org/errorutil)) = %{version}-03efcb870d84809319ea509714dd6d19a1498483 -%endif - - -%description -Ignition is a utility used to manipulate systems during the initramfs. -This includes partitioning disks, formatting partitions, writing files -(regular files, systemd units, networkd units, etc.), and configuring -users. On first boot, Ignition reads its configuration from a source -of truth (remote URL, network metadata service, hypervisor bridge, etc.) -and applies the configuration. - -%{summary} - -############## devel subpackage ############## - -%if 0%{?with_devel} -%package devel -Summary: %{summary} -BuildArch: noarch - -# devel subpackage BuildRequires -%if 0%{?with_check} && ! 0%{?with_bundled} -# These buildrequires are only for our tests (check) -BuildRequires: golang(github.com/ajeddeloh/go-json) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -BuildRequires: golang(github.com/coreos/go-semver/semver) -BuildRequires: golang(github.com/coreos/go-systemd/dbus) -BuildRequires: golang(github.com/coreos/go-systemd/unit) -BuildRequires: golang(github.com/pin/tftp) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -BuildRequires: golang(github.com/vincent-petithory/dataurl) -BuildRequires: golang(github.com/vmware/vmw-ovflib) -%endif - -# devel subpackage Requires. This is basically the source code from -# all of the libraries that ignition imports during build. -Requires: golang(github.com/ajeddeloh/go-json) -Requires: golang(github.com/aws/aws-sdk-go/aws) -Requires: golang(github.com/aws/aws-sdk-go/aws/awserr) -Requires: golang(github.com/aws/aws-sdk-go/aws/credentials) -Requires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -Requires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -Requires: golang(github.com/aws/aws-sdk-go/aws/session) -Requires: golang(github.com/aws/aws-sdk-go/service/s3) -Requires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -Requires: golang(github.com/coreos/go-semver/semver) -Requires: golang(github.com/coreos/go-systemd/dbus) -Requires: golang(github.com/coreos/go-systemd/unit) -Requires: golang(github.com/pin/tftp) -Requires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -Requires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -Requires: golang(github.com/vincent-petithory/dataurl) -Requires: golang(github.com/vmware/vmw-ovflib) - -# devel subpackage Provides -Provides: golang(%{import_path}/config/shared) = %{version}-%{release} -Provides: golang(%{import_path}/config/shared/errors) = %{version}-%{release} -Provides: golang(%{import_path}/config/shared/validations) = %{version}-%{release} -Provides: golang(%{import_path}/config/util) = %{version}-%{release} -Provides: golang(%{import_path}/config/v1) = %{version}-%{release} -Provides: golang(%{import_path}/config/v1/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_0) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_0/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_1) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_1/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_2) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_2/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_3_experimental) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_3_experimental/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/astjson) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/astnode) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/report) = %{version}-%{release} -Provides: golang(%{import_path}/tests) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/files) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/filesystems) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/general) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/networkd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/partitions) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/regression) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/security) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/timeouts) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/files) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/filesystems) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/general) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/networkd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/oem) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/partitions) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/passwd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/regression) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/security) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/systemd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/timeouts) = %{version}-%{release} -Provides: golang(%{import_path}/tests/register) = %{version}-%{release} -Provides: golang(%{import_path}/tests/registry) = %{version}-%{release} -Provides: golang(%{import_path}/tests/types) = %{version}-%{release} - -%description devel -%{summary} - -This package contains library source intended for -building other packages which use import path with -%{import_path} prefix. -%endif - -############## unit-test-devel subpackage ############## -%if 0%{?with_unit_test} && 0%{?with_devel} -%package unit-test-devel -Summary: Unit tests for %{name} package -%if 0%{?with_check} -#Here comes all BuildRequires: PACKAGE the unit tests -#in %%check section need for running -%endif - -# test subpackage tests code from devel subpackage -Requires: %{name}-devel = %{version}-%{release} - -%if 0%{?with_check} && ! 0%{?with_bundled} -BuildRequires: golang(github.com/stretchr/testify/assert) -%endif - -Requires: golang(github.com/stretchr/testify/assert) - -%description unit-test-devel -%{summary} - -This package contains unit tests for project -providing packages with %{import_path} prefix. -%endif - - -############## dracut subpackage ############## -%package dracut - -Summary: Dracut modules for ignition -License: BSD -URL: https://%{dracutprovider_prefix} -Source1: https://%{dracutprovider_prefix}/archive/%{dracutcommit}/%{dracutrepo}-%{dracutshortcommit}.tar.gz -Requires: %{name} = %{version}-%{release} +Requires: dosfstools +Requires: gdisk Requires: dracut Requires: dracut-network -BuildArchitectures: noarch -%description dracut -Dracut modules for ignition to enable ignition services to run in the -initramfs on boot. +# Generated by `go-mods-to-bundled-provides.py | sort` -%files dracut -%doc README.md -%license LICENSE -%{dracutlibdir}/modules.d/30ignition -%{dracutlibdir}/modules.d/99journald-conf -%{_sysconfdir}/grub.d/* -%{_prefix}/lib/systemd/system/*.service -############## end dracut subpackage ############## +Provides: bundled(golang(cloud.google.com/go/compute/metadata)) = 0.9.0 +Provides: bundled(golang(cloud.google.com/go/storage)) = 1.58.0 +Provides: bundled(golang(cloud.google.com/go/storage/experimental)) = 1.58.0 +Provides: bundled(golang(cloud.google.com/go/storage/internal)) = 1.58.0 +Provides: bundled(golang(cloud.google.com/go/storage/internal/apiv2)) = 1.58.0 +Provides: bundled(golang(cloud.google.com/go/storage/internal/apiv2/storagepb)) = 1.58.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/arn)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/defaults)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/middleware)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/protocol/xml)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/ratelimit)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/retry)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/signer/v4)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/transport/http)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/feature/ec2/imds)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/feature/s3/manager)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/auth)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/auth/smithy)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/awsutil)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/configsources)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/context)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/endpoints)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/endpoints/v2)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/middleware)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/rand)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/sdk)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/sdkio)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/strings)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/sync/singleflight)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/timeconv)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/v4a)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/checksum)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/presigned-url)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/s3shared)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3/internal/arn)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints)) = 1.41.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3/types)) = 1.41.0 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/azidentity)) = 1.13.1 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/azidentity/internal)) = 1.13.1 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/base)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas)) = 1.6.3 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service)) = 1.6.3 +Provides: bundled(golang(github.com/beevik/etree)) = 1.6.0 +Provides: bundled(golang(github.com/containers/libhvee/pkg/kvp)) = 0.10.0 +Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.3.1 +Provides: bundled(golang(github.com/coreos/go-systemd/v22/dbus)) = 22.6.0 +Provides: bundled(golang(github.com/coreos/go-systemd/v22/journal)) = 22.6.0 +Provides: bundled(golang(github.com/coreos/go-systemd/v22/unit)) = 22.6.0 +Provides: bundled(golang(github.com/coreos/vcontext/json)) = 0.0.0-20230201181013.gitd72178a18687 +Provides: bundled(golang(github.com/coreos/vcontext/path)) = 0.0.0-20230201181013.gitd72178a18687 +Provides: bundled(golang(github.com/coreos/vcontext/report)) = 0.0.0-20230201181013.gitd72178a18687 +Provides: bundled(golang(github.com/coreos/vcontext/tree)) = 0.0.0-20230201181013.gitd72178a18687 +Provides: bundled(golang(github.com/coreos/vcontext/validate)) = 0.0.0-20230201181013.gitd72178a18687 +Provides: bundled(golang(github.com/google/renameio/v2)) = 2.0.1 +Provides: bundled(golang(github.com/google/uuid)) = 1.6.0 +Provides: bundled(golang(github.com/mdlayher/vsock)) = 1.2.1 +Provides: bundled(golang(github.com/mitchellh/copystructure)) = 1.2.0 +Provides: bundled(golang(github.com/pin/tftp)) = 2.1.0 +Provides: bundled(golang(github.com/pin/tftp/netascii)) = 2.1.0 +Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.10 +Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.11.1 +Provides: bundled(golang(github.com/stretchr/testify/assert/yaml)) = 1.11.1 +Provides: bundled(golang(github.com/vincent-petithory/dataurl)) = 1.0.0 +Provides: bundled(golang(github.com/vmware/vmw-guestinfo/bdoor)) = 0.0.0-20220317130741.git510905f0efa3 +Provides: bundled(golang(github.com/vmware/vmw-guestinfo/message)) = 0.0.0-20220317130741.git510905f0efa3 +Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcout)) = 0.0.0-20220317130741.git510905f0efa3 +Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcvmx)) = 0.0.0-20220317130741.git510905f0efa3 +Provides: bundled(golang(github.com/vmware/vmw-guestinfo/vmcheck)) = 0.0.0-20220317130741.git510905f0efa3 +Provides: bundled(golang(golang.org/x/net/bpf)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/http2)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/http2/hpack)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/http/httpguts)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/http/httpproxy)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/idna)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/internal/httpcommon)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/internal/timeseries)) = 0.48.0 +Provides: bundled(golang(golang.org/x/net/trace)) = 0.48.0 +Provides: bundled(golang(golang.org/x/oauth2)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/authhandler)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/google)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/google/externalaccount)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/google/internal/externalaccountauthorizeduser)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/google/internal/impersonate)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/google/internal/stsexchange)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/internal)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/jws)) = 0.34.0 +Provides: bundled(golang(golang.org/x/oauth2/jwt)) = 0.34.0 +Provides: bundled(golang(golang.org/x/sys/cpu)) = 0.39.0 +Provides: bundled(golang(golang.org/x/sys/unix)) = 0.39.0 +Provides: bundled(golang(golang.org/x/sys/windows)) = 0.39.0 +Provides: bundled(golang(golang.org/x/sys/windows/registry)) = 0.39.0 +Provides: bundled(golang(google.golang.org/api/googleapi)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/googleapi/transport)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/iamcredentials/v1)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/internal)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/internal/cert)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/internal/gensupport)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/internal/impersonate)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/internal/third_party/uritemplates)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/iterator)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/option)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/option/internaloption)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/storage/v1)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/transport)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/transport/grpc)) = 0.257.0 +Provides: bundled(golang(google.golang.org/api/transport/http)) = 0.257.0 +Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1 + +%description +Ignition is a utility used to manipulate systems during the initramfs. +This includes partitioning disks, formatting partitions, writing files +(regular files, systemd units, etc.), and configuring users. On first +boot, Ignition reads its configuration from a source of truth (remote +URL, network metadata service, hypervisor bridge, etc.) and applies +the configuration. + +############## validate subpackage ############## + +%package validate + +Summary: Validation tool for Ignition configs +License: Apache-2.0 + +%description validate +Ignition is a utility used to manipulate systems during the initramfs. +This includes partitioning disks, formatting partitions, writing files +(regular files, systemd units, etc.), and configuring users. On first +boot, Ignition reads its configuration from a source of truth (remote +URL, network metadata service, hypervisor bridge, etc.) and applies +the configuration. + +This package contains a tool for validating Ignition configurations. + +############## validate-redistributable subpackage ############## + +%if 0%{?fedora} +%package validate-redistributable + +Summary: Statically linked validation tool for Ignition configs +License: Apache-2.0 +BuildArch: noarch + +# In case someone has this subpackage installed, obsolete the old name +# Drop in Fedora 38 +Obsoletes: ignition-validate-nonlinux < 2.13.0-4 + +%description validate-redistributable +This package contains statically linked Linux, macOS, and Windows +ignition-validate binaries built through cross-compilation. Do not install it. +It is only used for building release binaries to be signed by Fedora release +engineering and uploaded to the Ignition GitHub releases page. +%endif + +############## ignition-edge subpackage ############## + +%package edge + +Summary: Enablement glue for Ignition on IoT/Edge systems +License: Apache-2.0 + +%description edge +This package contains dracut modules, services and binaries needed to enable +Ignition on IoT/Edge systems. + +############## grub subpackage ############## + +%package grub +Summary: Enablement glue for bootupd's grub2 config +License: Apache-2.0 + +# `ignition-grub` is a rename `ignition-ignition-grub` so let's obsolete `ignition-ignition-grub` +Obsoletes: ignition-ignition-grub + +%description grub +This package contains the grub2 config which is compatable with bootupd. %prep -# setup command reference: http://ftp.rpm.org/max-rpm/s1-rpm-inside-macros.html -# unpack source0 and apply patches -%setup -T -b 0 -q -n %{repo}-%{commit} -# unpack source1 (dracut modules) -%setup -T -D -a 1 -q -n %{repo}-%{commit} +%if 0%{?fedora} +%goprep -k +%autopatch -p1 +%else +%forgeautosetup -p1 +%endif + +tar xvf %{SOURCE1} %build -# Set up PWD as a proper import path for go -mkdir -p src/%{provider}.%{provider_tld}/%{project} -ln -s ../../../ src/%{import_path} - -%if ! 0%{?with_bundled} -export GOPATH=$(pwd):%{gopath} -%else -# No dependency directories so far -export GOPATH=$(pwd):%{gopath} +export LDFLAGS="-X github.com/coreos/ignition/v2/internal/version.Raw=%{version} -X github.com/coreos/ignition/v2/internal/distro.selinuxRelabel=true " +%if 0%{?rhel} && 0%{?rhel} <= 8 +# Disable writing ssh keys fragments on RHEL/CentOS <= 8 +LDFLAGS+=' -X github.com/coreos/ignition/v2/internal/distro.writeAuthorizedKeysFragment=false ' %endif - -export LDFLAGS=%{ldflags} -# Tell ignition where to find chroot binary -export LDFLAGS+=' -X github.com/coreos/ignition/internal/distro.chrootCmd=%{_sbindir}/chroot ' +%if 0%{?rhel} +# Need uncompressed debug symbols for debuginfo extraction +LDFLAGS+=' -compressdwarf=false ' +%endif +export GOFLAGS="-mod=vendor" echo "Building ignition..." -%gobuild -o ./ignition %{import_path}/internal +GOEXPERIMENT=strictfipsruntime %gobuild -o ./ignition internal/main.go echo "Building ignition-validate..." -%gobuild -o ./ignition-validate %{import_path}/validate +%gobuild -o ./ignition-validate validate/main.go +%global gocrossbuild go build -ldflags "${LDFLAGS:-} -B 0x$(cat /dev/urandom | tr -d -c '0-9a-f' | head -c16)" -a -v -x + +%if 0%{?fedora} +echo "Building statically-linked Linux ignition-validate..." +GOEXPERIMENT= CGO_ENABLED=0 GOARCH=arm64 GOOS=linux %gocrossbuild -o ./ignition-validate-aarch64-unknown-linux-gnu-static validate/main.go +GOEXPERIMENT= CGO_ENABLED=0 GOARCH=ppc64le GOOS=linux %gocrossbuild -o ./ignition-validate-ppc64le-unknown-linux-gnu-static validate/main.go +GOEXPERIMENT= CGO_ENABLED=0 GOARCH=s390x GOOS=linux %gocrossbuild -o ./ignition-validate-s390x-unknown-linux-gnu-static validate/main.go +GOEXPERIMENT= CGO_ENABLED=0 GOARCH=amd64 GOOS=linux %gocrossbuild -o ./ignition-validate-x86_64-unknown-linux-gnu-static validate/main.go + +echo "Building macOS ignition-validate..." +GOEXPERIMENT= GOARCH=amd64 GOOS=darwin %gocrossbuild -o ./ignition-validate-x86_64-apple-darwin validate/main.go +GOEXPERIMENT= GOARCH=arm64 GOOS=darwin %gocrossbuild -o ./ignition-validate-aarch64-apple-darwin validate/main.go + +echo "Building Windows ignition-validate..." +GOEXPERIMENT= GOARCH=amd64 GOOS=windows %gocrossbuild -o ./ignition-validate-x86_64-pc-windows-gnu.exe validate/main.go +%endif %install -# main package -install -d -p %{buildroot}%{_bindir} -install -p -m 0755 ./ignition %{buildroot}%{_bindir} -install -p -m 0755 ./ignition-validate %{buildroot}%{_bindir} -# dracut subpackage +# dracut modules install -d -p %{buildroot}/%{dracutlibdir}/modules.d -install -d -p %{buildroot}/%{_prefix}/lib/systemd/system -install -d -p %{buildroot}/%{_sysconfdir}/grub.d -cd %{dracutrepo}-%{dracutcommit} -rm dracut/README.txt cp -r dracut/* %{buildroot}/%{dracutlibdir}/modules.d/ -install -m 0644 -t %{buildroot}/%{_prefix}/lib/systemd/system/ systemd/* -install -m 0755 -t %{buildroot}/%{_sysconfdir}/grub.d/ grub/* +install -m 0644 -D -t %{buildroot}/%{_unitdir} systemd/ignition-delete-config.service +install -m 0755 -d %{buildroot}/%{_libexecdir} +ln -sf ../lib/dracut/modules.d/30ignition/ignition %{buildroot}/%{_libexecdir}/ignition-apply +ln -sf ../lib/dracut/modules.d/30ignition/ignition %{buildroot}/%{_libexecdir}/ignition-rmcfg -# source codes for building projects -%if 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ -echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list -# find all *.go but no *_test.go files and generate devel.file-list -for file in $(find . \( -iname "*.go" -or -iname "*.s" \) \! -iname "*_test.go" | grep -v "vendor") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list +# grub +install -d -p %{buildroot}%{_prefix}/lib/bootupd/grub2-static/configs.d +install -p -m 0644 grub2/05_ignition.cfg %{buildroot}%{_prefix}/lib/bootupd/grub2-static/configs.d/ - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done +# ignition +install -d -p %{buildroot}%{_bindir} +install -p -m 0755 ./ignition-validate %{buildroot}%{_bindir} + +%if 0%{?fedora} +install -d -p %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-aarch64-apple-darwin %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-aarch64-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-ppc64le-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-s390x-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-x86_64-apple-darwin %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-x86_64-pc-windows-gnu.exe %{buildroot}%{_datadir}/ignition +install -p -m 0644 ./ignition-validate-x86_64-unknown-linux-gnu-static %{buildroot}%{_datadir}/ignition %endif -# testing files for this project -%if 0%{?with_unit_test} && 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ -# find all *_test.go files and generate unit-test-devel.file-list -for file in $(find . -iname "*_test.go" | grep -v "vendor") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list +# The ignition binary is only for dracut, and is dangerous to run from +# the command line. Install directly into the dracut module dir. +install -p -m 0755 ./ignition %{buildroot}/%{dracutlibdir}/modules.d/30ignition - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done -%endif - -%if 0%{?with_devel} -sort -u -o devel.file-list devel.file-list -%endif +%make_install -C ignition-edge-%{ignedgecommit} +%if %{with check} %check -%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} -%if ! 0%{?with_bundled} -export GOPATH=%{buildroot}/%{gopath}:%{gopath} -%else -# Since we aren't packaging up the vendor directory we need to link -# back to it somehow. Hack it up so that we can add the vendor -# directory from BUILD dir as a gopath to be searched when executing -# tests from the BUILDROOT dir. -ln -s ./ ./vendor/src # ./vendor/src -> ./vendor - -export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath} +# Exclude the blackbox tests +%gocheck -t tests %endif -%if ! 0%{?gotest:1} -%global gotest go test -%endif - -%gotest %{import_path}/config/v1 -%gotest %{import_path}/config/v1/types -%gotest %{import_path}/config/v2_0 -%gotest %{import_path}/config/v2_0/types -%gotest %{import_path}/config/v2_1 -%gotest %{import_path}/config/v2_1/types -%gotest %{import_path}/config/v2_2 -%gotest %{import_path}/config/v2_2/types -%gotest %{import_path}/config/v2_3_experimental -%gotest %{import_path}/config/v2_3_experimental/types -%gotest %{import_path}/config/validate -%gotest %{import_path}/internal/config -%gotest %{import_path}/internal/exec/stages/files -%gotest %{import_path}/internal/exec/util -%gotest %{import_path}/internal/registry -%gotest %{import_path}/internal/util -%gotest %{import_path}/tests -%endif - -#define license tag if not already defined -%{!?_licensedir:%global license %doc} - %files -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md doc/ -%{_bindir}/%{name} -%{_bindir}/%{name}-validate +%license %{golicenses} +%doc %{godocs} +%{dracutlibdir}/modules.d/30ignition/* +%{_unitdir}/ignition-delete-config.service +%{_libexecdir}/ignition-apply +%{_libexecdir}/ignition-rmcfg +%files validate +%doc README.md +%license %{golicenses} +%{_bindir}/ignition-validate -%if 0%{?with_devel} -%files devel -f devel.file-list -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md -%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} +%if 0%{?fedora} +%files validate-redistributable +%license %{golicenses} +%dir %{_datadir}/ignition +%{_datadir}/ignition/ignition-validate-aarch64-apple-darwin +%{_datadir}/ignition/ignition-validate-aarch64-unknown-linux-gnu-static +%{_datadir}/ignition/ignition-validate-ppc64le-unknown-linux-gnu-static +%{_datadir}/ignition/ignition-validate-s390x-unknown-linux-gnu-static +%{_datadir}/ignition/ignition-validate-x86_64-apple-darwin +%{_datadir}/ignition/ignition-validate-x86_64-pc-windows-gnu.exe +%{_datadir}/ignition/ignition-validate-x86_64-unknown-linux-gnu-static %endif -%if 0%{?with_unit_test} && 0%{?with_devel} -%files unit-test-devel -f unit-test-devel.file-list -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md -%endif +%files edge +%license %{golicenses} +%doc %{godocs} +%{dracutlibdir}/modules.d/35ignition-edge/* +%{dracutlibdir}/modules.d/10coreos-sysctl/* +%{dracutlibdir}/modules.d/99emergency-shell-setup/* +%{dracutlibdir}/modules.d/99journal-conf/* +%{_unitdir}/coreos-check-ssh-keys.service +%{_unitdir}/coreos-ignition-write-issues.service +%{_unitdir}/ignition-firstboot-complete.service +%{_libexecdir}/coreos-ignition-write-issues +%{_libexecdir}/coreos-check-ssh-keys + +%files grub +%doc README.md +%license %{golicenses} +%{_prefix}/lib/bootupd/grub2-static/configs.d/05_ignition.cfg %changelog +* Fri Dec 12 2025 Steven Presti - 2.25.0-1 +- New Release + +* Tue Oct 14 2025 Steven Presti - 2.24.0-1 +- New Release + +* Fri Oct 10 2025 Alejandro Sáez - 2.23.0-3 +- rebuild + +* Wed Oct 01 2025 Steven Presti - 2.23.0-2 +- Build Ignition with GOEXPERIMENT=strictfipsruntime +- Ignition-validate non-FIPS + +* Wed Sep 10 2025 Steven Presti - 2.23.0-1 +- New Release + +* Fri Aug 15 2025 Maxwell G - 2.22.0-5 +- Rebuild for golang-1.25.0 + +* Thu Jul 24 2025 Fedora Release Engineering - 2.22.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jul 16 2025 Tiago Bueno - 2.22.0-3 +- Fix rpminspect debug symbols failure + +* Tue Jul 15 2025 Tiago Bueno - 2.22.0-2 +- Backport fix for OracleCloud do not wrap errors from FetchToBuffer + +* Tue Jul 8 2025 Yasmin Valim - 2.22.0-1 +- New Release + +* Wed Mar 19 2025 Steven Presti - 2.21.0-2 +- Rename ignition.cfg -> 05_ignition.cfg to mirror upstream + additionally backport rename. +- Rename ignition-ignition-grub subpackage to ignition-grub +- Update grub2 config to use the correct dir for bootupd static grub configs + https://github.com/coreos/ignition/pull/2037#issuecomment-2736300056 + +* Fri Mar 14 2025 Steven Presti - 2.21.0-1 +- New Release + +* Mon Jan 27 2025 David Jachimowicz - 2.20.0-5 +- Update ignition-edge commit to include https://github.com/fedora-iot/ignition-edge/pull/3 + +* Wed Jan 22 2025 FeRD (Frank Dana) - 2.20.0-4 +- Apply upstream patch for Go 1.24 compatibility + +* Fri Jan 17 2025 Fedora Release Engineering - 2.20.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Nov 05 2024 Miguel Martín - 2.20.0-2 +- Update ignition-edge commit to include + - https://github.com/fedora-iot/ignition-edge/pull/2 + +* Wed Oct 23 2024 Steven Presti - 2.20.0-1 +- New Release + +* Thu Jul 18 2024 Fedora Release Engineering - 2.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 05 2024 Steven Presti - 2.19.0-1 +- New release + +* Mon Mar 4 2024 Yasmin de Souza - 2.18.0-1 +- New release +- Discontinue support for i686 + +* Sun Feb 11 2024 Maxwell G - 2.17.0-6 +- Rebuild for golang 1.22.0 + +* Fri Feb 09 2024 Timothée Ravier - 2.17.0-5 +- Backport fix for unexpected Azure IMDS status codes + +* Wed Jan 24 2024 Fedora Release Engineering - 2.17.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 2.17.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 15 2023 Steven Presti - 2.17.0-2 +- Add ignition-grub subpackage + +* Wed Nov 22 2023 Steven Presti - 2.17.0-1 +- New release + +* Thu Jul 20 2023 Fedora Release Engineering - 2.16.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Benjamin Gilbert - 2.16.2-1 +- New release + +* Mon Jul 10 2023 Benjamin Gilbert - 2.16.1-1 +- New release + +* Thu Jun 1 2023 Steven Presti - 2.15.0-4 +- Switch License tags to SPDX + +* Thu Feb 23 2023 Benjamin Gilbert - 2.15.0-3 +- Remove ignition-edge files from base package + +* Wed Feb 22 2023 Paul Whalen - 2.15.0-2 +- Enable ignition-edge in Fedora + +* Tue Feb 21 2023 Benjamin Gilbert - 2.15.0-1 +- New release +- Drop Conflicts/Obsoletes for ancient Ignition releases + +* Thu Jan 19 2023 Fedora Release Engineering - 2.14.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Aug 9 2022 Christian Glombek - 2.14.0-5 +- Enable writing ssh keys fragments on RHEL/CentOS >= 9 + +* Thu Jul 21 2022 Fedora Release Engineering - 2.14.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 27 2022 Benjamin Gilbert - 2.14.0-3 +- Add macOS aarch64 binary to -redistributable + +* Sat Jun 18 2022 Robert-André Mauchin - 2.14.0-2 +- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, + CVE-2022-29526, CVE-2022-30629 + +* Mon May 16 2022 Steven Presti - 2.14.0-1 +- New release +- Add ignition-apply symlink +- Add ignition-rmcfg symlink and ignition-delete-config.service + +* Thu Mar 17 2022 Sohan Kunkerkar - 2.13.0-5 +- Avoid kernel lockdown on VMware when running with secure boot + +* Fri Jan 28 2022 Benjamin Gilbert - 2.13.0-4 +- Rename -validate-nonlinux subpackage to -validate-redistributable +- Add static Linux binaries to -redistributable +- Fix macro invocation in comment + +* Thu Jan 20 2022 Benjamin Gilbert - 2.13.0-3 +- Fix LUKS volume reuse +- Avoid double patch application on non-Fedora + +* Thu Jan 20 2022 Fedora Release Engineering - 2.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 30 2021 Sohan Kunkerkar - 2.13.0-1 +- New release + +* Wed Oct 13 2021 Sohan Kunkerkar - 2.12.0-3 +- Move Ignition report to /etc + +* Thu Aug 26 2021 Sohan Kunkerkar - 2.12.0-2 +- Disable file fragment writing logic for SSH authorized_keys on RHEL/CentOS +- Disable compressdwarf flag to avoid build failures on RHEL/CentOS +- Disable cross-building of Ignition-validate on RHEL/CentOS +- Conditionalize Fedora-specific configuration + +* Fri Aug 6 2021 Sohan Kunkerkar - 2.12.0-1 +- New release + +* Thu Jul 22 2021 Fedora Release Engineering - 2.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jul 8 2021 Benjamin Gilbert - 2.11.0-2 +- Move ignition-firstboot-complete and ignition-setup-user services out of + package into distro glue + +* Fri Jun 25 2021 Benjamin Gilbert - 2.11.0-1 +- New release + +* Wed May 26 2021 Jonathan Lebon - 2.10.1-3 +- Backport patch for multipath on firstboot + https://github.com/coreos/ignition/pull/1208 + https://github.com/coreos/fedora-coreos-config/pull/1011 + +* Wed May 26 2021 Jonathan Lebon - 2.10.1-2 +- Redo packaging using go2rpm + +* Thu Apr 29 2021 Stephen Lowrie - 2.10.1-1 +- New release + +* Fri Feb 05 2021 Benjamin Gilbert - 2.9.0-4 +- Drop Git commit hash from Release +- Correctly enable IMDS patch +- Switch to %%autosetup +- Set ExclusiveArch from %%go_arches +- Drop mention of networkd in package description + +* Tue Jan 26 2021 Fedora Release Engineering - 2.9.0-3.git1d56dc8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 12 2021 Sohan Kunkerkar - 2.9.0-2.git1d56dc8 +- Fix AWS probing by using the IMDS token URL to ensure that networking is up + +* Fri Jan 08 2021 Sohan Kunkerkar - 2.9.0-1.git1d56dc8 +- New release + +* Thu Dec 03 2020 Sohan Kunkerkar - 2.8.1-1.gitc733d23 +- New release + +* Wed Nov 25 2020 Sohan Kunkerkar - 2.8.0-1.gitdb4d30d +- New release + +* Wed Oct 14 2020 Stephen Lowrie - 2.7.0-1.git5be43fd +- New release + +* Wed Aug 12 2020 Benjamin Gilbert - 2.6.0-2.git947598e +- Fix sector size detection on s390x + +* Fri Aug 07 2020 Benjamin Gilbert - 2.6.0-1.git947598e +- New release + +* Fri Aug 07 2020 Jonathan Lebon - 2.5.0-3.git0d6f3e5 +- Backport conditional networking fix for OpenStack and CloudStack + https://github.com/coreos/ignition/pull/1057 + +* Tue Jul 28 2020 Fedora Release Engineering - 2.5.0-2.git0d6f3e5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Benjamin Gilbert - 2.5.0-1.git0d6f3e5 +- New release +- Ship support code from Ignition tarball instead of ignition-dracut + +* Thu Jul 16 2020 Benjamin Gilbert - 2.4.1-1.git5260a5b +- New release +- Bump ignition-dracut to fix warning in udev rule + +* Wed Jul 15 2020 Jonathan Lebon - 2.4.0-2.gitd18bf90 +- Backport root homedir relabeling fix + https://github.com/coreos/ignition/pull/1029 for + https://github.com/coreos/fedora-coreos-config/pull/426#issuecomment-658867731. + +* Mon Jul 13 2020 Benjamin Gilbert - 2.4.0-1.gitd18bf90 +- New release +- Bump ignition-dracut + +* Mon Jun 15 2020 Timothée Ravier - 2.3.0-3.gitee616d5 +- Update to latest ignition-dracut to fix coreos-gpt-setup unit + https://github.com/coreos/ignition-dracut/pull/191 + +* Mon Jun 01 2020 Jonathan Lebon - 2.3.0-2.gitee616d5 +- Update to latest ignition-dracut to fix error handling + https://github.com/coreos/ignition-dracut/pull/188 + +* Tue May 05 2020 Benjamin Gilbert - 2.3.0-1.gitee616d5 +- New release +- Bump ignition-dracut + +* Sun Apr 26 2020 Dusty Mabe - 2.2.1-5.git2d3ff58 +- Update to latest ignition-dracut for network fixes + https://github.com/coreos/ignition-dracut/pull/174 + +* Thu Apr 16 2020 Colin Walters - 2.2.1-4.git2d3ff58 +- Update to latest ignition-dracut for virtio dump + +* Mon Mar 30 2020 Benjamin Gilbert - 2.2.1-3.git2d3ff58 +- Bump ignition-dracut to fix umount stage network access + +* Sat Mar 28 2020 Benjamin Gilbert - 2.2.1-2.git2d3ff58 +- Fix userdata/metadata fetch on Packet + +* Tue Mar 24 2020 Benjamin Gilbert - 2.2.1-1.git2d3ff58 +- New release +- Bump ignition-dracut for initramfs network teardown + +* Sat Feb 01 2020 Benjamin Gilbert - 2.1.1-6.git40c0b57 +- Switch -validate-nonlinux to noarch; move files to /usr/share/ignition +- Improve -validate-nonlinux descriptive text + +* Fri Jan 31 2020 Jonathan Lebon - 2.1.1-5.git40c0b57 +- Bump ignition-dracut for ignition-diskful-subsequent target + https://github.com/coreos/ignition-dracut/pull/151 +- Kill grub dropin + https://github.com/coreos/ignition-dracut/pull/91 + +* Wed Jan 29 2020 Fedora Release Engineering - 2.1.1-4.git40c0b57 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 20 2019 Dusty Mabe - 2.1.1-3.git40c0b57 +- Backport upstream patch to workaround problem booting on live systems + - https://github.com/coreos/fedora-coreos-tracker/issues/339 + - https://github.com/coreos/ignition/pull/907 + +* Tue Dec 17 2019 Andrew Jeddeloh - 2.1.1-2.git40c0b57 +- Add ignition-validate-nonlinux subpackage. This should not be installed. It + is only used for building binaries to sign by Fedora release engineering and + include on the Ignition project's Github releases page. + +* Fri Dec 13 2019 Andrew Jeddeloh - 2.1.1-1.git40c0b57 +- New release 2.1.1 + +* Mon Dec 09 2019 Jonathan Lebon - 2.0.1-9.gita8f91fa +- Use the master branch of ignition-dracut, not spec2x + +* Fri Dec 06 2019 Jonathan Lebon - 2.0.1-8.gita8f91fa +- Bump Ignition for that sweet SELinux labeling: + https://github.com/coreos/ignition/pull/846 + +* Thu Dec 05 2019 Jonathan Lebon - 2.0.1-7.git641ec6a +- Don't require btrfs-progs, just recommend it + https://github.com/coreos/fedora-coreos-tracker/issues/323 + +* Wed Dec 04 2019 Allen Bai - 2.0.1-6.git641ec6a +- Update dracut to latest spec2x + * firstboot-complete: tell zipl to run + +* Thu Oct 31 2019 Colin Walters - 2.0.1-5.git641ec6a +- Update dracut + +* Wed Sep 25 2019 Colin Walters - 2.0.1-4.git641ec6a +- Bump to latest in prep for rootfs redeploy work + +* Sat Sep 21 2019 Peter Robinson 2.0.1-3.gite75cf24 +- Fix up arch dependencies for new golang specs + +* Fri Aug 16 2019 Colin Walters - 2.0.1-2.gite75cf24 +- Update dracut for gpt fixes + +* Thu Jul 25 2019 Andrew Jeddeloh - 2.0.1-1.gite75cf24 +- New release 2.0.1 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.0.0-2.git0c1da80 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 10 2019 Andrew Jeddeloh - 2.0.0-1.git0c1da80 +- New release 2.0.0 + +* Fri May 03 2019 Jonathan Lebon - 2.0.0-beta.3.git910e6c6 +- Adapt distro.selinuxRelabel flag path for v2/ move + +* Fri May 03 2019 Jonathan Lebon - 2.0.0-beta.2.git910e6c6 +- Bump ignition-dracut dropping CoreOS integration files + +* Mon Apr 29 2019 Andrew Jeddeloh - 2.0.0-beta.1.git910e6c6 +- New release 2.0.0-beta + +* Mon Apr 08 2019 Jonathan Lebon - 2.0.0-alpha.3.git906cf04 +- ignition-dracut: update to latest + * dracut/30ignition: link to RHBZ in ignition-complete + * dracut/30ignition: add OnFailure= for ExecStop= services + * dracut/30ignition: order ExecStop= units before initrd-switch-root.target + * dracut/30ignition: re-order directives in remount-sysroot + * dracut/30ignition: add missing Before= for mount unit + * dracut/30ignition: order ignition-complete.target before initrd.target + * module_setup: include cdrom rules for openstack + +* Wed Mar 27 2019 Benjamin Gilbert - 2.0.0-alpha.2.git906cf04 +- Backport fix for SELinux relabeling of systemd units +- Drop obsolete override of chroot path + +* Wed Mar 27 2019 Jonathan Lebon - 2.0.0-alpha.1.git906cf04 +- New release 2.0.0-alpha +- ignition-dracut: Go back to master branch + +* Fri Mar 22 2019 Dusty Mabe - 0.31.0-7.gitf59a653 +- ignition-dracut: Pull in latest from spec2x branch + * grub: support overriding network kcmdline args +- ignition: pull in subuid/subgid files patch from spec2x branch + * stages/files: Also relabel subuid/subgid files + +* Wed Mar 20 2019 Michael Nguyen - 0.31.0-6.gitf59a653 +- Backport patch for supporting guestinfo.ignition.config.data + +* Mon Mar 18 2019 Dusty Mabe - 0.31.0-5.gitf59a653 +- Use the spec2x branch of ignition-dracut upstream +- * Since ignition-dracut master has moved to supporting ignition + spec 3.x we are applying 2.x related fixes to the spec2x + branch in the ignition-dracut repo. + * Summary of backports: https://github.com/coreos/ignition-dracut/pull/58 + +* Mon Mar 18 2019 Benjamin Gilbert - 0.31.0-4.gitf59a653 +- Move dracut modules into main ignition package +- Move ignition binary out of the PATH +- Move ignition-validate into a subpackage +- Include ignition-dracut license file +- Drop developer docs from base package + +* Mon Mar 18 2019 Colin Walters - 0.31.0-3.gitf59a653 +- Backport patch for networking + +* Mon Mar 04 2019 Dusty Mabe - 0.31.0-2.gitf59a653 +- ignition-dracut: backport patch for finding ignition.firstboot file on UEFI systems + https://github.com/coreos/ignition-dracut/pull/52 + +* Wed Feb 20 2019 Andrew Jeddeloh - 0.31.0-1.gitf59a653 +- New release 0.31.0 + +* Fri Feb 15 2019 Dusty Mabe - 0.30.0-4.git308d7a0 +- Bump to ignition-dracut 2c69925 +- * support platform configs and user configs in /boot + ^ https://github.com/coreos/ignition-dracut/pull/43 + * Add ability to parse config.ign file on boot + ^ https://github.com/coreos/ignition-dracut/pull/42 + +* Fri Feb 01 2019 Fedora Release Engineering - 0.30.0-3.git308d7a0 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 28 2019 Dusty Mabe - 0.30.0-2.git308d7a0 +- Bump to ignition-dracut fa7131b +- * 7579b92 journal: add clarifying comment for context + * a6551f1 Remount /sysroot rw (#38) + * ignition-firstboot-complete.service: Remount /boot rw + +* Sat Dec 15 2018 Benjamin Gilbert - 0.30.0-1.git308d7a0 +- New release 0.30.0 + +* Fri Dec 14 2018 Michael Nguyen - 0.29.1-3.gitb1ab0b2 +- define gopath for RHEL7 + +* Tue Dec 11 2018 Dusty Mabe - 0.29.1-2.gitb1ab0b2 +- require golang >= 1.10 and specify architecture list for RHEL7 + +* Tue Dec 11 2018 Andrew Jeddeloh - 0.29.1-1.gitb1ab0b2 +- New release 0.29.1 + +* Wed Nov 21 2018 Igor Gnatenko - 0.28.0-12.gitf707912 +- Rebuild for protobuf 3.6 in rawhide (f30) + +* Tue Nov 20 2018 Jonathan Lebon - 0.28.0-11.git7b83454 +- Bump to ignition-dracut 7b83454 + +* Thu Oct 25 2018 Dusty Mabe - 0.28.0-10.gitf707912 +- Bump to ignition-dracut decf63f +- * 03d8438 30ignition: only instmods if module available + +* Thu Oct 25 2018 Dusty Mabe - 0.28.0-9.gitf707912 +- Bump to ignition-dracut 7ee64ca +- * 3ec0b39 remove ignition-remount-sysroot.service files + * 66335f2 ignition: run files stage at original CL ordering + * 0301a03 ignition-disks.service: drop Requires=network.target + * a0bc135 ignition-ask-var-mount.service: use RemainAfterExit=yes + * ecf5779 module-setup.sh: explicitly install qemu_fw_cfg + +* Mon Oct 15 2018 Dusty Mabe - 0.28.0-8.gitf707912 +- Bump to ignition-dracut 4bdfb34 +- * 6d0763a module-setup: Make mkfs.btrfs optional + +* Wed Oct 10 2018 Jonathan Lebon - 0.28.0-7.gitf707912 +- Backport patch for handling sysctl files correctly + https://github.com/coreos/coreos-assembler/pull/128 + https://github.com/openshift/machine-config-operator/pull/123 + +* Wed Sep 26 2018 Dusty Mabe - 0.28.0-6.gitf707912 +- Bump to ignition-dracut c09ce6f +- * ce9f648 30ignition: add support for ignition-disks + +* Mon Sep 24 2018 Dusty Mabe - 0.28.0-5.gitf707912 +- Remove requires for btrfs on !fedora +- Bump to ignition-dracut 8c85eb3 +- * 26f2396 journal: Don't log to console AND kmsg + +* Mon Sep 17 2018 Jonathan Lebon - 0.28.0-4.gitf707912 +- Backport patch for relabeling /var/home on FCOS + https://github.com/coreos/fedora-coreos-config/issues/2 + +* Thu Sep 06 2018 Luca Bruno - 0.28.0-3.gitf707912 +- Add requires for disks stage + +* Thu Aug 30 2018 Dusty Mabe - 0.28.0-2.gitf707912 +- Bump to ignition-dracut d056287 +- * 3f41219 dracut/ignition: remove CL-legacy udev references +- * 92ef9dd coreos-firstboot-complete: RemainAfterExit=yes + +* Thu Aug 30 2018 Andrew Jeddeloh - 0.28.0-1.gitf707912 +- New release 0.28.0 + +* Fri Aug 17 2018 Dusty Mabe - 0.27.0-3.gitcc7ebe0 +- Bump to ignition-dracut 56aa514 + +* Wed Aug 15 2018 Jonathan Lebon - 0.27.0-2.gitcc7ebe0 +- Backport patch for /root relabeling + https://github.com/coreos/ignition/pull/613 + +* Fri Aug 10 2018 Jonathan Lebon - 0.27.0-1.gitcc7ebe0 +- New release 0.27.0 + * Sat Jul 21 2018 Dusty Mabe - 0.26.0-0.6.git7610725 - Bump to ignition-dracut d664657 diff --git a/ignition.spec.orig b/ignition.spec.orig deleted file mode 100644 index 5b8cf97..0000000 --- a/ignition.spec.orig +++ /dev/null @@ -1,352 +0,0 @@ -# Original spec file as generated by: -# gofed repo2spec --detect github.com/coreos/ignition --commit 76107251acd117c6d3e5b4dae2b47f82f944984b --with-extra --with-build -f -# With: -# gofed@8f62d8d2dea0a87ef60cad72f72e2d7558c0cb75 -# And: -# $ git submodule status -# 33207573a1875bc828da3f863e1de439d7af8166 third_party/cmdsignature (heads/master) -# 6bff7ae54535689e2ade3d0bd3d33d903a2190b9 third_party/gofed_infra (remotes/origin/WIP-37-g6bff7ae) -# 7e414c78930a81167dc2cd4d3e9adb79eeed38a6 third_party/gofed_resources (heads/master) -# ef6ec0e387f3b125308243898435774da6128a4c third_party/gofedlib (0.1.0a1-20-gef6ec0e) - - -# If any of the following macros should be set otherwise, -# you can wrap any of them with the following conditions: -# - %%if 0%%{centos} == 7 -# - %%if 0%%{?rhel} == 7 -# - %%if 0%%{?fedora} == 23 -# Or just test for particular distribution: -# - %%if 0%%{centos} -# - %%if 0%%{?rhel} -# - %%if 0%%{?fedora} -# -# Be aware, on centos, both %%rhel and %%centos are set. If you want to test -# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition. -# (Don't forget to replace double percentage symbol with single one in order to apply a condition) - -# Generate devel rpm -%global with_devel 1 -# Build project from bundled dependencies -%global with_bundled 0 -# Build with debug info rpm -%global with_debug 1 -# Run tests in check section -%global with_check 1 -# Generate unit-test rpm -%global with_unit_test 1 - -%if 0%{?with_debug} -%global _dwz_low_mem_die_limit 0 -%else -%global debug_package %{nil} -%endif - -%if ! 0%{?gobuild:1} -%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**}; -%endif - -%global provider github -%global provider_tld com -%global project coreos -%global repo ignition -# https://github.com/coreos/ignition -%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} -%global import_path %{provider_prefix} -%global commit 76107251acd117c6d3e5b4dae2b47f82f944984b -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - -Name: golang-%{provider}-%{project}-%{repo} -Version: 0 -Release: 0.1.git%{shortcommit}%{?dist} -Summary: !!!!FILL!!!! -# Detected licences -# - Unknown at 'LICENSE' -License: !!!!FILL!!!! -URL: https://%{provider_prefix} -Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz - -# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required -ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}} -# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. -BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} - -%if ! 0%{?with_bundled} -# validate/main.go -BuildRequires: golang(github.com/spf13/cobra) - -# Remaining dependencies not included in main packages -BuildRequires: golang(github.com/coreos/go-systemd/unit) -BuildRequires: golang(github.com/coreos/go-semver/semver) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -BuildRequires: golang(github.com/pin/tftp) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -BuildRequires: golang(github.com/coreos/go-systemd/dbus) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) -BuildRequires: golang(github.com/vincent-petithory/dataurl) -BuildRequires: golang(github.com/vmware/vmw-ovflib) -BuildRequires: golang(github.com/ajeddeloh/go-json) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3) -%endif - -%description -%{summary} - -%if 0%{?with_devel} -%package devel -Summary: %{summary} -BuildArch: noarch - -%if 0%{?with_check} && ! 0%{?with_bundled} -BuildRequires: golang(github.com/ajeddeloh/go-json) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3) -BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -BuildRequires: golang(github.com/coreos/go-semver/semver) -BuildRequires: golang(github.com/coreos/go-systemd/dbus) -BuildRequires: golang(github.com/coreos/go-systemd/unit) -BuildRequires: golang(github.com/pin/tftp) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -BuildRequires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -BuildRequires: golang(github.com/vincent-petithory/dataurl) -BuildRequires: golang(github.com/vmware/vmw-ovflib) -%endif - -Requires: golang(github.com/ajeddeloh/go-json) -Requires: golang(github.com/aws/aws-sdk-go/aws) -Requires: golang(github.com/aws/aws-sdk-go/aws/awserr) -Requires: golang(github.com/aws/aws-sdk-go/aws/credentials) -Requires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds) -Requires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) -Requires: golang(github.com/aws/aws-sdk-go/aws/session) -Requires: golang(github.com/aws/aws-sdk-go/service/s3) -Requires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager) -Requires: golang(github.com/coreos/go-semver/semver) -Requires: golang(github.com/coreos/go-systemd/dbus) -Requires: golang(github.com/coreos/go-systemd/unit) -Requires: golang(github.com/pin/tftp) -Requires: golang(github.com/sigma/vmw-guestinfo/rpcvmx) -Requires: golang(github.com/sigma/vmw-guestinfo/vmcheck) -Requires: golang(github.com/vincent-petithory/dataurl) -Requires: golang(github.com/vmware/vmw-ovflib) - -Provides: golang(%{import_path}/config/shared) = %{version}-%{release} -Provides: golang(%{import_path}/config/shared/errors) = %{version}-%{release} -Provides: golang(%{import_path}/config/shared/validations) = %{version}-%{release} -Provides: golang(%{import_path}/config/util) = %{version}-%{release} -Provides: golang(%{import_path}/config/v1) = %{version}-%{release} -Provides: golang(%{import_path}/config/v1/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_0) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_0/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_1) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_1/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_2) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_2/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_3_experimental) = %{version}-%{release} -Provides: golang(%{import_path}/config/v2_3_experimental/types) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/astjson) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/astnode) = %{version}-%{release} -Provides: golang(%{import_path}/config/validate/report) = %{version}-%{release} -Provides: golang(%{import_path}/tests) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/files) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/filesystems) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/general) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/networkd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/partitions) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/regression) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/security) = %{version}-%{release} -Provides: golang(%{import_path}/tests/negative/timeouts) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/files) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/filesystems) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/general) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/networkd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/oem) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/partitions) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/passwd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/regression) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/security) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/systemd) = %{version}-%{release} -Provides: golang(%{import_path}/tests/positive/timeouts) = %{version}-%{release} -Provides: golang(%{import_path}/tests/register) = %{version}-%{release} -Provides: golang(%{import_path}/tests/registry) = %{version}-%{release} -Provides: golang(%{import_path}/tests/types) = %{version}-%{release} - -%description devel -%{summary} - -This package contains library source intended for -building other packages which use import path with -%{import_path} prefix. -%endif - -%if 0%{?with_unit_test} && 0%{?with_devel} -%package unit-test-devel -Summary: Unit tests for %{name} package -%if 0%{?with_check} -#Here comes all BuildRequires: PACKAGE the unit tests -#in %%check section need for running -%endif - -# test subpackage tests code from devel subpackage -Requires: %{name}-devel = %{version}-%{release} - -%if 0%{?with_check} && ! 0%{?with_bundled} -BuildRequires: golang(github.com/stretchr/testify/assert) -%endif - -Requires: golang(github.com/stretchr/testify/assert) - -%description unit-test-devel -%{summary} - -This package contains unit tests for project -providing packages with %{import_path} prefix. -%endif - -%prep -%setup -q -n %{repo}-%{commit} - -%build -mkdir -p src/%{provider}.%{provider_tld}/%{project} -ln -s ../../../ src/%{import_path} - -%if ! 0%{?with_bundled} -export GOPATH=$(pwd):%{gopath} -%else -# No dependency directories so far -export GOPATH=$(pwd):%{gopath} -%endif - -#%gobuild -o bin/internal %{import_path}/internal -#%gobuild -o bin/internal/util/tools/docs %{import_path}/internal/util/tools/docs -#%gobuild -o bin/tests/stubs/id-stub %{import_path}/tests/stubs/id-stub -#%gobuild -o bin/tests/stubs/useradd-stub %{import_path}/tests/stubs/useradd-stub -#%gobuild -o bin/tests/stubs/usermod-stub %{import_path}/tests/stubs/usermod-stub -#%gobuild -o bin/validate %{import_path}/validate - -%install -install -d -p %{buildroot}%{_bindir} -#install -p -m 0755 bin/internal %{buildroot}%{_bindir} -#install -p -m 0755 bin/internal/util/tools/docs %{buildroot}%{_bindir} -#install -p -m 0755 bin/tests/stubs/id-stub %{buildroot}%{_bindir} -#install -p -m 0755 bin/tests/stubs/useradd-stub %{buildroot}%{_bindir} -#install -p -m 0755 bin/tests/stubs/usermod-stub %{buildroot}%{_bindir} -#install -p -m 0755 bin/validate %{buildroot}%{_bindir} - -# source codes for building projects -%if 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ -echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list -# find all *.go but no *_test.go files and generate devel.file-list -for file in $(find . \( -iname "*.go" -or -iname "*.s" \) \! -iname "*_test.go" | grep -v "vendor") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list - - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done -%endif - -# testing files for this project -%if 0%{?with_unit_test} && 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ -# find all *_test.go files and generate unit-test-devel.file-list -for file in $(find . -iname "*_test.go" | grep -v "vendor") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list - - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done -%endif - -%if 0%{?with_devel} -sort -u -o devel.file-list devel.file-list -%endif - -%check -%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} -%if ! 0%{?with_bundled} -export GOPATH=%{buildroot}/%{gopath}:%{gopath} -%else -# Since we aren't packaging up the vendor directory we need to link -# back to it somehow. Hack it up so that we can add the vendor -# directory from BUILD dir as a gopath to be searched when executing -# tests from the BUILDROOT dir. -ln -s ./ ./vendor/src # ./vendor/src -> ./vendor - -export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath} -%endif - -%if ! 0%{?gotest:1} -%global gotest go test -%endif - -%gotest %{import_path}/config/v1 -%gotest %{import_path}/config/v1/types -%gotest %{import_path}/config/v2_0 -%gotest %{import_path}/config/v2_0/types -%gotest %{import_path}/config/v2_1 -%gotest %{import_path}/config/v2_1/types -%gotest %{import_path}/config/v2_2 -%gotest %{import_path}/config/v2_2/types -%gotest %{import_path}/config/v2_3_experimental -%gotest %{import_path}/config/v2_3_experimental/types -%gotest %{import_path}/config/validate -%gotest %{import_path}/internal/config -%gotest %{import_path}/internal/exec/stages/files -%gotest %{import_path}/internal/exec/util -%gotest %{import_path}/internal/registry -%gotest %{import_path}/internal/util -%gotest %{import_path}/tests -%endif - -#define license tag if not already defined -%{!?_licensedir:%global license %doc} - -%files -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md -#%{_bindir}/internal -#%{_bindir}/internal/util/tools/docs -#%{_bindir}/tests/stubs/id-stub -#%{_bindir}/tests/stubs/useradd-stub -#%{_bindir}/tests/stubs/usermod-stub -#%{_bindir}/validate - -%if 0%{?with_devel} -%files devel -f devel.file-list -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md -%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} -%endif - -%if 0%{?with_unit_test} && 0%{?with_devel} -%files unit-test-devel -f unit-test-devel.file-list -%license LICENSE -%doc CONTRIBUTING.md code-of-conduct.md README.md -%endif - -%changelog -* Thu Jun 21 2018 vagrant - 0-0.1.git7610725 -- First package for Fedora - diff --git a/notes.txt b/notes.txt deleted file mode 100644 index e49b6f8..0000000 --- a/notes.txt +++ /dev/null @@ -1,61 +0,0 @@ -#grab gofed from https://github.com/gofed/gofed -#follow instructions for install - -#choose which version of the repo you want to build. For ignition it was 0.2.6 and the commit was 76107251acd117c6d3e5b4dae2b47f82f944984b - -[vagrant@vanilla-f28 ~]$ gofed repo2spec --detect github.com/coreos/ignition --commit 76107251acd117c6d3e5b4dae2b47f82f944984b --with-extra --with-build -f -Repo URL: github.com/coreos/ignition -Commit: 76107251acd117c6d3e5b4dae2b47f82f944984b -Name: golang-github-coreos-ignition - -(1/4) Checking if the package already exists in PkgDB -(2/4) Collecting data -(3/4) Generating spec file -(4/4) Discovering golang dependencies -Discovering package dependencies - Class: github.com/ajeddeloh/go-json (golang-github-ajeddeloh-go-json) PkgDB=False - Class: github.com/aws/aws-sdk-go (golang-github-aws-aws-sdk-go) PkgDB=True - Class: github.com/coreos/go-semver (golang-github-coreos-go-semver) PkgDB=True - Class: github.com/coreos/go-systemd (golang-github-coreos-go-systemd) PkgDB=True - Class: github.com/pin/tftp (golang-github-pin-tftp) PkgDB=False - Class: github.com/sigma/vmw-guestinfo (golang-github-sigma-vmw-guestinfo) PkgDB=False - Class: github.com/vincent-petithory/dataurl (golang-github-vincent-petithory-dataurl) PkgDB=False - Class: github.com/vmware/vmw-ovflib (golang-github-vmware-vmw-ovflib) PkgDB=False - -Discovering test dependencies - Class: github.com/stretchr/testify (golang-github-stretchr-testify) PkgDB=True - -Spec file golang-github-coreos-ignition.spec at /home/vagrant/golang-github-coreos-ignition - -# spec file now at /home/vagrant/golang-github-coreos-ignition/golang-github-coreos-ignition.spec - -# go through and fix things up - see diff - -# generate bundled provides by copying/using parsedeps.go to the ignition -# source folder and then running `go run parsedeps.go`. copy into spec file -# should be done by gofed at some point - https://github.com/gofed/gofed/issues/42 - -# grab source tarball -# rpmspec -P ignition.spec | grep Source0 -# pushd $HOME/rpmbuild/SOURCES/ -# curl -L -O $URL -# popd - - -# build RPM -$ rpmbuild -ba kompose.spec - -# find a srpm in `$HOME/rpmbuild/SRPMS` -# find a RPM in `$HOME/rpmbuild/RPM/arch/` -# see if the dependencies are proper - -$ rpm -qpR $HOME/rpmbuild/RPMS/x86_64/ignition-0.26.0-0.1.git7610725.fc28.x86_64.rpm - - -# setup to run koji, ref: https://fedoraproject.org/wiki/Using_the_Koji_build_system -$ fedora-packager-setup -$ kinit @FEDORAPROJECT.ORG - - -# to build it on koji run: -$ koji build --scratch rawhide /path/to/srpm/ignition-0.26.0-0.1.git7610725.fc28.src.rpm diff --git a/parsedeps.go b/parsedeps.go deleted file mode 100644 index ead0537..0000000 --- a/parsedeps.go +++ /dev/null @@ -1,47 +0,0 @@ -// Helper for parsing glide.lock file and spitting out -// bundled provides statements for an rpm spec file. -package main - -import ( - "fmt" - "io/ioutil" - "log" - "path" - - yaml "gopkg.in/yaml.v2" -) - -type Import struct { - Name string - Version string - Subpackages []string -} - -type Glide struct { - Hash string - Updated string - Imports []Import - TestImports []Import -} - -func main() { - yamlFile, err := ioutil.ReadFile("glide.lock") - if err != nil { - log.Fatal(err) - } - - var glide Glide - err = yaml.Unmarshal(yamlFile, &glide) - if err != nil { - log.Fatal(err) - } - - for _, imp := range glide.Imports { - // we need format like this: - // Provides: bundled(golang(github.com/coreos/go-oidc/oauth2)) = %{version}-5cf2aa52da8c574d3aa4458f471ad6ae2240fe6b - for _, subp := range imp.Subpackages { - name := path.Join(imp.Name, subp) - fmt.Printf("Provides: bundled(golang(%s)) = %s-%s\n", name, "%{version}", imp.Version) - } - } -} diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..79ee3ee --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,5 @@ +--- +debuginfo: + ignore: + - /usr/share/ignition/ignition-validate-*-unknown-linux-gnu-static + diff --git a/sources b/sources index 17937f3..848d645 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (ignition-7610725.tar.gz) = bd47f26cfc65641b63cb0846bbfd939e835fb477816effbbaff1df83a4146d4eef7d7d2f18a85e8caa386703cabcc4e54ebfd4768c590bbfc795dee6a3949519 -SHA512 (ignition-dracut-d664657.tar.gz) = 6ea895a4d85e9e1664e74d14828bf1a23bf6452e781d066ed36e1e874b55a3d39d6da36b676a99665ad1a3a205a17672a8e2904cabe2be876008eea2cb0b6518 +SHA512 (ignition-2.25.1.tar.gz) = 8ca2bd96cdff8986e09371a9357975883c655dc6c16eb481ffd2772de37515fe64060ca575b3e4ac25a626b4701c65e5f5a8707ff62f37791f65ec321f7bb3a6 +SHA512 (ignition-edge-a258749.tar.gz) = 0566807f7f4cbf9715566c8c39ba699df00f4ee5d579269c695a4af13d75a4e1f4639b54be85d0703373221d67a3ad0c532c0e075831316e3eed7a33cf316833 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..7239cf6 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,21 @@ +- 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