Skip to content

Commit d4a60d3

Browse files
authored
Backport RHEL SELinux Fixes For JDK/JRE (#1232)
1 parent 260c3f7 commit d4a60d3

File tree

8 files changed

+226
-11
lines changed

8 files changed

+226
-11
lines changed

linux_new/jdk/rhel/src/main/packaging/temurin/11/temurin-11-jdk.template.j2

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
%global vers_arch {{ hardware_architecture }}
2020
%global src_num 0
2121
%global sha_src_num 1
22+
%global altname java-11-temurin-jdk
2223

2324
Name: temurin-11-jdk
2425
Version: %{spec_version}
@@ -32,7 +33,7 @@ URL: https://projects.eclipse.org/projects/adoptium
3233
Packager: Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org>
3334

3435
AutoReqProv: no
35-
Prefix: /usr/lib/jvm/%{name}
36+
Prefix: /usr/lib/jvm/%{altname}
3637

3738
ExclusiveArch: {{ hardware_architecture }}
3839

@@ -88,6 +89,19 @@ Provides: jre-headless
8889
Provides: jre-%{java_provides}
8990
Provides: jre-%{java_provides}-headless
9091

92+
# Add Virtual Provides For Altname
93+
Provides: %{altname}
94+
95+
# Obsolete Previous JDK11 v0 package due to naming change
96+
Obsoletes: temurin-11-jdk < 11.0.28.0.0.6-1
97+
98+
# Add Provides For Java Public Libraries
99+
Provides: libjawt.so%{?_isa}
100+
Provides: libjvm.so%{?_isa}
101+
Provides: libjava.so%{?_isa}
102+
Provides: libverify.so%{?_isa}
103+
Provides: libjsig.so%{?_isa}
104+
91105
# First architecture ({{ hardware_architecture }})
92106
Source0: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK11U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz
93107
Source1: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK11U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz.sha256.txt
@@ -117,6 +131,9 @@ popd
117131
# noop
118132

119133
%install
134+
if [ -L %{buildroot}/usr/lib/jvm/%{name} ]; then
135+
rm -f %{buildroot}/usr/lib/jvm/%{name}
136+
fi
120137
mkdir -p %{buildroot}%{prefix}
121138
cd %{buildroot}%{prefix}
122139
tar --strip-components=1 -C "%{buildroot}%{prefix}" -xf %{expand:%{SOURCE%{src_num}}}
@@ -201,6 +218,14 @@ if [ $1 -ge 1 ] ; then
201218
--slave %{_mandir}/man1/serialver.1 serialver.1 %{prefix}/man/man1/serialver.1
202219
fi
203220

221+
%posttrans
222+
# Ensure compatibility path points to the new prefix after upgrade
223+
if [ -e /usr/lib/jvm/%{name} ] && [ ! -L /usr/lib/jvm/%{name} ]; then
224+
# If a (now empty) directory remains, try to remove it
225+
rmdir /usr/lib/jvm/%{name} >/dev/null 2>&1 || true
226+
fi
227+
ln -sfn %{prefix} /usr/lib/jvm/%{name}
228+
204229
%preun
205230
if [ $1 -eq 0 ]; then
206231
update-alternatives --remove java %{prefix}/bin/java
@@ -211,6 +236,8 @@ fi
211236
%defattr(-,root,root)
212237
%{prefix}
213238
/usr/lib/tmpfiles.d/%{name}.conf
239+
# Ghost The Symlink to avoid conflicts
240+
%ghost /usr/lib/jvm/%{name}
214241

215242
%changelog
216243
* {{ current_date }} Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org> {{ package_version }}-{{ package_release_version }}

linux_new/jdk/rhel/src/main/packaging/temurin/17/temurin-17-jdk.template.j2

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
%global vers_arch {{ hardware_architecture }}
2020
%global src_num 0
2121
%global sha_src_num 1
22+
%global altname java-17-temurin-jdk
2223

2324
Name: temurin-17-jdk
2425
Version: %{spec_version}
@@ -32,7 +33,7 @@ URL: https://projects.eclipse.org/projects/adoptium
3233
Packager: Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org>
3334

3435
AutoReqProv: no
35-
Prefix: /usr/lib/jvm/%{name}
36+
Prefix: /usr/lib/jvm/%{altname}
3637

3738
ExclusiveArch: {{ hardware_architecture }}
3839

@@ -88,6 +89,19 @@ Provides: jre-headless
8889
Provides: jre-%{java_provides}
8990
Provides: jre-%{java_provides}-headless
9091

92+
# Add Virtual Provides For Altname
93+
Provides: %{altname}
94+
95+
# Obsolete Previous JDK17 v0 package due to naming change
96+
Obsoletes: temurin-17-jdk < 17.0.16.0.0.8-1
97+
98+
# Add Provides For Java Public Libraries
99+
Provides: libjawt.so%{?_isa}
100+
Provides: libjvm.so%{?_isa}
101+
Provides: libjava.so%{?_isa}
102+
Provides: libverify.so%{?_isa}
103+
Provides: libjsig.so%{?_isa}
104+
91105
# First architecture ({{ hardware_architecture }})
92106
Source0: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK17U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz
93107
Source1: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK17U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz.sha256.txt
@@ -117,6 +131,9 @@ popd
117131
# noop
118132

119133
%install
134+
if [ -L %{buildroot}/usr/lib/jvm/%{name} ]; then
135+
rm -f %{buildroot}/usr/lib/jvm/%{name}
136+
fi
120137
mkdir -p %{buildroot}%{prefix}
121138
cd %{buildroot}%{prefix}
122139
tar --strip-components=1 -C "%{buildroot}%{prefix}" -xf %{expand:%{SOURCE%{src_num}}}
@@ -198,6 +215,14 @@ if [ $1 -ge 1 ] ; then
198215
--slave %{_mandir}/man1/serialver.1 serialver.1 %{prefix}/man/man1/serialver.1
199216
fi
200217

218+
%posttrans
219+
# Ensure compatibility path points to the new prefix after upgrade
220+
if [ -e /usr/lib/jvm/%{name} ] && [ ! -L /usr/lib/jvm/%{name} ]; then
221+
# If a (now empty) directory remains, try to remove it
222+
rmdir /usr/lib/jvm/%{name} >/dev/null 2>&1 || true
223+
fi
224+
ln -sfn %{prefix} /usr/lib/jvm/%{name}
225+
201226
%preun
202227
if [ $1 -eq 0 ]; then
203228
update-alternatives --remove java %{prefix}/bin/java
@@ -208,6 +233,8 @@ fi
208233
%defattr(-,root,root)
209234
%{prefix}
210235
/usr/lib/tmpfiles.d/%{name}.conf
236+
# Ghost The Symlink to avoid conflicts
237+
%ghost /usr/lib/jvm/%{name}
211238

212239
%changelog
213240
* {{ current_date }} Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org> {{ package_version }}-{{ package_release_version }}

linux_new/jdk/rhel/src/main/packaging/temurin/21/temurin-21-jdk.template.j2

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
%global vers_arch {{ hardware_architecture }}
2020
%global src_num 0
2121
%global sha_src_num 1
22+
%global altname java-21-temurin-jdk
2223

2324
Name: temurin-21-jdk
2425
Version: %{spec_version}
@@ -32,7 +33,7 @@ URL: https://projects.eclipse.org/projects/adoptium
3233
Packager: Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org>
3334

3435
AutoReqProv: no
35-
Prefix: /usr/lib/jvm/%{name}
36+
Prefix: /usr/lib/jvm/%{altname}
3637

3738
ExclusiveArch: {{ hardware_architecture }}
3839

@@ -80,6 +81,19 @@ Provides: java-sdk-21
8081
Provides: java-sdk-21-%{java_provides}
8182
Provides: java-sdk-%{java_provides}
8283

84+
# Add Virtual Provides For Altname
85+
Provides: %{altname}
86+
87+
# Obsolete Previous JDK21 v0 package due to naming change
88+
Obsoletes: temurin-21-jdk < 21.0.8.0.0.9-1
89+
90+
# Add Provides For Java Public Libraries
91+
Provides: libjawt.so%{?_isa}
92+
Provides: libjvm.so%{?_isa}
93+
Provides: libjava.so%{?_isa}
94+
Provides: libverify.so%{?_isa}
95+
Provides: libjsig.so%{?_isa}
96+
8397
# First architecture ({{ hardware_architecture }})
8498
Source0: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK21U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz
8599
Source1: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK21U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz.sha256.txt
@@ -109,6 +123,9 @@ popd
109123
# noop
110124

111125
%install
126+
if [ -L %{buildroot}/usr/lib/jvm/%{name} ]; then
127+
rm -f %{buildroot}/usr/lib/jvm/%{name}
128+
fi
112129
mkdir -p %{buildroot}%{prefix}
113130
cd %{buildroot}%{prefix}
114131
tar --strip-components=1 -C "%{buildroot}%{prefix}" -xf %{expand:%{SOURCE%{src_num}}}
@@ -189,6 +206,14 @@ if [ $1 -ge 1 ] ; then
189206
--slave %{_mandir}/man1/serialver.1 serialver.1 %{prefix}/man/man1/serialver.1
190207
fi
191208

209+
%posttrans
210+
# Ensure compatibility path points to the new prefix after upgrade
211+
if [ -e /usr/lib/jvm/%{name} ] && [ ! -L /usr/lib/jvm/%{name} ]; then
212+
# If a (now empty) directory remains, try to remove it
213+
rmdir /usr/lib/jvm/%{name} >/dev/null 2>&1 || true
214+
fi
215+
ln -sfn %{prefix} /usr/lib/jvm/%{name}
216+
192217
%preun
193218
if [ $1 -eq 0 ]; then
194219
update-alternatives --remove java %{prefix}/bin/java
@@ -199,6 +224,8 @@ fi
199224
%defattr(-,root,root)
200225
%{prefix}
201226
/usr/lib/tmpfiles.d/%{name}.conf
227+
# Ghost The Symlink to avoid conflicts
228+
%ghost /usr/lib/jvm/%{name}
202229

203230
%changelog
204231
* {{ current_date }} Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org> {{ package_version }}-{{ package_release_version }}

linux_new/jdk/rhel/src/main/packaging/temurin/8/temurin-8-jdk.template.j2

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
%global vers_arch {{ hardware_architecture }}
2121
%global src_num 0
2222
%global sha_src_num 1
23+
%global altname java-8-temurin-jdk
2324

2425
Name: temurin-8-jdk
2526
Version: %{spec_version}
@@ -33,7 +34,7 @@ URL: https://projects.eclipse.org/projects/adoptium
3334
Packager: Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org>
3435

3536
AutoReqProv: no
36-
Prefix: /usr/lib/jvm/%{name}
37+
Prefix: /usr/lib/jvm/%{altname}
3738

3839
ExclusiveArch: {{ hardware_architecture }}
3940

@@ -92,6 +93,19 @@ Provides: jre-headless
9293
Provides: jre-%{java_provides}
9394
Provides: jre-%{java_provides}-headless
9495

96+
# Add Virtual Provides For Altname
97+
Provides: %{altname}
98+
99+
# Obsolete Previous JDK8 v0 package due to naming change
100+
Obsoletes: temurin-8-jdk < 8.0.462.0.0.8-1
101+
102+
# Add Provides For Java Public Libraries
103+
Provides: libjawt.so%{?_isa}
104+
Provides: libjvm.so%{?_isa}
105+
Provides: libjava.so%{?_isa}
106+
Provides: libverify.so%{?_isa}
107+
Provides: libjsig.so%{?_isa}
108+
95109
# First architecture ({{ hardware_architecture }})
96110
Source0: %{source_url_base}/jdk%{upstream_version}/OpenJDK8U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_dash}.tar.gz
97111
Source1: %{source_url_base}/jdk%{upstream_version}/OpenJDK8U-jdk_%{vers_arch}_linux_hotspot_%{upstream_version_no_dash}.tar.gz.sha256.txt
@@ -127,13 +141,13 @@ popd
127141
# noop
128142

