This repository has been archived by the owner on Jan 28, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
redhat-release-coreos.spec
153 lines (130 loc) · 5.54 KB
/
redhat-release-coreos.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# This package was forked from fedora-release into redhat-release-server into
# redhat-release-atomic-host, then into redhat-release-coreos.
# Be sure to look at changes upstream!
%define debug_package %{nil}
%define product_family Red Hat
%define variant_titlecase CoreOS
%define variant_titlecase_concat CoreOS
%define variant_lowercase coreos
%define release_pkg_version 20180515.0
%define base_release_version 3
%define full_release_version 3.10
%define dist_release_version 3
# Fake this out; we need at least 7, since e.g. systemd has a dependency
# on system-release > 7.2, etc.
%define os_version 7.99
#define beta %{nil}
%define dist .el%{dist_release_version}
Name: redhat-release%{?variant_lowercase:-%{variant_lowercase}}
Version: %{full_release_version}
Release: %{release_pkg_version}.atomic%{?dist}.0
Summary: %{product_family}%{?variant_titlecase: %{variant_titlecase}} release file
Group: System Environment/Base
License: GPLv2
Provides: redhat-release = %{os_version}-%{release}
Provides: system-release = %{os_version}-%{release}
# We need to use Server, since there's no RPM content set for anything else
Provides: system-release(releasever) = %{base_release_version}Server
# This doesn't exist today, I committed the data to git
Source0: redhat-release-%{variant_lowercase}-%{base_release_version}-4.tar.gz
%description
%{product_family}%{?variant_titlecase: %{variant_titlecase}} release files
%prep
%setup -q -n redhat-release-%{base_release_version}
%build
echo OK
%install
rm -rf %{buildroot}
# create /etc
mkdir -p %{buildroot}/etc
mkdir -p %{buildroot}/usr/lib/
mkdir -p %{buildroot}/etc/pki/product
# create /etc/system-release and /etc/redhat-release
echo "%{product_family}%{?variant_titlecase: %{variant_titlecase}} release %{full_release_version}%{?beta: %{beta}}" > %{buildroot}/usr/lib/redhat-release
ln -s ../usr/lib/redhat-release %{buildroot}/etc/system-release
ln -s ../usr/lib/redhat-release %{buildroot}/etc/redhat-release
# create /etc/os-release
cat << EOF >>%{buildroot}/usr/lib/os-release
NAME="%{product_family}%{?variant_titlecase: %{variant_titlecase}}"
VERSION="%{full_release_version}"
ID="coreos"
ID_LIKE="rhel fedora"
VARIANT="CoreOS"
VARIANT_ID=coreos
VERSION_ID="%{full_release_version}"
PRETTY_NAME="%{product_family}%{?variant_titlecase: %{variant_titlecase}} %{full_release_version}"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:%{full_release_version}:%{?beta:beta}%{!?beta:GA}%{?variant_lowercase::%{variant_lowercase}}"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="%{product_family} %{base_release_version}"
REDHAT_BUGZILLA_PRODUCT_VERSION="%{full_release_version}"
REDHAT_SUPPORT_PRODUCT="%{product_family}"
REDHAT_SUPPORT_PRODUCT_VERSION="%{full_release_version}"
EOF
ln -s ../usr/lib/os-release %{buildroot}/etc/os-release
# write cpe to /etc/system/release-cpe
echo "cpe:/o:redhat:enterprise_linux:%{full_release_version}:%{?beta:beta}%{!?beta:GA}%{?variant_lowercase::%{variant_lowercase}}" | tr [A-Z] [a-z] > %{buildroot}/usr/lib/system-release-cpe
ln -s ../usr/lib/system-release-cpe %{buildroot}/etc/system-release-cpe
# create /etc/issue and /etc/issue.net
echo '\S' > %{buildroot}/etc/issue
echo 'Kernel \r on an \m' >> %{buildroot}/etc/issue
cp %{buildroot}/etc/issue %{buildroot}/etc/issue.net
echo >> %{buildroot}/etc/issue
# combine GPG keys
cat RPM-GPG-KEY-redhat-release-2 RPM-GPG-KEY-redhat-auxiliary > RPM-GPG-KEY-redhat-release
rm RPM-GPG-KEY-redhat-release-2 RPM-GPG-KEY-redhat-auxiliary
cat RPM-GPG-KEY-redhat-beta-2 RPM-GPG-KEY-redhat-legacy-beta > RPM-GPG-KEY-redhat-beta
rm RPM-GPG-KEY-redhat-beta-2 RPM-GPG-KEY-redhat-legacy-beta
# copy GPG keys
mkdir -p -m 755 %{buildroot}/etc/pki/rpm-gpg
mkdir -p -m 755 %{buildroot}/%{_datadir}/ostree/trusted.gpg.d
for file in RPM-GPG-KEY* ; do
install -m 644 $file %{buildroot}/etc/pki/rpm-gpg
gpg --dearmor < $file > %{buildroot}/%{_datadir}/ostree/trusted.gpg.d/$file.gpg
done
# set up the dist tag macros
install -d -m 755 %{buildroot}/etc/rpm
cat >> %{buildroot}/etc/rpm/macros.dist << EOF
# dist macros.
%%rhel %{base_release_version}
%%dist %dist
%%el%{base_release_version} 1
EOF
# use unbranded datadir
mkdir -p -m 755 %{buildroot}/%{_datadir}/redhat-release
install -m 644 EULA %{buildroot}/%{_datadir}/redhat-release
# use unbranded docdir
mkdir -p -m 755 %{buildroot}/%{_docdir}/redhat-release
install -m 644 GPL %{buildroot}/%{_docdir}/redhat-release
# copy systemd presets
mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system-preset/
for x in *.preset; do install -m 0644 ${x} %{buildroot}/%{_prefix}/lib/systemd/system-preset/; done
# let systemd handle core dumps
# https://bugzilla.redhat.com/show_bug.cgi?id=1191045
mkdir -p %{buildroot}%{_prefix}/lib/sysctl.d/
install -m 0644 49-coredump.conf %{buildroot}%{_prefix}/lib/sysctl.d/
# https://bugzilla.redhat.com/show_bug.cgi?id=1204194
mkdir -p %{buildroot}/etc/systemd/system
ln -s /dev/null %{buildroot}/etc/systemd/system/brandbot.path
%clean
rm -rf %{buildroot}
%files
%defattr(0644,root,root,0755)
/etc/redhat-release
/etc/system-release
%{_prefix}/lib/os-release
%{_prefix}/lib/redhat-release
%{_prefix}/lib/system-release-cpe
%config /etc/os-release
%config /etc/system-release-cpe
%config(noreplace) /etc/issue
%config(noreplace) /etc/issue.net
%config(noreplace) /etc/systemd/system/brandbot.path
/etc/pki/rpm-gpg/
%{_datadir}/ostree/trusted.gpg.d/*.gpg
/etc/rpm/macros.dist
%{_docdir}/redhat-release/*
%{_datadir}/redhat-release/*
%{_prefix}/lib/systemd/system-preset/*
%{_prefix}/lib/sysctl.d/*