Compare commits

...

No commits in common. 'i8c-stream-201801' and 'c9' have entirely different histories.

2
.gitignore vendored

@ -1 +1 @@
SOURCES/jansi-project-1.17.1.tar.gz SOURCES/jansi-2.3.3.tar.gz

@ -1 +1 @@
384bb41e1ec4118ec0aaf61e14f7e6812456b741 SOURCES/jansi-project-1.17.1.tar.gz 8f825fc9e4eafb656d1e0f01c68be9b41a750a1c SOURCES/jansi-2.3.3.tar.gz

@ -0,0 +1,26 @@
From d94c5832e14504d44abeba47866dfa7dac5992b5 Mon Sep 17 00:00:00 2001
From: Guillaume Nodet <gnodet@gmail.com>
Date: Fri, 23 Jul 2021 09:22:19 +0200
Subject: [PATCH] Avoid possible NPE, fixes #214
---
src/main/java/org/fusesource/jansi/AnsiPrintStream.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/fusesource/jansi/AnsiPrintStream.java b/src/main/java/org/fusesource/jansi/AnsiPrintStream.java
index e153c43..df6e5a6 100644
--- a/src/main/java/org/fusesource/jansi/AnsiPrintStream.java
+++ b/src/main/java/org/fusesource/jansi/AnsiPrintStream.java
@@ -76,7 +76,11 @@ public void install() throws IOException {
}
public void uninstall() throws IOException {
- getOut().uninstall();
+ // If the system output stream has been closed, out should be null, so avoid a NPE
+ AnsiOutputStream out = getOut();
+ if (out != null) {
+ out.uninstall();
+ }
}
@Override

@ -0,0 +1,20 @@
#!/bin/bash
set -e
name=jansi
version="$(sed -n 's/Version:\s*//p' *.spec)"
# RETRIEVE
wget "https://github.com/fusesource/jansi/archive/jansi-${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
rm -rf tarball-tmp
mkdir tarball-tmp
pushd tarball-tmp
tar xf "../${name}-${version}.orig.tar.gz"
# CLEAN TARBALL
rm -r */src/main/native/inc_{mac,win}/
tar -czf "../${name}-${version}.tar.gz" *
popd
rm -r tarball-tmp "${name}-${version}.orig.tar.gz"

@ -0,0 +1,14 @@
--- a/src/main/java/org/fusesource/jansi/internal/JansiLoader.java 2020-12-15 03:03:00.000000000 -0700
+++ b/src/main/java/org/fusesource/jansi/internal/JansiLoader.java 2020-12-15 07:57:30.238720226 -0700
@@ -295,6 +295,11 @@ public class JansiLoader {
} else {
triedPaths.add(jansiNativeLibraryPath);
}
+ } else {
+ if (loadNativeLibrary(new File("@LIBDIR@/jansi", jansiNativeLibraryName))) {
+ extracted = true;
+ return;
+ }
}
// Load the os-dependent library from the jar file