129143
%install
144+
if [ -L %{buildroot}/usr/lib/jvm/%{name} ]; then
145+
rm -f %{buildroot}/usr/lib/jvm/%{name}
146+
fi
130147
mkdir -p %{buildroot}%{prefix}
131148
cd %{buildroot}%{prefix}
132149
tar --strip-components=1 -C "%{buildroot}%{prefix}" -xf %{expand:%{SOURCE%{src_num}}}
133150

134-
# Strip bundled Freetype and use OS package instead.
135-
rm -f "%{buildroot}%{prefix}/lib/libfreetype.so"
136-
137151
# Use cacerts included in OS
138152
rm -f "%{buildroot}%{prefix}/jre/lib/security/cacerts"
139153
pushd "%{buildroot}%{prefix}/jre/lib/security"
@@ -237,6 +251,14 @@ if [ $1 -ge 1 ] ; then
237251
--slave %{_mandir}/man1/xjc.1 xjc.1 %{prefix}/man/man1/xjc.1
238252
fi
239253

254+
%posttrans
255+
# Ensure compatibility path points to the new prefix after upgrade
256+
if [ -e /usr/lib/jvm/%{name} ] && [ ! -L /usr/lib/jvm/%{name} ]; then
257+
# If a (now empty) directory remains, try to remove it
258+
rmdir /usr/lib/jvm/%{name} >/dev/null 2>&1 || true
259+
fi
260+
ln -sfn %{prefix} /usr/lib/jvm/%{name}
261+
240262
%preun
241263
if [ $1 -eq 0 ]; then
242264
update-alternatives --remove java %{prefix}/bin/java
@@ -247,6 +269,8 @@ fi
247269
%defattr(-,root,root)
248270
%{prefix}
249271
/usr/lib/tmpfiles.d/%{name}.conf
272+
# Ghost The Symlink to avoid conflicts
273+
%ghost /usr/lib/jvm/%{name}
250274

