#32 Bump to Ignition v2.0.0-alpha
Merged 5 years ago by jlebon. Opened 5 years ago by jlebon.
rpms/ jlebon/ignition pr/new-release-2  into  master

file modified
+2
@@ -17,3 +17,5 @@ 

  /ignition-f59a653.tar.gz

  /ignition-dracut-0d09097.tar.gz

  /ignition-dracut-73ec3fc.tar.gz

+ /ignition-dracut-ec9a492.tar.gz

+ /ignition-906cf04.tar.gz

@@ -0,0 +1,84 @@ 

+ #!/bin/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]{14})-([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())

file modified
+75 -83
@@ -2,7 +2,7 @@ 

  #     gofed repo2spec --detect github.com/coreos/ignition --commit f7079129b8651ac51dba14c3af65692bb413c1dd  --with-extra --with-build -f

  # With:

  #     gofed/gofed:v1.0.1 docker image

- # Modified by hand for 0.31.0

+ # Modified by hand for v2.0.0-alpha

  

  # If any of the following macros should be set otherwise,

  # you can wrap any of them with the following conditions:
@@ -49,7 +49,7 @@ 

  # https://github.com/coreos/ignition

  %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}

  %global import_path     %{provider_prefix}

- %global commit          f59a653629be8b1825ed4ff2f9e3d21aa87bd85a

+ %global commit          906cf047ba84638088391a9e3badeea0743626a7

  %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
@@ -67,22 +67,19 @@ 

  # https://github.com/coreos/ignition-dracut spec2x branch

  %global dracutprovider_prefix %{dracutprovider}.%{dracutprovider_tld}/%{dracutproject}/%{dracutrepo}

  %global dracutimport_path     %{dracutprovider_prefix}

- %global dracutcommit          73ec3fcbc6b3bc3265586480e2d0ad76a0febb5f

+ %global dracutcommit          ec9a492ad250cb713c1580c2e8825fe5bb48864b

  %global dracutshortcommit     %(c=%{dracutcommit}; echo ${c:0:7})

  

  

  Name:           ignition

- Version:        0.31.0

- Release:        7.git%{shortcommit}%{?dist}

+ Version:        2.0.0

+ Release:        alpha.1.git%{shortcommit}%{?dist}

  Summary:        First boot installer and configuration tool

  License:        ASL 2.0 and BSD

  URL:            https://%{provider_prefix}

  Source0:        https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz

  Source1:        https://%{dracutprovider_prefix}/archive/%{dracutcommit}/%{dracutrepo}-%{dracutshortcommit}.tar.gz

  

- Patch0:         0001-support-coreos.config.-and-ignition.config.patch

- Patch1:         0001-stages-files-Also-relabel-subuid-subgid-files.patch

- 

  # For RHEL7 we'll want to specify gopath and list of arches since there is no

  # gopath or go_arches macro.  We'll also want to make sure we pull in golang

  # 1.10 require golang >= 1.10
@@ -134,45 +131,54 @@ 

  BuildRequires: golang(github.com/vmware/vmw-ovflib)

  %endif

  

- # Main package Provides (generated with parsedeps.go | sort)

- %if 0%{?with_bundled}  

- 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/metadata)) = %{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/corehandlers)) = %{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/credentials)) = %{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/aws)) = %{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/query/queryutil)) = %{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/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)) = %{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/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/s3)) = %{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}-9002847aa1425fb6ac49077c0a630b3b67e0fbfd

- Provides: bundled(golang(github.com/coreos/go-systemd/unit)) = %{version}-9002847aa1425fb6ac49077c0a630b3b67e0fbfd

- 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

+ # Main package Provides (generated with go-mods-to-bundled-provides.py | sort)

+ %if 0%{?with_bundled}

+ Provides: bundled(golang(github.com/ajeddeloh/go-json)) = 0.0.0-20160803184958.git73d058cf8437

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awserr)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awsutil)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client/metadata)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/corehandlers)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/endpointcreds)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/stscreds)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/defaults)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/ec2metadata)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/endpoints)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/request)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/session)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/signer/v4)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/shareddefaults)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query/queryutil)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/rest)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/restxml)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3iface)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3manager)) = 1.8.39

+ Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts)) = 1.8.39

+ Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.1.0

+ Provides: bundled(golang(github.com/coreos/go-systemd/dbus)) = 0.0.0-20181031085051.git9002847aa142

+ Provides: bundled(golang(github.com/coreos/go-systemd/unit)) = 0.0.0-20181031085051.git9002847aa142

+ Provides: bundled(golang(github.com/godbus/dbus)) = 0.0.0-20181025153459.git66d97aec3384

+ Provides: bundled(golang(github.com/go-ini/ini)) = 1.25.4

+ Provides: bundled(golang(github.com/jmespath/go-jmespath)) = 0.0.0-20160202185014.git0b12d6b521d8

+ Provides: bundled(golang(github.com/pborman/uuid)) = 0.0.0-20170612153648.gite790cca94e6c

+ 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/sigma/bdoor)) = 0.0.0-20160202064022.gitbabf2a4017b0

+ Provides: bundled(golang(github.com/sigma/vmw-guestinfo/rpcvmx)) = 0.0.0-20160204083807.git95dd4126d6e8

+ Provides: bundled(golang(github.com/sigma/vmw-guestinfo/vmcheck)) = 0.0.0-20160204083807.git95dd4126d6e8

+ Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.3.0

+ Provides: bundled(golang(github.com/vincent-petithory/dataurl)) = 0.0.0-20160330182126.git9a301d65acbb

+ Provides: bundled(golang(github.com/vmware/vmw-guestinfo/bdoor)) = 0.0.0-20170707015358.git25eff159a728

+ Provides: bundled(golang(github.com/vmware/vmw-guestinfo/message)) = 0.0.0-20170707015358.git25eff159a728

+ Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcout)) = 0.0.0-20170707015358.git25eff159a728

+ Provides: bundled(golang(github.com/vmware/vmw-ovflib)) = 0.0.0-20170608004843.git1f217b9dc714

  %endif

  

  
@@ -237,28 +243,25 @@ 

  Requires:      golang(github.com/vmware/vmw-ovflib)

  

  # devel subpackage Provides (sorted)

+ Provides:      golang(%{import_path}/config/merge) = %{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/shared) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config/translate/tests/pkga) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config/translate/tests/pkgb) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config/translate) = %{version}-%{release}

  Provides:      golang(%{import_path}/config/util) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v1/types) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v1) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_0/types) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_0) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_1/types) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_1) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_2/types) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_2) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_3_experimental/types) = %{version}-%{release}

- Provides:      golang(%{import_path}/config/v2_3_experimental) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config/v3_0/types) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config/v3_0) = %{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}/config/validate/util) = %{version}-%{release}

  Provides:      golang(%{import_path}/config/validate) = %{version}-%{release}

+ Provides:      golang(%{import_path}/config) = %{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}
@@ -266,8 +269,6 @@ 

  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}
@@ -276,6 +277,7 @@ 

  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/servers) = %{version}-%{release}

  Provides:      golang(%{import_path}/tests/types) = %{version}-%{release}

  Provides:      golang(%{import_path}/tests) = %{version}-%{release}

  
@@ -337,8 +339,6 @@ 

  # 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}

- %patch0 -p1

- %patch1 -p1

  

  # unpack source1 (dracut modules)

  %setup -T -D -a 1 -q -n %{repo}-%{commit}
@@ -350,19 +350,16 @@ 

  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

- 

  export LDFLAGS=%{ldflags}

  # Tell ignition where to find chroot binary

  export LDFLAGS+=' -X github.com/coreos/ignition/internal/distro.chrootCmd=%{_sbindir}/chroot '

  # Enable SELinux relabeling

  export LDFLAGS+=' -X github.com/coreos/ignition/internal/distro.selinuxRelabel=true '

  

+ # Modules, baby!

+ export GO111MODULE=on

+ export GOFLAGS='-mod=vendor'

+ 

  echo "Building ignition..."

  %gobuild -o ./ignition %{import_path}/internal

  
@@ -376,7 +373,6 @@ 

  install -d -p %{buildroot}/%{_prefix}/lib/systemd/system

  install -d -p %{buildroot}/%{_sysconfdir}/grub.d

  pushd %{dracutrepo}-%{dracutcommit} >/dev/null

