# # 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