Accepting request 1203351 from Java:packages
Fix Year 2038 bug OBS-URL: https://build.opensuse.org/request/show/1203351 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plexus-archiver?expand=0&rev=9
This commit is contained in:
commit
ebec3f994c
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 24 19:08:57 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Added patch:
|
||||
* y2038.patch
|
||||
+ Don't pass possibly negative time to File.setLastModified,
|
||||
where it is explicitly forbidden
|
||||
+ Fixes java.lang.IllegalArgumentException: Negative time
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 19 05:40:53 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
|
@ -27,6 +27,7 @@ Source0: https://github.com/codehaus-plexus/plexus-archiver/archive/plexu
|
||||
Source1: %{name}-build.xml
|
||||
Patch0: 0001-Remove-support-for-snappy.patch
|
||||
Patch1: 0002-Remove-support-for-zstd.patch
|
||||
Patch2: y2038.patch
|
||||
BuildRequires: ant
|
||||
BuildRequires: apache-commons-compress
|
||||
BuildRequires: apache-commons-io
|
||||
@ -80,6 +81,8 @@ rm -rf src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarZstdFileResourc
|
||||
rm -rf src/main/java/org/codehaus/plexus/archiver/tar/TarZstdArchiver.java
|
||||
rm -rf src/test/java/org/codehaus/plexus/archiver/tar/TarZstdUnArchiverTest.java
|
||||
|
||||
%patch -P 2 -p1
|
||||
|
||||
%build
|
||||
mkdir -p lib
|
||||
build-jar-repository -s lib atinject slf4j/api org.eclipse.sisu.inject jsr-305 commons-compress commons-io plexus/utils plexus/io
|
||||
|
38
y2038.patch
Normal file
38
y2038.patch
Normal file
@ -0,0 +1,38 @@
|
||||
--- plexus-archiver-4.10.0/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java 2024-09-25 07:27:00.833967276 +0200
|
||||
+++ plexus-archiver-4.10.0/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java 2024-09-25 08:30:07.036715483 +0200
|
||||
@@ -325,7 +325,7 @@
|
||||
Files.copy(compressedInputStream, targetFileName.toPath(), REPLACE_EXISTING);
|
||||
}
|
||||
|
||||
- targetFileName.setLastModified(entryDate.getTime());
|
||||
+ setTargetLastModified(targetFileName, entryDate.getTime());
|
||||
|
||||
if (!isIgnorePermissions() && mode != null && !isDirectory) {
|
||||
ArchiveEntryUtils.chmod(targetFileName, mode);
|
||||
@@ -391,6 +391,10 @@
|
||||
return isOverwrite() || fileOnDiskIsOlderThanEntry;
|
||||
}
|
||||
|
||||
+ protected void setTargetLastModified(File target, long millis) {
|
||||
+ target.setLastModified(millis);
|
||||
+ }
|
||||
+
|
||||
private String normalizedFileSeparator(String pathOrEntry) {
|
||||
return pathOrEntry.replace("/", File.separator);
|
||||
}
|
||||
--- plexus-archiver-4.10.0/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java 2024-09-25 07:27:01.097302238 +0200
|
||||
+++ plexus-archiver-4.10.0/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java 2024-09-25 08:21:11.862993093 +0200
|
||||
@@ -193,4 +193,13 @@
|
||||
"Error while expanding " + getSourceFile().getAbsolutePath(), ioe);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ protected void setTargetLastModified(File target, long millis) {
|
||||
+ if (millis >= 0)
|
||||
+ {
|
||||
+ target.setLastModified( millis );
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user