commit d4a654a14525224f1176931bd1702fad22c8abf0 Author: Dan Horák dan@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 6688c16..d6a4c6f 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@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@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%5CfR +-- +1.8.1.4 + diff --git a/hercules.spec b/hercules.spec index 20f9555..d71bb45 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
scm-commits@lists.fedoraproject.org