Compare commits
No commits in common. "rawhide" and "upstreammaster" have entirely different histories.
rawhide
...
upstreamma
10 changed files with 867 additions and 989 deletions
73
.gitignore
vendored
73
.gitignore
vendored
|
|
@ -1,75 +1,2 @@
|
|||
/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
|
||||
|
|
|
|||
|
|
@ -1,84 +0,0 @@
|
|||
#!/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())
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# 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")
|
||||
1197
ignition.spec
1197
ignition.spec
File diff suppressed because it is too large
Load diff
352
ignition.spec.orig
Normal file
352
ignition.spec.orig
Normal file
|
|
@ -0,0 +1,352 @@
|
|||
# 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
|
||||
|
||||
61
notes.txt
Normal file
61
notes.txt
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
#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 <username>@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
|
||||
47
parsedeps.go
Normal file
47
parsedeps.go
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
debuginfo:
|
||||
ignore:
|
||||
- /usr/share/ignition/ignition-validate-*-unknown-linux-gnu-static
|
||||
|
||||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (ignition-2.25.1.tar.gz) = 8ca2bd96cdff8986e09371a9357975883c655dc6c16eb481ffd2772de37515fe64060ca575b3e4ac25a626b4701c65e5f5a8707ff62f37791f65ec321f7bb3a6
|
||||
SHA512 (ignition-edge-a258749.tar.gz) = 0566807f7f4cbf9715566c8c39ba699df00f4ee5d579269c695a4af13d75a4e1f4639b54be85d0703373221d67a3ad0c532c0e075831316e3eed7a33cf316833
|
||||
SHA512 (ignition-7610725.tar.gz) = bd47f26cfc65641b63cb0846bbfd939e835fb477816effbbaff1df83a4146d4eef7d7d2f18a85e8caa386703cabcc4e54ebfd4768c590bbfc795dee6a3949519
|
||||
SHA512 (ignition-dracut-d664657.tar.gz) = 6ea895a4d85e9e1664e74d14828bf1a23bf6452e781d066ed36e1e874b55a3d39d6da36b676a99665ad1a3a205a17672a8e2904cabe2be876008eea2cb0b6518
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
- 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue