[hercules] - updated to 3.08.2 - updated build system for aarch64 (#925546) - add manual page for hercules (#96

Dan Horák sharkcz at fedoraproject.org
Fri May 31 21:10:47 UTC 2013


commit 0a1a7b106a98e7943d77817e36758c4103ef46d1
Author: Dan Horák <dan at 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 at 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 at 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


More information about the scm-commits mailing list