251275
%changelog
252276
* {{ current_date }} Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org> {{ package_version }}-{{ package_release_version }}

linux_new/jre/rhel/src/main/packaging/temurin/11/temurin-11-jre.template.j2

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
%global vers_arch {{ hardware_architecture }}
2020
%global src_num 0
2121
%global sha_src_num 1
22+
%global altname java-11-temurin-jre
2223

2324
Name: temurin-11-jre
2425
Version: %{spec_version}
@@ -32,7 +33,7 @@ URL: https://projects.eclipse.org/projects/adoptium
3233
Packager: Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org>
3334

3435
AutoReqProv: no
35-
Prefix: /usr/lib/jvm/%{name}
36+
Prefix: /usr/lib/jvm/%{altname}
3637

3738
ExclusiveArch: {{ hardware_architecture }}
3839

@@ -70,6 +71,19 @@ Provides: jre-headless
7071
Provides: jre-%{java_provides}
7172
Provides: jre-%{java_provides}-headless
7273

74+
# Add Virtual Provides For Altname
75+
Provides: %{altname}
76+
77+
# Obsolete Previous JDK11 v0 package due to naming change
78+
Obsoletes: temurin-11-jre < 11.0.28.0.0.6-1
79+
80+
# Add Provides For Java Public Libraries
81+
Provides: libjawt.so%{?_isa}
82+
Provides: libjvm.so%{?_isa}
83+
Provides: libjava.so%{?_isa}
84+
Provides: libverify.so%{?_isa}
85+
Provides: libjsig.so%{?_isa}
86+
7387
# First architecture ({{ hardware_architecture }})
7488
Source0: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK11U-jre_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz
7589
Source1: %{source_url_base}/jdk-%{upstream_version_url}/OpenJDK11U-jre_%{vers_arch}_linux_hotspot_%{upstream_version_no_plus}.tar.gz.sha256.txt
@@ -99,6 +113,9 @@ popd
99113
# noop
100114

