From e425c74340596f7ae27a00141e1908515f150687674c3f253870d06745cbeb89 Mon Sep 17 00:00:00 2001 From: Mark Post Date: Wed, 4 May 2022 19:53:18 +0000 Subject: [PATCH] Accepting request 974182 from home:susnux:branches:Base:System Update to current stable release 4.1 ga13 OBS-URL: https://build.opensuse.org/request/show/974182 OBS-URL: https://build.opensuse.org/package/show/Base:System/x3270?expand=0&rev=57 --- suite3270-4.0ga14-src.tgz | 3 - suite3270-4.1ga13-src.tgz | 3 + x3270-missing-file.patch | 255 ------------------------------------ x3270-missing-include.patch | 12 -- x3270.changes | 27 ++++ x3270.spec | 15 +-- 6 files changed, 35 insertions(+), 280 deletions(-) delete mode 100644 suite3270-4.0ga14-src.tgz create mode 100644 suite3270-4.1ga13-src.tgz delete mode 100644 x3270-missing-file.patch delete mode 100644 x3270-missing-include.patch diff --git a/suite3270-4.0ga14-src.tgz b/suite3270-4.0ga14-src.tgz deleted file mode 100644 index 5c64df4..0000000 --- a/suite3270-4.0ga14-src.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9796f2b47ed222776d4fe2756a0db3617f84dbbf02d0a9374c36a13b1b416375 -size 3318277 diff --git a/suite3270-4.1ga13-src.tgz b/suite3270-4.1ga13-src.tgz new file mode 100644 index 0000000..599343a --- /dev/null +++ b/suite3270-4.1ga13-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31b256f018099a613c4abc1836f72d00cd18def9df2486ce0ab01130bf9ca88e +size 3902786 diff --git a/x3270-missing-file.patch b/x3270-missing-file.patch deleted file mode 100644 index 2ea6439..0000000 --- a/x3270-missing-file.patch +++ /dev/null @@ -1,255 +0,0 @@ -Index: suite3270-3.4/x3270/qcpp.c -=================================================================== ---- /dev/null -+++ suite3270-3.4/x3270/qcpp.c -@@ -0,0 +1,250 @@ -+/* -+ * Copyright (c) 1997-2009, Paul Mattes. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * * Neither the name of Paul Mattes nor his contributors may be used -+ * to endorse or promote products derived from this software without -+ * specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY PAUL MATTES "AS IS" AND ANY EXPRESS -+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+ * DISCLAIMED. IN NO EVENT SHALL PAUL MATTES BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -+ * POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * Quick C preprocessor substitute, for converting X3270.ad to X3270.ad. -+ * -+ * Understands a limited subset of #ifdef/#ifndef/#else/#endif syntax, and -+ * understands -Dsym or -Usym, but not -Dsym=xxx. -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#define MAX_NEST 50 -+ -+char *me; -+int color = 0; -+ -+typedef struct sym { -+ struct sym *next; -+ char *name; -+ int sl; -+} sym_t; -+ -+sym_t *syms = NULL; -+ -+static int -+is_sym(char *name) -+{ -+ sym_t *s; -+ int sl; -+ -+ sl = strlen(name); -+ if (sl > 0 && name[sl - 1] == '\n') -+ sl--; -+ -+ for (s = syms; s != NULL; s = s->next) { -+ if (s->sl == sl && !strncmp(name, s->name, sl)) -+ return 1; -+ } -+ return 0; -+} -+ -+static void -+usage(void) -+{ -+ fprintf(stderr, "usage: %s [-v] [-Dname]... [-Uname]... " -+ "[infile [outfile]]\n", me); -+ exit(1); -+} -+ -+int -+main(int argc, char *argv[]) -+{ -+ int c; -+ char buf[1024]; -+ FILE *f, *t, *o; -+ int nest = 0; -+ int ln = 0; -+ int pass[MAX_NEST]; -+ int elsed[MAX_NEST]; -+ sym_t *s, *prev; -+ int verbose = 0; -+ -+ if ((me = strrchr(argv[0], '/')) != (char *)NULL) -+ me++; -+ else -+ me = argv[0]; -+ -+ while ((c = getopt(argc, argv, "D:U:v")) != -1) { -+ switch (c) { -+ case 'D': -+ if (!is_sym(optarg)) { -+ s = malloc(sizeof(sym_t) + strlen(optarg) + 1); -+ if (s == NULL) { -+ fprintf(stderr, "out of memory\n"); -+ exit(1); -+ } -+ s->name = (char *)(s + 1); -+ (void) strcpy(s->name, optarg); -+ s->sl = strlen(s->name); -+ s->next = syms; -+ syms = s; -+ if (verbose) -+ printf("defined %s\n", optarg); -+ } -+ break; -+ case 'U': -+ prev = NULL; -+ -+ for (s = syms; s != NULL; s = s->next) { -+ if (!strcmp(s->name, optarg)) { -+ if (prev != NULL) -+ prev->next = s->next; -+ else -+ syms = s->next; -+ free(s); -+ break; -+ } -+ prev = s; -+ } -+ break; -+ case 'v': -+ verbose = 1; -+ break; -+ default: -+ usage(); -+ break; -+ } -+ } -+ switch (argc - optind) { -+ case 0: -+ f = stdin; -+ break; -+ case 1: -+ case 2: -+ if (strcmp(argv[optind], "-")) { -+ f = fopen(argv[optind], "r"); -+ if (f == (FILE *)NULL) { -+ perror(argv[optind]); -+ exit(1); -+ } -+ } else -+ f = stdin; -+ break; -+ default: -+ usage(); -+ break; -+ } -+ -+ t = tmpfile(); -+ if (t == NULL) { -+ perror("tmpfile"); -+ exit(1); -+ } -+ -+ pass[nest] = 1; -+ -+ while (fgets(buf, sizeof(buf), f) != (char *)NULL) { -+ ln++; -+ if (buf[0] != '#') { -+ if (pass[nest]) -+ fprintf(t, "%s", buf); -+ continue; -+ } -+ if (!strncmp(buf, "#ifdef ", 7)) { -+ if (verbose) -+ printf("%d: #ifdef %s -> %d\n", ln, buf + 7, -+ is_sym(buf + 7)); -+ pass[nest+1] = pass[nest] && is_sym(buf + 7); -+ nest++; -+ elsed[nest] = 0; -+ } else if (!strncmp(buf, "#ifndef ", 8)) { -+ if (verbose) -+ printf("%d: #ifndef %s -> %d\n", ln, buf + 8, -+ !is_sym(buf + 8)); -+ pass[nest+1] = pass[nest] && !is_sym(buf + 8); -+ nest++; -+ elsed[nest] = 0; -+ } else if (!strcmp(buf, "#else\n")) { -+ if (!nest) { -+ fprintf(stderr, "line %d: #else without #if\n", -+ ln); -+ exit(1); -+ } -+ if (elsed[nest]) { -+ fprintf(stderr, "line %d: duplicate #else\n", -+ ln); -+ exit(1); -+ } -+ if (pass[nest]) -+ pass[nest] = 0; -+ else if (pass[nest-1]) -+ pass[nest] = 1; -+ elsed[nest] = 1; -+ } else if (!strcmp(buf, "#endif\n")) { -+ if (!nest) { -+ fprintf(stderr, "line %d: #endif without #if\n", -+ ln); -+ exit(1); -+ } -+ --nest; -+ } else { -+ fprintf(stderr, "line %d: unknown directive\n", ln); -+ exit(1); -+ } -+#if 0 -+ fprintf(t, "! line %d nest %d pass[nest] %d\n", -+ ln, nest, pass[nest]); -+#endif -+ } -+ if (nest > 0) { -+ fprintf(stderr, "missing #endif\n"); -+ exit(1); -+ } -+ -+ /* Close the input file, if there was one. */ -+ if (f != stdin) -+ fclose(f); -+ -+ /* Open the output file, if there is one. */ -+ if (argc - optind == 2) { -+ o = fopen(argv[optind + 1], "w"); -+ if (o == NULL) { -+ perror(argv[optind + 1]); -+ exit(1); -+ } -+ } else { -+ o = stdout; -+ } -+ -+ /* Copy the temp file to the output file. */ -+ rewind(t); -+ while (fgets(buf, sizeof(buf), t) != NULL) { -+ fprintf(o, "%s", buf); -+ } -+ fclose(t); -+ if (o != stdout) -+ fclose(o); -+ -+ return 0; -+} diff --git a/x3270-missing-include.patch b/x3270-missing-include.patch deleted file mode 100644 index 958954b..0000000 --- a/x3270-missing-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: suite3270-3.4/x3270/x3270.c -=================================================================== ---- suite3270-3.4.orig/x3270/x3270.c -+++ suite3270-3.4/x3270/x3270.c -@@ -76,6 +76,7 @@ - #include "utils.h" - #include "xactions.h" - #include "xappres.h" -+#include "xglobals.h" - #include "xio.h" - #include "xkybd.h" - #include "xmenubar.h" diff --git a/x3270.changes b/x3270.changes index 5bc0fef..87d2513 100644 --- a/x3270.changes +++ b/x3270.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Sun May 1 11:10:02 UTC 2022 - Ferdinand Thiessen + +- Update to current stable release 4.1 ga13: + * Added a macros menu to c3270 and wc3270. + * Corrected support for the macros resource without a qualifying host name. + * The entire list of command-line options is now displayed only + with the --help command-line option, not for every unknown option. + * Changed the default for unlockDelay in all emulators from + true to false. This is a very significant change. + * When input from the String() action overflows a field, + the cursor now lands in the correct location. + * When a host has multiple addresses, the emulators (except pr3287) + will now reliably try up to four of them. + * Errors from the OpenSSL library are now displayed correctly. + * When a connection fails to a TLS-tunnel host (one specified with + the L: prefix), the correct error message is now displayed. + * Fixed a c3270 crash when a connection is opened from a remote + source (HTTP server or script port) while at the c3270> prompt. + * Fixed a c3270 crash when the -secure and -trace command-line + options are used together. + * A key typed into a full field in insert mode no longer overwrites + the character under the cursor. +- Drop upstream resolved patches: + * x3270-missing-file.patch + * x3270-missing-include.patch + ------------------------------------------------------------------- Mon May 31 13:18:05 UTC 2021 - Ferdinand Thiessen diff --git a/x3270.spec b/x3270.spec index 800fbef..9906f8c 100644 --- a/x3270.spec +++ b/x3270.spec @@ -1,7 +1,7 @@ # # spec file for package x3270 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,11 +16,11 @@ # -%define _suffix ga14 +%define _suffix ga13 %define _fullname suite3270-%{version}%{_suffix} %define _x026ver 1.2 Name: x3270 -Version: 4.0 +Version: 4.1 Release: 0 Summary: A Family of IBM 3270 Terminal Emulators License: MIT @@ -33,8 +33,6 @@ Source2: x3270.desktop Patch0: mknod.patch Patch100: usr_local_bin.patch Patch102: x026-offset.diff -Patch105: x3270-missing-include.patch -Patch106: x3270-missing-file.patch BuildRequires: bdftopcf BuildRequires: fdupes BuildRequires: fontpackages-devel @@ -113,8 +111,8 @@ x026 is a fun toy which emulates an x026 puncher. %patch0 %patch100 %patch102 -%patch105 -p1 -%patch106 -p1 + +find . -name ".gitignore" -delete %build export CFLAGS="%{optflags}" @@ -143,8 +141,6 @@ cd .. export LIBX3270DIR=%{_sysconfdir}/x3270 # create the default directory structure in the build root mkdir --parents %{buildroot}{%{_bindir},%{_mandir}/{man1,man5}} -chmod -x x3270/html/Keymap.html -chmod -x s3270/Examples/cms_cmd.expect make DESTDIR=%{buildroot} LIBX3270DIR=${LIBX3270DIR} install make DESTDIR=%{buildroot} LIBX3270DIR=${LIBX3270DIR} install.man # the IBM 026 keypunch emulator @@ -196,7 +192,6 @@ install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/applications/x3270.desktop %config(noreplace) %{_sysconfdir}/x3270/ibm_hosts %{_mandir}/man5/ibm_hosts.5%{?ext_man} %{_mandir}/man1/x3270if.1%{?ext_man} -%{_mandir}/man1/x3270-script.1%{?ext_man} %{_bindir}/x3270if # x3270 %{_bindir}/x3270