Skip to content

Commit

Permalink
add coredns 1.8.4 and etcd 3.5.0 (#1816)
Browse files Browse the repository at this point in the history
* add coredns 1.8.4 and etcd 3.5.0

* add coredns 1.8.4 and etcd 3.5.0

* add coredns 1.8.4 and etcd 3.5.0

Co-authored-by: nicolas guibourge <[email protected]>
  • Loading branch information
nicogbg and nicolas guibourge authored Dec 29, 2021
1 parent e335eff commit 6696b11
Show file tree
Hide file tree
Showing 7 changed files with 342 additions and 3 deletions.
4 changes: 2 additions & 2 deletions SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions SPECS/LICENSES-AND-NOTICES/data/licenses.json
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@
"cockpit",
"coredns-1.7.0",
"coredns-1.8.0",
"coredns-1.8.4",
"distroless-packages",
"doxygen",
"dtc",
Expand Down Expand Up @@ -403,6 +404,7 @@
"elfutils",
"erlang",
"etcd-3.4.13",
"etcd-3.5.0",
"ethtool",
"expat",
"expect",
Expand Down
6 changes: 6 additions & 0 deletions SPECS/coredns/coredns-1.8.4.signatures.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"Signatures": {
"coredns-1.8.4-vendor.tar.gz": "ef3f29b6604ab42793ef09ad7dbe49edce9fd81729995ec18f42335aa733f42e",
"coredns-1.8.4.tar.gz": "d85c8c52f4d38ab1915eb60523b4e5241ffa19d20e4f7bbce8b0f4fb59171f2a"
}
}
78 changes: 78 additions & 0 deletions SPECS/coredns/coredns-1.8.4.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
%global debug_package %{nil}

Summary: Fast and flexible DNS server
Name: coredns
Version: 1.8.4
Release: 1%{?dist}
License: Apache License 2.0
Vendor: Microsoft Corporation
Distribution: Mariner
Group: System Environment/Libraries
URL: https://github.com/coredns/coredns
#Source0: https://github.com/coredns/coredns/archive/v%%{version}.tar.gz
Source0: %{name}-%{version}.tar.gz
# Below is a manually created tarball, no download link.
# We're using pre-populated Go modules from this tarball, since network is disabled during build time.
# How to re-build this file:
# 1. wget https://github.com/coredns/coredns/archive/v%%{version}.tar.gz -O %%{name}-%%{version}.tar.gz
# 2. tar -xf %%{name}-%%{version}.tar.gz
# 3. cd %%{name}-%%{version}
# 4. go mod vendor
# 5. tar --sort=name \
# --mtime="2021-04-26 00:00Z" \
# --owner=0 --group=0 --numeric-owner \
# --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
# -cf %%{name}-%%{version}-vendor.tar.gz vendor
#
# NOTES:
# - You require GNU tar version 1.28+.
# - The additional options enable generation of a tarball with the same hash every time regardless of the environment.
# See: https://reproducible-builds.org/docs/archives/
# - For the value of "--mtime" use the date "2021-04-26 00:00Z" to simplify future updates.
Source1: %{name}-%{version}-vendor.tar.gz
Patch0: makefile-buildoption-commitnb.patch

BuildRequires: golang >= 1.12

%description
CoreDNS is a fast and flexible DNS server.

%prep
%autosetup -p1

%build
# create vendor folder from the vendor tarball and set vendor mode
tar -xf %{SOURCE1} --no-same-owner
export BUILDOPTS="-mod=vendor -v"
# set commit number that correspond to the github tag for that version
export GITCOMMIT="053c4d5ca1772517746a854e87ffa971249df14b"
make

%install
install -m 755 -d %{buildroot}%{_bindir}
install -p -m 755 -t %{buildroot}%{_bindir} %{name}

