commit 0a1a7b106a98e7943d77817e36758c4103ef46d1
Author: Dan Horák <dan(a)danny.cz>
Date: Fri May 31 23:10:31 2013 +0200
- updated to 3.08.2
- updated build system for aarch64 (#925546)
- add manual page for hercules (#962722)
.gitignore | 1 +
hercules-3.08.1-intl.patch | 15 --
hercules-3.08.2-fedora.patch | 394 ++++++++++++++++++++++++++++++++++++++++++
hercules.spec | 25 ++--
sources | 2 +-
5 files changed, 407 insertions(+), 30 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 922f307..9f46aef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
hercules-3.07.tar.gz
/hercules-3.08.tar.gz
/3.08.1.tar.gz
+/3.08.2.tar.gz
diff --git a/hercules-3.08.2-fedora.patch b/hercules-3.08.2-fedora.patch
new file mode 100644
index 0000000..0b24b4c
--- /dev/null
+++ b/hercules-3.08.2-fedora.patch
@@ -0,0 +1,394 @@
+From 7970d0d039d921a9d5db34b7e40f90b055096feb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan(a)danny.cz>
+Date: Tue, 28 May 2013 21:57:36 +0200
+Subject: [PATCH 1/2] use system ltdl library
+
+---
+ Makefile.am | 11 ++--
+ bootstrap.c | 2 +-
+ configure.ac | 147 +-------------------------------------------------
+ decNumber/Makefile.am | 2 -
+ hdl.h | 2 +-
+ herclin.c | 2 +-
+ 6 files changed, 8 insertions(+), 158 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 221b2bf..a443106 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,7 +10,7 @@ lns=@LN_S@
+
+ SUBDIRS = decNumber m4 util html man . crypto
+
+-LDADD = @LIBS@
++LDADD = @LIBS@ -lltdl
+
+ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/decNumber
+
+@@ -98,7 +98,6 @@ endif
+
+ if OPTION_DYNAMIC_LOAD
+ DYNSRC =
+- LTDL = ltdl.c
+
+ DYNMOD_LD_FLAGS = -module \
+ -no-undefined \
+@@ -117,7 +116,6 @@ if OPTION_DYNAMIC_LOAD
+ -avoid-version
+ else
+ DYNSRC = $(dyndev_SRC)
+- LTDL =
+ DYNMOD_LD_FLAGS =
+ DYNMOD_LD_ADD =
+ LIB_LD_FLAGS = $(XSTATIC) \
+@@ -295,8 +293,7 @@ endif
+ memrchr.c \
+ parser.c \
+ pttrace.c \
+- $(FTHREADS) \
+- $(LTDL)
++ $(FTHREADS)
+
+ libhercu_la_LDFLAGS = $(LIB_LD_FLAGS)
+
+@@ -372,8 +369,7 @@ endif
+ memrchr.c \
+ $(dynamic_SRC) \
+ $(extra_SRC) \
+- $(dyndev_SRC) \
+- ltdl.c
++ $(dyndev_SRC)
+
+ libherc_la_LDFLAGS = $(LIB_LD_FLAGS)
+
+@@ -659,7 +655,6 @@ noinst_HEADERS = hostinfo.h \
+ hdl.h \
+ crypto.h \
+ sockdev.h \
+- ltdl.h \
+ herc_getopt.h \
+ service.h \
+ chsc.h \
+diff --git a/bootstrap.c b/bootstrap.c
+index 476fb07..edbc68c 100644
+--- a/bootstrap.c
++++ b/bootstrap.c
+@@ -11,7 +11,7 @@
+ #include "hstdinc.h"
+ #include "hercules.h"
+ #if defined(HDL_USE_LIBTOOL)
+-#include "ltdl.h"
++#include <ltdl.h>
+ #endif
+
+ #if !defined( _MSVC_ )
+diff --git a/configure.ac b/configure.ac
+index bd1e385..1f18dde 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -44,151 +44,8 @@ modexecdir='$(libdir)/$(PACKAGE)'
+ AC_SUBST(modexecdir)
+
+
+-# -----------------------------------------------------------------------------
+-#
+-# AC_LIBTOOL_DLOPEN
+-#
+-# Enable checking for dlopen support. This macro should be used if the
+-# package makes use of the '-dlopen' and '-dlpreopen' flags, otherwise
+-# libtool will assume that the system does not support dlopening. The
+-# macro must be called before AC_PROG_LIBTOOL.
+-#
+-# -----------------------------------------------------------------------------
+-
+-AC_LIBTOOL_DLOPEN() # (we need libtool's dlopen support)
+-
+-
+-# -----------------------------------------------------------------------------
+-#
+-# AC_LIBTOOL_WIN32_DLL
+-#
+-# This macro should be used if the package has been ported to build
+-# clean dlls on win32 platforms. Usually this means that any library
+-# data items are exported with __declspec(dllexport) and imported with
+-# __declspec(dllimport). If this macro is not used, libtool will assume
+-# that the package libraries are not dll clean and will build only static
+-# libraries on win32 hosts.
+-#
+-# This macro must be called before AC_PROG_LIBTOOL, and provision must
+-# be made to pass '-no-undefined' to libtool in link mode from the package
+-# Makefile. Naturally, if you pass '-no-undefined', you must ensure that
+-# all the library symbols really are defined at link time!
+-#
+-# -----------------------------------------------------------------------------
+-
+-AC_LIBTOOL_WIN32_DLL() # (we need Win32 support in libtool)
+-
+-
+-# -----------------------------------------------------------------------------
+-# See: 'AC_PROG_LIBTOOL' below.
+-# -----------------------------------------------------------------------------
+-
+-AC_DISABLE_STATIC() # (forces libtool to build shared
+-
+- # libraries instead of static ones)
+-# -----------------------------------------------------------------------------
+-# AC_PROG_LIBTOOL
+-#
+-# Add support for the '--enable-shared' and '--disable-shared'
+-# configure flags. By default, this macro turns on shared libraries
+-# if they are available, and also enables static libraries if they
+-# don't conflict with the shared libraries. You can modify these
+-# defaults by calling either the AC_DISABLE_SHARED or AC_DISABLE_STATIC
+-# macros.
+-#
+-# Hercules REQUIRES shared libraries (i.e. DLLs), so we do indeed use
+-# the AC_DISABLE_STATIC macro above.
+-#
+-# -----------------------------------------------------------------------------
+-
+-AC_PROG_LIBTOOL() # (we build libtool for ourselves)
+-
+-
+-# -----------------------------------------------------------------------------
+-#
+-# AC_LIB_LTDL
+-#
+-# Even though libltdl is installed together with libtool, you may wish
+-# to include libltdl in the distribution of your package, for the convenience
+-# of users of your package that don't have libtool or libltdl installed.
+-#
+-# The most simplistic way to add libltdl to your package is to copy the
+-# source files, 'ltdl.c' and 'ltdl.h', to a source directory withing your
+-# package and to build and link them along with the rest of your sources.
+-#
+-# To do this, you must add a call to the 'AC_LIB_LTDL' macro to your package's
+-# 'configure.in' to perform the required configure time checks in order that
+-# 'ltdl.o' is built correctly.
+-#
+-# This method does have its problems though: if you try to link the package
+-# binaries with an installed libltdl, or a library which depends on libltdl,
+-# you may have problems with duplicate symbol definitions.
+-#
+-# In order to enable this flavor of libltdl, you should add the line
+-# 'AC_LIBLTDL_CONVENIENCE' to your `configure.in', before 'AC_PROG_LIBTOOL'.
+-#
+-# In order to select the installable version of libltdl, you should add a
+-# call of the macro 'AC_LIBLTDL_INSTALLABLE' to your 'configure.in' before
+-# 'AC_PROG_LIBTOOL'. This macro will check whether libltdl is already
+-# installed and, if not, request the libltdl embedded in your package to be
+-# built and installed.
+-#
+-# Whatever macro you use, it is up to you to ensure that your 'configure.in'
+-# will configure libltdl, using 'AC_CONFIG_SUBDIRS', and that your 'Makefile's
+-# will start sub-makes within libltdl's directory, using automake's SUBDIRS,
+-# for example. Both macros define the shell variables LIBLTDL, to the link flag
+-# that you should use to link with libltdl, and LTDLINCL, to the preprocessor
+-# flag that you should use to compile with programs that include 'ltdl.h'. It
+-# is up to you to use 'AC_SUBST' to ensure that this variable will be available
+-# in 'Makefile's, or add them to variables that are 'AC_SUBST'ed by default,
+-# such as LIBS and CPPFLAGS.
+-#
+-# So, when you want to link a program with libltdl, be it a convenience,
+-# installed or installable library, just compile with '$(LTDLINCL)' and link
+-# it with '$(LIBLTDL)', using libtool.
+-#
+-# You should probably also add 'AC_LIBTOOL_DLOPEN' to your 'configure.in' before
+-# 'AC_PROG_LIBTOOL', otherwise libtool will assume no dlopening mechanism is
+-# supported, and revert to dlpreopening, which is probably not what you want.
+-#
+-# The following example shows you how to embed the convenience libltdl
+-# in your package. In order to use the installable variant just replace
+-# 'AC_LIBLTDL_CONVENIENCE' with 'AC_LIBLTDL_INSTALLABLE'. We assume that libltdl
+-# was embedded using 'libtoolize --ltdl':
+-#
+-# configure.in:
+-#
+-# ...
+-# dnl Enable building of the convenience library
+-# dnl and set LIBLTDL accordingly
+-# AC_LIBLTDL_CONVENIENCE
+-# dnl Substitute LTDLINCL and LIBLTDL in the Makefiles
+-# AC_SUBST(LTDLINCL)
+-# AC_SUBST(LIBLTDL)
+-# dnl Check for dlopen support
+-# AC_LIBTOOL_DLOPEN
+-# dnl Configure libtool
+-# AC_PROG_LIBTOOL
+-# dnl Configure libltdl
+-# AC_CONFIG_SUBDIRS(libltdl)
+-# ...
+-#
+-# Makefile.am:
+-#
+-# ...
+-# SUBDIRS = libltdl
+-#
+-# INCLUDES = $(LTDLINCL)
+-#
+-# myprog_LDFLAGS = -export-dynamic
+-# # The quotes around -dlopen below fool automake <= 1.4 into accepting it
+-# myprog_LDADD = $(LIBLTDL) "-dlopen" self "-dlopen" foo1.la
+-# myprog_DEPENDENCIES = $(LIBLTDL) foo1.la
+-# ...
+-#
+-# -----------------------------------------------------------------------------
+-
+-AC_LIB_LTDL() # (we need the ltdl libtool library)
++LT_INIT([dlopen win32-dll disable-static])
++LTDL_INIT([])
+ AC_SUBST([LIBTOOL_DEPS]) # (see PROGRAMMING NOTE above)
+
+
+diff --git a/decNumber/Makefile.am b/decNumber/Makefile.am
+index 3c20bdd..fd3149f 100644
+--- a/decNumber/Makefile.am
++++ b/decNumber/Makefile.am
+@@ -37,13 +37,11 @@ else
+ endif
+
+ if OPTION_DYNAMIC_LOAD
+- LTDL = ../ltdl.c
+ LIB_LD_FLAGS = -export-dynamic \
+ $(XSTATIC) \
+ -no-undefined \
+ -avoid-version
+ else
+- LTDL =
+ LIB_LD_FLAGS = $(XSTATIC) \
+ -no-undefined \
+ -avoid-version
+diff --git a/hdl.h b/hdl.h
+index 656e831..08b005a 100644
+--- a/hdl.h
++++ b/hdl.h
+@@ -157,7 +157,7 @@ typedef struct _DLLENT { /* DLL entry */
+ #elif defined(_MSVC_)
+ #define HDL_MODULE_SUFFIX ".dll"
+ #else
+- #define HDL_MODULE_SUFFIX ".la"
++ #define HDL_MODULE_SUFFIX ".so"
+ #endif
+ #endif
+
+diff --git a/herclin.c b/herclin.c
+index a4b0494..1f935aa 100644
+--- a/herclin.c
++++ b/herclin.c
+@@ -26,7 +26,7 @@
+ /* This must be included if HDL uses the */
+ /* libtool ltdl convenience library */
+
+-#include "ltdl.h"
++#include <ltdl.h>
+ #endif
+
+
+--
+1.8.1.4
+
+
+From 1190a8f19ebdc6a5281cc56b5a35147c7262f31c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan(a)danny.cz>
+Date: Fri, 31 May 2013 19:50:36 +0200
+Subject: [PATCH 2/2] add manual page for hercules
+
+---
+ man/Makefile.am | 2 +-
+ man/hercules.1 | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 75 insertions(+), 1 deletion(-)
+ create mode 100644 man/hercules.1
+
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 324d87e..7822826 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,4 +1,4 @@
+-man_MANS = cckddiag.1 cckd.4 dasdseq.1
++man_MANS = cckddiag.1 cckd.4 dasdseq.1 hercules.1
+
+ EXTRA_DIST = $(man_MANS)
+
+diff --git a/man/hercules.1 b/man/hercules.1
+new file mode 100644
+index 0000000..a0f2028
+--- /dev/null
++++ b/man/hercules.1
+@@ -0,0 +1,74 @@
++.TH HERCULES 1 "May 2013" "Hercules Version 3.08.2" "User Commands"
++.SH NAME
++\fBHercules\fR \- IBM System/370, ESA/390, and z/Architecture Emulator
++.SH SYNOPSIS
++.B hercules
++[\fB\-f\fR \fIconfig\-filename\fR]
++[\fB\-d\fR]
++[\fB\-b\fR \fIlogo\-filename\fR]
++[\fB\-p\fR \fIdyn\-load\-dir\fR] [[\fB\-l\fR \fIdynmod\-to\-load\fR]...]
++[> \fIlogfile\fR]
++.SH DESCRIPTION
++\fBHercules\fR is a software implementation of the System/370, ESA/390 and
++z/Architecture mainframe architectures.
++
++It means that your PC can emulate an IBM mainframe processor. The mainframe
++can range from a System/360 to a z10 - running in "S/370" mode, "ESA/390"
++mode, or "z/Architecture" mode.
++
++\fBHercules\fR executes S/370, ESA/390, and z/Architecture instructions and channel
++programs. It emulates mainframe I/O devices by using PC devices. For example,
++3390 DASD devices are emulated by large files on your hard disk, and local 3270
++screens are emulated by tn3270 sessions. (Note: Not all 370 and 390 features
++have been implemented in \fBHercules\fR. Also, certain non-standard models, 360/20s,
++and the 360/67 virtual memory mode are not emulated.)
++
++\fBHercules\fR implements only the raw S/370, ESA/390, and z/Architecture instruction
++set; it does not provide any operating system facilities. This means that you
++need to provide an operating system or standalone program which \fBHercules\fR can
++load from an emulated disk or tape device. You will have to write the operating
++system or standalone program yourself, unless you can manage to obtain
++a license from IBM to run one of their operating systems on your PC, or use
++IBM programs and operating systems which have been placed in the public domain.
++.SH OPTIONS
++.TP
++\fB\-f\fR \fIconfig\-filename\fR
++Sets the name of the configuration file. The default, if none is specified, is
++\fBhercules.cnf\fR. The default may be overridden via the \fBHERCULES_CNF\fR
++environment variable.
++.TP
++\fB\-d\fR
++Specifies that Hercules is to be run in 'daemon' mode, wherein it runs invisibly
++with no attached console.
++.TP
++\fB\-b\fR \fIlogo\-filename\fR
++Sets the name of the file containg the screen logo that's presented when a 3270
++terminal connects. When not specified the default \fBherclogo.txt\fR file is
++looked for and when not found the built-in logo is used.
++.TP
++\fB\-p\fR \fIdyn\-load\-dir\fR
++Sets the directory from which dynamic modules are to be loaded. The default depends
++on the host platform on which Hercules is being run. This option overrides the default.
++.TP
++\fB\-l\fR \fIdynmod\-to\-load\fR
++Sets the name of an additional dynamic module to be loaded at startup. More than one
++additional module may be specified, although each must be preceded with the \fB-l\fR
++option specifier.
++.TP
++\fIlogfile\fR
++Sets an optional log file which will receive a copy of all messages displayed
++on the control panel
++.SH FILES
++.B hercules.cnf
++.SH ENVIRONMENT
++.B HERCULES_CNF
++.SH AUTHORS
++\fBHercules\fR was created by Roger Bowler. Jay Maynard (“the Tron Guy”) was the maintainer
++from 2000 to 2012. Jan Jaeger designed and implemented many of the advanced features
++of \fBHercules\fR, including dynamic reconfiguration, integrated console, interpretive
++execution and z/Architecture support. A dedicated crew of programmers is constantly
++at work implementing new features and fixing bugs.
++
++This manual page was written by Dan Horák using text snippets from the \fBHercules\fR web site.
++.SH SEE ALSO
++\fBHercules\fR Homepage: \fBhttp://www.hercules-s390.eu\fR
+--
+1.8.1.4
+
diff --git a/hercules.spec b/hercules.spec
index f3d1ce3..4e0bd31 100644
--- a/hercules.spec
+++ b/hercules.spec
@@ -1,6 +1,6 @@
Summary: Hercules S/370, ESA/390, and z/Architecture emulator
Name: hercules
-Version: 3.08.1
+Version: 3.08.2
Release: 1%{?dist}
License: QPL
Group: Applications/Emulators
@@ -11,9 +11,8 @@ Source1: hercules.cnf
Source2: hercules-run
Source3: README-rpm
Source4: generic.prm
-Patch0: %{name}-3.08.1-ltdl.patch
+Patch0: %{name}-3.08.2-fedora.patch
Patch1: %{name}-3.08.1-util.patch
-Patch2: %{name}-3.08.1-intl.patch
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: libcap-devel
@@ -33,11 +32,10 @@ printer-keyboard, 3270 terminal, and 3287 printer devices.
%prep
%setup -q -n spinhawk-%{version}
-%patch0 -p1 -b .ltdl
+%patch0 -p1 -b .fedora
%patch1 -p1 -b .util
-%patch2 -p1 -b .intl
-autoreconf
+autoreconf -f -i
# remove unbundled stuff
rm ltdl.[ch]
@@ -51,17 +49,13 @@ rm util/Makefile*
%build
%configure \
--enable-external-gui \
- --enable-dependency-tracking \
--enable-optimization="%{optflags}"
-# we want system libtool
-rm libtool
-
-make %{?_smp_mflags} LIBTOOL=libtool
+make %{?_smp_mflags}
%install
-make install DESTDIR=%{buildroot} LIBTOOL=libtool
+make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/hercules
# Install config files
@@ -81,9 +75,7 @@ mkdir -p %{buildroot}%{_sharedstatedir}/hercules
rm html/Makefile*
# Remove libtool archives
-rm %{buildroot}%{_libdir}/hercules/*.a
rm %{buildroot}%{_libdir}/hercules/*.la
-rm %{buildroot}%{_libdir}/*.a
rm %{buildroot}%{_libdir}/*.la
@@ -105,6 +97,11 @@ rm %{buildroot}%{_libdir}/*.la
%changelog
+* Fri May 31 2013 Dan Horák <dan[at]danny.cz> - 3.08.2-1
+- updated to 3.08.2
+- updated build system for aarch64 (#925546)
+- add manual page for hercules (#962722)
+
* Fri Mar 15 2013 Dan Horák <dan[at]danny.cz> - 3.08.1-1
- updated to 3.08.1
diff --git a/sources b/sources
index f5f462a..c668db5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4d8d96e424fb3a31b18f3bdfa1d7f755 3.08.1.tar.gz
+f4b8ff3ada795629dde6c2af856f8343 3.08.2.tar.gz