Compare commits

..

3 commits

Author SHA1 Message Date
Fedora Release Engineering
39637ae86e dist-git conversion 2010-07-28 11:17:24 +00:00
Bill Nottingham
5e501f54fc Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:23:45 +00:00
Jesse Keating
4c2e42d32d Initialize branch F-9 for bsh 2008-04-20 13:58:15 +00:00
11 changed files with 515 additions and 433 deletions

3
.gitignore vendored
View file

@ -1,4 +1 @@
bsh-1.3.0-src.tar.bz2
/2.0b6.tar.gz
/bsh-2.0-b6.tar.gz
/bsh-2.1.0.tar.gz

View file

@ -1,57 +0,0 @@
diff --git a/build.xml b/build.xml
index 8542245..6179cfa 100644
--- a/build.xml
+++ b/build.xml
@@ -16,8 +16,8 @@
<property name="file" value=""/>
- <property name="ant.build.javac.target" value="1.6" />
- <property name="ant.build.javac.source" value="1.6" />
+ <property name="ant.build.javac.target" value="1.8" />
+ <property name="ant.build.javac.source" value="1.8" />
<property name="version" value="2.1.0"/>
<property name="deprecation" value="on"/>
<property name="Specification-Title" value="BeanShell" />
@@ -178,8 +178,8 @@
debug="on"
includes="**/*.java"
excludes="${excludes},**/bak/**"
- source="1.6"
- target="1.6"
+ source="1.8"
+ target="1.8"
>
<classpath>
<fileset refid="lib-fileset"/>
@@ -213,8 +213,8 @@
debug="on"
includes="**/*.java"
excludes="${excludes},**/bak/**"
- source="1.6"
- target="1.6"
+ source="1.8"
+ target="1.8"
>
<classpath>
<fileset refid="lib-fileset"/>
@@ -255,7 +255,7 @@
destdir="${javadoc-dir}"
author="true"
version="true"
- source="1.6"
+ source="1.8"
use="true"
windowtitle="BeanShell ${version}"
doctitle="&lt;h1&gt;BeanShell ${version}&lt;h1&gt;"
@@ -680,8 +680,8 @@
destdir="${build-dir}"
debug="on"
debuglevel="lines,vars,source"
- source="1.6"
- target="1.6"
+ source="1.8"
+ target="1.8"
>
<classpath>
<path refid="test-classpath"/>

View file

@ -1,27 +0,0 @@
From 9b83372c64f30f44bd56696ae6adcbe6a83e1e2f Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Mon, 20 Jul 2020 21:28:13 +0200
Subject: [PATCH 1/1] java 11 compatibility
---
src/bsh/util/AWTConsole.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/bsh/util/AWTConsole.java b/src/bsh/util/AWTConsole.java
index e88fbff..fbb237b 100644
--- a/src/bsh/util/AWTConsole.java
+++ b/src/bsh/util/AWTConsole.java
@@ -214,8 +214,8 @@ public class AWTConsole extends TextArea
Great. What a piece of crap.
*/
public void setCaretPosition( int pos ) {
- ((java.awt.peer.TextComponentPeer)getPeer()).setCaretPosition(
- pos + countNLs() );
+ //((java.awt.peer.TextComponentPeer)getPeer()).setCaretPosition(
+ // pos + countNLs() );
}
/*
--
2.26.2

8
bsh-1.3.0.pom Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>bsh</groupId>
<artifactId>bsh</artifactId>
<name>Beanshell</name>
<version>1.3.0</version>
</project>

8
bsh-bsf-1.3.0.pom Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>bsh</groupId>
<artifactId>bsh-bsf</artifactId>
<name>Beanshell BSFEngine</name>
<version>1.3.0</version>
</project>

54
bsh-build.patch Normal file
View file

@ -0,0 +1,54 @@
--- BeanShell/build.xml.orig 2004-01-20 19:12:20.888557245 -0500
+++ BeanShell/build.xml 2004-01-20 19:13:36.150184282 -0500
@@ -103,50 +103,7 @@
value="docs/manual/bshcommands-bshdoc.xml"/>
<!-- Begin Targets -->
-
- <!-- The javacc targets could be smarter... -->
- <target name="checkjjt">
- <uptodate property="jjtree.notRequired"
- targetfile="${src-dir}/bsh/bsh.jj"
- >
- <srcfiles dir="${src-dir}/bsh" includes="bsh.jjt"/>
- </uptodate>
- </target>
- <target name="checkjj">
- <uptodate property="javacc.notRequired"
- targetfile="${src-dir}/bsh/Parser.java"
- >
- <srcfiles dir="${src-dir}/bsh" includes="bsh.jj"/>
- </uptodate>
- </target>
-
- <!-- Create bsh.jj when bsh.jjt changes. -->
- <target name="jjtree" unless="jjtree.notRequired" depends="checkjjt">
- <java classname="jjtree"
- fork="yes"
- failonerror="yes" >
- <arg
- line="-OUTPUT_DIRECTORY=${src-dir}/bsh ${src-dir}/bsh/bsh.jjt"/>
- <classpath>
- <fileset refid="lib-fileset"/>
- </classpath>
- </java>
- </target>
-
- <!-- Create Parser.java when bsh.jj changes. -->
- <target name="javacc" unless="javacc.notRequired" depends="checkjj">
- <java classname="javacc"
- fork="yes"
- failonerror="yes" >
- <!-- classpath="${javacc-lib}" -->
- <arg line="-OUTPUT_DIRECTORY=${src-dir}/bsh ${src-dir}/bsh/bsh.jj"/>
- <classpath>
- <fileset refid="lib-fileset"/>
- </classpath>
- </java>
- </target>
-
- <target name="compile" depends="jjtree,javacc,builddir">
+ <target name="compile" depends="builddir">
<!-- exclude the ${excludes} as well as anything under a "bak" dir -->
<!--compiler="${build-compiler}"-->
<javac srcdir="${src-dir}:${test-src-dir}:${bsf-src-dir}"

9
bsh-desktop.desktop Normal file
View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=BeanShell Desktop
Exec=bsh-desktop
Icon=bsh
Terminal=false
Type=Application
StartupWMClass=bsh-Console
Categories=Development;Java;
Version=1.0

151
bsh-readline.patch Normal file
View file

@ -0,0 +1,151 @@
--- BeanShell/src/bsh/Interpreter.java~ 2003-09-03 19:56:58.000000000 -0400
+++ BeanShell/src/bsh/Interpreter.java 2004-01-25 09:59:41.730059108 -0500
@@ -38,6 +38,13 @@
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
+import bsh.util.BshCompleter;
+import bsh.util.NameCompletionTable;
+import bsh.classpath.ClassManagerImpl;
+import org.gnu.readline.Readline;
+import org.gnu.readline.ReadlineLibrary;
+import org.gnu.readline.ReadlineReader;
+
/**
The BeanShell script interpreter.
@@ -394,10 +401,59 @@
else
src = System.in;
- Reader in = new CommandLineReader( new InputStreamReader(src));
- Interpreter interpreter =
- new Interpreter( in, System.out, System.err, true );
- interpreter.run();
+ Reader in = null;
+ boolean usingReadline = false;
+ String backingLib = System.getProperty("bsh.console.readlinelib");
+ if (backingLib != null) {
+ try {
+ File history = new File(System.getProperty("user.home") +
+ File.separator + ".bsh_history");
+ if (!history.exists()) {
+ try {
+ history.createNewFile();
+ } catch(IOException ioe) {
+ debug("Unable to create history " + history.getAbsolutePath());
+ }
+ }
+ ReadlineLibrary lib = ReadlineLibrary.byName(backingLib);
+ // should I wrap CommandLineReader around it?
+ if (history.canWrite() && history.canRead()) {
+ in = new ReadlineReader("bsh % ", history,lib);
+ } else {
+ in = new ReadlineReader("bsh % ",lib);
+ debug("Unable to read/write history " + history.getAbsolutePath());
+ }
+ } catch (IOException ioe) {
+ System.err.println("Unable to invoke ReadlineReader " +
+ "due to: " + ioe);
+ }
+ }
+ if (in == null)
+ in = new CommandLineReader( new InputStreamReader(src));
+ else
+ usingReadline = true;
+ Interpreter interpreter =
+ new Interpreter( in, System.out, System.err, true );
+ if (usingReadline) {
+ NameCompletionTable nct = new NameCompletionTable();
+ nct.add(interpreter.getNameSpace());
+
+ /** ClassManager does a lot of chatting to the stdout,
+ * so this has been commented out for the time being
+ **/
+
+// try {
+// BshClassManager bcm = BshClassManager.getClassManager();
+// if (bcm != null) {
+// nct.add(((ClassManagerImpl)bcm).getClassPath());
+// }
+// } catch(ClassPathException cpe) {
+// debug("classpath exception in name compl:" + cpe);
+// }
+
+ Readline.setCompleter(new BshCompleter(nct));
+ }
+ interpreter.run();
}
}
@@ -445,7 +501,7 @@
System.err.flush();
Thread.yield(); // this helps a little
- if ( interactive )
+ if ( interactive && !(in instanceof ReadlineReader))
print( getBshPrompt() );
eof = Line();
@@ -548,10 +604,17 @@
}
}
- if ( interactive && exitOnEOF )
- System.exit(0);
+ if ( interactive && exitOnEOF ) {
+ /* should be done for all streams in general, but this
+ * ensures that the history for readline is flushed */
+ try {
+ in.close();
+ } catch (IOException ioe) {
+ }
+
+ System.exit(0);
}
-
+ }
// begin source and eval
/**
--- /dev/null 2003-10-19 02:52:03.000000000 -0400
+++ BeanShell/src/bsh/util/BshCompleter.java 2004-01-25 10:14:10.184458217 -0500
@@ -0,0 +1,38 @@
+package bsh.util;
+
+import org.gnu.readline.ReadlineCompleter;
+
+/**
+ * An adapter for org.gnu.readline's ReadlineCompleter interface to map to
+ * BeanShell's NameCompleter interface.
+ *
+ * @see org.gnu.readline.ReadlineReader
+ * @version $Revision: 1.1 $
+ * @author Shane Celis <shane@terraspring.com>
+ **/
+public class BshCompleter implements ReadlineCompleter {
+
+ private NameCompletion completer;
+
+ /**
+ * Constructs a <code>ReadlineCompleter</code> out of a
+ * <code>NameCompleter</code> object.
+ **/
+ public BshCompleter(NameCompletion completer) {
+ this.completer = completer;
+ }
+
+ /**
+ * Returns String of completion if unambiguous, otherwise null
+ **/
+ public String completer(String text, int state) {
+ // Not sure what state is used for in ReadlineCompleter
+ String[] completions = completer.completeName(text);
+ if (completions.length == 1 && state == 0) {
+ return completions[0];
+ } else {
+ return null; // ambiguous result
+ }
+ }
+
+}

