forked from pool/x3270
d47acd6e5e
Accepted submit request 52524 from user prusnak OBS-URL: https://build.opensuse.org/request/show/52524 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/x3270?expand=0&rev=12
290 lines
8.7 KiB
RPMSpec
290 lines
8.7 KiB
RPMSpec
#
|
|
# spec file for package x3270 (Version 3.2.20)
|
|
#
|
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
|
|
Name: x3270
|
|
%if %suse_version > 910
|
|
BuildRequires: ncurses-devel xorg-x11 xorg-x11-devel
|
|
%else
|
|
BuildRequires: XFree86 XFree86-devel
|
|
%endif
|
|
%define fontdir /usr/share/fonts/misc
|
|
%define appdefdir /usr/share/X11
|
|
%define xbindir /usr/bin
|
|
%define xmandir /usr/share/man
|
|
%define xincludes /usr/include
|
|
%define xlibraries /usr/%{_lib}
|
|
BuildRequires: freetype2 tcl-devel
|
|
License: MIT License (or similar)
|
|
Group: System/X11/Terminals
|
|
AutoReqProv: on
|
|
Version: 3.2.20
|
|
Release: 509
|
|
Summary: A Family of IBM 3270 Terminal Emulators
|
|
Url: http://x3270.bgp.nu
|
|
Source0: http://x3270.bgp.nu/download/x3270-334p4.tgz
|
|
Source1: http://x3270.bgp.nu/download/s3270-334p3.tgz
|
|
Source2: http://x3270.bgp.nu/download/tcl3270-334p3.tgz
|
|
Source3: http://x3270.bgp.nu/download/pr3287-334.tgz
|
|
Source4: http://x3270.bgp.nu/download/c3270-334p3.tgz
|
|
Source5: README.SuSE
|
|
Source6: http://x3270.bgp.nu/download/x026-1.0.tgz
|
|
Patch: mknod.patch
|
|
Patch100: usr_local_bin.patch
|
|
Patch101: tcl8.4.patch
|
|
Patch102: x026-offset.diff
|
|
Patch103: gcc-322.diff
|
|
Patch104: pr3270-memleak.patch
|
|
Patch105: gcc4.diff
|
|
Group: System/X11/Terminals
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
This package contains a family of IBM 3270 mainframe terminal
|
|
emulators:
|
|
|
|
* terminal emulators for interactive use x3270 X Window System
|
|
c3270 curses based
|
|
|
|
* terminal emulators for scripted use s3270 see the x3270-script
|
|
man page tcl3270 Tcl based
|
|
|
|
* printer emulator pr3287
|
|
|
|
* do not miss the punch card puncher emulator x026
|
|
|
|
x3270 is an IBM 3270 terminal emulator for the X Window System. x3270
|
|
runs over a telnet connection (with or without TN3270E) and emulates
|
|
either an IBM 3279 (color) or 3278 (monochrome). It supports APL2
|
|
characters, IND$FILE file transfer, NVT mode, a pop-up keypad for
|
|
3270-specific keys, alternative keymaps, 3287 printer sessions, and a
|
|
scrollbar and has extensive debugging and scripting facilities.
|
|
|
|
c3270 is the curses-based version of x3270. It runs on any dumb
|
|
terminal (an xterm or a console, for example), and supports (almost)
|
|
all of the x3270 features. c3270 scripts are compatible with x3270
|
|
scripts, and the subset of command line options and resource
|
|
definitions are also compatible.
|
|
|
|
s3270 is a scripting-only version of x3270. This program is intended
|
|
primarily for writing "screen-scraping" applications, for example a CGI
|
|
back-end script that retrieves database information from a mainframe.
|
|
|
|
tcl3270 is a Tcl-based 3270 scripting engine. It lets you write Tcl
|
|
scripts that manipulate 3270 sessions, and is quite a bit easier to set
|
|
up and use than s3270.
|
|
|
|
pr3287 is the printer companion for the above tools, and allows printer
|
|
output from a 3270 session to be directed to a Unix printer queue.
|
|
|
|
x026 is a fun toy which emulates an x026 puncher.
|
|
|
|
%prep
|
|
# the source-packages all extract to corresponding subdirectories.
|
|
# they are all expanded below a 'all3270' directory. this directory
|
|
# will also hold the common config.cache
|
|
# -q uietly -c reate -name all3270
|
|
# -a fter changing into all3270, expand sources
|
|
%setup -q -c -n all3270 -T -a0 -a1 -a2 -a3 -a4 -a6
|
|
%patch
|
|
%patch100
|
|
%patch101
|
|
%patch102
|
|
%patch103
|
|
%patch104
|
|
%patch105
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export LIBX3270DIR=/etc/x3270
|
|
# the tcl variant
|
|
cd tcl3270-3.3
|
|
%{?suse_update_config:%{suse_update_config -f .}}
|
|
autoconf
|
|
./configure \
|
|
--cache-file=../config.cache \
|
|
--bindir=%{_bindir} \
|
|
--prefix=%{_prefix} \
|
|
--mandir=%{_mandir} \
|
|
--with-tcl=%tcl_version
|
|
make LIBX3270DIR=${LIBX3270DIR}
|
|
cd ..
|
|
# the X variant
|
|
cd x3270-3.3
|
|
%{?suse_update_config:%{suse_update_config -f .}}
|
|
# pr3287 is built from the separate source pr3287*.tgz above.
|
|
./configure \
|
|
--cache-file=../config.cache \
|
|
--prefix=%{_prefix} \
|
|
--enable-app-defaults \
|
|
--without-pr3287 \
|
|
--x-includes=%{xincludes} \
|
|
--x-libraries=%{xlibraries} \
|
|
--mandir=%{xmandir} \
|
|
--with-all-xinstall \
|
|
--with-fontdir=%{fontdir}
|
|
xmkmf -a
|
|
make depend
|
|
make LIBX3270DIR=${LIBX3270DIR}
|
|
cd ..
|
|
# the console variant
|
|
cd c3270-3.3
|
|
%{?suse_update_config:%{suse_update_config -f .}}
|
|
./configure \
|
|
--cache-file=../config.cache \
|
|
--bindir=%{_bindir} \
|
|
--prefix=%{_prefix} \
|
|
--mandir=%{_mandir} \
|
|
--without-pr3287
|
|
make LIBX3270DIR=${LIBX3270DIR}
|
|
cd ..
|
|
# the scripting variant
|
|
cd s3270-3.3
|
|
%{?suse_update_config:%{suse_update_config -f .}}
|
|
./configure \
|
|
--cache-file=../config.cache \
|
|
--bindir=%{_bindir} \
|
|
--prefix=%{_prefix} \
|
|
--mandir=%{_mandir}
|
|
make LIBX3270DIR=${LIBX3270DIR}
|
|
cd ..
|
|
# the printer
|
|
cd pr3287-3.3
|
|
%{?suse_update_config:%{suse_update_config -f .}}
|
|
./configure \
|
|
--cache-file=../config.cache \
|
|
--bindir=%{_bindir} \
|
|
--prefix=%{_prefix} \
|
|
--mandir=%{_mandir}
|
|
make LIBX3270DIR=${LIBX3270DIR}
|
|
cd ..
|
|
# the IBM 026 keypunch emulator
|
|
cd x026-1.0
|
|
xmkmf
|
|
make x026
|
|
cd ..
|
|
|
|
%install
|
|
export LIBX3270DIR=/etc/x3270
|
|
# abort on error
|
|
set -e
|
|
# if RPM_BUILD_ROOT is set, clean it up
|
|
${RPM_BUILD_ROOT:+rm -rf $RPM_BUILD_ROOT}
|
|
# create the default directory structure in the build root
|
|
mkdir --parents $RPM_BUILD_ROOT{/usr/bin,%{_mandir}/{man1,man5}}
|
|
# the X variant
|
|
cd x3270-3.3
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install.man
|
|
# make install does a mkfontdir, that creates a fonts.dir we don't
|
|
# want in the package. remove that:
|
|
rm $RPM_BUILD_ROOT%{fontdir}/fonts.dir
|
|
install -d -m 755 \
|
|
$RPM_BUILD_ROOT%{appdefdir}/app-defaults
|
|
install -m 644 X3270.xad \
|
|
$RPM_BUILD_ROOT%{appdefdir}/app-defaults/X3270
|
|
# clean up:
|
|
# remove remainders of patching the examples, if existing
|
|
rm -v Examples/*.orig || true
|
|
cd ..
|
|
# the console variant
|
|
cd c3270-3.3
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install.man
|
|
cd ..
|
|
# the scripting variant
|
|
cd s3270-3.3
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install.man
|
|
cd ..
|
|
# the tcl variant
|
|
cd tcl3270-3.3
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install.man
|
|
cd ..
|
|
# the printer
|
|
cd pr3287-3.3
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install
|
|
make DESTDIR=$RPM_BUILD_ROOT LIBX3270DIR=${LIBX3270DIR} install.man
|
|
cd ..
|
|
# the IBM 026 keypunch emulator
|
|
cd x026-1.0
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
cd ..
|
|
# move site config files to the standard locations
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/x3270
|
|
# this is a per-site, not a per-machine config file
|
|
chmod 644 $RPM_BUILD_ROOT/etc/x3270/ibm_hosts
|
|
cp -a %{S:5} .
|
|
# remove man-pages in /usr/man
|
|
rm -rf $RPM_BUILD_ROOT/usr/man/man{1,5}
|
|
# set permissions correct
|
|
chmod ugo-x $RPM_BUILD_ROOT/usr/share/man/man{1,5}/*
|
|
|
|
%post
|
|
%run_suseconfig_fonts
|
|
|
|
%postun
|
|
%run_suseconfig_fonts
|
|
|
|
%clean
|
|
#${RPM_BUILD_ROOT:+rm -rf $RPM_BUILD_ROOT}
|
|
|
|
%files
|
|
%defattr(-,root,root,755)
|
|
# common files
|
|
%dir /etc/x3270
|
|
%config(noreplace) /etc/x3270/ibm_hosts
|
|
%doc /usr/share/man/man5/ibm_hosts.5.gz
|
|
%doc /usr/share/man/man1/x3270if.1.gz
|
|
%doc /usr/share/man/man1/x3270-script.1.gz
|
|
/usr/bin/x3270if
|
|
# x3270
|
|
%{xbindir}/x3270
|
|
%config %{appdefdir}/app-defaults/X3270
|
|
%dir %{fontdir}
|
|
%{fontdir}/*
|
|
%doc %{xmandir}/man1/x3270.1x.gz
|
|
%doc --parents x3270-3.3/Examples
|
|
%doc --parents x3270-3.3/html
|
|
%doc --parents x3270-3.3/Playback
|
|
# c3270
|
|
/usr/bin/c3270
|
|
%doc /usr/share/man/man1/c3270.1.gz
|
|
%doc --parents c3270-3.3/html
|
|
# pr3287
|
|
/usr/bin/pr3287
|
|
%doc /usr/share/man/man1/pr3287.1.gz
|
|
%doc --parents pr3287-3.3/html
|
|
# s3270
|
|
/usr/bin/s3270
|
|
%doc /usr/share/man/man1/s3270.1.gz
|
|
%doc --parents s3270-3.3/Examples
|
|
%doc --parents s3270-3.3/html
|
|
# tcl3270
|
|
/usr/bin/tcl3270
|
|
%doc /usr/share/man/man1/tcl3270.1.gz
|
|
%doc --parents tcl3270-3.3/Examples
|
|
%doc --parents tcl3270-3.3/html
|
|
# x026
|
|
%{xbindir}/x026
|
|
%doc %attr(644,root,root) README.SuSE
|
|
|
|
%changelog
|