- 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/*
@@ -446,20 +442,12 @@ 

  %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

- %gotest %{import_path}/config/v2_3/types

- %gotest %{import_path}/config/v2_4_experimental

- %gotest %{import_path}/config/v2_4_experimental/types

+ %gotest %{import_path}/config

+ %gotest %{import_path}/config/merge

+ %gotest %{import_path}/config/translate

+ %gotest %{import_path}/config/v3_0

+ %gotest %{import_path}/config/v3_0/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
@@ -497,6 +485,10 @@ 

  %endif

  

  %changelog

+ * Wed Mar 27 2019 Jonathan Lebon <jonathan@jlebon.com> - 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 <dusty@dustymabe.com> - 0.31.0-7.gitf59a653

  - ignition-dracut: Pull in latest from spec2x branch

      * grub: support overriding network kcmdline args

file modified
+2 -2
@@ -31,8 +31,8 @@ 

  

  # 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

+ # generate bundled provides by copying/using go-mods-to-bundled-provides.py to

+ # the ignition source folder and then running it. copy into spec file

  # should be done by gofed at some point - https://github.com/gofed/gofed/issues/42

  

  # grab source tarball

file removed
-47
@@ -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)

- 		}

- 	}

- }

file modified
+2 -2
@@ -1,2 +1,2 @@ 

- SHA512 (ignition-f59a653.tar.gz) = fd198a24536c037c27ab99546e94027b08c3634724324b972828ee48f8ab9e1ba4ec1bd49d6aba6337381754cb30025c5311ab85da17c645eb7503b62e9529ff

- SHA512 (ignition-dracut-73ec3fc.tar.gz) = 8583f9de45607c57dded4ece4b395e09a39b74b00da573e5915889025e577998239c16935159eb4651f5cbbeb42ae2e3562e826fef501cf9d8199e1faec212f0

+ SHA512 (ignition-dracut-ec9a492.tar.gz) = 5875816d02061f1b43f267aaed8fee22c177ddb94ae6cf5bbf2588b55eab1198dcaf9d028733c4d48735e68929b5029844886e38d092426c34867da2dc6b2017

+ SHA512 (ignition-906cf04.tar.gz) = df203ac05a06089b9b5db52627e139c8a0a5b54e60fc67a4d6eeac869a5170ae710f5e7fa3a92ccea8e440a1b1d88da6202d7d4910572d0e747b0cce695eaa60

Go back to git master for ignition-dracut and import Ignition from git
tag v2.0.0-alpha. This required adapting the build to using go modules
by building with -mod=vendor and GO111MODULE=on and dropping the
GOPATH hacks.

We also drop parsedeps.go since Ignition moved away from glide.
Instead introduce a new tiny go-mods-to-bundled-provides.py script
that just parses go.mod and vendor/modules.txt to generate virtual
Provides. The parsedeps.go approach also had a few issues that are
fixed in the new script. Notably, it would only pick up on subpackages
of dependent repos, and not the main packages (e.g. it skipped over
ajeddeloh/go-json). And also, it was generating Provides at the
version of the Ignition package (using %{version}), instead of the
version of the bundled package itself.

Instead introduce a new tiny go-mods-to-bundled-provides.py script

I guess it's not that tiny in its final form. :)

Anyway, I don't think we should worry too much about getting these bundled virtual Provides perfectly right. They're not used by any other packages. They're just meant to signal to humans and analyzers that this RPM is bundling code. This can be used e.g. to track regressions in libraries even if they're bundled. Using the package version here is better for this purpose than just the SHA that we had previously at least!

I didn't check the deps script or changes but the rest LGTM.

One suggestion here: what do folks think about not releasing this in Fedora proper and only having it in Dusty's COPR for now? Once we drop alpha we push it through bodhi. FCOS today already picks up Ignition from the COPR.

Changes LGTM. Didn't look at the python too hard but it looks like it works and the spec changes look good. I'm fine with either dusty's copr or here, don't care too much. Or maybe just keep it in rawhide for now?

Pull-Request has been merged by jlebon

5 years ago