605
bsh.spec
View file

@ -28,364 +28,327 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
%define gcj_support 1
Name: bsh
Version: 2.1.0
Release: 17%{?dist}
Version: 1.3.0
Release: 12jpp.3%{?dist}
Epoch: 0
Summary: Lightweight Scripting for Java
URL: https://beanshell.github.io/
# bundled asm is BSD
# bsf/src/bsh/util/BeanShellBSFEngine.java is public-domain
License: Apache-2.0 AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain
# ./generate-tarball.sh
Source0: %{name}-%{version}.tar.gz
# Remove bundled jars which cannot be easily verified for licensing
# Remove code marked as SUN PROPRIETARY/CONFIDENTAIL
Source2: generate-tarball.sh
# compatibility with Java 11:
# - set javac / javadoc source and target values to 1.8
Patch0: 0000-source-target-1.8.patch
# - remove references to invisible symbols and methods
Patch1: 0001-java-11-compatibility.patch
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
BuildRequires: ant-openjdk25
BuildRequires: bsf
BuildRequires: glassfish-servlet-api
BuildRequires: javacc
BuildRequires: javapackages-local-openjdk25
BuildRequires: junit
License: LGPL
Source0: %{name}-%{version}-src.tar.bz2
#cvs -d:pserver:anonymous@beanshell.cvs.sourceforge.net:/cvsroot/beanshell login
#cvs -z3 -d:pserver:anonymous@beanshell.cvs.sourceforge.net:/cvsroot/beanshell export -r rel_1_3_0_final BeanShell
#tar cjf bsh-1.3.0-src.tar.bz2 BeanShell
Source1: bsh-1.3.0.pom
Source2: bsh-bsf-1.3.0.pom
Source3: %{name}-desktop.desktop
Patch0: %{name}-build.patch
#Patch1: %{name}-readline.patch
BuildRequires: ant, bsf, ant-trax, ImageMagick, desktop-file-utils
BuildRequires: servlet
Requires: bsf
Requires: java-25-headless
Requires: jline2
Requires: jpackage-utils >= 0:1.7.2
#BuildRequires: libreadline-java
Url: http://www.beanshell.org/
Group: Development/Java
%if ! %{gcj_support}
Buildarch: noarch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
Requires: javapackages-tools
Provides: %{name}-utils = %{epoch}:%{version}-%{release}
Obsoletes: %{name}-utils < 0:2.0
Obsoletes: %{name}-demo < 0:2.0
# bsh uses small subset of modified (shaded) classes from ancient version of
# objecweb-asm under asm directory
Provides: bundled(objectweb-asm) = 1.3.6
%if %{gcj_support}
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%endif
%description
BeanShell is a small, free, embeddable, Java source interpreter with
object scripting language features, written in Java. BeanShell
executes standard Java statements and expressions, in addition to
obvious scripting commands and syntax. BeanShell supports scripted
objects as simple method closures like those in Perl and
JavaScript(tm). You can use BeanShell interactively for Java
experimentation and debugging or as a simple scripting engine for your
applications. In short: BeanShell is a dynamically interpreted Java,
plus some useful stuff. Another way to describe it is to say that in
many ways BeanShell is to Java as Tcl/Tk is to C: BeanShell is
embeddable - You can call BeanShell from your Java applications to
execute Java code dynamically at run-time or to provide scripting
extensibility for your applications. Alternatively, you can call your
Java applications and objects from BeanShell; working with Java
objects and APIs dynamically. Since BeanShell is written in Java and
runs in the same space as your application, you can freely pass
references to "real live" objects into scripts and return them as
results.
object scripting language features, written in Java. BeanShell executes
standard Java statements and expressions, in addition to obvious
scripting commands and syntax. BeanShell supports scripted objects as
simple method closures like those in Perl and JavaScript(tm).
You can use BeanShell interactively for Java experimentation and
debugging or as a simple scripting engine for your applications. In
short: BeanShell is a dynamically interpreted Java, plus some useful
stuff. Another way to describe it is to say that in many ways BeanShell
is to Java as Tcl/Tk is to C: BeanShell is embeddable - You can call
BeanShell from your Java applications to execute Java code dynamically
at run-time or to provide scripting extensibility for your applications.
Alternatively, you can call your Java applications and objects from
BeanShell; working with Java objects and APIs dynamically. Since
BeanShell is written in Java and runs in the same space as your
application, you can freely pass references to "real live" objects into
scripts and return them as results.
%package manual
Summary: Manual for %{name}
Group: Development/Java
%description manual
Documentation for %{name}.
%package javadoc
Summary: API documentation for %{name}
Summary: Javadoc for %{name}
Group: Development/Java
%description javadoc
This package provides %{summary}.
Javadoc for %{name}.
%package demo
Summary: Demo for %{name}
Group: Development/Java
AutoReqProv: no
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: /usr/bin/env
%description demo
Demonstrations and samples for %{name}.
%package desktop
Summary: %{name} integration for the desktop
Group: Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
%description desktop
Contains a menu entry for %{name}.
%prep
%setup -q -n beanshell-%{version}
%patch 0 -p1
%patch 1 -p1
sed -i 's,org.apache.xalan.xslt.extensions.Redirect,http://xml.apache.org/xalan/redirect,' docs/manual/xsl/*.xsl
%mvn_alias :bsh bsh:bsh bsh:bsh-bsf org.beanshell:bsh
%mvn_file : %{name}
%setup -q -n BeanShell
%patch0 -p1
#%patch1 -p1
for j in $(find . -name "*.jar"); do
mv $j $j.no
done
# remove all CVS files
for dir in `find . -type d -name CVS`; do rm -rf $dir; done
for file in `find . -type f -name .cvsignore`; do rm -rf $file; done
# fix rpmlint spurious-executable-perm warnings
for i in backbutton forwardbutton homebutton remoteconsole upbutton; do
chmod 644 docs/images/$i.gif
done
%build
mkdir lib
build-jar-repository lib bsf javacc junit glassfish-servlet-api
ant test dist
mkdir -p lib
pushd lib
ln -sf $(build-classpath bsf)
ln -sf $(build-classpath servlet)
popd
ant dist
(cd docs/faq && ant)
(cd docs/manual && ant)
%install
%mvn_artifact pom.xml dist/%{name}-%{version}.jar
rm -rf $RPM_BUILD_ROOT
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 dist/%{name}-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
install -m 644 dist/%{name}-bsf-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-bsf-%{version}.jar
install -m 644 dist/%{name}-classpath-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-classpath-%{version}.jar
install -m 644 dist/%{name}-commands-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-commands-%{version}.jar
install -m 644 dist/%{name}-core-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-core-%{version}.jar
install -m 644 dist/%{name}-reflect-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-reflect-%{version}.jar
install -m 644 dist/%{name}-util-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-util-%{version}.jar
%mvn_install -J javadoc
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
%add_to_maven_depmap %{name} %{name} %{version} JPP %{name}
%add_to_maven_depmap %{name} %{name}-bsf %{version} JPP %{name}-bsf
install -d -m 755 %{buildroot}%{_datadir}/%{name}
install -d -m 755 %{buildroot}%{_datadir}/%{name}/webapps
install -m 644 dist/bshservlet.war %{buildroot}%{_datadir}/%{name}/webapps
install -m 644 dist/bshservlet-wbsh.war %{buildroot}%{_datadir}/%{name}/webapps
# poms
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -pm 644 %{SOURCE1} \
$RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}.pom
install -pm 644 %{SOURCE2} \
$RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-bsf.pom
# manual
find docs -name ".cvswrappers" -exec rm -f {} \;
find docs -name "*.xml" -exec rm -f {} \;
find docs -name "*.xsl" -exec rm -f {} \;
find docs -name "*.log" -exec rm -f {} \;
(cd docs/manual && mv html/* .)
(cd docs/manual && rm -rf html)
(cd docs/manual && rm -rf xsl)
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
# menu entry
desktop-file-install --vendor=fedora --mode=644 \
--dir=$RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE3}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
convert src/bsh/util/lib/icon.gif \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/bsh.png
# demo
for i in `find tests -name \*.bsh`; do
perl -p -i -e 's,^\n?#!(/(usr/)?bin/java bsh\.Interpreter|/bin/sh),#!/usr/bin/env %{_bindir}/%{name},' $i
if head -1 $i | grep '#!/usr/bin/env %{_bindir}/%{name}' >/dev/null; then
chmod 755 $i
fi
done
chmod 755 tests/Template
cat > one << EOF
#!/bin/sh
EOF
cat tests/Interactive/reload/one >> one
cat one > tests/Interactive/reload/one
rm one
cat > two << EOF
#!/bin/sh
EOF
cat tests/Interactive/reload/two >> two
cat two > tests/Interactive/reload/two
rm two
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -pr tests $RPM_BUILD_ROOT%{_datadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/webapps
install -m 644 dist/bshservlet.war $RPM_BUILD_ROOT%{_datadir}/%{name}/webapps
install -m 644 dist/bshservlet-wbsh.war $RPM_BUILD_ROOT%{_datadir}/%{name}/webapps
# scripts
install -d %{buildroot}%{_bindir}
install -d $RPM_BUILD_ROOT%{_bindir}
%jpackage_script bsh.Interpreter "\${BSH_DEBUG:+-Ddebug=true}" jline.console.internal.ConsoleRunner %{name}:jline2/jline %{name} true
%jpackage_script bsh.Console "\${BSH_DEBUG:+-Ddebug=true}" "" bsh bsh-console true
function bsh_script() {
cat > $RPM_BUILD_ROOT%{_bindir}/$1 << EOF
#!/bin/sh
#
# $1 script
# JPackage Project (http://jpackage.sourceforge.net)
echo '#!%{_bindir}/bsh' > %{buildroot}%{_bindir}/bshdoc
cat scripts/bshdoc.bsh >> %{buildroot}%{_bindir}/bshdoc
# Source functions library
. %{_datadir}/java-utils/java-functions
%files -f .mfiles
%license LICENSE NOTICE
%doc README.md src/Changes.html src/CodeMap.html docs/faq/faq.html
# Source system prefs
if [ -f %{_sysconfdir}/%{name}.conf ] ; then
. %{_sysconfdir}/%{name}.conf
fi
%attr(0755,root,root) %{_bindir}/%{name}*
%{_datadir}/%{name}/
# Source user prefs
if [ -f \$HOME/.%{name}rc ] ; then
. \$HOME/.%{name}rc
fi
# Configuration
MAIN_CLASS=$2
if [ -n "\$BSH_DEBUG" ]; then
BASE_FLAGS=-Ddebug=true
fi
BASE_JARS="%{name}.jar"
#if [ -f /usr/lib/libJavaReadline.so ]; then
# BASE_FLAGS="$BASE_FLAGS -Djava.library.path=/usr/lib"
# BASE_FLAGS="\$BASE_FLAGS -Dbsh.console.readlinelib=GnuReadline"
# BASE_JARS="\$BASE_JARS libreadline-java.jar"
#fi
# Set parameters
set_jvm
set_classpath \$BASE_JARS
set_flags \$BASE_FLAGS
set_options \$BASE_OPTIONS
# Let's start
run "\$@"
EOF
}
bsh_script bsh bsh.Interpreter
bsh_script bsh-desktop bsh.Console
cat > $RPM_BUILD_ROOT%{_bindir}/%{name}doc << EOF
#!/usr/bin/env %{_bindir}/%{name}
EOF
cat scripts/bshdoc.bsh >> $RPM_BUILD_ROOT%{_bindir}/%{name}doc
%if %{gcj_support}
%{_bindir}/aot-compile-rpm \
--exclude %{_datadir}/%{name}/webapps/bshservlet.war \
--exclude %{_datadir}/%{name}/webapps/bshservlet-wbsh.war
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post desktop
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi
%post
%update_maven_depmap
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
exit 0
%postun desktop
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi
%postun
%update_maven_depmap
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
exit 0
%files
%defattr(-,root,root)
%doc src/Changes.html src/License.txt src/README.txt
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_bindir}/%{name}doc
%{_javadir}/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/webapps
%{_datadir}/maven2/poms/*
%{_mavendepmapfragdir}
%if %{gcj_support}
%attr(-,root,root) %{_libdir}/gcj/%{name}
%endif
%files manual
%doc docs/manual/html
%doc docs/manual/images/*.jpg
%doc docs/manual/images/*.gif
%license LICENSE NOTICE
%defattr(-,root,root)
%doc docs/*
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%files javadoc
%defattr(-,root,root)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}
%files demo
%defattr(-,root,root)
%doc tests/README.txt tests/Interactive/README
%{_datadir}/%{name}/*
%files desktop
%attr(0755,root,root) %{_bindir}/%{name}-desktop
%{_datadir}/applications/*%{name}-desktop.desktop
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
%changelog
* Mon Jul 28 2025 jiri vanek <jvanek@redhat.com> - 0:2.1.0-17
- Rebuilt for java-25-openjdk as preffered jdk
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed May 22 2024 Marian Koncek <mkoncek@redhat.com> - 0:2.1.0-13
- Fix license field
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 0:2.1.0-12
- Rebuilt for java-21-openjdk as system jdk
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 08 2022 Jiri Vanek <jvanek@redhat.com> - 0:2.1.0-6
- Rebuilt for Drop i686 JDKs
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 0:2.1.0-5
- Rebuilt for java-17-openjdk as system jdk
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Dec 2 2021 Hans de Goede <hdegoede@redhat.com> - 0:2.1.0-3
- Fix building with Java 17
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Feb 01 2021 Fabio Valentini <decathorpe@gmail.com> - 0:2.1.0-1
- Update to version 2.1.0.
* Wed Jan 27 2021 Tomas Popela <tpopela@redhat.com> - 0:2.0-22.b6
- Don't build the desktop support on RHEL 8+ as ImageMagick isn't available there.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-21.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 14 2020 Jerry James <loganjerry@gmail.com> - 0:2.0-20.b6
- Change jline Requires to jline2
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-19.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 20 2020 Fabio Valentini <decathorpe@gmail.com> - 0:2.0-18.b6
- Make adjustments for Java 11 compatibility.
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 0:2.0-17.b6
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-16.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-15.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-14.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Aug 03 2018 Michael Simacek <msimacek@redhat.com> - 0:2.0-13.b6
- Remove proprietary files from tarball
* Mon Jul 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 0:2.0-12.b6
- Add requirement on javapackages-tools for script's usage of
java-functions.
* Mon Jul 30 2018 Michael Simacek <msimacek@redhat.com> - 0:2.0-11.b6
- Repack the tarball without binaries
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-10.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-9.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Sep 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.0-8.b6
- Properly conditionalize build-requires
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.0-7.b6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jun 13 2017 Michael Simacek <msimacek@redhat.com> - 0:2.0-6.b6
- Add conditional for desktop file
* Fri Mar 3 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.0-5.b6
- Install desktop icon to pixmaps instead of icons
* Fri Mar 3 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.0-4.b6
- Fix directory ownership
* Tue Feb 07 2017 Michael Simacek <msimacek@redhat.com> - 0:2.0-3.b6
- Build against glassfish-servlet-api
* Thu Nov 24 2016 Michael Simacek <msimacek@redhat.com> - 0:2.0-2.b6
- Install into expected location
* Thu Nov 24 2016 Michael Simacek <msimacek@redhat.com> - 0:2.0-1.b6
- Update to upstream version 2.0.b6
* Wed Oct 12 2016 Ville Skyttä <ville.skytta@iki.fi> - 0:1.3.0-36
- Switch to jline 2.x in -utils
- Mark License.txt as %%license
* Thu Jul 21 2016 Michael Simacek <msimacek@redhat.com> - 0:1.3.0-35
- Replace perl usage with sed
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.3.0-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Nov 5 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3.0-32
- Remove workaround for RPM bug #646523
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3.0-30
- Use .mfiles generated during build
* Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:1.3.0-29
- Use Requires: java-headless rebuild (#1067528)
* Wed Oct 30 2013 Michal Srb <msrb@redhat.com> - 0:1.3.0-28
- Switch to jline1 (Resolves rhbz#1023018)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Jul 12 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3.0-26
- Use %%add_maven_depmap instead of legacy macros
- Install versionless javadocs
- Remove old Obsoletes
- Update and format descriptions
- Install license file with manual and javadoc packages
- Fix Requires and BuildRequires on java
- Fix calls to %%jpackage_script
* Wed Jul 10 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3.0-26
- Remove arch-specific conditionals
- Remove group tags
- Remove Requires on jpackage-utils
- Remove Requires on coreutils
- Generate custom scripts with %%jpackage_script
- Install versionless JARs only
- Install POM files to %%{_mavenpomdir}
* Thu Jun 06 2013 Michal Srb <msrb@redhat.com> - 0:1.3.0-25
- Enable tests
- Fix BR
* Thu Feb 14 2013 Rahul Sundaram <sundaram@fedoraproject.org> - 0:1.3.0-24
- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247
- clean up spec to follow current guidelines
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Nov 20 2012 David Tardon <dtardon@redhat.com> - 0:1.3.0-22
- Resolves: rhbz#850008 bsh - Should not own /usr/share/maven-fragments
directory
- Resolves: rhbz#878163 bsh - javadoc subpackage doesn't require
jpackage-utils
- Resolves: rhbz#878166 bsh: Public Domain not listed in license tag
* Thu Nov 1 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3.0-21
- Add additional maven depmap
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Nov 25 2010 Ville Skyttä <ville.skytta@iki.fi> - 0:1.3.0-17
- Rename -desktop to -utils, move shell scripts and menu entry to it (#417491).
- Bring icon cache scriptlets up to date with current guidelines.
- Use jline in bsh script for command history support.
- Prefer JRE over SDK when finding JVM to invoke in scripts.
- Build with -source 1.5.
* Thu Nov 25 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:1.3.0-16
- Fix pom filenames (Resolves rhbz#655791)
- Fix xsl errors when building docs
* Sat Jan 9 2010 Alexander Kurtakov <akurtako@redhat.com> 0:1.3.0-15.2
- Drop gcj_support.
- Fix rpmlint warnings.
* Mon Sep 21 2009 Permaine Cheung <pcheung@redhat.com> 0:1.3.0-15.1
- Do not build manual and faq for ppc64 or s390x as the style task is disabled
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.3.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Jul 9 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0:1.3.0-13
- drop repotag
- fix license tag
* Mon Mar 10 2008 Permaine Cheung <pcheung@redhat.com> 0:1.3.0-12jpp.3
- Fix bugzilla 436675. Separate menu entry into desktop subpackage.
@ -449,7 +412,7 @@ cat scripts/bshdoc.bsh >> %{buildroot}%{_bindir}/bshdoc
- remove bsf patch (fixed upstream)
- add epoch to demo package Requires
* Sat Apr 12 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b8.4jpp
* Fri Apr 12 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b8.4jpp
- fix strange permissions
* Fri Apr 11 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b8.3jpp

View file

@ -1,24 +0,0 @@
#!/bin/bash
set -e
name=bsh
version="$(sed -n 's/Version:\s*//p' *.spec)"
# RETRIEVE
wget "https://github.com/beanshell/beanshell/archive/${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
rm -rf tarball-tmp
mkdir tarball-tmp
cd tarball-tmp
tar xf "../${name}-${version}.orig.tar.gz"
# CLEAN TARBALL
rm -r */lib
find -name '*.jar' -print -delete
find -name '*.class' -print -delete
# Files marked as SUN PROPRIETARY/CONFIDENTAIL
rm -rv */engine/javax-src
tar cf "../${name}-${version}.tar.gz" *
cd ..
rm -r tarball-tmp "${name}-${version}.orig.tar.gz"

View file

@ -1 +1 @@
SHA512 (bsh-2.1.0.tar.gz) = 4cee4ffc97e0214b0ef3fbfbfacc3ec55e8bbf7b26c36e51fd03f087c9317501e4d975f4b1c4b1d04afd0a9120789c45f8ea9390598e19802bc063d367bd247e
3d8c14c2a223aa577108efa8bd17bdd3 bsh-1.3.0-src.tar.bz2