Accepting request 518519 from Java:Factory

Fix LinuxFileStore with btrfs unmounted subvolumes and with overlayfs

OBS-URL: https://build.opensuse.org/request/show/518519
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/java-1_8_0-openjdk?expand=0&rev=50
This commit is contained in:
Dominique Leuenberger 2017-08-29 09:38:49 +00:00 committed by Git OBS Bridge
commit 12efd3f5bc
3 changed files with 44 additions and 11 deletions

View File

@ -0,0 +1,21 @@
--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java 2017-08-23 11:40:26.690809603 +0200
+++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java 2017-08-23 11:44:28.314815334 +0200
@@ -74,8 +74,16 @@
} catch (UnixException x) {
x.rethrowAsIOException(parent);
}
- if (attrs.dev() != dev())
- break;
+ if (attrs.dev() != dev()) {
+
+ // step 3: lookup mounted file systems (use /proc/mounts to ensure we
+ // find the file system even when not in /etc/mtab)
+ byte[] dir = path.asByteArray();
+ for (UnixMountEntry entry: fs.getMountEntries("/proc/mounts")) {
+ if (Arrays.equals(dir, entry.dir()))
+ return entry;
+ }
+ }
path = parent;
parent = parent.getParent();
}

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed Aug 23 09:54:09 UTC 2017 - fstrba@suse.com
- Added patch:
* java-1_8_0-openjdk-linuxfilestore.patch
- Fix bsc#1032647, bsc#1052009 with btrfs subvolumes and
overlayfs
-------------------------------------------------------------------
Mon Jul 31 17:24:05 UTC 2017 - fstrba@suse.com

View File

@ -170,7 +170,7 @@ Name: java-1_8_0-openjdk
Version: %{javaver}.%{updatever}
Release: 0
Summary: OpenJDK 8 Runtime Environment
License: Apache-1.1 and Apache-2.0 and GPL-1.0+ and GPL-2.0 and GPL-2.0-with-classpath-exception and LGPL-2.0 and MPL-1.0 and MPL-1.1 and SUSE-Public-Domain and W3C
License: Apache-1.1 AND Apache-2.0 AND GPL-1.0+ AND GPL-2.0 AND GPL-2.0-with-classpath-exception AND LGPL-2.0 AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C
Group: Development/Languages/Java
Url: http://openjdk.java.net/
Source0: http://icedtea.classpath.org/download/source/icedtea-%{icedtea_version}.tar.xz
@ -206,6 +206,7 @@ Patch1000: icedtea-3.0.1-sunec.patch
Patch1001: java-1_8_0-openjdk-suse-desktop-files.patch
Patch2000: java-1_8_0-openjdk-gcc6.patch
Patch2001: disable-doclint-by-default.patch
Patch2002: java-1_8_0-openjdk-linuxfilestore.patch
BuildRequires: alsa-lib-devel
BuildRequires: autoconf
BuildRequires: automake
@ -258,7 +259,6 @@ Provides: jre1.5.x
Provides: jre1.6.x
Provides: jre1.7.x
Provides: jre1.8.x
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with bootstrap}
BuildRequires: java-bootstrap-devel >= 1.7.0
%else
@ -444,10 +444,15 @@ this package unless you really need to.
for file in tapset/*.in; do
OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
%ifnarch %{arm}
sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
# TODO find out which architectures other than ix86 have a client vm
%else
sed -e '/@ABS_SERVER_LIBJVM_SO@/d' $file > $file.1
%endif
%ifarch %{ix86}
# TODO find out which architectures other than ix86 and arm have a client vm
%ifarch %{ix86} %{arm}
sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
%else
sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
@ -566,6 +571,8 @@ patch -p0 -i %{PATCH104}
patch -p0 -i %{PATCH2000}
patch -p0 -i %{PATCH2001}
patch -p0 -i %{PATCH2002}
(cd openjdk/common/autoconf
bash ./autogen.sh
)
@ -1059,20 +1066,22 @@ if [ ! -e %{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar ]; then
fi
%files -f %{name}.files
%defattr(-,root,root)
%dir %{_jvmdir}/%{jredir}/lib/%{archinstall}
%dir %{_datadir}/icons/hicolor
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
%files headless -f %{name}.files-headless
%defattr(-,root,root,-)
%dir %{_jvmdir}
%dir %{_jvmdir}/%{jredir}/
%dir %{_jvmdir}/%{jredir}/bin
%dir %{_jvmdir}/%{jredir}/lib
%dir %{_jvmdir}/%{jredir}/lib/%{archinstall}
%dir %{_jvmdir}/%{jredir}/lib/%{archinstall}/jli
%ifnarch %{arm}
%dir %{_jvmdir}/%{jredir}/lib/%{archinstall}/server
%else
%dir %{_jvmdir}/%{jredir}/lib/%{archinstall}/client
%endif
%dir %{_jvmdir}/%{jredir}/lib/cmm
%dir %{_jvmdir}/%{jredir}/lib/desktop
%dir %{_jvmdir}/%{jredir}/lib/ext
@ -1117,7 +1126,6 @@ fi
%{_jvmdir}/%{jredir}/lib/security/local_policy.jar
%files devel
%defattr(-,root,root,-)
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/lib
@ -1168,20 +1176,16 @@ fi
%endif
%files demo -f %{name}-demo.files
%defattr(-,root,root,-)
%files src
%defattr(-,root,root,-)
%{_jvmdir}/%{sdkdir}/src.zip
%files javadoc
%defattr(0644,root,root,0755)
%dir %{_javadocdir}
%dir %{_javadocdir}/%{sdklnk}
%{_javadocdir}/%{sdklnk}/*
%files accessibility
%defattr(-,root,root)
%dir %{_jvmdir}/%{jredir}/lib/ext
%config(noreplace) %{_jvmdir}/%{jredir}/lib/accessibility.properties
%ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so