101115
%install
116+
if [ -L %{buildroot}/usr/lib/jvm/%{name} ]; then
117+
rm -f %{buildroot}/usr/lib/jvm/%{name}
118+
fi
102119
mkdir -p %{buildroot}%{prefix}
103120
cd %{buildroot}%{prefix}
104121
tar --strip-components=1 -C "%{buildroot}%{prefix}" -xf %{expand:%{SOURCE%{src_num}}}
@@ -137,6 +154,14 @@ if [ $1 -ge 1 ] ; then
137154
--slave %{_mandir}/man1/unpack200.1 unpack200.1 %{prefix}/man/man1/unpack200.1
138155
fi
139156

157+
%posttrans
158+
# Ensure compatibility path points to the new prefix after upgrade
159+
if [ -e /usr/lib/jvm/%{name} ] && [ ! -L /usr/lib/jvm/%{name} ]; then
160+
# If a (now empty) directory remains, try to remove it
161+
rmdir /usr/lib/jvm/%{name} >/dev/null 2>&1 || true
162+
fi
163+
ln -sfn %{prefix} /usr/lib/jvm/%{name}
164+
140165
%preun
141166
if [ $1 -eq 0 ]; then
142167
update-alternatives --remove java %{prefix}/bin/java
@@ -146,6 +171,8 @@ fi
146171
%defattr(-,root,root)
147172
%{prefix}
148173
/usr/lib/tmpfiles.d/%{name}.conf
174+
# Ghost The Symlink to avoid conflicts
175+
%ghost /usr/lib/jvm/%{name}
149176

150177
%changelog
151178
* {{ current_date }} Eclipse Adoptium Package Maintainers <temurin-dev@eclipse.org> {{ package_version }}-{{ package_release_version }}

0 commit comments

Comments
 (0)