@ -1,20 +1,33 @@
%bcond_with bootstrap
Name: jansi Name: jansi
Version: 1.17.1 Version: 2.3.3
Release: 1%{?dist} Release: 6%{?dist}
Summary: Jansi is a java library for generating and interpreting ANSI escape sequences Summary: Generate and interpret ANSI escape sequences in Java
License: ASL 2.0 License: ASL 2.0
URL: http://fusesource.github.io/jansi/ URL: http://fusesource.github.io/jansi/
Source0: https://github.com/fusesource/jansi/archive/jansi-project-%{version}.tar.gz # ./generate-tarball.sh
Source0: %{name}-%{version}.tar.gz
# Remove bundled binaries which cannot be easily verified for licensing
Source1: generate-tarball.sh
# Change the location of the native artifact to where Fedora wants it
Patch0: %{name}-jni.patch
BuildArch: noarch Patch1: 0001-Avoid-NPE.patch
BuildRequires: gcc
BuildRequires: maven-local BuildRequires: maven-local
BuildRequires: mvn(junit:junit) %if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.apache.maven.surefire:surefire-junit-platform)
BuildRequires: mvn(org.fusesource:fusesource-pom:pom:) BuildRequires: mvn(org.fusesource:fusesource-pom:pom:)
BuildRequires: mvn(org.fusesource.hawtjni:hawtjni-runtime) BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine)
BuildRequires: mvn(org.fusesource.jansi:jansi-native) %endif
%description %description
Jansi is a small java library that allows you to use ANSI escape sequences Jansi is a small java library that allows you to use ANSI escape sequences
@ -29,47 +42,132 @@ Summary: Javadocs for %{name}
This package contains the API documentation for %{name}. This package contains the API documentation for %{name}.
%prep %prep
%setup -q -n jansi-jansi-project-%{version} %autosetup -n jansi-jansi-%{version} -p1
%pom_disable_module example # We don't need the Fuse JXR skin
%pom_xpath_remove "pom:build/pom:extensions" %pom_xpath_remove "pom:build/pom:extensions"
%pom_remove_plugin -r :maven-site-plugin # Plugins not needed for an RPM build
%pom_remove_plugin :maven-gpg-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :nexus-staging-maven-plugin
# We don't want GraalVM support in Fedora
%pom_remove_plugin :exec-maven-plugin
%pom_remove_dep :picocli-codegen
# No maven-uberize-plugin # Build for JDK 1.8 at a minimum
%pom_remove_plugin -r :maven-uberize-plugin %pom_xpath_set "//pom:properties/pom:jdkTarget" 1.8
# Remove unnecessary deps for jansi-native builds # Remove prebuilt shared objects
pushd jansi rm -fr src/main/resources/org/fusesource/jansi/internal
%pom_remove_dep :jansi-windows32
%pom_remove_dep :jansi-windows64
%pom_remove_dep :jansi-osx
%pom_remove_dep :jansi-freebsd32
%pom_remove_dep :jansi-freebsd64
# it's there only to be bundled in uberjar and we disable uberjar generation
%pom_remove_dep :jansi-linux32
%pom_remove_dep :jansi-linux64
popd
# javadoc generation fails due to strict doclint in JDK 8 # Unbundle the JNI headers
%pom_remove_plugin -r :maven-javadoc-plugin rm src/main/native/inc_linux/*.h
ln -s %{java_home}/include/jni.h src/main/native/inc_linux
ln -s %{java_home}/include/linux/jni_md.h src/main/native/inc_linux
# Set the JNI path
sed -i 's,@LIBDIR@,%{_prefix}/lib,' \
src/main/java/org/fusesource/jansi/internal/JansiLoader.java
%build %build
%mvn_build %set_build_flags
# Build the native artifact
CFLAGS="$CFLAGS -I. -I%{java_home}/include -I%{java_home}/include/linux -fPIC -fvisibility=hidden"
cd src/main/native
$CC $CFLAGS -c jansi.c
$CC $CFLAGS -c jansi_isatty.c
$CC $CFLAGS -c jansi_structs.c
$CC $CFLAGS -c jansi_ttyname.c
$CC $CFLAGS $LDFLAGS -shared -o libjansi.so *.o -lutil
cd -
# Build the Java artifacts
%mvn_build -- -Dlibrary.jansi.path=$PWD/src/main/native
%install %install
# Install the native artifact
mkdir -p %{buildroot}%{_prefix}/lib/%{name}
cp -p src/main/native/libjansi.so %{buildroot}%{_prefix}/lib/%{name}
# Install the Java artifacts
%mvn_install %mvn_install
%files -f .mfiles %files -f .mfiles
%license license.txt %license license.txt
%doc readme.md changelog.md %doc readme.md changelog.md
%{_prefix}/lib/%{name}/
%files javadoc -f .mfiles-javadoc %files javadoc -f .mfiles-javadoc
%license license.txt %license license.txt
%changelog %changelog
* Tue Dec 12 2023 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.17.1-1 * Mon Jan 30 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.3-6
- Rebuilt for MSVSphere 8.8 - Rebuild to regenerate auto-requires
* Thu Aug 19 2021 Marian Koncek <mkoncek@redhat.com> - 2.3.3-5
- Install native artifact into a fixed location
- Related: rhbz#1994935
* Wed Aug 18 2021 Marian Koncek <mkoncek@redhat.com> - 2.3.3-4
- Avoid possible NullPointerException
- Resolves: rhbz#1993889
- Load native library from the correct location
- Resolves: rhbz#1994935
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.3.3-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 23 2021 Jerry James <loganjerry@gmail.com> - 2.3.3-1
- Version 2.3.3
* Fri Jun 18 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-7
- Clean tarball from content with questionable licensing
- Resolves: rhbz#1973750
* Wed Jun 09 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-6
- Rebuild to workaround DistroBaker issue
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-5
- Bootstrap Maven for CentOS Stream 9
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-4
- Bootstrap build
- Non-bootstrap build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 14 2021 Timm Bäder <tbaeder@redhat.com> - 2.1.1-2
- Use standard variables when compiling native artifact
* Tue Dec 15 2020 Jerry James <loganjerry@gmail.com> - 2.1.1-1
- Version 2.1.1
- Remove package name from Summary
- Add patch to change the location of the JNI shared object
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1.18-4
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jun 08 2019 Fabio Valentini <decathorpe@gmail.com> - 1.18-1
- Update to version 1.18.
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 05 2018 Michael Simacek <msimacek@redhat.com> - 1.17.1-1 * Tue Jun 05 2018 Michael Simacek <msimacek@redhat.com> - 1.17.1-1
- Update to upstream version 1.17.1 - Update to upstream version 1.17.1

Loading…
Cancel
Save