%clean
rm -rf %{buildroot}/*

%files
%defattr(-,root,root)
%license LICENSE
%{_bindir}/%{name}

%changelog
* Tue Dec 28 2021 Nicolas Guibourge <[email protected]> - 1.8.4-1
- Update to version "1.8.4".

* Tue Nov 02 2021 Thomas Crain <[email protected]> - 1.8.0-2
- Increment release for force republishing using golang 1.16.9

* Fri Aug 20 2021 CBL-Mariner Service Account <[email protected]> - 1.8.0-1
- Update to version "1.8.0".

* Tue Jun 08 2021 Henry Beberman <[email protected]> 1.7.0-3
- Increment release to force republishing using golang 1.15.13.
* Mon Apr 26 2021 Nicolas Guibourge <[email protected]> 1.7.0-2
- Increment release to force republishing using golang 1.15.11.
* Wed Jan 20 2021 Nicolas Guibourge <[email protected]> 1.7.0-1
- Original version for CBL-Mariner.
7 changes: 7 additions & 0 deletions SPECS/etcd/etcd-3.5.0.signatures.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"Signatures": {
"etcd-3.5.0-vendor.tar.gz": "3561ca71f2a29f405115088ca355399b23a6c63d47c398e621322bc98f7b28b9",
"etcd-3.5.0.tar.gz": "f30f68c52a7547af08be7d166884c94885ea8a593c1c1e814c89b24148ee1921",
"etcd.service": "4550a4967ba35670051cbfd9b4edf1fc57c0f1d7a07e51f88351ac44c76d8066"
}
}
226 changes: 226 additions & 0 deletions SPECS/etcd/etcd-3.5.0.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
Summary: A highly-available key value store for shared configuration
Name: etcd
Version: 3.5.0
Release: 1%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Mariner
Group: System Environment/Security
URL: https://github.com/etcd-io/etcd/
Source0: https://github.com/etcd-io/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: etcd.service
# Below is a manually created tarball, no download link.
# We're using vendored Go modules from this tarball, since network is disabled during build time.
#
# How to re-build this file:
# 1. either download etcd source tarball or git clone etcd repo from github and checkout relevant tag
# 2. execute 'go mod vendor' in 'server', 'etcdctl' and 'etcdutl' folders
# and create tarball containting 'vendor' folder for each
# (naming rule for tarball is 'vendor-[component].tar.gz', e.g.: 'vendor-server.tar.gz')
# 3. create 'vendor' tarballs for dump tools
# a. cd 'etcd-dump-db' folder, create 'go.mod' file ('go mod init go.etcd.io/etcd/tools/etcd-dump-db/v3')
# b. populate 'go.mod' file ('go mod tidy')
# c. add replace rules in 'go.mod' making sure that each etcd dependency is taken locally, e.g.:
# replace (
# go.etcd.io/etcd/api/v3 => ../../api
# go.etcd.io/etcd/server/v3 => ../../server
# )
# d. create vendor folder ('go mod vendor')
# e. create tarball containing 'vendor' folder and 'go.mod' and 'go.sum' files
# (same naming rules than described above)
# f. repeat above operations for 'etcd-dump-logs' folder
# 4. create 'etcd-%{version}-vendor.tar.gz' tarball containing all tarballs created above
#
# NOTES:
# - You require GNU tar version 1.28+.
# - The additional options enable generation of a tarball with the same hash every time regardless of the environment.
# See: https://reproducible-builds.org/docs/archives/
# - For the value of "--mtime" use the date "2021-04-26 00:00Z" to simplify future updates.
Source2: %{name}-%{version}-vendor.tar.gz
BuildRequires: golang >= 1.16

%description
A highly-available key value store for shared configuration and service discovery.

%package tools
Summary: Diagnostic tools for etcd
Group: System Environment/Security
Requires: %{name} = %{version}-%{release}

%description tools
A highly-available key value store for shared configuration and service discovery.
The etcd-tools package contains the etcd-dump-db and etcd-dump-logs diagnostic
tools.

%prep
%setup -q
tar --no-same-owner -xf %{SOURCE2}

%build
%define ETCD_OUT_DIR %{_builddir}/%{name}-%{version}/bin
mkdir -p %{ETCD_OUT_DIR}

# build etcd
for component in server etcdctl etcdutl; do
pushd $component
tar --no-same-owner -xf %{_builddir}/%{name}-%{version}/vendor-$component.tar.gz
go build \
-o %{ETCD_OUT_DIR} \
-ldflags=-X=go.etcd.io/etcd/api/v3/version.GitSHA=v%{version}
popd
done

# build tools
%define ETCD_TOOLS_OUT_DIR %{_builddir}/%{name}-%{version}/bin/tools
mkdir -p %{ETCD_TOOLS_OUT_DIR}

for component in etcd-dump-db etcd-dump-logs; do
pushd tools/$component
tar --no-same-owner -xf %{_builddir}/%{name}-%{version}/vendor-$component.tar.gz
go build \
-o %{ETCD_TOOLS_OUT_DIR}
popd
done

%install
install -vdm755 %{buildroot}%{_bindir}
install -vdm755 %{buildroot}/%{_docdir}/%{name}-%{version}
install -vdm755 %{buildroot}/lib/systemd/system
install -vdm 0755 %{buildroot}%{_sysconfdir}/etcd
install -vpm 0755 -T etcd.conf.yml.sample %{buildroot}%{_sysconfdir}/etcd/etcd-default-conf.yml

chown -R root:root %{buildroot}%{_bindir}
chown -R root:root %{buildroot}/%{_docdir}/%{name}-%{version}

# note that 'server' should be renamed 'etcd'
mv %{_builddir}/%{name}-%{version}/bin/server %{buildroot}%{_bindir}/etcd
mv %{_builddir}/%{name}-%{version}/bin/etcdctl %{buildroot}%{_bindir}/
mv %{_builddir}/%{name}-%{version}/bin/etcdutl %{buildroot}%{_bindir}/

mv %{_builddir}/%{name}-%{version}/README.md %{buildroot}/%{_docdir}/%{name}-%{version}/
mv %{_builddir}/%{name}-%{version}/etcdctl/README.md %{buildroot}/%{_docdir}/%{name}-%{version}/README-etcdctl.md
mv %{_builddir}/%{name}-%{version}/etcdctl/READMEv2.md %{buildroot}/%{_docdir}/%{name}-%{version}/READMEv2-etcdctl.md
mv %{_builddir}/%{name}-%{version}/etcdutl/README.md %{buildroot}/%{_docdir}/%{name}-%{version}/README-etcdutl.md

# tools
install -vdm755 %{buildroot}/%{_docdir}/%{name}-%{version}-tools
chown -R root:root %{buildroot}/%{_docdir}/%{name}-%{version}-tools

mv %{_builddir}/%{name}-%{version}/bin/tools/etcd-dump-logs %{buildroot}%{_bindir}/
mv %{_builddir}/%{name}-%{version}/bin/tools/etcd-dump-db %{buildroot}%{_bindir}/

mv %{_builddir}/%{name}-%{version}/tools/etcd-dump-db/README.md %{buildroot}/%{_docdir}/%{name}-%{version}-tools/README-etcd-dump-db.md
mv %{_builddir}/%{name}-%{version}/tools/etcd-dump-logs/README.md %{buildroot}/%{_docdir}/%{name}-%{version}-tools/README-etcd-dump-logs.md

install -vdm755 %{buildroot}/lib/systemd/system-preset
echo "disable etcd.service" > %{buildroot}/lib/systemd/system-preset/50-etcd.preset

cp %{SOURCE1} %{buildroot}/lib/systemd/system
install -vdm755 %{buildroot}%{_sharedstatedir}/etcd

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%clean
rm -rf %{buildroot}/*

%files
%license LICENSE
%{_bindir}/etcd
%{_bindir}/etcdctl
%{_bindir}/etcdutl
/%{_docdir}/%{name}-%{version}/*
/lib/systemd/system/etcd.service
/lib/systemd/system-preset/50-etcd.preset
%dir %{_sharedstatedir}/etcd
%config(noreplace) %{_sysconfdir}/etcd/etcd-default-conf.yml

%files tools
%license LICENSE
%{_bindir}/etcd-dump-*
/%{_docdir}/%{name}-%{version}-tools/*

%changelog
* Tue Dec 28 2021 Nicolas Guibourge <[email protected]> - 3.5.0-1
- Upgrade to version 3.5.0

* Tue Nov 02 2021 Thomas Crain <[email protected]> - 3.4.13-6
- Increment release for force republishing using golang 1.16.9

* Fri Aug 06 2021 Nicolas Guibourge <[email protected]> 3.4.13-5
- Increment release to force republishing using golang 1.16.7.

* Thu Aug 05 2021 Tom Fay <[email protected]> - 3.4.13-4
- Add etcd-tools package.

* Tue Jun 08 2021 Henry Beberman <[email protected]> 3.4.13-3
- Increment release to force republishing using golang 1.15.13.

* Mon Apr 26 2021 Nicolas Guibourge <[email protected]> 3.4.13-2
- Increment release to force republishing using golang 1.15.11.

* Mon Jan 25 2021 Nicolas Guibourge <[email protected]> 3.4.13-1
- Update to version 3.4.13.

* Thu Dec 10 2020 Andrew Phelps <[email protected]> 3.3.25-2
- Increment release to force republishing using golang 1.15.

* Thu Sep 03 2020 Joe Schmitt <[email protected]> 3.3.25-1
- Update to version 3.3.25 which fixes CVE-2020-15106, CVE-2020-15112, CVE-2020-15114, and CVE-2020-15115.

* Sat May 09 2020 Nick Samson <[email protected]> 3.3.11-2
- Added %%license line automatically

* Thu May 07 2020 Nicolas Ontiveros <[email protected]> 3.3.11-1
- Upgrade to version 3.3.11, which fixes CVE-2018-16886.
- Update summary.

* Thu Apr 30 2020 Emre Girgin <[email protected]> 3.3.9-4
- Renaming go to golang

* Wed Apr 08 2020 Pawel Winogrodzki <[email protected]> 3.3.9-3
- Fixed "Source0" tag.
- License verified and "License" tag updated.
- Removed "%%define sha1".

* Tue Sep 03 2019 Mateusz Malisz <[email protected]> 3.3.9-2
- Initial CBL-Mariner import from Photon (license: Apache2).

* Fri Sep 21 2018 Sujay G <[email protected]> 3.3.9-1
- Bump etcd version to 3.3.9

* Mon Sep 18 2017 Alexey Makhalov <[email protected]> 3.1.5-4
- Remove shadow requires

* Sun Aug 27 2017 Vinay Kulkarni <[email protected]> 3.1.5-3
- File based configuration for etcd service.

* Wed May 31 2017 Harish Udaiya Kumar <[email protected]> 3.1.5-2
- Provide preset file to disable service by default

* Thu Apr 06 2017 Anish Swaminathan <[email protected]> 3.1.5-1
- Upgraded to version 3.1.5, build from sources

* Fri Sep 2 2016 Xiaolin Li <[email protected]> 3.0.9-1
- Upgraded to version 3.0.9

* Fri Jun 24 2016 Xiaolin Li <[email protected]> 2.3.7-1
- Upgraded to version 2.3.7

* Wed May 25 2016 Nick Shi <[email protected]> 2.2.5-3
- Changing etcd service type from simple to notify

* Tue May 24 2016 Priyesh Padmavilasom <[email protected]> 2.2.5-2
- GA - Bump release of all rpms

* Tue Feb 23 2016 Harish Udaiya Kumar <[email protected]> 2.2.5-1
- Upgraded to version 2.2.5

* Tue Jul 28 2015 Divya Thaluru <[email protected]> 2.1.1-2
- Adding etcd service file

* Tue Jul 21 2015 Vinay Kulkarni <[email protected]> 2.1.1-1
- Update to version etcd v2.1.1

* Tue Mar 10 2015 Divya Thaluru <[email protected]> 2.0.4-1
- Initial build. First version
22 changes: 21 additions & 1 deletion cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -840,6 +840,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "coredns",
"version": "1.8.4",
"downloadUrl": "https://github.com/coredns/coredns/archive/v1.8.4.tar.gz"
}
}
},
{
"component": {
"type": "other",
Expand Down Expand Up @@ -1396,7 +1406,17 @@
"other": {
"name": "etcd",
"version": "3.4.13",
"downloadUrl": "https://github.com/etcd-io/etcd/archive/v3.4.13.tar.gz"
"downloadUrl": "https://github.com/etcd-io/etcd/archive/refs/tags/v3.4.13.tar.gz"
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "etcd",
"version": "3.5.0",
"downloadUrl": "https://github.com/etcd-io/etcd/archive/refs/tags/v3.5.0.tar.gz"
}
}
},
Expand Down

0 comments on commit 6696b11

Please sign in to comment.