From 402c3ae13ac12e825f3ed454f750cfcabcb5c6b0 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Sun, 18 Aug 2024 13:37:59 -0300 Subject: [PATCH 01/40] Updating package control files. --- CHANGELOG | 79 ++++++++++++++++++++++++++++++++++++++++++++++ arch/PKGBUILD | 2 +- debian/changelog | 2 +- debian/lib3270.dsc | 2 +- rpm/_service | 2 +- rpm/_servicedata | 2 +- rpm/lib3270.spec | 2 +- 7 files changed, 85 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2bcc1c73..96441c27 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Sat Aug 17 16:00:46 UTC 2024 - perry.werneck@gmail.com + +- Update to version 5.4+git20240817: + * Update codeql.yml + * Debugging publisher. + * Debuggin macos publisher. + * Updating workflows. + * Debugging macos workflow. + * Debugging macos workflow. + * Debugging macos auto build. + * Update codeql.yml + * Debugging publisher. + * Debuggin macos publisher. + * Debugging macos workflow. + * Debugging macos workflow. + * Updating workflows. + * Debugging macos auto build. + * Another fix for macos build + * Update README.md + * Fixing brew upgrade + * Reverting use of inner functions; doesnt work on macos compiler. + * Trying to fix mac os builds. + * Reactivating brew upgrade. + * Setting state on unexpected exit during the build of ssl_context. + * Disabling 'brew upgrade' in macos workflow. + * Update publish.yml + * Fixing bundler. + * Adding win32 bundle. + * Fixing win32 bundler. + * Debugging msys bundler. + * Adding bundle scripts. + * Fix PA key mapping + * Updating property methods. + * Using nested functions. + * Since windows does not have version control in the system a new method was implemented to check if the lib3270 current revision can work with applications to avoid loading of an incomplete or incompatible version of lib3270. + * Forcing gettext path on MAC os. + * Setting iconv path from brew in macos. + * Just fixing a comment + * Adding field methods splitted from ctlr.c + * Splitting field methods out of ctlr.c, cleaning code. + * Implementing search for data files based on bundle *or* program path. + * Better libname in macos. + * Fixing macos build. + * Fixing macos library name. + * Update README.md + * Updating build instructions on README.md + * Updating translation. + * Disabling FIPS tests Fixing win32 builds + * Update publish.yml + * Update codeql.yml + * Update codeql.yml + * Fixing msvc build. + * Publishing zip file for msvc builds. + * Publish only on 'master' PRs + * Publishing mingw package instead of tar.xz + * Implementing mingw package. + * Update publish.yml + * Update ci-build.sh + * Updating win32 ci build. + * Fixing warning. + * Searching for datafiles on all win32 possible paths. + * Update publish.yml + * Update publish.yml + * Update publish.yml + * Update publish.yml + * Update publish.yml + * Update publish.yml + * Publishing win32 & macos artifacts in the same action. + * Publishing macos artifact. + * Debugging macos build. + * Debugging macos workflow. + * Debugging macos action. + * Update macos.yml + * Testing macos build. + * Updating msys2 workflow. + * Updating msys2 workflow. + * Updating package control files. + ------------------------------------------------------------------- Wed Mar 22 18:14:29 UTC 2023 - perry.werneck@gmail.com diff --git a/arch/PKGBUILD b/arch/PKGBUILD index de15c3b5..738ccddc 100644 --- a/arch/PKGBUILD +++ b/arch/PKGBUILD @@ -2,7 +2,7 @@ pkgname=lib3270 -pkgver=5.4+git20230322 +pkgver=5.4+git20240817 pkgrel=0 pkgdesc="TN3270 Access library" url="https://github.com/PerryWerneck/lib3270" diff --git a/debian/changelog b/debian/changelog index 3ed9dcc2..d85aeec7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -lib3270 (5.4+git20230322-0) unstable; urgency=low +lib3270 (5.4+git20240817-0) unstable; urgency=low * Initial Release diff --git a/debian/lib3270.dsc b/debian/lib3270.dsc index e36d35a1..5ba673dc 100644 --- a/debian/lib3270.dsc +++ b/debian/lib3270.dsc @@ -1,6 +1,6 @@ Format: 1.0 Source: lib3270 -Version: 5.4+git20230322-0 +Version: 5.4+git20240817-0 Binary: lib3270 Maintainer: Perry Werneck Architecture: any diff --git a/rpm/_service b/rpm/_service index 449a01dd..197b546e 100644 --- a/rpm/_service +++ b/rpm/_service @@ -5,7 +5,7 @@ enable perry.werneck@gmail.com https://github.com/PerryWerneck/lib3270.git - @PARENT_TAG@+git%cd + 5.4+git%cd git diff --git a/rpm/_servicedata b/rpm/_servicedata index f2ba90c7..cb5e1b9e 100644 --- a/rpm/_servicedata +++ b/rpm/_servicedata @@ -1,4 +1,4 @@ https://github.com/PerryWerneck/lib3270.git - 76361945fad5c3ed96c5b15cf98d99b4b05f2eaf \ No newline at end of file + b19c4cc54b9e0364f9e9d049737a59ab75edff35 \ No newline at end of file diff --git a/rpm/lib3270.spec b/rpm/lib3270.spec index 4f7032c3..c351a9db 100644 --- a/rpm/lib3270.spec +++ b/rpm/lib3270.spec @@ -17,7 +17,7 @@ # Name: lib3270 -Version: 5.4+git20230322 +Version: 5.4+git20240817 Release: 0 Summary: TN3270 Access library Group: Development/Libraries/C and C++ From 70fdb6a1982f7f89ee7fff43576b824400b354e0 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 22 Aug 2024 22:31:46 -0300 Subject: [PATCH 02/40] Updating package control files, splitting intl methods to private include. --- CHANGELOG | 47 --------------------------------- lib3270.cbp | 1 + src/include/internals.h | 10 +------ src/include/private/intl.h | 35 ++++++++++++++++++++++++ win/x86_64/mingw64-lib3270.spec | 21 ++++++--------- 5 files changed, 45 insertions(+), 69 deletions(-) create mode 100644 src/include/private/intl.h diff --git a/CHANGELOG b/CHANGELOG index 96441c27..f13ca0b3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,77 +4,30 @@ Sat Aug 17 16:00:46 UTC 2024 - perry.werneck@gmail.com - Update to version 5.4+git20240817: * Update codeql.yml * Debugging publisher. - * Debuggin macos publisher. - * Updating workflows. - * Debugging macos workflow. - * Debugging macos workflow. - * Debugging macos auto build. - * Update codeql.yml - * Debugging publisher. - * Debuggin macos publisher. - * Debugging macos workflow. - * Debugging macos workflow. - * Updating workflows. - * Debugging macos auto build. - * Another fix for macos build * Update README.md * Fixing brew upgrade * Reverting use of inner functions; doesnt work on macos compiler. - * Trying to fix mac os builds. - * Reactivating brew upgrade. * Setting state on unexpected exit during the build of ssl_context. - * Disabling 'brew upgrade' in macos workflow. - * Update publish.yml - * Fixing bundler. - * Adding win32 bundle. * Fixing win32 bundler. - * Debugging msys bundler. - * Adding bundle scripts. * Fix PA key mapping * Updating property methods. * Using nested functions. * Since windows does not have version control in the system a new method was implemented to check if the lib3270 current revision can work with applications to avoid loading of an incomplete or incompatible version of lib3270. * Forcing gettext path on MAC os. * Setting iconv path from brew in macos. - * Just fixing a comment * Adding field methods splitted from ctlr.c * Splitting field methods out of ctlr.c, cleaning code. * Implementing search for data files based on bundle *or* program path. * Better libname in macos. - * Fixing macos build. - * Fixing macos library name. * Update README.md - * Updating build instructions on README.md * Updating translation. * Disabling FIPS tests Fixing win32 builds - * Update publish.yml - * Update codeql.yml - * Update codeql.yml - * Fixing msvc build. * Publishing zip file for msvc builds. * Publish only on 'master' PRs * Publishing mingw package instead of tar.xz * Implementing mingw package. - * Update publish.yml - * Update ci-build.sh - * Updating win32 ci build. - * Fixing warning. * Searching for datafiles on all win32 possible paths. - * Update publish.yml - * Update publish.yml - * Update publish.yml - * Update publish.yml - * Update publish.yml - * Update publish.yml * Publishing win32 & macos artifacts in the same action. - * Publishing macos artifact. - * Debugging macos build. - * Debugging macos workflow. - * Debugging macos action. - * Update macos.yml - * Testing macos build. - * Updating msys2 workflow. - * Updating msys2 workflow. * Updating package control files. ------------------------------------------------------------------- diff --git a/lib3270.cbp b/lib3270.cbp index 5eef8052..bf4be677 100644 --- a/lib3270.cbp +++ b/lib3270.cbp @@ -297,6 +297,7 @@ + diff --git a/src/include/internals.h b/src/include/internals.h index 27b0fca3..968ab889 100644 --- a/src/include/internals.h +++ b/src/include/internals.h @@ -57,15 +57,7 @@ #endif /*]*/ // gettext stuff -#ifdef HAVE_LIBINTL -#include -#include -#define _( x ) dgettext(GETTEXT_PACKAGE,x) -#define N_( x ) x -#else -#define _( x ) x -#define N_( x ) x -#endif // HAVE_LIBINTL +#include #define action_name(x) #x diff --git a/src/include/private/intl.h b/src/include/private/intl.h new file mode 100644 index 00000000..faa0d82e --- /dev/null +++ b/src/include/private/intl.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + +/* + * Copyright (C) 2024 Perry Werneck + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + + /** + * @brief Declare INTL. + */ + + #pragma once + #include + + #ifdef HAVE_LIBINTL + #include + #include + #define _( x ) dgettext(GETTEXT_PACKAGE,x) + #define N_( x ) x + #else + #define _( x ) x + #define N_( x ) x + #endif // HAVE_LIBINTL diff --git a/win/x86_64/mingw64-lib3270.spec b/win/x86_64/mingw64-lib3270.spec index 230ebb79..9f10ec66 100644 --- a/win/x86_64/mingw64-lib3270.spec +++ b/win/x86_64/mingw64-lib3270.spec @@ -19,14 +19,11 @@ %define _libname lib3270 %define _product pw3270 -%define __strip %{_mingw64_strip} -%define __objdump %{_mingw64_objdump} -%define _use_internal_dependency_generator 0 -%define __find_requires %{_mingw64_findrequires} -%define __find_provides %{_mingw64_findprovides} -%define __os_install_post %{_mingw64_debug_install_post} \ - %{_mingw64_install_post} - +# Only build in tumbleweed +%if 0%{?suse_version} < 1699 +ExclusiveArch: do_not_build +%endif + #---[ Package header ]------------------------------------------------------------------------------------------------ Summary: TN3270 access library for 64 bits Windows @@ -55,12 +52,10 @@ BuildRequires: mingw64-cross-gcc-c++ BuildRequires: mingw64-cross-pkg-config BuildRequires: mingw64-filesystem BuildRequires: mingw64-zlib-devel -BuildRequires: mingw64(lib:iconv) -BuildRequires: mingw64(lib:intl) +BuildRequires: mingw64-win_iconv-devel-static +BuildRequires: mingw64-libintl-devel BuildRequires: mingw64-gettext-tools - -BuildRequires: mingw64(pkg:libcrypto) >= 1.1 -BuildRequires: mingw64(pkg:libssl) >= 1.1 +BuildRequires: mingw64-libressl-devel %description TN3270 access library, originally designed as part of the %{_product} application. From 1177e6df2235f4c4ec87630826894909db848b4c Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 28 Nov 2024 23:58:33 -0300 Subject: [PATCH 03/40] Starting movement to meson build system. --- meson.build | 434 ++++++++++++++++++ po/LINGUAS | 1 + po/POTFILES.in | 119 +++++ po/meson.build | 41 ++ {locale => po}/pt_BR.po | 0 src/core/windows/resources.rc.in | 29 -- src/{core => library}/X3270.xad | 0 src/{core => library}/actions/actions.c | 0 src/{core => library}/actions/table.c | 0 src/{core => library}/ansi.c | 0 src/{core => library}/array.c | 0 src/{core => library}/bounds.c | 0 src/{core => library}/charset/charset.c | 1 + src/{core => library}/charset/convert.c | 0 src/{core => library}/charset/getset.c | 0 src/{core => library}/charset/iconv.c | 0 src/{core => library}/charset/remap.c | 1 + src/{core => library}/charset/utf8.c | 0 src/{core => library}/charset/view.c | 0 src/{core => library}/connect.c | 0 src/{core => library}/ctlr.c | 0 src/{core => library}/cursor.c | 0 src/{core/macos => library/darwin}/connect.c | 0 src/{core/linux => library/darwin}/curl.c | 0 src/{core/linux => library/darwin}/download.c | 0 .../darwin}/event_dispatcher.c | 0 src/{core/linux => library/darwin}/ldap.c | 0 src/{core/linux => library/darwin}/log.c | 0 src/{core/linux => library/darwin}/private.h | 0 src/{core/macos => library/darwin}/util.c | 0 src/{core => library}/field.c | 0 src/{core => library}/ft/ft.c | 0 src/{core => library}/ft/ft_cut.c | 0 src/{core => library}/ft/ft_dft.c | 0 src/{core => library}/ft/ftmessages.c | 0 src/{core => library}/ft/set.c | 0 src/{core => library}/host.c | 0 src/{core => library}/html.c | 0 src/{core => library}/init.c | 0 src/{core => library}/iocalls.c | 0 src/{core => library}/keyboard/actions.c | 0 src/{core => library}/keyboard/kybd.c | 0 src/{core => library}/keyboard/properties.c | 0 src/{core => library}/linkedlist.c | 0 src/{core => library}/linux/connect.c | 0 src/{core/macos => library/linux}/curl.c | 0 src/{core/macos => library/linux}/download.c | 0 .../linux}/event_dispatcher.c | 0 src/{core/macos => library/linux}/ldap.c | 0 src/{core/macos => library/linux}/log.c | 0 src/{core/macos => library/linux}/private.h | 0 src/{core => library}/linux/util.c | 0 src/{core => library}/log.c | 0 src/{core => library}/model.c | 0 src/{core => library}/options.c | 0 src/{core => library}/paste.c | 0 src/{core => library}/popup.c | 0 src/{core => library}/print.c | 0 src/{core => library}/printer.c | 0 src/{core => library}/properties/boolean.c | 0 src/{core => library}/properties/get.c | 0 src/{core => library}/properties/signed.c | 0 src/{core => library}/properties/string.c | 0 src/{core => library}/properties/unsigned.c | 0 src/{core => library}/resources.c | 0 src/{core => library}/rpq.c | 0 src/{core => library}/screen.c | 0 src/{core => library}/see.c | 0 src/{core => library}/session.c | 0 src/{core => library}/sf.c | 0 src/{core => library}/state.c | 0 src/{core => library}/telnet.c | 0 src/{core => library}/toggles/getset.c | 0 src/{core => library}/toggles/init.c | 0 src/{core => library}/toggles/listener.c | 0 src/{core => library}/toggles/table.c | 0 src/{core => library}/trace_ds.c | 0 src/{core => library}/util.c | 0 src/{core => library}/wait.c | 0 src/{core => library}/windows/connect.c | 0 src/{core => library}/windows/download.c | 0 .../windows/event_dispatcher.c | 0 src/{core => library}/windows/http.c | 0 src/{core => library}/windows/ldap.c | 0 src/{core => library}/windows/log.c | 0 src/{core => library}/windows/private.h | 0 src/{core => library}/windows/registry.c | 0 src/library/windows/resources.rc.in | 94 ++++ src/{core => library}/windows/util.c | 0 89 files changed, 691 insertions(+), 29 deletions(-) create mode 100644 meson.build create mode 100644 po/LINGUAS create mode 100644 po/POTFILES.in create mode 100644 po/meson.build rename {locale => po}/pt_BR.po (100%) delete mode 100644 src/core/windows/resources.rc.in rename src/{core => library}/X3270.xad (100%) rename src/{core => library}/actions/actions.c (100%) rename src/{core => library}/actions/table.c (100%) rename src/{core => library}/ansi.c (100%) rename src/{core => library}/array.c (100%) rename src/{core => library}/bounds.c (100%) rename src/{core => library}/charset/charset.c (99%) rename src/{core => library}/charset/convert.c (100%) rename src/{core => library}/charset/getset.c (100%) rename src/{core => library}/charset/iconv.c (100%) rename src/{core => library}/charset/remap.c (99%) rename src/{core => library}/charset/utf8.c (100%) rename src/{core => library}/charset/view.c (100%) rename src/{core => library}/connect.c (100%) rename src/{core => library}/ctlr.c (100%) rename src/{core => library}/cursor.c (100%) rename src/{core/macos => library/darwin}/connect.c (100%) rename src/{core/linux => library/darwin}/curl.c (100%) rename src/{core/linux => library/darwin}/download.c (100%) rename src/{core/linux => library/darwin}/event_dispatcher.c (100%) rename src/{core/linux => library/darwin}/ldap.c (100%) rename src/{core/linux => library/darwin}/log.c (100%) rename src/{core/linux => library/darwin}/private.h (100%) rename src/{core/macos => library/darwin}/util.c (100%) rename src/{core => library}/field.c (100%) rename src/{core => library}/ft/ft.c (100%) rename src/{core => library}/ft/ft_cut.c (100%) rename src/{core => library}/ft/ft_dft.c (100%) rename src/{core => library}/ft/ftmessages.c (100%) rename src/{core => library}/ft/set.c (100%) rename src/{core => library}/host.c (100%) rename src/{core => library}/html.c (100%) rename src/{core => library}/init.c (100%) rename src/{core => library}/iocalls.c (100%) rename src/{core => library}/keyboard/actions.c (100%) rename src/{core => library}/keyboard/kybd.c (100%) rename src/{core => library}/keyboard/properties.c (100%) rename src/{core => library}/linkedlist.c (100%) rename src/{core => library}/linux/connect.c (100%) rename src/{core/macos => library/linux}/curl.c (100%) rename src/{core/macos => library/linux}/download.c (100%) rename src/{core/macos => library/linux}/event_dispatcher.c (100%) rename src/{core/macos => library/linux}/ldap.c (100%) rename src/{core/macos => library/linux}/log.c (100%) rename src/{core/macos => library/linux}/private.h (100%) rename src/{core => library}/linux/util.c (100%) rename src/{core => library}/log.c (100%) rename src/{core => library}/model.c (100%) rename src/{core => library}/options.c (100%) rename src/{core => library}/paste.c (100%) rename src/{core => library}/popup.c (100%) rename src/{core => library}/print.c (100%) rename src/{core => library}/printer.c (100%) rename src/{core => library}/properties/boolean.c (100%) rename src/{core => library}/properties/get.c (100%) rename src/{core => library}/properties/signed.c (100%) rename src/{core => library}/properties/string.c (100%) rename src/{core => library}/properties/unsigned.c (100%) rename src/{core => library}/resources.c (100%) rename src/{core => library}/rpq.c (100%) rename src/{core => library}/screen.c (100%) rename src/{core => library}/see.c (100%) rename src/{core => library}/session.c (100%) rename src/{core => library}/sf.c (100%) rename src/{core => library}/state.c (100%) rename src/{core => library}/telnet.c (100%) rename src/{core => library}/toggles/getset.c (100%) rename src/{core => library}/toggles/init.c (100%) rename src/{core => library}/toggles/listener.c (100%) rename src/{core => library}/toggles/table.c (100%) rename src/{core => library}/trace_ds.c (100%) rename src/{core => library}/util.c (100%) rename src/{core => library}/wait.c (100%) rename src/{core => library}/windows/connect.c (100%) rename src/{core => library}/windows/download.c (100%) rename src/{core => library}/windows/event_dispatcher.c (100%) rename src/{core => library}/windows/http.c (100%) rename src/{core => library}/windows/ldap.c (100%) rename src/{core => library}/windows/log.c (100%) rename src/{core => library}/windows/private.h (100%) rename src/{core => library}/windows/registry.c (100%) create mode 100644 src/library/windows/resources.rc.in rename src/{core => library}/windows/util.c (100%) diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..5e1ae85c --- /dev/null +++ b/meson.build @@ -0,0 +1,434 @@ +# Maintainer: Perry Werneck + +# SPDX-License-Identifier: LGPL-3.0-or-later + +# Copyright (C) 2024 Banco do Brasil S. A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . + +project( + 'lib3270', + ['c'], + version: '5.5.0', + default_options : ['c_std=c11' ], + license: 'GPL-3.0-or-later', +) + +project_description = 'UDJat core library' +product_name = 'pw3270' +product_domain = 'br.com.bb.pw3270' +product_title = 'TN3270 Access library' + +lib_src = [] + +# +# Versioning +# +pkg_version = meson.project_version() +version_array = pkg_version.split('.') +pkg_major_version = version_array[0].to_int() +pkg_minor_version = version_array[1].to_int() +pkg_micro_version = version_array[2].to_int() + +libversion = '@0@.@1@'.format(pkg_major_version,pkg_minor_version) + +# +# i18n +# +subdir('po') + +# +# Dependencies +# +lib_deps = [ + dependency('libssl'), + dependency('libcurl'), +] + +# +# Compiler flags +# +cc = meson.get_compiler('c') +enable_debug = get_option('debug') or get_option('buildtype').contains('debug') + +time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() +if time_epoch == '' + time_epoch = run_command('date','+%Y%m%d', check: true).stdout().strip() +endif + +compiler_flags = [ + '-ggdb3', + '-ffat-lto-objects', + '-fvisibility=hidden', + '-pthread', + '-fPIC', + '-DHAVE_CONFIG_H=1', + '-DBUILD_DATE='+time_epoch, +] + +if enable_debug + compiler_flags += [ + '-DDEBUG=1' + ] +else + compiler_flags += [ + '-DNDEBUG=1' + ] +endif + +add_project_arguments(cc.get_supported_arguments(compiler_flags), language: 'c') + +# +# Configuration +# +app_conf = configuration_data() +app_conf.set_quoted('PACKAGE_NAME', meson.project_name()) +app_conf.set_quoted('PACKAGE_VERSION', meson.project_version()) +app_conf.set_quoted('PACKAGE_DESCRIPTION', project_description) +app_conf.set('PACKAGE_VERSION_MAJOR', pkg_major_version) +app_conf.set('PACKAGE_VERSION_MINOR', pkg_minor_version) +app_conf.set('PACKAGE_VERSION_MICRO', pkg_micro_version) + +app_conf.set('UNLOCK_MS', 350) + + +if host_machine.system() != 'windows' + + app_conf.set('LIBDIR', + '@0@/@1@'.format( + get_option('prefix'), + get_option('libdir') + ) + ) + + app_conf.set('DATADIR', + '@0@/@1@'.format( + get_option('prefix'), + get_option('datadir') + ) + ) + +endif + +app_conf.set('HAVE_STRPTIME', cc.has_function('strptime')) +app_conf.set('HAVE_STRCASESTR', cc.has_function('strcasestr')) +app_conf.set('HAVE_LOCALTIME_R', cc.has_function('localtime_r')) + +app_conf.set('HAVE_MALLOC_H', cc.has_function('strtok_r')) + +app_conf.set('HAVE_MALLOC_H', 1) +app_conf.set('HAVE_LIBINTL', 1) + +app_conf.set_quoted('PRODUCT_TITLE', product_title) +app_conf.set('PRODUCT_NAME',product_name) +app_conf.set('PRODUCT_DOMAIN',product_domain) +app_conf.set_quoted('PRODUCT_TITLE',product_title) + +# Fix-me +app_conf.set('HAVE_GNUC_VISIBILITY', 1) +app_conf.set('HAVE_GETADDRINFO', 1) +app_conf.set('HAVE_VASPRINTF', 1) +app_conf.set('HAVE_INET_NTOP', 1) +app_conf.set('HAVE_LIBCURL', 1) +app_conf.set('HAVE_SYSLOG', 1) +app_conf.set('HAVE_LIBINTL', 1) + +# Legacy +app_conf.set('X3270_TN3270E', 1) +app_conf.set('X3270_ANSI', 1) +app_conf.set('X3270_APL', 1) +app_conf.set('X3270_TRACE', 1) +app_conf.set('X3270_FT', 1) +app_conf.set('SSL_ENABLE_SELF_SIGNED_CERT_CHECK', 1) +app_conf.set('SSL_ENABLE_CRL_CHECK', 1) +app_conf.set('SSL_ENABLE_CRL_EXPIRATION_CHECK', 1) + + +time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() +if time_epoch == '' + datecmd = 'date' +else + datecmd = 'date -u -d' + time_epoch +endif + +rpq_build_date = run_command('sh', '-c', 'LANG=C ' + datecmd, check : true).stdout().strip() +app_conf.set('RPQ_BUILD_DATE', rpq_build_date) + +rpq_timestamp_value = run_command('sh', '-c', datecmd + ' +%Y%m%d%H%M%S', check : true).stdout().strip() +app_conf.set('RPQ_TIMESTAMP_VALUE', rpq_timestamp_value) + +rpq_revision= run_command('sh', '-c', datecmd + ' +%Y%m%d', check : true).stdout().strip() +app_conf.set('RPQ_REVISION', rpq_revision) + +sccs_user= run_command('sh', '-c', 'echo "$USER"', check : true).stdout().strip() +app_conf.set('SCCS_USER', sccs_user) + +sccs_date = run_command('sh', '-c', datecmd + ' +%Y/%m/%d', check : true).stdout().strip() +app_conf.set('SCCS_DATE', sccs_date) + +includes_dir = include_directories('src/include') + +# +# Sources +# +lib_src += [ + 'src/library/actions/actions.c', + 'src/library/actions/table.c', + 'src/library/ansi.c', + 'src/library/array.c', + 'src/library/bounds.c', + 'src/library/charset/charset.c', + 'src/library/charset/convert.c', + 'src/library/charset/getset.c', + 'src/library/charset/iconv.c', + 'src/library/charset/remap.c', + 'src/library/charset/utf8.c', + 'src/library/charset/view.c', + 'src/library/connect.c', + 'src/library/ctlr.c', + 'src/library/cursor.c', + 'src/library/field.c', + 'src/library/ft/ft.c', + 'src/library/ft/ft_cut.c', + 'src/library/ft/ft_dft.c', + 'src/library/ft/ftmessages.c', + 'src/library/ft/set.c', + 'src/library/host.c', + 'src/library/html.c', + 'src/library/init.c', + 'src/library/iocalls.c', + 'src/library/keyboard/actions.c', + 'src/library/keyboard/kybd.c', + 'src/library/keyboard/properties.c', + 'src/library/linkedlist.c', + 'src/library/log.c', + 'src/library/model.c', + 'src/library/options.c', + 'src/library/paste.c', + 'src/library/popup.c', + 'src/library/print.c', + 'src/library/printer.c', + 'src/library/properties/boolean.c', + 'src/library/properties/get.c', + 'src/library/properties/signed.c', + 'src/library/properties/string.c', + 'src/library/properties/unsigned.c', + 'src/library/resources.c', + 'src/library/rpq.c', + 'src/library/screen.c', + 'src/library/see.c', + 'src/library/session.c', + 'src/library/sf.c', + 'src/library/state.c', + 'src/library/telnet.c', + 'src/library/toggles/getset.c', + 'src/library/toggles/init.c', + 'src/library/toggles/listener.c', + 'src/library/toggles/table.c', + 'src/library/trace_ds.c', + 'src/library/util.c', + 'src/library/wait.c', +] + +linux_src =[ + 'src/library/linux/connect.c', + 'src/library/linux/curl.c', + 'src/library/linux/download.c', + 'src/library/linux/event_dispatcher.c', + 'src/library/linux/ldap.c', + 'src/library/linux/log.c', + 'src/library/linux/util.c', +] + +darwin_src = [ + 'src/library/darwin/connect.c', + 'src/library/darwin/curl.c', + 'src/library/darwin/download.c', + 'src/library/darwin/event_dispatcher.c', + 'src/library/darwin/ldap.c', + 'src/library/darwin/log.c', + 'src/library/darwin/util.c', +] + +win_src = [ + 'src/library/windows/connect.c', + 'src/library/windows/download.c', + 'src/library/windows/event_dispatcher.c', + 'src/library/windows/http.c', + 'src/library/windows/ldap.c', + 'src/library/windows/log.c', + 'src/library/windows/registry.c', + 'src/library/windows/util.c', +] + +test_src = [ +] + +# +# SDK +# https://mesonbuild.com/Pkgconfig-module.html +# +pkg = import('pkgconfig') + +pkg_variables = [ + + 'version_major=@0@'.format(pkg_major_version), + 'version_minor=@0@'.format(pkg_minor_version), + 'version_micro=@0@'.format(pkg_micro_version), + + 'product_name=@0@'.format(product_name), + 'product_id=@0@.@1@'.format(product_domain,product_name), + 'product_title=@0@'.format(product_title), + 'product_version=@0@@1@'.format(pkg_major_version,pkg_minor_version), + + 'build_id=@0@'.format(time_epoch), + + 'package_name=lib@0@@1@_@2@'.format(product_name,pkg_major_version,pkg_minor_version), + 'module_path=${libdir}/@0@/@1@.@2@/modules/'.format( + product_name,pkg_major_version,pkg_minor_version, + ), + 'module_version=@0@.@1@'.format(pkg_major_version,pkg_minor_version), + +] + +if host_machine.system() == 'windows' + + pkg.generate( + name: 'lib' + meson.project_name(), + description: project_description, + variables: pkg_variables, + requires: [ 'pugixml' ], + libraries: [ '-l' + meson.project_name() + '.dll' ] + ) + + pkg.generate( + name: 'lib' + meson.project_name() + '-static', + description: project_description, + variables: pkg_variables, + requires: [ sdk_requires ], + libraries: [ + '-l' + meson.project_name(), + ] + winlibs + ) + +else + + pkg.generate( + name: 'lib' + meson.project_name(), + description: project_description, + variables: pkg_variables, + libraries: [ '-l' + meson.project_name() ] + ) + + pkg.generate( + name: 'lib' + meson.project_name() + '-static', + description: project_description, + variables: pkg_variables, + libraries: [ '-l:lib' + meson.project_name() + '.a' ] + ) + +endif + +# Check for OSs +#https://mesonbuild.com/Reference-manual_builtin_host_machine.html + +if host_machine.system() == 'windows' + + # Supplied by win_iconv-devel-static + app_conf.set('HAVE_ICONV',1) + app_conf.set_quoted('LIBEXT', '.dll') + lib_src += win_src + +endif + +if host_machine.system() == 'linux' + + if cc.compiles('#include ', name : 'unistd.h') + app_conf.set('HAVE_UNISTD_H', 1) + endif + + app_conf.set_quoted('LIBEXT', '.so') + + lib_src += linux_src + +endif + +if host_machine.system() == 'darwin' + + lib_src += darwin_src + +endif + +# +# Targets +# +config_src = [ + configure_file( + output : 'config.h', + configuration : app_conf + ) +] + +if host_machine.system() == 'windows' + + configure_file( + input : 'src/library/os/windows/app-manifest.xml.in', + output : 'app-manifest.xml', + configuration : app_conf + ) + + # https://mesonbuild.com/Windows-module.html + windows = import('windows') + resources = windows.compile_resources( + configure_file( + input : 'src/library/windows/resources.rc.in', + output : 'resources.rc', + configuration : app_conf + ) + ) + + dynamic = shared_library( + meson.project_name(), + config_src + lib_src + resources, + install: true, + gnu_symbol_visibility: 'hidden', + dependencies: lib_deps, + include_directories: includes_dir, + link_args: winlibs, + ) + +else + + dynamic = shared_library( + meson.project_name(), + config_src + lib_src, + install: true, + version : libversion, + soversion : libversion, + gnu_symbol_visibility: 'hidden', + dependencies: lib_deps, + include_directories: includes_dir + ) + +endif + +static_library( + meson.project_name(), + config_src + lib_src, + install: true, + dependencies: lib_deps, + include_directories: includes_dir +) + + diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 00000000..d6247d62 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1 @@ +pt_BR diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 00000000..de39e0c3 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,119 @@ +src/mkfb/mkfb.c +src/network_modules/default/main.c +src/network_modules/openssl/context.c +src/network_modules/openssl/start.c +src/network_modules/openssl/crl.c +src/network_modules/openssl/main.c +src/network_modules/openssl/messages.c +src/network_modules/select.c +src/network_modules/state.c +src/network_modules/tools.c +src/selection/actions.c +src/selection/get.c +src/selection/selection.c +src/library/actions/actions.c +src/library/actions/table.c +src/library/charset/charset.c +src/library/charset/convert.c +src/library/charset/getset.c +src/library/charset/iconv.c +src/library/charset/remap.c +src/library/charset/utf8.c +src/library/charset/view.c +src/library/field.c +src/library/ft/ft.c +src/library/ft/ft_cut.c +src/library/ft/ft_dft.c +src/library/ft/ftmessages.c +src/library/ft/set.c +src/library/init.c +src/library/keyboard/actions.c +src/library/keyboard/kybd.c +src/library/keyboard/properties.c +src/library/linkedlist.c +src/library/linux/util.c +src/library/linux/connect.c +src/library/linux/curl.c +src/library/linux/download.c +src/library/linux/event_dispatcher.c +src/library/linux/ldap.c +src/library/linux/log.c +src/library/properties/boolean.c +src/library/properties/signed.c +src/library/properties/string.c +src/library/properties/unsigned.c +src/library/properties/get.c +src/library/session.c +src/library/toggles/getset.c +src/library/toggles/init.c +src/library/toggles/listener.c +src/library/toggles/table.c +src/library/windows/registry.c +src/library/windows/util.c +src/library/windows/connect.c +src/library/windows/download.c +src/library/windows/event_dispatcher.c +src/library/windows/http.c +src/library/windows/ldap.c +src/library/windows/log.c +src/library/ansi.c +src/library/array.c +src/library/bounds.c +src/library/connect.c +src/library/ctlr.c +src/library/cursor.c +src/library/host.c +src/library/html.c +src/library/iocalls.c +src/library/log.c +src/library/model.c +src/library/options.c +src/library/paste.c +src/library/popup.c +src/library/print.c +src/library/printer.c +src/library/resources.c +src/library/rpq.c +src/library/screen.c +src/library/see.c +src/library/sf.c +src/library/state.c +src/library/telnet.c +src/library/trace_ds.c +src/library/util.c +src/library/wait.c +src/library/darwin/util.c +src/library/darwin/connect.c +src/library/darwin/curl.c +src/library/darwin/download.c +src/library/darwin/event_dispatcher.c +src/library/darwin/ldap.c +src/library/darwin/log.c +intl/bindtextdom.c +intl/dcgettext.c +intl/dcigettext.c +intl/dcngettext.c +intl/dgettext.c +intl/dngettext.c +intl/explodename.c +intl/finddomain.c +intl/gettext.c +intl/intl-compat.c +intl/l10nflist.c +intl/loadmsgcat.c +intl/localcharset.c +intl/localealias.c +intl/localename.c +intl/log.c +intl/ngettext.c +intl/os2compat.c +intl/osdep.c +intl/plural-exp.c +intl/plural.c +intl/printf-args.c +intl/printf-parse.c +intl/printf.c +intl/relocatable.c +intl/textdomain.c +intl/vasnprintf.c +.tmp/lib3270/fallbacks.c diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 00000000..0faaf89a --- /dev/null +++ b/po/meson.build @@ -0,0 +1,41 @@ +# Maintainer: Perry Werneck + +# SPDX-License-Identifier: LGPL-3.0-or-later + +# Copyright (C) 2024 Perry Werneck +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . + +# +# References: +# +# https://mesonbuild.com/i18n-module.html +# https://mesonbuild.com/Porting-from-autotools.html +# https://docs.elementary.io/develop/writing-apps/our-first-app/translations +# + +# find . -type f -iname '*.c' | grep -v 'build' | sed 's@^./@@g' | grep -v testprogram > po/POTFILES.in + +i18n = import('i18n') + +gettext_package = 'lib' + meson.project_name() + '-' + libversion + +add_project_arguments('-DGETTEXT_PACKAGE="' + gettext_package + '"', language: 'c') + +i18n.gettext( + gettext_package, + args: '--directory=' + meson.project_source_root(), + preset: 'glib' +) + diff --git a/locale/pt_BR.po b/po/pt_BR.po similarity index 100% rename from locale/pt_BR.po rename to po/pt_BR.po diff --git a/src/core/windows/resources.rc.in b/src/core/windows/resources.rc.in deleted file mode 100644 index e61c5359..00000000 --- a/src/core/windows/resources.rc.in +++ /dev/null @@ -1,29 +0,0 @@ -#include - -VS_VERSION_INFO VERSIONINFO -FILEVERSION @WIN32_FILE_VERSION@ -PRODUCTVERSION @PACKAGE_MAJOR_VERSION@,@PACKAGE_MINOR_VERSION@,@PACKAGE_MAJOR_RELEASE@,@PACKAGE_MINOR_RELEASE@ - -BEGIN - - BLOCK "StringFileInfo" - BEGIN - BLOCK "080904E4" - BEGIN - VALUE "FileDescription", "@PACKAGE_DESCRIPTION@\0" - VALUE "CompanyName", "Banco do Brasil S/A.\0" - VALUE "FileVersion", "@WIN32_VERSION@\0" - VALUE "LegalCopyright", "(C) 2017 Banco do Brasil S/A. All Rights Reserved\0" - VALUE "OriginalFilename", "@PACKAGE_TARNAME@@DLLEXT@\0" - VALUE "ProductName", "@PRODUCT_NAME@\0" - VALUE "ProductVersion", "@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x809, 0x04E4 - END - -END - diff --git a/src/core/X3270.xad b/src/library/X3270.xad similarity index 100% rename from src/core/X3270.xad rename to src/library/X3270.xad diff --git a/src/core/actions/actions.c b/src/library/actions/actions.c similarity index 100% rename from src/core/actions/actions.c rename to src/library/actions/actions.c diff --git a/src/core/actions/table.c b/src/library/actions/table.c similarity index 100% rename from src/core/actions/table.c rename to src/library/actions/table.c diff --git a/src/core/ansi.c b/src/library/ansi.c similarity index 100% rename from src/core/ansi.c rename to src/library/ansi.c diff --git a/src/core/array.c b/src/library/array.c similarity index 100% rename from src/core/array.c rename to src/library/array.c diff --git a/src/core/bounds.c b/src/library/bounds.c similarity index 100% rename from src/core/bounds.c rename to src/library/bounds.c diff --git a/src/core/charset/charset.c b/src/library/charset/charset.c similarity index 99% rename from src/core/charset/charset.c rename to src/library/charset/charset.c index 3804ee56..c62f3c8e 100644 --- a/src/core/charset/charset.c +++ b/src/library/charset/charset.c @@ -40,6 +40,7 @@ #include #include #include +#include /* * EBCDIC-to-Unicode translation tables. diff --git a/src/core/charset/convert.c b/src/library/charset/convert.c similarity index 100% rename from src/core/charset/convert.c rename to src/library/charset/convert.c diff --git a/src/core/charset/getset.c b/src/library/charset/getset.c similarity index 100% rename from src/core/charset/getset.c rename to src/library/charset/getset.c diff --git a/src/core/charset/iconv.c b/src/library/charset/iconv.c similarity index 100% rename from src/core/charset/iconv.c rename to src/library/charset/iconv.c diff --git a/src/core/charset/remap.c b/src/library/charset/remap.c similarity index 99% rename from src/core/charset/remap.c rename to src/library/charset/remap.c index 5aee2ef9..5d53c0ba 100644 --- a/src/core/charset/remap.c +++ b/src/library/charset/remap.c @@ -40,6 +40,7 @@ #include #include #include +#include /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ diff --git a/src/core/charset/utf8.c b/src/library/charset/utf8.c similarity index 100% rename from src/core/charset/utf8.c rename to src/library/charset/utf8.c diff --git a/src/core/charset/view.c b/src/library/charset/view.c similarity index 100% rename from src/core/charset/view.c rename to src/library/charset/view.c diff --git a/src/core/connect.c b/src/library/connect.c similarity index 100% rename from src/core/connect.c rename to src/library/connect.c diff --git a/src/core/ctlr.c b/src/library/ctlr.c similarity index 100% rename from src/core/ctlr.c rename to src/library/ctlr.c diff --git a/src/core/cursor.c b/src/library/cursor.c similarity index 100% rename from src/core/cursor.c rename to src/library/cursor.c diff --git a/src/core/macos/connect.c b/src/library/darwin/connect.c similarity index 100% rename from src/core/macos/connect.c rename to src/library/darwin/connect.c diff --git a/src/core/linux/curl.c b/src/library/darwin/curl.c similarity index 100% rename from src/core/linux/curl.c rename to src/library/darwin/curl.c diff --git a/src/core/linux/download.c b/src/library/darwin/download.c similarity index 100% rename from src/core/linux/download.c rename to src/library/darwin/download.c diff --git a/src/core/linux/event_dispatcher.c b/src/library/darwin/event_dispatcher.c similarity index 100% rename from src/core/linux/event_dispatcher.c rename to src/library/darwin/event_dispatcher.c diff --git a/src/core/linux/ldap.c b/src/library/darwin/ldap.c similarity index 100% rename from src/core/linux/ldap.c rename to src/library/darwin/ldap.c diff --git a/src/core/linux/log.c b/src/library/darwin/log.c similarity index 100% rename from src/core/linux/log.c rename to src/library/darwin/log.c diff --git a/src/core/linux/private.h b/src/library/darwin/private.h similarity index 100% rename from src/core/linux/private.h rename to src/library/darwin/private.h diff --git a/src/core/macos/util.c b/src/library/darwin/util.c similarity index 100% rename from src/core/macos/util.c rename to src/library/darwin/util.c diff --git a/src/core/field.c b/src/library/field.c similarity index 100% rename from src/core/field.c rename to src/library/field.c diff --git a/src/core/ft/ft.c b/src/library/ft/ft.c similarity index 100% rename from src/core/ft/ft.c rename to src/library/ft/ft.c diff --git a/src/core/ft/ft_cut.c b/src/library/ft/ft_cut.c similarity index 100% rename from src/core/ft/ft_cut.c rename to src/library/ft/ft_cut.c diff --git a/src/core/ft/ft_dft.c b/src/library/ft/ft_dft.c similarity index 100% rename from src/core/ft/ft_dft.c rename to src/library/ft/ft_dft.c diff --git a/src/core/ft/ftmessages.c b/src/library/ft/ftmessages.c similarity index 100% rename from src/core/ft/ftmessages.c rename to src/library/ft/ftmessages.c diff --git a/src/core/ft/set.c b/src/library/ft/set.c similarity index 100% rename from src/core/ft/set.c rename to src/library/ft/set.c diff --git a/src/core/host.c b/src/library/host.c similarity index 100% rename from src/core/host.c rename to src/library/host.c diff --git a/src/core/html.c b/src/library/html.c similarity index 100% rename from src/core/html.c rename to src/library/html.c diff --git a/src/core/init.c b/src/library/init.c similarity index 100% rename from src/core/init.c rename to src/library/init.c diff --git a/src/core/iocalls.c b/src/library/iocalls.c similarity index 100% rename from src/core/iocalls.c rename to src/library/iocalls.c diff --git a/src/core/keyboard/actions.c b/src/library/keyboard/actions.c similarity index 100% rename from src/core/keyboard/actions.c rename to src/library/keyboard/actions.c diff --git a/src/core/keyboard/kybd.c b/src/library/keyboard/kybd.c similarity index 100% rename from src/core/keyboard/kybd.c rename to src/library/keyboard/kybd.c diff --git a/src/core/keyboard/properties.c b/src/library/keyboard/properties.c similarity index 100% rename from src/core/keyboard/properties.c rename to src/library/keyboard/properties.c diff --git a/src/core/linkedlist.c b/src/library/linkedlist.c similarity index 100% rename from src/core/linkedlist.c rename to src/library/linkedlist.c diff --git a/src/core/linux/connect.c b/src/library/linux/connect.c similarity index 100% rename from src/core/linux/connect.c rename to src/library/linux/connect.c diff --git a/src/core/macos/curl.c b/src/library/linux/curl.c similarity index 100% rename from src/core/macos/curl.c rename to src/library/linux/curl.c diff --git a/src/core/macos/download.c b/src/library/linux/download.c similarity index 100% rename from src/core/macos/download.c rename to src/library/linux/download.c diff --git a/src/core/macos/event_dispatcher.c b/src/library/linux/event_dispatcher.c similarity index 100% rename from src/core/macos/event_dispatcher.c rename to src/library/linux/event_dispatcher.c diff --git a/src/core/macos/ldap.c b/src/library/linux/ldap.c similarity index 100% rename from src/core/macos/ldap.c rename to src/library/linux/ldap.c diff --git a/src/core/macos/log.c b/src/library/linux/log.c similarity index 100% rename from src/core/macos/log.c rename to src/library/linux/log.c diff --git a/src/core/macos/private.h b/src/library/linux/private.h similarity index 100% rename from src/core/macos/private.h rename to src/library/linux/private.h diff --git a/src/core/linux/util.c b/src/library/linux/util.c similarity index 100% rename from src/core/linux/util.c rename to src/library/linux/util.c diff --git a/src/core/log.c b/src/library/log.c similarity index 100% rename from src/core/log.c rename to src/library/log.c diff --git a/src/core/model.c b/src/library/model.c similarity index 100% rename from src/core/model.c rename to src/library/model.c diff --git a/src/core/options.c b/src/library/options.c similarity index 100% rename from src/core/options.c rename to src/library/options.c diff --git a/src/core/paste.c b/src/library/paste.c similarity index 100% rename from src/core/paste.c rename to src/library/paste.c diff --git a/src/core/popup.c b/src/library/popup.c similarity index 100% rename from src/core/popup.c rename to src/library/popup.c diff --git a/src/core/print.c b/src/library/print.c similarity index 100% rename from src/core/print.c rename to src/library/print.c diff --git a/src/core/printer.c b/src/library/printer.c similarity index 100% rename from src/core/printer.c rename to src/library/printer.c diff --git a/src/core/properties/boolean.c b/src/library/properties/boolean.c similarity index 100% rename from src/core/properties/boolean.c rename to src/library/properties/boolean.c diff --git a/src/core/properties/get.c b/src/library/properties/get.c similarity index 100% rename from src/core/properties/get.c rename to src/library/properties/get.c diff --git a/src/core/properties/signed.c b/src/library/properties/signed.c similarity index 100% rename from src/core/properties/signed.c rename to src/library/properties/signed.c diff --git a/src/core/properties/string.c b/src/library/properties/string.c similarity index 100% rename from src/core/properties/string.c rename to src/library/properties/string.c diff --git a/src/core/properties/unsigned.c b/src/library/properties/unsigned.c similarity index 100% rename from src/core/properties/unsigned.c rename to src/library/properties/unsigned.c diff --git a/src/core/resources.c b/src/library/resources.c similarity index 100% rename from src/core/resources.c rename to src/library/resources.c diff --git a/src/core/rpq.c b/src/library/rpq.c similarity index 100% rename from src/core/rpq.c rename to src/library/rpq.c diff --git a/src/core/screen.c b/src/library/screen.c similarity index 100% rename from src/core/screen.c rename to src/library/screen.c diff --git a/src/core/see.c b/src/library/see.c similarity index 100% rename from src/core/see.c rename to src/library/see.c diff --git a/src/core/session.c b/src/library/session.c similarity index 100% rename from src/core/session.c rename to src/library/session.c diff --git a/src/core/sf.c b/src/library/sf.c similarity index 100% rename from src/core/sf.c rename to src/library/sf.c diff --git a/src/core/state.c b/src/library/state.c similarity index 100% rename from src/core/state.c rename to src/library/state.c diff --git a/src/core/telnet.c b/src/library/telnet.c similarity index 100% rename from src/core/telnet.c rename to src/library/telnet.c diff --git a/src/core/toggles/getset.c b/src/library/toggles/getset.c similarity index 100% rename from src/core/toggles/getset.c rename to src/library/toggles/getset.c diff --git a/src/core/toggles/init.c b/src/library/toggles/init.c similarity index 100% rename from src/core/toggles/init.c rename to src/library/toggles/init.c diff --git a/src/core/toggles/listener.c b/src/library/toggles/listener.c similarity index 100% rename from src/core/toggles/listener.c rename to src/library/toggles/listener.c diff --git a/src/core/toggles/table.c b/src/library/toggles/table.c similarity index 100% rename from src/core/toggles/table.c rename to src/library/toggles/table.c diff --git a/src/core/trace_ds.c b/src/library/trace_ds.c similarity index 100% rename from src/core/trace_ds.c rename to src/library/trace_ds.c diff --git a/src/core/util.c b/src/library/util.c similarity index 100% rename from src/core/util.c rename to src/library/util.c diff --git a/src/core/wait.c b/src/library/wait.c similarity index 100% rename from src/core/wait.c rename to src/library/wait.c diff --git a/src/core/windows/connect.c b/src/library/windows/connect.c similarity index 100% rename from src/core/windows/connect.c rename to src/library/windows/connect.c diff --git a/src/core/windows/download.c b/src/library/windows/download.c similarity index 100% rename from src/core/windows/download.c rename to src/library/windows/download.c diff --git a/src/core/windows/event_dispatcher.c b/src/library/windows/event_dispatcher.c similarity index 100% rename from src/core/windows/event_dispatcher.c rename to src/library/windows/event_dispatcher.c diff --git a/src/core/windows/http.c b/src/library/windows/http.c similarity index 100% rename from src/core/windows/http.c rename to src/library/windows/http.c diff --git a/src/core/windows/ldap.c b/src/library/windows/ldap.c similarity index 100% rename from src/core/windows/ldap.c rename to src/library/windows/ldap.c diff --git a/src/core/windows/log.c b/src/library/windows/log.c similarity index 100% rename from src/core/windows/log.c rename to src/library/windows/log.c diff --git a/src/core/windows/private.h b/src/library/windows/private.h similarity index 100% rename from src/core/windows/private.h rename to src/library/windows/private.h diff --git a/src/core/windows/registry.c b/src/library/windows/registry.c similarity index 100% rename from src/core/windows/registry.c rename to src/library/windows/registry.c diff --git a/src/library/windows/resources.rc.in b/src/library/windows/resources.rc.in new file mode 100644 index 00000000..ba37a5d4 --- /dev/null +++ b/src/library/windows/resources.rc.in @@ -0,0 +1,94 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + +/* + * Copyright (C) 2021 Perry Werneck + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* + * + * Referências: + * + * + * + * + * + */ + +#include + +#pragma code_page(65001) // UTF-8 + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "app-manifest.xml" + +VS_VERSION_INFO VERSIONINFO +FILEVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@ +PRODUCTVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@ + +BEGIN + + // https://learn.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block + // https://stackoverflow.com/questions/14221918/win32-resource-file-multiple-translations + BLOCK "StringFileInfo" + BEGIN + + // English + BLOCK "080904B0" + BEGIN + VALUE "FileDescription", "@PRODUCT_NAME@ Core library\0" + VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" + VALUE "LegalCopyright", "GNU GPLv3\0" + VALUE "InternalName", "lib@PRODUCT_NAME@\0" + VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "ProductName", "@PRODUCT_NAME@\0" + VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" + END + + // Brazilian Portuguese (UTF-8) + BLOCK "041604B0" + BEGIN + VALUE "FileDescription", "Biblioteca principal @PRODUCT_NAME@\0" + VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" + VALUE "LegalCopyright", "GNU GPLv3\0" + VALUE "InternalName", "lib@PRODUCT_NAME@\0" + VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "ProductName", "@PRODUCT_NAME@\0" + VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" + END + + // Brazilian Portuguese (Multilingual) + BLOCK "041604E4" + BEGIN + VALUE "FileDescription", "Biblioteca principal @PRODUCT_NAME@\0" + VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" + VALUE "LegalCopyright", "GNU GPLv3\0" + VALUE "InternalName", "lib@PRODUCT_NAME@\0" + VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "ProductName", "@PRODUCT_NAME@\0" + VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" + END + + END + + // https://learn.microsoft.com/en-us/windows/win32/menurc/varfileinfo-block + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 0x04B0, 0x0416, 0x04B0, 0x0416, 0x04E4 + END + +END + diff --git a/src/core/windows/util.c b/src/library/windows/util.c similarity index 100% rename from src/core/windows/util.c rename to src/library/windows/util.c From 8d136778a84af746e751421bd9a268b9288a076d Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 00:03:51 -0300 Subject: [PATCH 04/40] Debugging new build system. --- .gitignore | 1 + src/include/localdefs.h | 2 ++ src/library/array.c | 39 +++++++++++++++++----------------- src/library/charset/charset.c | 40 +++++++++++++++++------------------ src/library/charset/remap.c | 36 ++++++++++++++----------------- src/library/host.c | 3 +++ 6 files changed, 60 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index 84a3dfb5..1e1ba4d2 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ ABOUT-NLS intl po *.tar.xz +.vscode diff --git a/src/include/localdefs.h b/src/include/localdefs.h index b1f1fb89..ae244c38 100644 --- a/src/include/localdefs.h +++ b/src/include/localdefs.h @@ -20,6 +20,8 @@ * and timers. */ +#include + /* Identify ourselves. */ #define C3270 1 diff --git a/src/library/array.c b/src/library/array.c index 3e83425d..0d48ebfd 100644 --- a/src/library/array.c +++ b/src/library/array.c @@ -1,25 +1,23 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + /* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. + * Copyright (C) 2008 Banco do Brasil S.A. * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como array.c e possui - linhas de código. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* * Contatos: * * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) @@ -27,15 +25,16 @@ * */ - /** * @brief Handle text arrays. */ +#include +#include + #include #include #include -#include /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ diff --git a/src/library/charset/charset.c b/src/library/charset/charset.c index c62f3c8e..4d91da21 100644 --- a/src/library/charset/charset.c +++ b/src/library/charset/charset.c @@ -1,31 +1,27 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + /* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. + * Copyright (C) 2008 Banco do Brasil S.A. * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como charset.c e possui - linhas de código. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* * Contatos: * * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * licinio@bb.com.br (Licínio Luis Branco) - * kraucer@bb.com.br (Kraucer Fernandes Mazuco) * */ @@ -35,12 +31,14 @@ * @brief This module handles character sets. */ +#include +#include + #include #include #include #include #include -#include /* * EBCDIC-to-Unicode translation tables. diff --git a/src/library/charset/remap.c b/src/library/charset/remap.c index 5d53c0ba..d0c6cef7 100644 --- a/src/library/charset/remap.c +++ b/src/library/charset/remap.c @@ -1,31 +1,27 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + /* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. + * Copyright (C) 2008 Banco do Brasil S.A. * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Este programa está nomeado como charset.c e possui - linhas de código. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* * Contatos: * * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * licinio@bb.com.br (Licínio Luis Branco) - * kraucer@bb.com.br (Kraucer Fernandes Mazuco) * */ diff --git a/src/library/host.c b/src/library/host.c index 24065e3e..ad1039db 100644 --- a/src/library/host.c +++ b/src/library/host.c @@ -31,6 +31,9 @@ #pragma GCC diagnostic ignored "-Wsign-compare" +#include +#include + #ifdef HAVE_MALLOC_H #include #endif // HAVE_MALLOC_H From 7476fbe78ab53ce19b4082c7afccc6ff79bc526f Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 09:31:53 -0300 Subject: [PATCH 05/40] Refactoring build system. --- meson.build | 24 ++++++++++++++----- src/library/charset/iconv.c | 4 ++++ .../network}/default/main.c | 0 .../network}/default/private.h | 0 .../network}/openssl/context.c | 0 .../network}/openssl/crl.c | 0 .../network}/openssl/main.c | 0 .../network}/openssl/messages.c | 0 .../network}/openssl/private.h | 0 .../network}/openssl/start.c | 0 .../network}/select.c | 0 .../network}/state.c | 0 .../network}/tools.c | 0 13 files changed, 22 insertions(+), 6 deletions(-) rename src/{network_modules => library/network}/default/main.c (100%) rename src/{network_modules => library/network}/default/private.h (100%) rename src/{network_modules => library/network}/openssl/context.c (100%) rename src/{network_modules => library/network}/openssl/crl.c (100%) rename src/{network_modules => library/network}/openssl/main.c (100%) rename src/{network_modules => library/network}/openssl/messages.c (100%) rename src/{network_modules => library/network}/openssl/private.h (100%) rename src/{network_modules => library/network}/openssl/start.c (100%) rename src/{network_modules => library/network}/select.c (100%) rename src/{network_modules => library/network}/state.c (100%) rename src/{network_modules => library/network}/tools.c (100%) diff --git a/meson.build b/meson.build index 5e1ae85c..d2e5c3ff 100644 --- a/meson.build +++ b/meson.build @@ -21,7 +21,6 @@ project( 'lib3270', ['c'], version: '5.5.0', - default_options : ['c_std=c11' ], license: 'GPL-3.0-or-later', ) @@ -100,6 +99,7 @@ app_conf.set('PACKAGE_VERSION_MAJOR', pkg_major_version) app_conf.set('PACKAGE_VERSION_MINOR', pkg_minor_version) app_conf.set('PACKAGE_VERSION_MICRO', pkg_micro_version) + app_conf.set('UNLOCK_MS', 350) @@ -162,20 +162,23 @@ else datecmd = 'date -u -d' + time_epoch endif +package_release = run_command('sh', '-c', datecmd + ' +%-y.%-m.%-d', check : true).stdout().strip() +app_conf.set_quoted('PACKAGE_RELEASE',package_release) + rpq_build_date = run_command('sh', '-c', 'LANG=C ' + datecmd, check : true).stdout().strip() -app_conf.set('RPQ_BUILD_DATE', rpq_build_date) +app_conf.set_quoted('RPQ_BUILD_DATE', rpq_build_date) rpq_timestamp_value = run_command('sh', '-c', datecmd + ' +%Y%m%d%H%M%S', check : true).stdout().strip() -app_conf.set('RPQ_TIMESTAMP_VALUE', rpq_timestamp_value) +app_conf.set_quoted('RPQ_TIMESTAMP_VALUE', rpq_timestamp_value) rpq_revision= run_command('sh', '-c', datecmd + ' +%Y%m%d', check : true).stdout().strip() -app_conf.set('RPQ_REVISION', rpq_revision) +app_conf.set_quoted('RPQ_REVISION', rpq_revision) sccs_user= run_command('sh', '-c', 'echo "$USER"', check : true).stdout().strip() -app_conf.set('SCCS_USER', sccs_user) +app_conf.set_quoted('SCCS_USER', sccs_user) sccs_date = run_command('sh', '-c', datecmd + ' +%Y/%m/%d', check : true).stdout().strip() -app_conf.set('SCCS_DATE', sccs_date) +app_conf.set_quoted('SCCS_DATE', sccs_date) includes_dir = include_directories('src/include') @@ -239,6 +242,15 @@ lib_src += [ 'src/library/trace_ds.c', 'src/library/util.c', 'src/library/wait.c', + 'src/library/network/default/main.c', + 'src/library/network/openssl/context.c', + 'src/library/network/openssl/start.c', + 'src/library/network/openssl/crl.c', + 'src/library/network/openssl/main.c', + 'src/library/network/openssl/messages.c', + 'src/library/network/select.c', + 'src/library/network/state.c', + 'src/library/network/tools.c', ] linux_src =[ diff --git a/src/library/charset/iconv.c b/src/library/charset/iconv.c index 8b2259c1..93f52173 100644 --- a/src/library/charset/iconv.c +++ b/src/library/charset/iconv.c @@ -40,6 +40,10 @@ #include #include +#ifndef ICONV_CONST + #define ICONV_CONST +#endif // ICONV_CONST + struct _lib3270_iconv { /// @brief Convert strings from host codepage to local codepage. iconv_t local; diff --git a/src/network_modules/default/main.c b/src/library/network/default/main.c similarity index 100% rename from src/network_modules/default/main.c rename to src/library/network/default/main.c diff --git a/src/network_modules/default/private.h b/src/library/network/default/private.h similarity index 100% rename from src/network_modules/default/private.h rename to src/library/network/default/private.h diff --git a/src/network_modules/openssl/context.c b/src/library/network/openssl/context.c similarity index 100% rename from src/network_modules/openssl/context.c rename to src/library/network/openssl/context.c diff --git a/src/network_modules/openssl/crl.c b/src/library/network/openssl/crl.c similarity index 100% rename from src/network_modules/openssl/crl.c rename to src/library/network/openssl/crl.c diff --git a/src/network_modules/openssl/main.c b/src/library/network/openssl/main.c similarity index 100% rename from src/network_modules/openssl/main.c rename to src/library/network/openssl/main.c diff --git a/src/network_modules/openssl/messages.c b/src/library/network/openssl/messages.c similarity index 100% rename from src/network_modules/openssl/messages.c rename to src/library/network/openssl/messages.c diff --git a/src/network_modules/openssl/private.h b/src/library/network/openssl/private.h similarity index 100% rename from src/network_modules/openssl/private.h rename to src/library/network/openssl/private.h diff --git a/src/network_modules/openssl/start.c b/src/library/network/openssl/start.c similarity index 100% rename from src/network_modules/openssl/start.c rename to src/library/network/openssl/start.c diff --git a/src/network_modules/select.c b/src/library/network/select.c similarity index 100% rename from src/network_modules/select.c rename to src/library/network/select.c diff --git a/src/network_modules/state.c b/src/library/network/state.c similarity index 100% rename from src/network_modules/state.c rename to src/library/network/state.c diff --git a/src/network_modules/tools.c b/src/library/network/tools.c similarity index 100% rename from src/network_modules/tools.c rename to src/library/network/tools.c From 3ed07941a5f397a1833f16883c2a7b6fd1fd7ae4 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 09:44:04 -0300 Subject: [PATCH 06/40] Debugging meson build. --- meson.build | 39 ++++++++++--------------- po/meson.build | 2 +- src/{ => library}/selection/actions.c | 0 src/{ => library}/selection/get.c | 0 src/{ => library}/selection/selection.c | 0 5 files changed, 17 insertions(+), 24 deletions(-) rename src/{ => library}/selection/actions.c (100%) rename src/{ => library}/selection/get.c (100%) rename src/{ => library}/selection/selection.c (100%) diff --git a/meson.build b/meson.build index d2e5c3ff..9c92393f 100644 --- a/meson.build +++ b/meson.build @@ -52,6 +52,7 @@ subdir('po') # lib_deps = [ dependency('libssl'), + dependency('libcrypto'), dependency('libcurl'), ] @@ -99,10 +100,8 @@ app_conf.set('PACKAGE_VERSION_MAJOR', pkg_major_version) app_conf.set('PACKAGE_VERSION_MINOR', pkg_minor_version) app_conf.set('PACKAGE_VERSION_MICRO', pkg_micro_version) - app_conf.set('UNLOCK_MS', 350) - if host_machine.system() != 'windows' app_conf.set('LIBDIR', @@ -154,7 +153,6 @@ app_conf.set('SSL_ENABLE_SELF_SIGNED_CERT_CHECK', 1) app_conf.set('SSL_ENABLE_CRL_CHECK', 1) app_conf.set('SSL_ENABLE_CRL_EXPIRATION_CHECK', 1) - time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() if time_epoch == '' datecmd = 'date' @@ -242,6 +240,9 @@ lib_src += [ 'src/library/trace_ds.c', 'src/library/util.c', 'src/library/wait.c', + 'src/library/selection/actions.c', + 'src/library/selection/get.c', + 'src/library/selection/selection.c', 'src/library/network/default/main.c', 'src/library/network/openssl/context.c', 'src/library/network/openssl/start.c', @@ -317,37 +318,36 @@ pkg_variables = [ if host_machine.system() == 'windows' pkg.generate( - name: 'lib' + meson.project_name(), + name: meson.project_name(), description: project_description, variables: pkg_variables, requires: [ 'pugixml' ], - libraries: [ '-l' + meson.project_name() + '.dll' ] + libraries: [ '-l3270.dll' ] ) pkg.generate( - name: 'lib' + meson.project_name() + '-static', + name: meson.project_name() + '-static', description: project_description, variables: pkg_variables, - requires: [ sdk_requires ], libraries: [ - '-l' + meson.project_name(), - ] + winlibs + '-l3270', + ] ) else pkg.generate( - name: 'lib' + meson.project_name(), + name: meson.project_name(), description: project_description, variables: pkg_variables, - libraries: [ '-l' + meson.project_name() ] + libraries: [ '-l3270' ] ) pkg.generate( - name: 'lib' + meson.project_name() + '-static', + name: meson.project_name() + '-static', description: project_description, variables: pkg_variables, - libraries: [ '-l:lib' + meson.project_name() + '.a' ] + libraries: [ '-l:' + meson.project_name() + '.a' ] ) endif @@ -394,12 +394,6 @@ config_src = [ if host_machine.system() == 'windows' - configure_file( - input : 'src/library/os/windows/app-manifest.xml.in', - output : 'app-manifest.xml', - configuration : app_conf - ) - # https://mesonbuild.com/Windows-module.html windows = import('windows') resources = windows.compile_resources( @@ -411,19 +405,18 @@ if host_machine.system() == 'windows' ) dynamic = shared_library( - meson.project_name(), + '3270', config_src + lib_src + resources, install: true, gnu_symbol_visibility: 'hidden', dependencies: lib_deps, include_directories: includes_dir, - link_args: winlibs, ) else dynamic = shared_library( - meson.project_name(), + '3270', config_src + lib_src, install: true, version : libversion, @@ -436,7 +429,7 @@ else endif static_library( - meson.project_name(), + '3270', config_src + lib_src, install: true, dependencies: lib_deps, diff --git a/po/meson.build b/po/meson.build index 0faaf89a..a69ada7f 100644 --- a/po/meson.build +++ b/po/meson.build @@ -29,7 +29,7 @@ i18n = import('i18n') -gettext_package = 'lib' + meson.project_name() + '-' + libversion +gettext_package = meson.project_name() + '-' + libversion add_project_arguments('-DGETTEXT_PACKAGE="' + gettext_package + '"', language: 'c') diff --git a/src/selection/actions.c b/src/library/selection/actions.c similarity index 100% rename from src/selection/actions.c rename to src/library/selection/actions.c diff --git a/src/selection/get.c b/src/library/selection/get.c similarity index 100% rename from src/selection/get.c rename to src/library/selection/get.c diff --git a/src/selection/selection.c b/src/library/selection/selection.c similarity index 100% rename from src/selection/selection.c rename to src/library/selection/selection.c From 38d4884d5c8806f5d8c8f193a737a171192ca78d Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:05:23 -0300 Subject: [PATCH 07/40] Debugging new build system. --- meson.build | 8 ++++++++ src/testprogram/testprogram.c | 34 ++++++++++++++++------------------ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/meson.build b/meson.build index 9c92393f..0040ba91 100644 --- a/meson.build +++ b/meson.build @@ -436,4 +436,12 @@ static_library( include_directories: includes_dir ) +executable( + meson.project_name(), + config_src + [ 'src/testprogram/testprogram.c' ], + install: false, + link_with : [ dynamic ], + dependencies: lib_deps, + include_directories: includes_dir +) diff --git a/src/testprogram/testprogram.c b/src/testprogram/testprogram.c index a6a0fb27..b2047d2e 100644 --- a/src/testprogram/testprogram.c +++ b/src/testprogram/testprogram.c @@ -1,25 +1,23 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + /* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. + * Copyright (C) 2008 Banco do Brasil S.A. * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Este programa está nomeado como connect.c e possui - linhas de código. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* * Contatos: * * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) From 7547026a727f24c7566d0477536750422b87b481 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:21:24 -0300 Subject: [PATCH 08/40] Reorganizing OS based sources. --- meson.build | 76 +++++++++++++------ src/library/{ => os}/darwin/connect.c | 0 src/library/{ => os}/darwin/curl.c | 0 src/library/{ => os}/darwin/download.c | 0 .../{ => os}/darwin/event_dispatcher.c | 0 src/library/{ => os}/darwin/ldap.c | 0 src/library/{ => os}/darwin/log.c | 0 src/library/{ => os}/darwin/private.h | 0 src/library/{ => os}/darwin/util.c | 0 src/library/{ => os}/linux/connect.c | 0 src/library/{ => os}/linux/curl.c | 0 src/library/{ => os}/linux/download.c | 0 src/library/{ => os}/linux/event_dispatcher.c | 0 src/library/{ => os}/linux/ldap.c | 0 src/library/{ => os}/linux/log.c | 0 src/library/{ => os}/linux/private.h | 0 src/library/{ => os}/linux/util.c | 0 src/library/{ => os}/windows/connect.c | 0 src/library/{ => os}/windows/download.c | 0 .../{ => os}/windows/event_dispatcher.c | 0 src/library/{ => os}/windows/http.c | 0 src/library/{ => os}/windows/ldap.c | 0 src/library/{ => os}/windows/log.c | 0 src/library/{ => os}/windows/private.h | 0 src/library/{ => os}/windows/registry.c | 0 src/library/{ => os}/windows/resources.rc.in | 0 src/library/{ => os}/windows/util.c | 0 src/{ => tools}/mkfb/mkfb.c | 0 28 files changed, 51 insertions(+), 25 deletions(-) rename src/library/{ => os}/darwin/connect.c (100%) rename src/library/{ => os}/darwin/curl.c (100%) rename src/library/{ => os}/darwin/download.c (100%) rename src/library/{ => os}/darwin/event_dispatcher.c (100%) rename src/library/{ => os}/darwin/ldap.c (100%) rename src/library/{ => os}/darwin/log.c (100%) rename src/library/{ => os}/darwin/private.h (100%) rename src/library/{ => os}/darwin/util.c (100%) rename src/library/{ => os}/linux/connect.c (100%) rename src/library/{ => os}/linux/curl.c (100%) rename src/library/{ => os}/linux/download.c (100%) rename src/library/{ => os}/linux/event_dispatcher.c (100%) rename src/library/{ => os}/linux/ldap.c (100%) rename src/library/{ => os}/linux/log.c (100%) rename src/library/{ => os}/linux/private.h (100%) rename src/library/{ => os}/linux/util.c (100%) rename src/library/{ => os}/windows/connect.c (100%) rename src/library/{ => os}/windows/download.c (100%) rename src/library/{ => os}/windows/event_dispatcher.c (100%) rename src/library/{ => os}/windows/http.c (100%) rename src/library/{ => os}/windows/ldap.c (100%) rename src/library/{ => os}/windows/log.c (100%) rename src/library/{ => os}/windows/private.h (100%) rename src/library/{ => os}/windows/registry.c (100%) rename src/library/{ => os}/windows/resources.rc.in (100%) rename src/library/{ => os}/windows/util.c (100%) rename src/{ => tools}/mkfb/mkfb.c (100%) diff --git a/meson.build b/meson.build index 0040ba91..f585db9f 100644 --- a/meson.build +++ b/meson.build @@ -255,37 +255,34 @@ lib_src += [ ] linux_src =[ - 'src/library/linux/connect.c', - 'src/library/linux/curl.c', - 'src/library/linux/download.c', - 'src/library/linux/event_dispatcher.c', - 'src/library/linux/ldap.c', - 'src/library/linux/log.c', - 'src/library/linux/util.c', + 'src/library/os/linux/connect.c', + 'src/library/os/linux/curl.c', + 'src/library/os/linux/download.c', + 'src/library/os/linux/event_dispatcher.c', + 'src/library/os/linux/ldap.c', + 'src/library/os/linux/log.c', + 'src/library/os/linux/util.c', ] darwin_src = [ - 'src/library/darwin/connect.c', - 'src/library/darwin/curl.c', - 'src/library/darwin/download.c', - 'src/library/darwin/event_dispatcher.c', - 'src/library/darwin/ldap.c', - 'src/library/darwin/log.c', - 'src/library/darwin/util.c', + 'src/library/os/darwin/connect.c', + 'src/library/os/darwin/curl.c', + 'src/library/os/darwin/download.c', + 'src/library/os/darwin/event_dispatcher.c', + 'src/library/os/darwin/ldap.c', + 'src/library/os/darwin/log.c', + 'src/library/os/darwin/util.c', ] win_src = [ - 'src/library/windows/connect.c', - 'src/library/windows/download.c', - 'src/library/windows/event_dispatcher.c', - 'src/library/windows/http.c', - 'src/library/windows/ldap.c', - 'src/library/windows/log.c', - 'src/library/windows/registry.c', - 'src/library/windows/util.c', -] - -test_src = [ + 'src/library/os/windows/connect.c', + 'src/library/os/windows/download.c', + 'src/library/os/windows/event_dispatcher.c', + 'src/library/os/windows/http.c', + 'src/library/os/windows/ldap.c', + 'src/library/os/windows/log.c', + 'src/library/os/windows/registry.c', + 'src/library/os/windows/util.c', ] # @@ -329,6 +326,9 @@ if host_machine.system() == 'windows' name: meson.project_name() + '-static', description: project_description, variables: pkg_variables, + requires: [ + lib_deps + ], libraries: [ '-l3270', ] @@ -347,6 +347,9 @@ else name: meson.project_name() + '-static', description: project_description, variables: pkg_variables, + requires: [ + lib_deps + ], libraries: [ '-l:' + meson.project_name() + '.a' ] ) @@ -445,3 +448,26 @@ executable( include_directories: includes_dir ) +install_headers( + 'src/include/lib3270.h', +) + +install_headers( + 'src/include/lib3270/actions.h', + 'src/include/lib3270/charset.h', + 'src/include/lib3270/filetransfer.h', + 'src/include/lib3270.h', + 'src/include/lib3270/html.h', + 'src/include/lib3270/internals.h', + 'src/include/lib3270/keyboard.h', + 'src/include/lib3270/log.h', + 'src/include/lib3270/popup.h', + 'src/include/lib3270/properties.h', + 'src/include/lib3270/selection.h', + 'src/include/lib3270/session.h', + 'src/include/lib3270/ssl.h', + 'src/include/lib3270/toggle.h', + 'src/include/lib3270/trace.h', + subdir: 'lib3270' +) + diff --git a/src/library/darwin/connect.c b/src/library/os/darwin/connect.c similarity index 100% rename from src/library/darwin/connect.c rename to src/library/os/darwin/connect.c diff --git a/src/library/darwin/curl.c b/src/library/os/darwin/curl.c similarity index 100% rename from src/library/darwin/curl.c rename to src/library/os/darwin/curl.c diff --git a/src/library/darwin/download.c b/src/library/os/darwin/download.c similarity index 100% rename from src/library/darwin/download.c rename to src/library/os/darwin/download.c diff --git a/src/library/darwin/event_dispatcher.c b/src/library/os/darwin/event_dispatcher.c similarity index 100% rename from src/library/darwin/event_dispatcher.c rename to src/library/os/darwin/event_dispatcher.c diff --git a/src/library/darwin/ldap.c b/src/library/os/darwin/ldap.c similarity index 100% rename from src/library/darwin/ldap.c rename to src/library/os/darwin/ldap.c diff --git a/src/library/darwin/log.c b/src/library/os/darwin/log.c similarity index 100% rename from src/library/darwin/log.c rename to src/library/os/darwin/log.c diff --git a/src/library/darwin/private.h b/src/library/os/darwin/private.h similarity index 100% rename from src/library/darwin/private.h rename to src/library/os/darwin/private.h diff --git a/src/library/darwin/util.c b/src/library/os/darwin/util.c similarity index 100% rename from src/library/darwin/util.c rename to src/library/os/darwin/util.c diff --git a/src/library/linux/connect.c b/src/library/os/linux/connect.c similarity index 100% rename from src/library/linux/connect.c rename to src/library/os/linux/connect.c diff --git a/src/library/linux/curl.c b/src/library/os/linux/curl.c similarity index 100% rename from src/library/linux/curl.c rename to src/library/os/linux/curl.c diff --git a/src/library/linux/download.c b/src/library/os/linux/download.c similarity index 100% rename from src/library/linux/download.c rename to src/library/os/linux/download.c diff --git a/src/library/linux/event_dispatcher.c b/src/library/os/linux/event_dispatcher.c similarity index 100% rename from src/library/linux/event_dispatcher.c rename to src/library/os/linux/event_dispatcher.c diff --git a/src/library/linux/ldap.c b/src/library/os/linux/ldap.c similarity index 100% rename from src/library/linux/ldap.c rename to src/library/os/linux/ldap.c diff --git a/src/library/linux/log.c b/src/library/os/linux/log.c similarity index 100% rename from src/library/linux/log.c rename to src/library/os/linux/log.c diff --git a/src/library/linux/private.h b/src/library/os/linux/private.h similarity index 100% rename from src/library/linux/private.h rename to src/library/os/linux/private.h diff --git a/src/library/linux/util.c b/src/library/os/linux/util.c similarity index 100% rename from src/library/linux/util.c rename to src/library/os/linux/util.c diff --git a/src/library/windows/connect.c b/src/library/os/windows/connect.c similarity index 100% rename from src/library/windows/connect.c rename to src/library/os/windows/connect.c diff --git a/src/library/windows/download.c b/src/library/os/windows/download.c similarity index 100% rename from src/library/windows/download.c rename to src/library/os/windows/download.c diff --git a/src/library/windows/event_dispatcher.c b/src/library/os/windows/event_dispatcher.c similarity index 100% rename from src/library/windows/event_dispatcher.c rename to src/library/os/windows/event_dispatcher.c diff --git a/src/library/windows/http.c b/src/library/os/windows/http.c similarity index 100% rename from src/library/windows/http.c rename to src/library/os/windows/http.c diff --git a/src/library/windows/ldap.c b/src/library/os/windows/ldap.c similarity index 100% rename from src/library/windows/ldap.c rename to src/library/os/windows/ldap.c diff --git a/src/library/windows/log.c b/src/library/os/windows/log.c similarity index 100% rename from src/library/windows/log.c rename to src/library/os/windows/log.c diff --git a/src/library/windows/private.h b/src/library/os/windows/private.h similarity index 100% rename from src/library/windows/private.h rename to src/library/os/windows/private.h diff --git a/src/library/windows/registry.c b/src/library/os/windows/registry.c similarity index 100% rename from src/library/windows/registry.c rename to src/library/os/windows/registry.c diff --git a/src/library/windows/resources.rc.in b/src/library/os/windows/resources.rc.in similarity index 100% rename from src/library/windows/resources.rc.in rename to src/library/os/windows/resources.rc.in diff --git a/src/library/windows/util.c b/src/library/os/windows/util.c similarity index 100% rename from src/library/windows/util.c rename to src/library/os/windows/util.c diff --git a/src/mkfb/mkfb.c b/src/tools/mkfb/mkfb.c similarity index 100% rename from src/mkfb/mkfb.c rename to src/tools/mkfb/mkfb.c From 04ed375bd33d6fac94a2b9ea22ff3de621e83be7 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:23:27 -0300 Subject: [PATCH 09/40] Publishing updated version 5.5.0 --- rpm/lib3270.spec | 2 +- win/x86_32/mingw32-lib3270.spec | 2 +- win/x86_64/mingw64-lib3270.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rpm/lib3270.spec b/rpm/lib3270.spec index c351a9db..201012be 100644 --- a/rpm/lib3270.spec +++ b/rpm/lib3270.spec @@ -17,7 +17,7 @@ # Name: lib3270 -Version: 5.4+git20240817 +Version: 5.5.0 Release: 0 Summary: TN3270 Access library Group: Development/Libraries/C and C++ diff --git a/win/x86_32/mingw32-lib3270.spec b/win/x86_32/mingw32-lib3270.spec index 254bfe25..54ee8907 100644 --- a/win/x86_32/mingw32-lib3270.spec +++ b/win/x86_32/mingw32-lib3270.spec @@ -31,7 +31,7 @@ Summary: TN3270 access library for 32 bits Windows Name: mingw32-%{_libname} -Version: 5.2 +Version: 5.5.0 Release: 0 License: LGPL-3.0 diff --git a/win/x86_64/mingw64-lib3270.spec b/win/x86_64/mingw64-lib3270.spec index 9f10ec66..89838759 100644 --- a/win/x86_64/mingw64-lib3270.spec +++ b/win/x86_64/mingw64-lib3270.spec @@ -28,7 +28,7 @@ ExclusiveArch: do_not_build Summary: TN3270 access library for 64 bits Windows Name: mingw64-%{_libname} -Version: 5.2 +Version: 5.5.0 Release: 0 License: LGPL-3.0 From d364135e2c5f71d2ad0e0f38a1cb4fe993a8d997 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:24:54 -0300 Subject: [PATCH 10/40] Updating po --- po/POTFILES.in | 97 ++++++++++++++++++-------------------------------- po/meson.build | 2 +- 2 files changed, 35 insertions(+), 64 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index de39e0c3..9e0faba5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,16 +1,3 @@ -src/mkfb/mkfb.c -src/network_modules/default/main.c -src/network_modules/openssl/context.c -src/network_modules/openssl/start.c -src/network_modules/openssl/crl.c -src/network_modules/openssl/main.c -src/network_modules/openssl/messages.c -src/network_modules/select.c -src/network_modules/state.c -src/network_modules/tools.c -src/selection/actions.c -src/selection/get.c -src/selection/selection.c src/library/actions/actions.c src/library/actions/table.c src/library/charset/charset.c @@ -31,13 +18,6 @@ src/library/keyboard/actions.c src/library/keyboard/kybd.c src/library/keyboard/properties.c src/library/linkedlist.c -src/library/linux/util.c -src/library/linux/connect.c -src/library/linux/curl.c -src/library/linux/download.c -src/library/linux/event_dispatcher.c -src/library/linux/ldap.c -src/library/linux/log.c src/library/properties/boolean.c src/library/properties/signed.c src/library/properties/string.c @@ -48,14 +28,6 @@ src/library/toggles/getset.c src/library/toggles/init.c src/library/toggles/listener.c src/library/toggles/table.c -src/library/windows/registry.c -src/library/windows/util.c -src/library/windows/connect.c -src/library/windows/download.c -src/library/windows/event_dispatcher.c -src/library/windows/http.c -src/library/windows/ldap.c -src/library/windows/log.c src/library/ansi.c src/library/array.c src/library/bounds.c @@ -82,38 +54,37 @@ src/library/telnet.c src/library/trace_ds.c src/library/util.c src/library/wait.c -src/library/darwin/util.c -src/library/darwin/connect.c -src/library/darwin/curl.c -src/library/darwin/download.c -src/library/darwin/event_dispatcher.c -src/library/darwin/ldap.c -src/library/darwin/log.c -intl/bindtextdom.c -intl/dcgettext.c -intl/dcigettext.c -intl/dcngettext.c -intl/dgettext.c -intl/dngettext.c -intl/explodename.c -intl/finddomain.c -intl/gettext.c -intl/intl-compat.c -intl/l10nflist.c -intl/loadmsgcat.c -intl/localcharset.c -intl/localealias.c -intl/localename.c -intl/log.c -intl/ngettext.c -intl/os2compat.c -intl/osdep.c -intl/plural-exp.c -intl/plural.c -intl/printf-args.c -intl/printf-parse.c -intl/printf.c -intl/relocatable.c -intl/textdomain.c -intl/vasnprintf.c -.tmp/lib3270/fallbacks.c +src/library/network/default/main.c +src/library/network/openssl/context.c +src/library/network/openssl/start.c +src/library/network/openssl/crl.c +src/library/network/openssl/main.c +src/library/network/openssl/messages.c +src/library/network/select.c +src/library/network/state.c +src/library/network/tools.c +src/library/selection/actions.c +src/library/selection/get.c +src/library/selection/selection.c +src/library/os/linux/util.c +src/library/os/linux/connect.c +src/library/os/linux/curl.c +src/library/os/linux/download.c +src/library/os/linux/event_dispatcher.c +src/library/os/linux/ldap.c +src/library/os/linux/log.c +src/library/os/windows/registry.c +src/library/os/windows/util.c +src/library/os/windows/connect.c +src/library/os/windows/download.c +src/library/os/windows/event_dispatcher.c +src/library/os/windows/http.c +src/library/os/windows/ldap.c +src/library/os/windows/log.c +src/library/os/darwin/util.c +src/library/os/darwin/connect.c +src/library/os/darwin/curl.c +src/library/os/darwin/download.c +src/library/os/darwin/event_dispatcher.c +src/library/os/darwin/ldap.c +src/library/os/darwin/log.c diff --git a/po/meson.build b/po/meson.build index a69ada7f..3747a5fd 100644 --- a/po/meson.build +++ b/po/meson.build @@ -25,7 +25,7 @@ # https://docs.elementary.io/develop/writing-apps/our-first-app/translations # -# find . -type f -iname '*.c' | grep -v 'build' | sed 's@^./@@g' | grep -v testprogram > po/POTFILES.in +# find 'src/library' -type f -iname '*.c' | grep -v 'build' | sed 's@^./@@g' | grep -v testprogram > po/POTFILES.in i18n = import('i18n') From 18b593595db2b6970d7227afd624343f78122363 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:25:11 -0300 Subject: [PATCH 11/40] Publishing updated version 5.5.0 --- po/pt_BR.po | 3774 ++++++++++++++++++++++++++------------------------- 1 file changed, 1956 insertions(+), 1818 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 2f671b1d..4e9e0975 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-16 13:05-0300\n" +"POT-Creation-Date: 2024-11-29 10:25-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" @@ -19,1776 +19,1935 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Gtranslator 40.0\n" -#: src/core/ctlr.c:173 -#, c-format -msgid "%dx%d is negative or zero" -msgstr "%dx%d é negativa ou zero" - -#: src/core/ctlr.c:183 -#, c-format -msgid "%dx%d screen size is bigger than the maximum size" -msgstr "Tela %dx%d é maior que o tamanho máximo" +#: src/library/actions/table.c:112 +msgid "_Reconnect" +msgstr "_Reconectar" -#: src/network_modules/tools.c:175 src/network_modules/tools.c:191 -#, c-format -msgid "%s" -msgstr "%s" +#: src/library/actions/table.c:113 +msgid "Reconnect to the same host" +msgstr "Reconecta ao mesmo servidor" -#: src/core/keyboard/kybd.c:1763 -#, c-format -msgid "%s: Bell not supported" -msgstr "%s: Alerta sonoro não suportado" +#: src/library/actions/table.c:126 +msgid "_Disconnect" +msgstr "_Desconectar" -#: src/core/keyboard/kybd.c:1908 -#, c-format -msgid "%s: Missing hex digits after \\x" -msgstr "%s: Faltando dígitos hexadecimais após \\x" +#: src/library/actions/table.c:127 +msgid "Disconnect from host" +msgstr "Desconecta do servidor" -#: src/core/keyboard/kybd.c:1861 -#, c-format -msgid "%s: Unknown character after \\p" -msgstr "%s: Caractere desconhecido depois de \\p" +#: src/library/actions/table.c:143 +msgid "Up" +msgstr "Subir" -#: src/core/keyboard/kybd.c:1889 -#, c-format -msgid "%s: Unknown character after \\pa" -msgstr "%s: Caractere desconhecido depois de \\pa" +#: src/library/actions/table.c:144 +msgid "Cursor up 1 position" +msgstr "Cursor para cima 1 posição" -#: src/core/keyboard/kybd.c:1872 -#, c-format -msgid "%s: Unknown character after \\pf" -msgstr "%s: Caractere desconhecido depois de \\pf" +#: src/library/actions/table.c:157 +msgid "Down" +msgstr "Descer" -#: src/core/keyboard/kybd.c:1814 -#, c-format -msgid "%s: Vertical tab not supported" -msgstr "%s: Tabulação vertical não é suportada" +#: src/library/actions/table.c:158 +msgid "Cursor down 1 position" +msgstr "Move cursor uma posição para baixo" -#: src/core/telnet.c:1785 -msgid "3270 Mode" -msgstr "Modo 3270" +#: src/library/actions/table.c:171 +msgid "Left" +msgstr "Esquerda" -#: src/core/actions/table.c:678 -msgid "3270-style backspace" -msgstr "Backspace no estilo 3270" +#: src/library/actions/table.c:172 +msgid "Cursor left 1 position" +msgstr "Move o cursor 1 posição para a esquerda" -#: src/network_modules/openssl/messages.c:314 -msgid "" -"A CA certificate is invalid. Either it is not a CA or its extensions are not " -"consistent with the supplied purpose." -msgstr "" -"A CA certificate is invalid. Either it is not a CA or its extensions are not " -"consistent with the supplied purpose." +#: src/library/actions/table.c:185 +msgid "Right" +msgstr "Direita" -#: src/core/actions/table.c:692 -msgid "ATTN key, per RFC 2355. Sends IP, regardless" -msgstr "Tecla ATTN, pela RFC 2355." +#: src/library/actions/table.c:186 +msgid "Cursor right 1 position" +msgstr "Move o cursor uma posição para a direita" -#: src/core/ft/ft.c:100 -msgid "Abort sent; awaiting response" -msgstr "Cancelamento enviado; aguardando resposta" +#: src/library/actions/table.c:199 +msgid "New line" +msgstr "Nova linha" -#: src/core/ft/ft.c:612 -msgid "Aborting..." -msgstr "Cancelando..." +#: src/library/actions/table.c:200 +msgid "Cursor to first field on next line or any lines after that" +msgstr "" +"Move o cursor para o primeiro campo da próxima linha ou qualquer linhas " +"depois dela" -#: src/core/ft/ft.c:98 -msgid "Ack received, data flowing" -msgstr "Confirmação recebida, transferindo dados" +#: src/library/actions/table.c:213 +msgid "Previous word" +msgstr "Palavra anterior" -#: src/core/paste.c:373 -msgid "Action failed" -msgstr "Ação falhou" +#: src/library/actions/table.c:214 +msgid "Cursor to previous word" +msgstr "Move o cursor para a palavra anterior" -#: src/core/toggles/table.c:256 -msgid "Alert sound" -msgstr "Aviso sonoro" +#: src/library/actions/table.c:227 +msgid "Next word" +msgstr "Próxima palavra" -#: src/network_modules/openssl/start.c:264 -msgid "An EOF was observed that violates the protocol" -msgstr "Um EOF que viola o protocolo foi encontrado" +#: src/library/actions/table.c:228 +msgid "Cursor to next unprotected word" +msgstr "Move o cursor para a próxima palavra desprotegida" -#: src/core/ft/ftmessages.c:67 -msgid "An error exists in the PC's file name." -msgstr "Existe um erro no nome do arquivo do PC." +#: src/library/actions/table.c:241 +msgid "Paste from file" +msgstr "Colar de um arquivo" -#: src/core/ft/ftmessages.c:46 -msgid "" -"An error occurred in the file transfer, which may be an error in the data " -"being transferred, or an unidentified system error." -msgstr "" -"Um erro ocorreu na transferência de arquivos, pode ser um erro nos dados " -"sendo transferidos ou um erro de sistema não identificado." +#: src/library/actions/table.c:242 +msgid "Paste from text file" +msgstr "Colar de um arquivo texto" -#: src/network_modules/openssl/messages.c:238 -msgid "An error occurred trying to allocate memory. This should never happen." -msgstr "" -"Ocorreu um erro ao tentar alocar memória. Isso nunca deveria acontecer." +#: src/library/actions/table.c:258 src/library/actions/table.c:259 +msgid "Select all" +msgstr "Selecionar tudo" -#: src/core/ft/ftmessages.c:102 -msgid "An invalid SEND or RECEIVE parameter was sent to the host." -msgstr "Um parametro de ENVIO/RECEBIMENTO inválido foi enviado para o host." +#: src/library/actions/table.c:272 src/library/actions/table.c:273 +msgid "Remove selection" +msgstr "Remover seleção" -#: src/core/actions/table.c:691 -msgid "Attn" -msgstr "Attn" +#: src/library/actions/table.c:286 src/library/actions/table.c:287 +msgid "Reselect" +msgstr "Reselecionar" -#: src/network_modules/openssl/messages.c:390 -msgid "Authority and issuer serial number mismatch" -msgstr "Divergência nos números de série da autoridade e emissor " +#: src/library/actions/table.c:300 src/library/actions/table.c:301 +msgid "Select word" +msgstr "Seleciona palavra" -#: src/network_modules/openssl/messages.c:379 -msgid "Authority and subject key identifier mismatch" -msgstr "Authority and subject key identifier mismatch" +#: src/library/actions/table.c:314 +msgid "Select UP" +msgstr "Seleciona para cima" -#: src/core/toggles/table.c:275 -msgid "Auto Resize" -msgstr "Redimensionamento automático" +#: src/library/actions/table.c:315 +msgid "Move cursor up and select" +msgstr "Move cursor para cima selecionando" -#: src/core/toggles/table.c:318 src/core/toggles/table.c:319 -msgid "Auto-Reconnect" -msgstr "Reconectar automaticamente" +#: src/library/actions/table.c:328 +msgid "Select Down" +msgstr "Seleciona para baixo" -#: src/core/toggles/table.c:236 -msgid "Automatically connect to host on startup" -msgstr "Conecta automaticamente na inicialização" +#: src/library/actions/table.c:329 +msgid "Move cursor down and select" +msgstr "Move cursor para baixo selecionando" -#: src/core/toggles/table.c:115 -msgid "" -"Automatically convert trailing blanks in a field to NULLs in order to insert " -"a character, and will automatically convert leading NULLs to blanks so that " -"input data is not squeezed to the left" -msgstr "" -"Automatically convert trailing blanks in a field to NULLs in order to insert " -"a character, and will automatically convert leading NULLs to blanks so that " -"input data is not squeezed to the left" +#: src/library/actions/table.c:342 +msgid "Select Left" +msgstr "Seleciona à esquerda" -#: src/core/toggles/table.c:320 -msgid "Automatically reconnect to the host if it ever disconnects" -msgstr "Reconecta automaticamente caso o servidor desconecte" +#: src/library/actions/table.c:343 +msgid "Move cursor left and select" +msgstr "Move cursor para a esquerda selecionando" -#: src/core/ft/ft.c:99 -msgid "Awaiting chance to send an abort" -msgstr "Aguardando para enviar pedido de cancelamento" +#: src/library/actions/table.c:356 +msgid "Select right" +msgstr "Seleciona a direita" -#: src/core/actions/table.c:677 -msgid "Back space" -msgstr "Back space" +#: src/library/actions/table.c:357 +msgid "Move cursor rigth and select" +msgstr "Move cursor para a direita selecionando" -#: src/core/actions/table.c:504 -msgid "Backspaces the cursor until it hits the front of a word" -msgstr "Volta o cursor até que atinga o início de uma palavra" +#: src/library/actions/table.c:370 +msgid "Selection up" +msgstr "Sobe a seleção" -#: src/core/windows/connect.c:123 -msgid "Bad winsock version" -msgstr "Versão winsock inválida" +#: src/library/actions/table.c:371 +msgid "Move selection up" +msgstr "Move seleção para cima" -#: src/core/toggles/table.c:257 -msgid "Beep on errors" -msgstr "Emitir som nos erros" +#: src/library/actions/table.c:384 +msgid "Selection down" +msgstr "Desce a seleção" -#: src/core/toggles/table.c:113 src/core/toggles/table.c:114 -msgid "Blank Fill" -msgstr "Completar com espaços" +#: src/library/actions/table.c:385 +msgid "Move selection down" +msgstr "Move seleção para baixo" -#: src/core/toggles/table.c:62 src/core/toggles/table.c:63 -msgid "Blinking Cursor" -msgstr "Cursor piscante" +#: src/library/actions/table.c:398 +msgid "Selection left" +msgstr "Move seleção para a esquerda" -#: src/core/toggles/table.c:205 src/core/toggles/table.c:206 -msgid "Bold" -msgstr "Negrito" +#: src/library/actions/table.c:399 +msgid "Move selection left" +msgstr "Move seleção para a esquerda" -#: src/core/actions/table.c:705 src/core/actions/table.c:706 -msgid "Break" -msgstr "Break" +#: src/library/actions/table.c:412 +msgid "Selection right" +msgstr "Move seleção para a direita" -#: src/network_modules/tools.c:113 -msgid "Broken pipe" -msgstr "Conexão interrompida" +#: src/library/actions/table.c:413 +msgid "Move selection right" +msgstr "Move seleção para a direita" -#: src/core/ft/ftmessages.c:215 -msgid "CMS disk is full: file transfer canceled" -msgstr "Disco CMS está lotado, transferência cancelada" +#: src/library/actions/table.c:428 +msgid "Select field" +msgstr "Seleciona campo" -#: src/core/ft/ftmessages.c:208 -msgid "CMS disk is not accessed: file transfer canceled" -msgstr "Disco CMS não está acessível, transferência cancelada" +#: src/library/actions/table.c:429 +msgid "Select Field" +msgstr "Selecionar campo" -#: src/core/ft/ftmessages.c:201 -msgid "CMS disk is read-only: file transfer canceled" -msgstr "Disco CMS apenas para leitura, transferência cancelada" +#: src/library/actions/table.c:443 +msgid "Field end" +msgstr "Final do campo" -#: src/core/ft/ftmessages.c:194 -msgid "CMS file not found: file transfer canceled" -msgstr "Arquivo CMS não encontrado, transferência cancelada" +#: src/library/actions/table.c:444 +msgid "" +"Move the cursor to the first blank after the last non blank in the field" +msgstr "Move o cursor para o primeiro branco após o último não branco no campo" -#: src/network_modules/openssl/messages.c:134 -msgid "CRL signature failure" -msgstr "Erro na assinatura CRL" +#: src/library/actions/table.c:457 +msgid "First field" +msgstr "Primeiro campo" -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334 -#, c-format -msgid "Can't %s network keep-alive" -msgstr "Não foi possível %s opção \"keep-alive\"" +#: src/library/actions/table.c:458 +msgid "Move to first unprotected field on screen" +msgstr "Move para o primeiro campo desprotegido" -#: src/core/windows/ldap.c:149 -msgid "Can't bind to LDAP server" -msgstr "Não foi possível conectar ao servidor LDAP" +#: src/library/actions/table.c:471 +msgid "Next field" +msgstr "Próximo campo" -#: src/core/linux/connect.c:215 src/core/linux/connect.c:269 -#: src/core/windows/connect.c:232 src/core/windows/connect.c:276 -#: src/core/macos/connect.c:215 src/core/macos/connect.c:269 -#, c-format -msgid "Can't connect to %s:%s" -msgstr "Não foi possível conectar a %s:%s" +#: src/library/actions/table.c:472 +msgid "Move to the next unprotected field on screen" +msgstr "Move para o próximo campo desprotegido" -#: src/core/windows/http.c:110 -msgid "Can't connect to HTTP server." -msgstr "Não foi possível conectar ao servidor HTTP" +#: src/library/actions/table.c:485 +msgid "Previous field" +msgstr "Campo anterior" -#: src/core/linux/connect.c:165 src/core/windows/connect.c:197 -#: src/core/macos/connect.c:165 -msgid "Can't connect to host" -msgstr "Não foi possível conectar no host" +#: src/library/actions/table.c:486 +msgid "Move to the previous unprotected field on screen" +msgstr "Move para o campo desprotegido anterior" -#: src/core/windows/http.c:121 -msgid "Can't create HTTP request." -msgstr "Não foi possível criar requisição HTTP" +#: src/library/actions/table.c:503 +msgid "Delete word" +msgstr "Apaga palavra" -#: src/network_modules/openssl/start.c:71 -msgid "Can't decode CRL data" -msgstr "Não foi possível decodificar dados do CRL" +#: src/library/actions/table.c:504 +msgid "Backspaces the cursor until it hits the front of a word" +msgstr "Volta o cursor até que atinga o início de uma palavra" -#: src/core/linux/ldap.c:167 src/core/windows/ldap.c:204 -#: src/core/macos/ldap.c:167 -msgid "Can't decode certificate revocation list" -msgstr "Não foi possível decodificar a lista de certificados revogados" +#: src/library/actions/table.c:517 src/library/actions/table.c:518 +msgid "Delete field" +msgstr "Apagar campo" -#: src/core/connect.c:169 -msgid "Can't determine the TLS/SSL state" -msgstr "Não foi possível determinar o estado TLS/SSL" +#: src/library/actions/table.c:532 +msgid "Erase input" +msgstr "Apagar campos" -#: src/core/ft/ft.c:391 -msgid "Can't get file size" -msgstr "Não foi possível obter o tamanho do arquivo" +#: src/library/actions/table.c:533 +msgid "Erase all unprotected fields" +msgstr "Apagar todos os campos desprotegidos" -#: src/core/windows/ldap.c:133 -msgid "Can't initialize LDAP" -msgstr "Erro ao inicializar LDAP" +#: src/library/actions/table.c:546 +msgid "Erase EOF" +msgstr "Erase EOF" -#: src/core/linux/curl.c:171 src/core/macos/curl.c:171 -msgid "Can't initialize curl operation" -msgstr "Erro ao inicializar operação CURL" - -#: src/network_modules/openssl/context.c:236 -msgid "Can't initialize the TLS/SSL context." -msgstr "Erro ao inicializar contexto TLS/SSL" +#: src/library/actions/table.c:547 +msgid "Erase End Of Field" +msgstr "Apaga até o final do campo" -#: src/core/session.c:176 -msgid "Can't load" -msgstr "Não foi possível carregar" +#: src/library/actions/table.c:560 +msgid "Erase EOL" +msgstr "Erase EOL" -#: src/network_modules/openssl/context.c:338 -#, c-format -msgid "Can't load \"%s\": %s" -msgstr "Não foi possível carregar \"%s\": %s" +#: src/library/actions/table.c:561 +msgid "Erase End Of Line" +msgstr "Apaga até o final da linha" -#: src/network_modules/openssl/context.c:291 -#, c-format -msgid "Can't open \"%s\" (The Windows error code was %ld)" -msgstr "Não foi possível abrir \"%s\" (O código de erro windows foi %ld)" +#: src/library/actions/table.c:574 src/library/actions/table.c:575 +msgid "Erase" +msgstr "Apagar" -#: src/network_modules/openssl/context.c:304 -#, c-format -msgid "Can't open \"%s\": %s" -msgstr "Não foi possível abrir %s: %s" +#: src/library/actions/table.c:588 +msgid "Clear" +msgstr "Limpar" -#: src/core/windows/http.c:99 -msgid "Can't open HTTP session" -msgstr "Não foi possível abrir sessão HTTP" +#: src/library/actions/table.c:589 +msgid "Clear AID key" +msgstr "Clear AID" -#: src/core/session.c:164 -msgid "Can't print" -msgstr "Não é possível imprimir" +#: src/library/actions/table.c:605 +msgid "Enter" +msgstr "Enter" -#: src/network_modules/openssl/context.c:322 -#, c-format -msgid "Can't read \"%s\": %s" -msgstr "Não foi possível ler \"%s\": %s" +#: src/library/actions/table.c:606 +msgid "Send an \"Enter\" action" +msgstr "Envia um \"Enter\"" -#: src/core/windows/http.c:173 -msgid "Can't read HTTP response size." -msgstr "Não posso obter tamanho da resposta HTTP" +#: src/library/actions/table.c:620 +msgid "Reset" +msgstr "Reset" -#: src/core/session.c:170 -msgid "Can't save" -msgstr "Não é possível salvar" +#: src/library/actions/table.c:621 +msgid "Reset keyboard lock" +msgstr "Reinicia bloqueio de teclado" -#: src/core/windows/http.c:134 -msgid "Can't send HTTP request." -msgstr "Não posso enviar requisição HTTP" +#: src/library/actions/table.c:635 src/library/actions/table.c:636 +msgid "Delete" +msgstr "Apagar" -#: src/core/windows/ldap.c:141 -msgid "Can't set LDAP protocol version" -msgstr "Não é possível setar a versão do protocolo LDAP" +#: src/library/actions/table.c:649 +msgid "Dup" +msgstr "Dup" -#: src/network_modules/tools.c:190 -msgid "Can't set socket to blocking mode." -msgstr "Não foi possível mudar o socket para o modo blocante." +#: src/library/actions/table.c:650 +msgid "DUP key" +msgstr "Tecla \"DUP\"" -#: src/network_modules/tools.c:190 -msgid "Can't set socket to non blocking mode" -msgstr "Não foi possível setar o socket para o modo não blocante." +#: src/library/actions/table.c:663 +msgid "FM key" +msgstr "Tecla \"FM\"" -#: src/core/ft/ft.c:192 -msgid "Can't start file transfer." -msgstr "Não foi possível iniciar transferência de arquivo." +#: src/library/actions/table.c:664 +msgid "Field Mark" +msgstr "Field Mark" -#: src/core/windows/connect.c:124 -msgid "Can't use this system winsock" -msgstr "Não posso usar a winsock do sistema" +#: src/library/actions/table.c:677 +msgid "Back space" +msgstr "Back space" -#: src/core/ft/ft.c:151 -msgid "Cancelled by user" -msgstr "Cancelado pelo usuário" +#: src/library/actions/table.c:678 +msgid "3270-style backspace" +msgstr "Backspace no estilo 3270" -#: src/core/telnet.c:928 -msgid "Cannot connect to specified LU" -msgstr "Não foi possível conectar na LU pedida" +#: src/library/actions/table.c:691 +msgid "Attn" +msgstr "Attn" -#: src/network_modules/openssl/start.c:213 -msgid "Cant create a new SSL structure for current connection." -msgstr "" -"Não foi possível criar uma nova estrutura de controle SSL para a conexão " -"atual." +#: src/library/actions/table.c:692 +msgid "ATTN key, per RFC 2355. Sends IP, regardless" +msgstr "Tecla ATTN, pela RFC 2355." -#: src/network_modules/openssl/context.c:332 -msgid "Cant load custom certificate file." -msgstr "Não foi possível ler arquivo de certificado personalizado" +#: src/library/actions/table.c:705 src/library/actions/table.c:706 +msgid "Break" +msgstr "Break" -#: src/network_modules/openssl/context.c:286 -msgid "Cant open custom certificate directory." -msgstr "Não foi possível abrir o diretório de certificados personalizados" +#: src/library/actions/table.c:719 src/library/actions/table.c:720 +msgid "Paste next" +msgstr "Colar próximo" -#: src/network_modules/openssl/context.c:316 -msgid "Cant read custom certificate file." -msgstr "Não foi possível ler certificado personalizado" +#: src/library/actions/table.c:733 +msgid "Sys Req" +msgstr "Sys Req" -#: src/network_modules/openssl/start.c:230 -msgid "" -"Cant set the file descriptor for the input/output facility for the TLS/SSL " -"(encrypted) side of ssl." -msgstr "" -"Não foi possível definir o descritor de arquivo para a conexão TLS/SSL " -"(encriptada)." +#: src/library/actions/table.c:734 +msgid "Sys Request" +msgstr "Sys Request" -#: src/network_modules/openssl/messages.c:156 -msgid "Certificate has expired" -msgstr "O certificado expirou" +#: src/library/actions/table.c:751 +msgid "Test pattern" +msgstr "Padrão de teste" -#: src/network_modules/openssl/messages.c:145 -msgid "Certificate is not yet valid" -msgstr "O certificado ainda não é válido" +#: src/library/actions/table.c:752 +msgid "Show test pattern" +msgstr "Mostra o padrão de teste" -#: src/network_modules/openssl/messages.c:346 -msgid "Certificate not trusted" -msgstr "O certificado não é confiável" +#: src/library/actions/table.c:765 +msgid "Charset table" +msgstr "Tabela de caracteres" -#: src/network_modules/openssl/messages.c:357 -msgid "Certificate rejected" -msgstr "Certificado rejeitado" +#: src/library/actions/table.c:766 +msgid "Show charset table" +msgstr "Mostra a tabela de caracteres" -#: src/network_modules/openssl/messages.c:302 -msgid "Certificate revoked" -msgstr "Certificado revogado" +#: src/library/actions/table.c:782 src/library/actions/table.c:796 +#: src/library/actions/table.c:810 +msgid "PA1" +msgstr "PA1" -#: src/network_modules/openssl/messages.c:123 -msgid "Certificate signature failure" -msgstr "Falha na assinatura do certificado" +#: src/library/actions/table.c:783 +msgid "Program Action 1" +msgstr "Program Action 1" -#: src/core/toggles/table.c:277 -msgid "Change screen size on alternative screen" -msgstr "Mudar tamanho do terminal em tela alternativa" +#: src/library/actions/table.c:797 +msgid "Program Action 2" +msgstr "Program Action 2" -#: src/core/telnet.c:1790 -msgid "Charset" -msgstr "Tabela de caracteres" +#: src/library/actions/table.c:811 +msgid "Program Action 3" +msgstr "Program Action 3" -#: src/core/actions/table.c:765 -msgid "Charset table" -msgstr "Tabela de caracteres" +#: src/library/ft/ft.c:97 +msgid "No transfer in progress" +msgstr "Nenhuma transferência em andamento" -#: src/core/actions/table.c:588 -msgid "Clear" -msgstr "Limpar" +#: src/library/ft/ft.c:98 +msgid "Ack received, data flowing" +msgstr "Confirmação recebida, transferindo dados" -#: src/core/actions/table.c:589 -msgid "Clear AID key" -msgstr "Clear AID" +#: src/library/ft/ft.c:99 +msgid "Awaiting chance to send an abort" +msgstr "Aguardando para enviar pedido de cancelamento" -#: src/core/ft/ftmessages.c:73 -msgid "Command incomplete: file transfer canceled" -msgstr "Comando incompleto, transferência cancelada" +#: src/library/ft/ft.c:100 +msgid "Abort sent; awaiting response" +msgstr "Cancelamento enviado; aguardando resposta" -#: src/core/telnet.c:1784 -msgid "Connect" -msgstr "Conectar" +#: src/library/ft/ft.c:151 +msgid "Cancelled by user" +msgstr "Cancelado pelo usuário" -#: src/core/toggles/table.c:235 -msgid "Connect on startup" -msgstr "Conectar ao iniciar" +#. Nao tem destino para a mensagem, apresenta +#: src/library/ft/ft.c:192 +msgid "Request failed" +msgstr "Requisição falhou" -#: src/core/properties/signed.c:46 -msgid "Connected in NVT ANSI mode" -msgstr "" +#: src/library/ft/ft.c:192 +msgid "Can't start file transfer." +msgstr "Não foi possível iniciar transferência de arquivo." -#: src/core/properties/signed.c:51 -msgid "Connected in TN3270E mode, 3270 mode" -msgstr "" +#: src/library/ft/ft.c:244 src/library/network/openssl/main.c:100 +#: src/library/network/openssl/main.c:148 +msgid "Disconnected from host." +msgstr "Desconectado do servidor." -#: src/core/properties/signed.c:49 -msgid "Connected in TN3270E mode, NVT mode" -msgstr "" +#: src/library/ft/ft.c:247 +msgid "File transfer is already active in this session." +msgstr "Transferência de arquivos já está ativa nesta sessão." -#: src/core/properties/signed.c:50 -msgid "Connected in TN3270E mode, SSCP-LU mode" -msgstr "" +#: src/library/ft/ft.c:251 +msgid "The remote file name is invalid." +msgstr "O nome do arquivo remoto não é válido." -#: src/core/properties/signed.c:48 -#, fuzzy -msgid "Connected in TN3270E mode, no negotiated" -msgstr "Não está no modo 3270, transferência cancelada" +#: src/library/ft/ft.c:391 +msgid "Can't get file size" +msgstr "Não foi possível obter o tamanho do arquivo" -#: src/core/properties/signed.c:47 -msgid "Connected in old-style 3270 mode" -msgstr "" +#: src/library/ft/ft.c:478 +msgid "Unable to send file-transfer request" +msgstr "Não foi possível enviar a requisição de transferência de arquivo" -#: src/core/telnet.c:1764 -msgid "Connected initial" -msgstr "Connected initial" +#: src/library/ft/ft.c:487 +msgid "Waiting for GET response" +msgstr "Aguardando resposta do pedido de download" -#: src/core/properties/signed.c:45 -#, fuzzy -msgid "Connected, no mode yet" -msgstr "Connected initial" +#: src/library/ft/ft.c:489 +msgid "Waiting for PUT response" +msgstr "Aguardando resposta do pedido de upload" -#: src/core/telnet.c:1782 -msgid "Connecting" -msgstr "Conectando" +#: src/library/ft/ft.c:526 +msgid "Transfer complete" +msgstr "Transferência completa" -#: src/core/properties/signed.c:43 -#, fuzzy -msgid "Connecting to host" -msgstr "Não foi possível conectar no host" +#: src/library/ft/ft.c:530 +msgid "Transfer failed" +msgstr "Transferência falhou" -#: src/network_modules/tools.c:160 src/core/linux/connect.c:230 -#: src/core/linux/connect.c:321 src/core/linux/connect.c:338 -#: src/core/windows/connect.c:358 src/core/windows/connect.c:376 -#: src/core/macos/connect.c:230 src/core/macos/connect.c:321 -#: src/core/macos/connect.c:338 -msgid "Connection error" -msgstr "Erro de conexão" +#: src/library/ft/ft.c:612 +msgid "Aborting..." +msgstr "Cancelando..." -#: src/network_modules/openssl/start.c:246 -msgid "Connection failed" -msgstr "Conexão falhou" +#: src/library/ft/ft.c:620 +msgid "Host disconnected, transfer cancelled" +msgstr "Servidor desconectou, transferência cancelada" -#: src/core/properties/signed.c:44 -#, fuzzy -msgid "Connection pending" -msgstr "Conexão falhou" +#: src/library/ft/ft.c:626 +msgid "Not in 3270 mode, transfer cancelled" +msgstr "Não está no modo 3270, transferência cancelada" -#: src/network_modules/tools.c:122 -msgid "Connection reset by peer" -msgstr "Conexão foi cancelada pelo servidor" +#: src/library/ft/ft_cut.c:163 src/library/ft/ft_cut.c:171 +msgid "Data conversion error" +msgstr "Erro na conversão de dados" -#: src/core/properties/signed.c:96 -#, fuzzy -msgid "Connection secure with CA check" -msgstr "A conexão é segura ?" +#: src/library/ft/ft_cut.c:297 +msgid "Unknown frame type from host" +msgstr "Servidor enviou tipo de frame desconhecido" -#: src/core/properties/signed.c:97 -msgid "Connection secure, no CA, self-signed or expired CRL" -msgstr "" +#: src/library/ft/ft_cut.c:360 +msgid "Transfer cancelled by host" +msgstr "Transferência cancelada pelo host" -#: src/core/properties/signed.c:121 -msgid "Connection state" -msgstr "Estado da conexão" +#: src/library/ft/ft_cut.c:368 +msgid "Unknown FT control code from host" +msgstr "Servidor enviou código de controle FT desconhecido" -#: src/network_modules/openssl/messages.c:80 -#: src/network_modules/openssl/messages.c:253 -#: src/network_modules/openssl/messages.c:268 -msgid "Continue" -msgstr "Continuar" +#: src/library/ft/ft_cut.c:387 src/library/ft/ft_cut.c:475 +#: src/library/ft/ft_dft.c:213 src/library/ft/ft_dft.c:344 +msgid "Transfer cancelled by user" +msgstr "Transferência cancelada pelo usuário" -#: src/core/toggles/table.c:165 src/core/toggles/table.c:166 -msgid "Cross hair cursor" -msgstr "Cursor mira" +#. Abort the transfer. +#: src/library/ft/ft_cut.c:408 src/library/ft/ft_dft.c:413 +#, c-format +msgid "Error \"%s\" reading from local file (rc=%d)" +msgstr "Erro \"%s\" lendo arquivo local (rc=%d)" -#: src/core/properties/unsigned.c:113 -msgid "Current screen height in rows" -msgstr "Altura atual da tela em linhas" +#: src/library/ft/ft_cut.c:447 +msgid "Transmission error" +msgstr "Erro de transmissão" -#: src/core/properties/unsigned.c:106 -msgid "Current screen width in columns" -msgstr "Largura atua da tela em colunas" +#: src/library/ft/ft_cut.c:484 +msgid "Illegal frame length" +msgstr "Comprimento de frame inválido" -#: src/core/properties/signed.c:130 -msgid "Cursor address" -msgstr "Endereço do cursor" +#. write failed +#: src/library/ft/ft_cut.c:504 src/library/ft/ft_dft.c:306 +#, c-format +msgid "Error \"%s\" writing to local file (rc=%d)" +msgstr "Erro \"%s\" gravando arquivo local (rc=%d)" -#: src/core/actions/table.c:158 -msgid "Cursor down 1 position" -msgstr "Move cursor uma posição para baixo" - -#: src/core/actions/table.c:172 -msgid "Cursor left 1 position" -msgstr "Move o cursor 1 posição para a esquerda" +#: src/library/ft/ft_dft.c:161 +msgid "Uknown DFT Open type from host" +msgstr "Host enviou código de abertura DFT desconhecido" -#: src/core/actions/table.c:186 -msgid "Cursor right 1 position" -msgstr "Move o cursor uma posição para a direita" +#: src/library/ft/ftmessages.c:45 +msgid "Error in file transfer: file transfer canceled" +msgstr "Erro na transferência do arquivo, transferência cancelada" -#: src/core/actions/table.c:200 -msgid "Cursor to first field on next line or any lines after that" +#: src/library/ft/ftmessages.c:46 +msgid "" +"An error occurred in the file transfer, which may be an error in the data " +"being transferred, or an unidentified system error." msgstr "" -"Move o cursor para o primeiro campo da próxima linha ou qualquer linhas " -"depois dela" +"Um erro ocorreu na transferência de arquivos, pode ser um erro nos dados " +"sendo transferidos ou um erro de sistema não identificado." -#: src/core/actions/table.c:228 -msgid "Cursor to next unprotected word" -msgstr "Move o cursor para a próxima palavra desprotegida" +#: src/library/ft/ftmessages.c:52 +msgid "File transfer complete" +msgstr "Transferência completa" -#: src/core/actions/table.c:214 -msgid "Cursor to previous word" -msgstr "Move o cursor para a palavra anterior" +#: src/library/ft/ftmessages.c:53 +msgid "The file transfer operation has been successfully completed." +msgstr "A transferência de arquivos terminou com sucesso." -#: src/core/actions/table.c:144 -msgid "Cursor up 1 position" -msgstr "Cursor para cima 1 posição" +#: src/library/ft/ftmessages.c:59 +msgid "File transfer complete with records segmented" +msgstr "Transferência completa com registros segmentados" -#: src/core/actions/table.c:650 -msgid "DUP key" -msgstr "Tecla \"DUP\"" +#: src/library/ft/ftmessages.c:60 +msgid "" +"The file transfer operation has been completed, and any record greater than " +"the logical record length (LRECL) of the file being appended has been " +"divided and becomes multiple records." +msgstr "" +"A transferência de arquivos foi concluída e qualquer registro maior que o " +"comprimento definido foi dividido e se transformou em vários registros." -#: src/core/ft/ft_cut.c:163 src/core/ft/ft_cut.c:171 -msgid "Data conversion error" -msgstr "Erro na conversão de dados" +#: src/library/ft/ftmessages.c:66 +msgid "Personal computer filespec incorrect: file transfer canceled" +msgstr "Especificação de arquivo PC incorreta: Transferência cancelada" -#: src/core/properties/string.c:143 -msgid "Default host URL" -msgstr "URL parão para acesso ao host" +#: src/library/ft/ftmessages.c:67 +msgid "An error exists in the PC's file name." +msgstr "Existe um erro no nome do arquivo do PC." -#: src/core/actions/table.c:635 src/core/actions/table.c:636 -msgid "Delete" -msgstr "Apagar" +#: src/library/ft/ftmessages.c:73 +msgid "Command incomplete: file transfer canceled" +msgstr "Comando incompleto, transferência cancelada" -#: src/core/actions/table.c:517 src/core/actions/table.c:518 -msgid "Delete field" -msgstr "Apagar campo" +#: src/library/ft/ftmessages.c:74 +msgid "" +"You did not enter the required parameters after a SEND or RECEIVE command." +msgstr "" +"Você não entrou os parametros necessários para um comando ENVIAR/RECEBER." -#: src/core/actions/table.c:503 -msgid "Delete word" -msgstr "Apaga palavra" +#: src/library/ft/ftmessages.c:80 +msgid "Error writing file to host: file transfer canceled" +msgstr "Erro ao gravar arquivo no host, transferência cancelada" -#: src/core/properties/string.c:157 -msgid "Description of the current security state" -msgstr "Descrição do estado de segurança atual" +#: src/library/ft/ftmessages.c:81 src/library/ft/ftmessages.c:88 +msgid "" +"The host program has detected an error in the file data during a RECEIVE " +"operation." +msgstr "O host detectou um erro no arquivo durante a operação de recebimento." -#: src/core/telnet.c:1175 -msgid "Device type rejected" -msgstr "Tipo de dispositivo rejeitado" +#: src/library/ft/ftmessages.c:87 +msgid "Error reading file from host: file transfer canceled" +msgstr "Erro ao ler arquivo do host: Transferência cancelada" -#: src/core/actions/table.c:127 -msgid "Disconnect from host" -msgstr "Desconecta do servidor" +#: src/library/ft/ftmessages.c:94 +msgid "Required host storage unavailable: file transfer canceled" +msgstr "Armazenamento necessário indisponível: Transferência cancelada" -#: src/core/properties/signed.c:42 -#, fuzzy -msgid "Disconnected" -msgstr "Desconectado" +#: src/library/ft/ftmessages.c:95 +msgid "" +"You need 30 KB of main storage (not disk space) on the host for the file " +"transfer, in addition to the host requirement." +msgstr "" +"Você precisa de 30 KB de armazenamento principal (não espaço em disco) no " +"host para a transferência de arquivo, além do requerido pelo host." -#: src/core/ft/ft.c:244 src/network_modules/openssl/main.c:100 -#: src/network_modules/openssl/main.c:148 -msgid "Disconnected from host." -msgstr "Desconectado do servidor." +#: src/library/ft/ftmessages.c:101 +msgid "Incorrect request code: file transfer canceled" +msgstr "Código de requisição incorreto, transferência cancelada" -#: src/core/properties/string.c:114 -msgid "Display charset" -msgstr "Tabela de caracteres para a tela" +#: src/library/ft/ftmessages.c:102 +msgid "An invalid SEND or RECEIVE parameter was sent to the host." +msgstr "Um parametro de ENVIO/RECEBIMENTO inválido foi enviado para o host." -#: src/core/toggles/table.c:84 -msgid "Display the cursor location in the OIA (the status line)" -msgstr "Mostra posição do cursor na lista de informações ao operador" +#: src/library/ft/ftmessages.c:138 +msgid "Incorrect option specified: file transfer canceled" +msgstr "Opção incorreta, transferência cancelada" -#: src/core/actions/table.c:157 -msgid "Down" -msgstr "Descer" +#: src/library/ft/ftmessages.c:139 +msgid "You specified an option that is invalid." +msgstr "Você especificou uma opção inválida." -#: src/core/actions/table.c:649 -msgid "Dup" -msgstr "Dup" +#: src/library/ft/ftmessages.c:145 +msgid "Error while reading or writing to host disk: file transfer canceled" +msgstr "Erro ao ler ou gravar no host: Transferência cancelada" -#: src/core/telnet.c:728 -msgid "EOR received when not in 3270 mode, ignored." -msgstr "EOR recebido fora do modo 3270, ignorado." +#: src/library/ft/ftmessages.c:146 +msgid "There is not enough space available for data on the host." +msgstr "Não existe espaço suficiente no host para os dados." -#: src/core/windows/http.c:157 -msgid "Empty response from HTTP server." -msgstr "Recebi resposta vazia do servidor HTTP" +#: src/library/ft/ftmessages.c:152 +msgid "Invalid option xxxxxxxx: file transfer canceled" +msgstr "Opção xxxxxxxx inválida: Transferência cancelada" -#: src/core/toggles/table.c:298 -msgid "Enable network in/out trace" -msgstr "Habilitar trace de entrada/saída de rede" +#: src/library/ft/ftmessages.c:153 +msgid "" +"You selected an option that is either not recognized, is specified as a " +"positional keyword, or has an associated value that is incorrect." +msgstr "" +"Você selecionou uma opção que, ou não foi reconhecida, foi especificada como " +"uma palavra-chave posicional ou não tem um valor associado." -#: src/core/toggles/table.c:287 -msgid "Enable network keep-alive with SO_KEEPALIVE" -msgstr "Enable network keep-alive with SO_KEEPALIVE" +#: src/library/ft/ftmessages.c:159 +msgid "Invalid option xxxxxxxx with RECEIVE: file transfer canceled" +msgstr "Opção xxxxxxxx inválida com RECEIVE: Transferência cancelada" -#: src/core/toggles/table.c:309 -msgid "Enable security negotiation trace" -msgstr "Habilita trace da negociação de segurança" +#: src/library/ft/ftmessages.c:160 +msgid "" +"You selected an option that is not valid with RECEIVE, but can be used with " +"SEND." +msgstr "" +"Você selecionou uma opção que não é válida para recebimento de arquivos, " +"porém, pode ser usada para envio." -#: src/core/toggles/table.c:286 -msgid "Enable use of network keep alive" -msgstr "Habilita opção \"keep-alive\"" +#: src/library/ft/ftmessages.c:166 +msgid "Invalid option xxxxxxxx with APPEND: file transfer canceled" +msgstr "Opção xxxxxxxx não e valida com APPEND: Transferência cancelada" -#: src/core/actions/table.c:605 -msgid "Enter" -msgstr "Enter" +#: src/library/ft/ftmessages.c:167 +msgid "" +"You selected an option that is not valid with APPEND, but otherwise may be " +"used." +msgstr "" +"Você selecionou uma opção que não é válida com \"Adicionar\", porém, pode " +"ser usada." -#: src/core/actions/table.c:574 src/core/actions/table.c:575 -msgid "Erase" -msgstr "Apagar" +#: src/library/ft/ftmessages.c:173 +msgid "Invalid option xxxxxxxx without SPACE: file transfer canceled" +msgstr "Opção xxxxxxxx inválida sem SPACE: Transferência cancelada" -#: src/core/actions/table.c:546 -msgid "Erase EOF" -msgstr "Erase EOF" +#: src/library/ft/ftmessages.c:174 +msgid "" +"You selected an option that can only be used if SPACE is also specified." +msgstr "" +"Você selecionou uma opção que só pode ser usada se \"ESPAÇO\" também for " +"específicado." -#: src/core/actions/table.c:560 -msgid "Erase EOL" -msgstr "Erase EOL" +#: src/library/ft/ftmessages.c:180 +msgid "Invalid option xxxxxxxx with PDS: file transfer canceled" +msgstr "Opção xxxxxxxx inválida com PDS: Transferência cancelada" -#: src/core/actions/table.c:547 -msgid "Erase End Of Field" -msgstr "Apaga até o final do campo" +#: src/library/ft/ftmessages.c:181 +msgid "" +"You selected an option that is invalid with a host-partitioned data set." +msgstr "" +"Você selecionou uma opção que é inválida para um dataset particionado pelo " +"host." -#: src/core/actions/table.c:561 -msgid "Erase End Of Line" -msgstr "Apaga até o final da linha" +#: src/library/ft/ftmessages.c:187 +msgid "Only one of TRACKS, CYLINDERS, AVBLOCK allowed: file transfer canceled" +msgstr "" +"Permitida apenas uma opção dentre TRACKS, CYLINDERS, AVBLOCK: Transferência " +"cancelada" -#: src/core/actions/table.c:533 -msgid "Erase all unprotected fields" -msgstr "Apagar todos os campos desprotegidos" +#: src/library/ft/ftmessages.c:188 +msgid "" +"SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " +"one option can be used." +msgstr "" +"SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " +"one option can be used." -#: src/core/actions/table.c:532 -msgid "Erase input" -msgstr "Apagar campos" +#: src/library/ft/ftmessages.c:194 +msgid "CMS file not found: file transfer canceled" +msgstr "Arquivo CMS não encontrado, transferência cancelada" -#: src/network_modules/tools.c:100 -msgid "Erro sending data to host" -msgstr "Erro ao enviar dados para o servidor" +#: src/library/ft/ftmessages.c:195 +msgid "You did not specify an existing CMS file for RECEIVE." +msgstr "" +"Você não especificou um arquivo CMS existente para a operação de recebimento." -#: src/core/ft/ft_cut.c:408 src/core/ft/ft_dft.c:413 -#, c-format -msgid "Error \"%s\" reading from local file (rc=%d)" -msgstr "Erro \"%s\" lendo arquivo local (rc=%d)" +#: src/library/ft/ftmessages.c:201 +msgid "CMS disk is read-only: file transfer canceled" +msgstr "Disco CMS apenas para leitura, transferência cancelada" -#: src/core/ft/ft_cut.c:504 src/core/ft/ft_dft.c:306 -#, c-format -msgid "Error \"%s\" writing to local file (rc=%d)" -msgstr "Erro \"%s\" gravando arquivo local (rc=%d)" +#: src/library/ft/ftmessages.c:202 +msgid "" +"You specified a CMS file mode for the SEND key that does not allow write " +"access." +msgstr "" +"Você especificou modo de arquivo CMS para um envio que não permite acesso de " +"gravação." -#: src/core/ft/ftmessages.c:45 -msgid "Error in file transfer: file transfer canceled" -msgstr "Erro na transferência do arquivo, transferência cancelada" +#: src/library/ft/ftmessages.c:208 +msgid "CMS disk is not accessed: file transfer canceled" +msgstr "Disco CMS não está acessível, transferência cancelada" -#: src/core/ft/ftmessages.c:87 -msgid "Error reading file from host: file transfer canceled" -msgstr "Erro ao ler arquivo do host: Transferência cancelada" +#: src/library/ft/ftmessages.c:209 +msgid "You specified a CMS file mode that is not in the CMS search order." +msgstr "" +"Você especificou um modo de arquivo CMS que não está na ordem de pesquisa " +"CMS." -#: src/network_modules/openssl/main.c:170 -msgid "Error reading from host" -msgstr "Erro lendo do servidor" +#: src/library/ft/ftmessages.c:215 +msgid "CMS disk is full: file transfer canceled" +msgstr "Disco CMS está lotado, transferência cancelada" -#: src/core/windows/http.c:145 -msgid "Error receiving HTTP response." -msgstr "Erro recebendo resposta HTTP." +#: src/library/ft/ftmessages.c:216 +msgid "" +"The CMS disk is full, or the maximum number of files on the minidisk (3400) " +"has been reached, or the maximum number of data blocks per file (16060) has " +"been reached." +msgstr "" +"The CMS disk is full, or the maximum number of files on the minidisk (3400) " +"has been reached, or the maximum number of data blocks per file (16060) has " +"been reached." -#: src/network_modules/tools.c:66 src/network_modules/tools.c:82 -msgid "Error receiving data from host" -msgstr "Erro recebendo dados do servidor" +#: src/library/ft/ftmessages.c:222 +msgid "Host program error code xxxxxxxxxx: file transfer canceled" +msgstr "Erro código xxxxxxxxxx no aplicativo do host: Transferência cancelada" -#: src/core/ft/ftmessages.c:145 -msgid "Error while reading or writing to host disk: file transfer canceled" -msgstr "Erro ao ler ou gravar no host: Transferência cancelada" +#: src/library/ft/ftmessages.c:223 +msgid "This is a host program error." +msgstr "Este é um erro no programa do host." -#: src/core/ft/ftmessages.c:80 -msgid "Error writing file to host: file transfer canceled" -msgstr "Erro ao gravar arquivo no host, transferência cancelada" +#: src/library/keyboard/kybd.c:269 +#, c-format +msgid "Unexpected type %d in typeahead queue" +msgstr "Tipo inesperado %d na fila de teclado" -#: src/network_modules/openssl/main.c:123 -msgid "Error writing to host." -msgstr "Erro enviando para o servidor" +#: src/library/keyboard/kybd.c:1547 +#, c-format +msgid "Unknown PA key %d" +msgstr "PA %d desconhecida" -#: src/core/telnet.c:1789 -msgid "Exiting" -msgstr "Saindo" +#: src/library/keyboard/kybd.c:1560 +#, c-format +msgid "Unknown PF key %d" +msgstr "PF %d desconhecida" -#: src/core/actions/table.c:663 -msgid "FM key" -msgstr "Tecla \"FM\"" +#: src/library/keyboard/kybd.c:1763 +#, c-format +msgid "%s: Bell not supported" +msgstr "%s: Alerta sonoro não suportado" -#: src/core/actions/table.c:664 -msgid "Field Mark" -msgstr "Field Mark" - -#: src/core/actions/table.c:443 -msgid "Field end" -msgstr "Final do campo" +#: src/library/keyboard/kybd.c:1814 +#, c-format +msgid "%s: Vertical tab not supported" +msgstr "%s: Tabulação vertical não é suportada" -#: src/core/ft/ftmessages.c:52 -msgid "File transfer complete" -msgstr "Transferência completa" +#: src/library/keyboard/kybd.c:1861 +#, c-format +msgid "%s: Unknown character after \\p" +msgstr "%s: Caractere desconhecido depois de \\p" -#: src/core/ft/ftmessages.c:59 -msgid "File transfer complete with records segmented" -msgstr "Transferência completa com registros segmentados" +#: src/library/keyboard/kybd.c:1872 +#, c-format +msgid "%s: Unknown character after \\pf" +msgstr "%s: Caractere desconhecido depois de \\pf" -#: src/core/ft/ft.c:247 -msgid "File transfer is already active in this session." -msgstr "Transferência de arquivos já está ativa nesta sessão." +#: src/library/keyboard/kybd.c:1889 +#, c-format +msgid "%s: Unknown character after \\pa" +msgstr "%s: Caractere desconhecido depois de \\pa" -#: src/core/actions/table.c:457 -msgid "First field" -msgstr "Primeiro campo" +#: src/library/keyboard/kybd.c:1908 +#, c-format +msgid "%s: Missing hex digits after \\x" +msgstr "%s: Faltando dígitos hexadecimais após \\x" -#: src/network_modules/openssl/messages.c:215 -msgid "Format error in CRL's lastUpdate field" -msgstr "Erro de formato no campo \"lastUpdate\" do CRL" +#. Property name. +#: src/library/properties/boolean.c:61 +msgid "Is terminal ready" +msgstr "O terminal está pronto" -#: src/network_modules/openssl/messages.c:226 -msgid "Format error in CRL's nextUpdate field" -msgstr "Erro de formato no campo \"nextUpdate\" do CRL" +#. Property name. +#: src/library/properties/boolean.c:68 +msgid "Is terminal connected" +msgstr "O terminal está conectado" -#: src/network_modules/openssl/messages.c:204 -msgid "Format error in certificate's notAfter field" -msgstr "Erro de formato no campo \"notAfter\" do certificado" +#. Property name. +#: src/library/properties/boolean.c:75 +msgid "Is connection secure" +msgstr "A conexão é segura ?" -#: src/network_modules/openssl/messages.c:193 -msgid "Format error in certificate's notBefore field" -msgstr "Erro de formato no campo \"notBefore\" do certificado" +#. Property name. +#. Property group. +#: src/library/properties/boolean.c:83 +msgid "Non zero if the host is TSO." +msgstr "Diferente de zero se o host é TSO" -#: src/core/properties/boolean.c:175 -msgid "Formatted screen" -msgstr "Tela formatada" +#. Property name. +#. Property group. +#: src/library/properties/boolean.c:91 +msgid "Non zero if the host is AS400." +msgstr "Diferente de zero se o host é AS400" -#: src/core/toggles/table.c:175 src/core/toggles/table.c:176 -msgid "Full Screen" -msgstr "Tela cheia" +#. Property name. +#: src/library/properties/boolean.c:126 +msgid "State is 3270, TN3270e or SSCP" +msgstr "Estado do terminal é 3270, TN3270e or SSCP" -#: src/core/telnet.c:1783 -msgid "Half connect" -msgstr "Half connect" +#. Property name. +#: src/library/properties/boolean.c:147 +msgid "Is terminal in the INITIAL_E state?" +msgstr "O terminal está no estad INITIAL_E?" -#: src/core/properties/boolean.c:154 +#. Property name. +#: src/library/properties/boolean.c:154 msgid "Has selected area" msgstr "Tem área selecionada" -#: src/core/properties/string.c:107 -msgid "Host charset" -msgstr "Página de código do host" - -#: src/core/ft/ft.c:620 -msgid "Host disconnected, transfer cancelled" -msgstr "Servidor desconectou, transferência cancelada" +#. Property name. +#: src/library/properties/boolean.c:161 +msgid "Still have text to paste" +msgstr "Ainda existe texto para colar" -#: src/core/telnet.c:1233 -msgid "Host illegally added function(s)" -msgstr "Host illegally added function(s)" +#. Property name. +#: src/library/properties/boolean.c:168 +msgid "Is starting (no first screen)?" +msgstr "Está iniciando (não recebeu a primeira tela)?" -#: src/core/ft/ftmessages.c:222 -msgid "Host program error code xxxxxxxxxx: file transfer canceled" -msgstr "Erro código xxxxxxxxxx no aplicativo do host: Transferência cancelada" +#. Property name. +#: src/library/properties/boolean.c:175 +msgid "Formatted screen" +msgstr "Tela formatada" -#: src/core/telnet.c:1163 -msgid "Host rejected device type or request type" -msgstr "Servidor rejeitou o tipo de dispositivo ou requisição" +#. Property name. +#: src/library/properties/boolean.c:182 +msgid "Lock keyboard on operator error" +msgstr "Bloqueia teclado em caso de erro do operador" -#: src/core/telnet.c:1173 -msgid "Host rejected resource(s)" -msgstr "Servidor rejeitou recurso(s)" +#. Property name. +#: src/library/properties/boolean.c:189 +msgid "numeric lock" +msgstr "numeric lock" -#: src/core/properties/string.c:84 -msgid "Host type name" -msgstr "Nome do tipo de host" +#. Property name. +#: src/library/properties/boolean.c:196 +msgid "Non zero if the download of CRL is enabled" +msgstr "Diferente de zero se o host se o download do CRL está habilitado" -#: src/core/properties/unsigned.c:86 -msgid "Host type number" -msgstr "Numero do tipo de host" +#: src/library/properties/signed.c:42 +#, fuzzy +msgid "Disconnected" +msgstr "Desconectado" -#: src/core/options.c:48 -msgid "IBM AS/400" -msgstr "IBM AS/400" +#: src/library/properties/signed.c:43 +#, fuzzy +msgid "Connecting to host" +msgstr "Não foi possível conectar no host" -#: src/core/options.c:42 -msgid "IBM S/390" -msgstr "IBM S/390" +#: src/library/properties/signed.c:44 +#, fuzzy +msgid "Connection pending" +msgstr "Conexão falhou" -#: src/core/properties/signed.c:146 -msgid "ID of the session security state" -msgstr "Identificação do estado de segurança da sessão" +#: src/library/properties/signed.c:45 +#, fuzzy +msgid "Connected, no mode yet" +msgstr "Connected initial" -#: src/core/toggles/table.c:197 -msgid "" -"If set the characters pasted over protected areas will be skipped to avoid " -"locks" +#: src/library/properties/signed.c:46 +msgid "Connected in NVT ANSI mode" msgstr "" -"Se ativo caracters colados sobre áreas protegidas serão ignorados para " -"evitar o bloqueio do terminal" -#: src/core/toggles/table.c:217 -msgid "If set the selection will not be removed on screen changes" -msgstr "Se ativo a seleção não será removida quando a tela mudar" +#: src/library/properties/signed.c:47 +msgid "Connected in old-style 3270 mode" +msgstr "" -#: src/core/toggles/table.c:177 -msgid "If set, asks to place the toplevel window in the fullscreen state" -msgstr "Se ativo pede para colocar a janela principal em modo de tela cheia" +#: src/library/properties/signed.c:48 +#, fuzzy +msgid "Connected in TN3270E mode, no negotiated" +msgstr "Não está no modo 3270, transferência cancelada" -#: src/core/toggles/table.c:147 -msgid "" -"If set, puts restrictions on how pasted text is placed on the screen. The " -"position of the cursor at the time the paste operation is begun is used as a " -"left margin. No pasted text will fill any area of the screen to the left of " -"that position. This option is useful for pasting into certain IBM editors " -"that use the left side of the screen for control information" +#: src/library/properties/signed.c:49 +msgid "Connected in TN3270E mode, NVT mode" msgstr "" -"If set, puts restrictions on how pasted text is placed on the screen. The " -"position of the cursor at the time the paste operation is begun is used as a " -"left margin. No pasted text will fill any area of the screen to the left of " -"that position. This option is useful for pasting into certain IBM editors " -"that use the left side of the screen for control information" -#: src/core/toggles/table.c:105 -msgid "" -"If set, the NVT terminal emulator automatically assumes a NEWLINE character " -"when it reaches the end of a line." +#: src/library/properties/signed.c:50 +msgid "Connected in TN3270E mode, SSCP-LU mode" msgstr "" -"Se ativo o emulador de terminal assume automaticamente uma quebra de linha " -"quando chega ao final de uma linha" -#: src/core/toggles/table.c:64 -msgid "If set, the cursor blinks" -msgstr "Se ativo o cursor pisca" - -#: src/core/toggles/table.c:53 -msgid "If set, the terminal operates in uppercase-only mode" -msgstr "Se ativo o terminal opera apenas com caracteres maiúsculos" - -#: src/core/toggles/table.c:157 -msgid "" -"If set, the terminal will always select rectangular areas of the screen. " -"Otherwise, it selects continuous regions of the screen" +#: src/library/properties/signed.c:51 +msgid "Connected in TN3270E mode, 3270 mode" msgstr "" -"Se ativo o terminal sempre selecionará áreas retangulares, se inativo " -"selecionará áreas contínuas da tela" -#: src/core/toggles/table.c:167 -msgid "" -"If set, the terminal will display a crosshair over the cursor: lines " -"extending the full width and height of the screen, centered over the cursor " -"position. This makes locating the cursor on the screen much easier" -msgstr "" -"If set, the terminal will display a crosshair over the cursor: lines " -"extending the full width and height of the screen, centered over the cursor " -"position. This makes locating the cursor on the screen much easier" +#: src/library/properties/signed.c:59 src/library/properties/signed.c:88 +#: src/library/properties/signed.c:108 src/library/telnet.c:1774 +#: src/library/telnet.c:1794 +msgid "Unknown" +msgstr "Desconhecido" -#: src/core/toggles/table.c:74 -msgid "" -"If set, the time taken by the host to process an AID is displayed on the " -"status line" -msgstr "" -"If set, the time taken by the host to process an AID is displayed on the " -"status line" +#: src/library/properties/signed.c:67 +msgid "X System" +msgstr "X Sistema" -#: src/core/ft/ft_cut.c:484 -msgid "Illegal frame length" -msgstr "Comprimento de frame inválido" +#: src/library/properties/signed.c:68 +msgid "X Wait" +msgstr "X Aguarde" -#: src/core/ft/ftmessages.c:138 -msgid "Incorrect option specified: file transfer canceled" -msgstr "Opção incorreta, transferência cancelada" +#: src/library/properties/signed.c:69 +#, fuzzy +msgid "X Connected" +msgstr "X Desconectado" -#: src/core/ft/ftmessages.c:101 -msgid "Incorrect request code: file transfer canceled" -msgstr "Código de requisição incorreto, transferência cancelada" +#: src/library/properties/signed.c:70 +msgid "X Not Connected" +msgstr "X Desconectado" -#: src/core/toggles/table.c:185 -msgid "Insert" -msgstr "Inserção" +#: src/library/properties/signed.c:71 src/library/properties/signed.c:77 +#: src/library/properties/signed.c:78 +msgid "X" +msgstr "X" -#: src/network_modules/openssl/messages.c:313 -msgid "Invalid CA certificate" -msgstr "Certificado CA inválido" +#: src/library/properties/signed.c:72 +msgid "X -f" +msgstr "X -f" -#: src/core/ft/ftmessages.c:166 -msgid "Invalid option xxxxxxxx with APPEND: file transfer canceled" -msgstr "Opção xxxxxxxx não e valida com APPEND: Transferência cancelada" +#: src/library/properties/signed.c:73 +msgid "X Protected" +msgstr "X Protegido" -#: src/core/ft/ftmessages.c:180 -msgid "Invalid option xxxxxxxx with PDS: file transfer canceled" -msgstr "Opção xxxxxxxx inválida com PDS: Transferência cancelada" +#: src/library/properties/signed.c:74 +msgid "X Numeric" +msgstr "X Numérico" -#: src/core/ft/ftmessages.c:159 -msgid "Invalid option xxxxxxxx with RECEIVE: file transfer canceled" -msgstr "Opção xxxxxxxx inválida com RECEIVE: Transferência cancelada" +#: src/library/properties/signed.c:75 +msgid "X Overflow" +msgstr "X Estouro" -#: src/core/ft/ftmessages.c:173 -msgid "Invalid option xxxxxxxx without SPACE: file transfer canceled" -msgstr "Opção xxxxxxxx inválida sem SPACE: Transferência cancelada" +#: src/library/properties/signed.c:76 +msgid "X Inhibit" +msgstr "X Inibido" -#: src/core/ft/ftmessages.c:152 -msgid "Invalid option xxxxxxxx: file transfer canceled" -msgstr "Opção xxxxxxxx inválida: Transferência cancelada" +#: src/library/properties/signed.c:79 +#, fuzzy +msgid "X Resolving" +msgstr "Resolvendo" -#: src/core/ctlr.c:171 src/core/ctlr.c:181 src/core/ctlr.c:192 -#: src/core/ctlr.c:203 -msgid "Invalid oversize" -msgstr "Valor inválido para 'oversize'" +#: src/library/properties/signed.c:80 +#, fuzzy +msgid "X Connecting" +msgstr "Conectando" -#: src/core/properties/boolean.c:75 -msgid "Is connection secure" -msgstr "A conexão é segura ?" +#: src/library/properties/signed.c:95 +#, fuzzy +msgid "No secure connection" +msgstr "Conexão _Segura." -#: src/core/properties/boolean.c:168 -msgid "Is starting (no first screen)?" -msgstr "Está iniciando (não recebeu a primeira tela)?" +#: src/library/properties/signed.c:96 +#, fuzzy +msgid "Connection secure with CA check" +msgstr "A conexão é segura ?" -#: src/core/properties/boolean.c:68 -msgid "Is terminal connected" -msgstr "O terminal está conectado" +#: src/library/properties/signed.c:97 +msgid "Connection secure, no CA, self-signed or expired CRL" +msgstr "" -#: src/core/properties/boolean.c:147 -msgid "Is terminal in the INITIAL_E state?" -msgstr "O terminal está no estad INITIAL_E?" +#: src/library/properties/signed.c:98 +#, fuzzy +msgid "Negotiating SSL" +msgstr "Negociação SSL" -#: src/core/properties/boolean.c:61 -msgid "Is terminal ready" -msgstr "O terminal está pronto" +#: src/library/properties/signed.c:99 +msgid "Verifying SSL (Getting CRL)" +msgstr "" -#: src/core/toggles/table.c:215 src/core/toggles/table.c:216 -msgid "Keep selected" -msgstr "Manter selecionado" +#: src/library/properties/signed.c:100 +msgid "Undefined" +msgstr "Indefinido" -#: src/network_modules/openssl/messages.c:401 -msgid "Key usage does not include certificate signing" -msgstr "Uso da chave não permite assinatura de certificados" +#. Property name. +#: src/library/properties/signed.c:129 +msgid "Connection state" +msgstr "Estado da conexão" -#: src/core/paste.c:375 -msgid "Keyboard is locked" -msgstr "Teclado está bloqueado" +#. Property name. +#. Property group. +#: src/library/properties/signed.c:138 +msgid "Cursor address" +msgstr "Endereço do cursor" -#: src/core/properties/unsigned.c:165 -msgid "Keyboard lock status" -msgstr "Estado de bloqueio do teclado" +#. Property name. +#: src/library/properties/signed.c:146 +msgid "Latest program message" +msgstr "Última mensagem de programa" -#: src/core/windows/ldap.c:179 -msgid "LDAP Search did not produce any attributes." -msgstr "Pesquisa LDAP não produziu atributos." +#. Property name. +#: src/library/properties/signed.c:154 +msgid "ID of the session security state" +msgstr "Identificação do estado de segurança da sessão" -#: src/core/linux/ldap.c:147 src/core/macos/ldap.c:147 -#, fuzzy -msgid "LDAP search did not produce any attributes." -msgstr "Pesquisa LDAP não produziu atributos." +#. Property name. +#: src/library/properties/string.c:62 +msgid "The name of the LU associated with the session" +msgstr "O nome da LU associada à sessão" -#: src/core/linux/ldap.c:157 src/core/macos/ldap.c:157 -#, fuzzy -msgid "LDAP search did not produce any values." -msgstr "Pesquisa LDAP não produziu valores." +#. Property group. +#. Property icon. +#: src/library/properties/string.c:74 +msgid "URL of the current host" +msgstr "URL do host atual" -#: src/core/windows/ldap.c:186 -msgid "LDAPSearch did not produce any values." -msgstr "Pesquisa LDAP não produziu valores." +#. Property name. +#. Property group. +#: src/library/properties/string.c:82 +msgid "Model name" +msgstr "Nome do modelo" -#: src/core/properties/signed.c:138 -msgid "Latest program message" -msgstr "Última mensagem de programa" +#. Property name. +#. Property group. +#: src/library/properties/string.c:90 +msgid "Host type name" +msgstr "Nome do tipo de host" -#: src/core/actions/table.c:171 -msgid "Left" -msgstr "Esquerda" +#. Property name. +#: src/library/properties/string.c:97 +msgid "Terminal type" +msgstr "Tipo do terminal" -#: src/core/telnet.c:1786 -msgid "Line mode" -msgstr "Line mode" +#. Property name. +#: src/library/properties/string.c:104 +msgid "Terminal name" +msgstr "Nome do terminal" -#: src/core/properties/boolean.c:182 -msgid "Lock keyboard on operator error" -msgstr "Bloqueia teclado em caso de erro do operador" +#. Property name. +#. Default charset. +#. Property group. +#: src/library/properties/string.c:113 +msgid "Host charset" +msgstr "Página de código do host" -#: src/core/toggles/table.c:145 -msgid "Margined paste" -msgstr "Colar com margem" +#. Property name. +#: src/library/properties/string.c:120 +msgid "Display charset" +msgstr "Tabela de caracteres para a tela" -#: src/core/properties/unsigned.c:127 -msgid "Maximum screen height in rows" -msgstr "Altura máxima da tela em linhas" +#. Property name. +#: src/library/properties/string.c:127 +msgid "Protocol library version" +msgstr "" -#: src/core/properties/unsigned.c:120 -msgid "Maximum screen width in columns" -msgstr "Largura maxima da tela em colunas" +#. Property name. +#: src/library/properties/string.c:134 +msgid "Protocol library revision" +msgstr "" -#: src/core/properties/string.c:76 -msgid "Model name" -msgstr "Nome do modelo" +#. Property name. +#. Property group. +#: src/library/properties/string.c:142 +msgid "Preferred protocol for CRL download" +msgstr "Protocolo preferido para download da CRL" -#: src/core/toggles/table.c:51 -msgid "Monocase" -msgstr "Só Maiúsculas" +#. Property name. +#: src/library/properties/string.c:149 +msgid "Default host URL" +msgstr "URL parão para acesso ao host" -#: src/core/actions/table.c:329 -msgid "Move cursor down and select" -msgstr "Move cursor para baixo selecionando" +#. Property name. +#: src/library/properties/string.c:156 +msgid "The security state" +msgstr "O estado da segurança" -#: src/core/actions/table.c:343 -msgid "Move cursor left and select" -msgstr "Move cursor para a esquerda selecionando" +#. Property name. +#: src/library/properties/string.c:163 +msgid "Description of the current security state" +msgstr "Descrição do estado de segurança atual" -#: src/core/actions/table.c:357 -msgid "Move cursor rigth and select" -msgstr "Move cursor para a direita selecionando" +#. Property name. +#. Property group. +#: src/library/properties/string.c:171 +msgid "Screen oversize if larger than the chosen model" +msgstr "\"oversize\" maior que o modelo escolhido" -#: src/core/actions/table.c:315 -msgid "Move cursor up and select" -msgstr "Move cursor para cima selecionando" +#. Property name. +#. Property group. +#: src/library/properties/string.c:179 +msgid "The log file name" +msgstr "Define o nome do arquivo de log" -#: src/core/actions/table.c:385 -msgid "Move selection down" -msgstr "Move seleção para baixo" +#. Property name. +#. Property group. +#: src/library/properties/string.c:187 +msgid "The trace file name" +msgstr "O nome do arquivo de trace" -#: src/core/actions/table.c:399 -msgid "Move selection left" -msgstr "Move seleção para a esquerda" +#. Property name. +#. Default value for the property. +#. Property group. +#: src/library/properties/unsigned.c:79 +msgid "The color type" +msgstr "O tipo de cor" -#: src/core/actions/table.c:413 -msgid "Move selection right" -msgstr "Move seleção para a direita" +#. Property group. +#: src/library/properties/unsigned.c:88 +msgid "Host type number" +msgstr "Numero do tipo de host" -#: src/core/actions/table.c:371 -msgid "Move selection up" -msgstr "Move seleção para cima" +#. Property name. +#. Property group. +#. Property Icon. +#: src/library/properties/unsigned.c:97 +msgid "Terminal model" +msgstr "Modelo do terminal" -#: src/core/actions/table.c:444 -msgid "" -"Move the cursor to the first blank after the last non blank in the field" -msgstr "Move o cursor para o primeiro branco após o último não branco no campo" +#. Property label. +#: src/library/properties/unsigned.c:98 +msgid "The model number" +msgstr "Nº do modelo" -#: src/core/actions/table.c:458 -msgid "Move to first unprotected field on screen" -msgstr "Move para o primeiro campo desprotegido" +#. Property name. +#: src/library/properties/unsigned.c:108 +msgid "Current screen width in columns" +msgstr "Largura atua da tela em colunas" -#: src/core/actions/table.c:472 -msgid "Move to the next unprotected field on screen" -msgstr "Move para o próximo campo desprotegido" +#. Property name. +#: src/library/properties/unsigned.c:115 +msgid "Current screen height in rows" +msgstr "Altura atual da tela em linhas" -#: src/core/actions/table.c:486 -msgid "Move to the previous unprotected field on screen" -msgstr "Move para o campo desprotegido anterior" +#. Property name. +#: src/library/properties/unsigned.c:122 +msgid "Maximum screen width in columns" +msgstr "Largura maxima da tela em colunas" -#: src/core/properties/signed.c:98 -#, fuzzy -msgid "Negotiating SSL" -msgstr "Negociação SSL" +#. Property name. +#: src/library/properties/unsigned.c:129 +msgid "Maximum screen height in rows" +msgstr "Altura máxima da tela em linhas" -#: src/core/telnet.c:304 src/core/linux/connect.c:200 -#: src/core/linux/event_dispatcher.c:130 src/core/windows/connect.c:223 -#: src/core/windows/event_dispatcher.c:135 src/core/macos/connect.c:200 -#: src/core/macos/event_dispatcher.c:130 -msgid "Network error" -msgstr "Erro de rede" +#. Property name. +#: src/library/properties/unsigned.c:136 +msgid "Screen buffer length in bytes" +msgstr "Tamanho do buffer de tela em bytes" -#: src/core/toggles/table.c:285 -msgid "Network keep alive" -msgstr "Manter rede ativa" +#. Property name. +#. Default value for the property. +#: src/library/properties/unsigned.c:144 +msgid "Time for auto-reconnect" +msgstr "Tempo para reconexão automática" -#: src/core/actions/table.c:199 -msgid "New line" -msgstr "Nova linha" +#: src/library/properties/unsigned.c:159 +msgid "Unlock delay" +msgstr "Atraso no desbloqueio" -#: src/core/actions/table.c:471 -msgid "Next field" -msgstr "Próximo campo" +#: src/library/properties/unsigned.c:160 +msgid "The delay between the host unlocking the keyboard and the actual unlock" +msgstr "" +"Intervalo de tempo entre o desbloqueio de teclado pelo host e o desbloqueio " +"real" -#: src/core/actions/table.c:227 -msgid "Next word" -msgstr "Próxima palavra" +#. Property name. +#: src/library/properties/unsigned.c:167 +msgid "Keyboard lock status" +msgstr "Estado de bloqueio do teclado" -#: src/network_modules/openssl/start.c:53 -msgid "No LDAP support" -msgstr "Sem suporte LDAP" +#: src/library/session.c:164 +msgid "Can't print" +msgstr "Não é possível imprimir" -#: src/network_modules/default/main.c:149 -msgid "No TLS/SSL support on this session" -msgstr "Sem suporte TLS/SSL nessa sessão" +#: src/library/session.c:164 +msgid "Unable to print" +msgstr "Incapaz de imprimir" -#: src/core/linux/download.c:55 src/core/windows/download.c:62 -#: src/core/macos/download.c:55 -msgid "No handler for URL scheme." -msgstr "Nenhum manipulador para o esquema de URL" +#: src/library/session.c:170 +msgid "Can't save" +msgstr "Não é possível salvar" -#: src/core/properties/signed.c:95 -#, fuzzy -msgid "No secure connection" -msgstr "Conexão _Segura." +#: src/library/session.c:170 +msgid "Unable to save" +msgstr "Incapaz de salvar" -#: src/network_modules/openssl/messages.c:292 -msgid "" -"No signatures could be verified because the chain contains only one " -"certificate and it is not self signed." -msgstr "" -"Nenhuma assinatura pode ser verificada, porque a cadeia contém apenas um " -"certificado e não é auto assinado." +#: src/library/session.c:176 +msgid "Can't load" +msgstr "Não foi possível carregar" -#: src/core/ft/ft.c:97 -msgid "No transfer in progress" -msgstr "Nenhuma transferência em andamento" +#: src/library/session.c:176 +msgid "Unable to load from file" +msgstr "Não foi possível ler do arquivo" -#: src/core/properties/boolean.c:196 -msgid "Non zero if the download of CRL is enabled" -msgstr "Diferente de zero se o host se o download do CRL está habilitado" +#: src/library/toggles/init.c:83 src/library/os/linux/connect.c:334 +#: src/library/os/windows/connect.c:372 src/library/os/darwin/connect.c:334 +#, c-format +msgid "Can't %s network keep-alive" +msgstr "Não foi possível %s opção \"keep-alive\"" -#: src/core/properties/boolean.c:91 -msgid "Non zero if the host is AS400." -msgstr "Diferente de zero se o host é AS400" +#: src/library/toggles/init.c:83 src/library/os/linux/connect.c:334 +#: src/library/os/windows/connect.c:372 src/library/os/darwin/connect.c:334 +msgid "enable" +msgstr "habilitar" -#: src/core/properties/boolean.c:83 -msgid "Non zero if the host is TSO." -msgstr "Diferente de zero se o host é TSO" +#: src/library/toggles/init.c:83 src/library/os/linux/connect.c:334 +#: src/library/os/windows/connect.c:372 src/library/os/darwin/connect.c:334 +msgid "disable" +msgstr "desabilitar" -#: src/core/windows/connect.c:307 -msgid "Not connected to host" -msgstr "Sem conexão com servidor" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:51 +msgid "Monocase" +msgstr "Só Maiúsculas" -#: src/core/ft/ft.c:626 -msgid "Not in 3270 mode, transfer cancelled" -msgstr "Não está no modo 3270, transferência cancelada" +#: src/library/toggles/table.c:52 +msgid "Uppercase only" +msgstr "Apenas maiúsculas" -#: src/core/ft/ftmessages.c:187 -msgid "Only one of TRACKS, CYLINDERS, AVBLOCK allowed: file transfer canceled" -msgstr "" -"Permitida apenas uma opção dentre TRACKS, CYLINDERS, AVBLOCK: Transferência " -"cancelada" +#: src/library/toggles/table.c:53 +msgid "If set, the terminal operates in uppercase-only mode" +msgstr "Se ativo o terminal opera apenas com caracteres maiúsculos" -#: src/core/options.c:54 -msgid "Other (TSO)" -msgstr "Outro (TSO)" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:62 src/library/toggles/table.c:63 +msgid "Blinking Cursor" +msgstr "Cursor piscante" -#: src/core/options.c:60 -msgid "Other (VM/CMS)" -msgstr "Outro (VM/CMS)" +#: src/library/toggles/table.c:64 +msgid "If set, the cursor blinks" +msgstr "Se ativo o cursor pisca" -#: src/network_modules/openssl/messages.c:237 -msgid "Out of memory" -msgstr "Memória insuficiente" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:72 src/library/toggles/table.c:73 +msgid "Show timer when processing" +msgstr "Show timer when processing" -#: src/core/actions/table.c:782 src/core/actions/table.c:796 -#: src/core/actions/table.c:810 -msgid "PA1" -msgstr "PA1" +#: src/library/toggles/table.c:74 +msgid "" +"If set, the time taken by the host to process an AID is displayed on the " +"status line" +msgstr "" +"If set, the time taken by the host to process an AID is displayed on the " +"status line" -#: src/core/actions/table.c:241 -msgid "Paste from file" -msgstr "Colar de um arquivo" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:82 +msgid "Track Cursor" +msgstr "Mostrar posição do cursor" -#: src/core/actions/table.c:242 -msgid "Paste from text file" -msgstr "Colar de um arquivo texto" +#: src/library/toggles/table.c:83 +msgid "Track Cursor location" +msgstr "Mostrar posição do cursor" -#: src/core/actions/table.c:719 src/core/actions/table.c:720 -msgid "Paste next" -msgstr "Colar próximo" +#: src/library/toggles/table.c:84 +msgid "Display the cursor location in the OIA (the status line)" +msgstr "Mostra posição do cursor na lista de informações ao operador" -#: src/core/toggles/table.c:146 -msgid "Paste with left margin" -msgstr "Colar com margem esquerda" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:93 src/library/toggles/table.c:94 +msgid "Trace Data Stream" +msgstr "Trace Data Stream" -#: src/network_modules/openssl/messages.c:324 -msgid "Path length constraint exceeded" -msgstr "Path length constraint exceeded" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:103 src/library/toggles/table.c:104 +msgid "Wrap around" +msgstr "Wrap around" -#: src/core/telnet.c:1763 -msgid "Pending" -msgstr "Pendente" +#: src/library/toggles/table.c:105 +msgid "" +"If set, the NVT terminal emulator automatically assumes a NEWLINE character " +"when it reaches the end of a line." +msgstr "" +"Se ativo o emulador de terminal assume automaticamente uma quebra de linha " +"quando chega ao final de uma linha" -#: src/core/ft/ftmessages.c:66 -msgid "Personal computer filespec incorrect: file transfer canceled" -msgstr "Especificação de arquivo PC incorreta: Transferência cancelada" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:113 src/library/toggles/table.c:114 +msgid "Blank Fill" +msgstr "Completar com espaços" -#: src/core/properties/string.c:136 -msgid "Preferred protocol for CRL download" -msgstr "Protocolo preferido para download da CRL" +#: src/library/toggles/table.c:115 +msgid "" +"Automatically convert trailing blanks in a field to NULLs in order to insert " +"a character, and will automatically convert leading NULLs to blanks so that " +"input data is not squeezed to the left" +msgstr "" +"Automatically convert trailing blanks in a field to NULLs in order to insert " +"a character, and will automatically convert leading NULLs to blanks so that " +"input data is not squeezed to the left" -#: src/core/actions/table.c:485 -msgid "Previous field" -msgstr "Campo anterior" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:124 +msgid "Trace Screen" +msgstr "Trace de tela" -#: src/core/actions/table.c:213 -msgid "Previous word" -msgstr "Palavra anterior" +#: src/library/toggles/table.c:125 +msgid "Trace screen contents" +msgstr "Trace do conteúdo da tela" -#: src/core/telnet.c:1788 -msgid "Printer" -msgstr "Impressão" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:135 +msgid "Trace Events" +msgstr "Trace de Eventos" -#: src/core/actions/table.c:783 -msgid "Program Action 1" -msgstr "Program Action 1" - -#: src/core/actions/table.c:797 -msgid "Program Action 2" -msgstr "Program Action 2" +#: src/library/toggles/table.c:136 +msgid "Trace interface and application events" +msgstr "Registra eventos da interface gráfica e aplicação" -#: src/core/actions/table.c:811 -msgid "Program Action 3" -msgstr "Program Action 3" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:145 +msgid "Margined paste" +msgstr "Colar com margem" -#: src/core/properties/string.c:128 -msgid "Protocol library revision" -msgstr "" +#: src/library/toggles/table.c:146 +msgid "Paste with left margin" +msgstr "Colar com margem esquerda" -#: src/core/properties/string.c:121 -msgid "Protocol library version" +#: src/library/toggles/table.c:147 +msgid "" +"If set, puts restrictions on how pasted text is placed on the screen. The " +"position of the cursor at the time the paste operation is begun is used as a " +"left margin. No pasted text will fill any area of the screen to the left of " +"that position. This option is useful for pasting into certain IBM editors " +"that use the left side of the screen for control information" msgstr "" +"If set, puts restrictions on how pasted text is placed on the screen. The " +"position of the cursor at the time the paste operation is begun is used as a " +"left margin. No pasted text will fill any area of the screen to the left of " +"that position. This option is useful for pasting into certain IBM editors " +"that use the left side of the screen for control information" -#: src/core/rpq.c:229 -#, c-format -msgid "RPQ %s term omitted due to insufficient space" -msgstr "Termo RPQ %s omitido por falta de espaço" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:155 src/library/toggles/table.c:156 +msgid "Select by rectangles" +msgstr "Seleção retangular" -#: src/core/rpq.c:338 -#, c-format -msgid "RPQ %s term override ignored" -msgstr "RPQ %s term override ignored" +#: src/library/toggles/table.c:157 +msgid "" +"If set, the terminal will always select rectangular areas of the screen. " +"Otherwise, it selects continuous regions of the screen" +msgstr "" +"Se ativo o terminal sempre selecionará áreas retangulares, se inativo " +"selecionará áreas contínuas da tela" -#: src/core/rpq.c:642 src/core/rpq.c:712 -#, c-format -msgid "RPQ ADDRESS term has unrecognized family %u" -msgstr "Família %u não reconhecida no termo RPQ ADDRESS" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:165 src/library/toggles/table.c:166 +msgid "Cross hair cursor" +msgstr "Cursor mira" -#: src/core/rpq.c:650 src/core/rpq.c:679 src/core/rpq.c:719 -msgid "RPQ ADDRESS term incomplete due to space limit" -msgstr "Termo RPQ ADDRESS incompleto devido ao limite de espaço" +#: src/library/toggles/table.c:167 +msgid "" +"If set, the terminal will display a crosshair over the cursor: lines " +"extending the full width and height of the screen, centered over the cursor " +"position. This makes locating the cursor on the screen much easier" +msgstr "" +"If set, the terminal will display a crosshair over the cursor: lines " +"extending the full width and height of the screen, centered over the cursor " +"position. This makes locating the cursor on the screen much easier" -#: src/core/rpq.c:222 -msgid "RPQ Error" -msgstr "Erro RPQ" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:175 src/library/toggles/table.c:176 +msgid "Full Screen" +msgstr "Tela cheia" -#: src/core/rpq.c:403 src/core/rpq.c:412 -msgid "RPQ TIMEZONE term is invalid - use +/-hhmm" -msgstr "Termo RPQ TIMEZONE é invalido - usar +/-hhmm" +#: src/library/toggles/table.c:177 +msgid "If set, asks to place the toplevel window in the fullscreen state" +msgstr "Se ativo pede para colocar a janela principal em modo de tela cheia" -#: src/core/rpq.c:520 -msgid "RPQ USER term has non-hex character" -msgstr "Termo RPQ USER tem caractere não hexadecimal" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:185 +msgid "Insert" +msgstr "Inserção" -#: src/core/rpq.c:545 -msgid "RPQ USER term has odd number of hex digits" -msgstr "RPQ USER term has odd number of hex digits" +#: src/library/toggles/table.c:186 +msgid "Set insert mode" +msgstr "Set insert mode" -#: src/core/rpq.c:526 -#, c-format -msgid "RPQ USER term truncated after %d bytes" -msgstr "Termo RPQ USER truncado depois de %d bytes" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:195 src/library/toggles/table.c:196 +msgid "Smart paste" +msgstr "Colar inteligente" -#: src/core/rpq.c:570 -#, c-format -msgid "RPQ USER term truncated after %d characters" -msgstr "Termo RPQ USER truncado depois de %d caracteres" +#: src/library/toggles/table.c:197 +msgid "" +"If set the characters pasted over protected areas will be skipped to avoid " +"locks" +msgstr "" +"Se ativo caracters colados sobre áreas protegidas serão ignorados para " +"evitar o bloqueio do terminal" -#: src/core/rpq.c:350 -#, c-format -msgid "RPQ term \"%s\" is unrecognized" -msgstr "Termo RPQ desconhecido: \"%s\" " +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:205 src/library/toggles/table.c:206 +msgid "Bold" +msgstr "Negrito" -#: src/core/rpq.c:224 -#, c-format -msgid "RPQ term %d is unknown" -msgstr "Termo RPM %d não foi reconhecido" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:215 src/library/toggles/table.c:216 +msgid "Keep selected" +msgstr "Manter selecionado" -#: src/core/rpq.c:465 -msgid "RPQ timezone exceeds 12 hour UTC offset" -msgstr "RPQ timezone excede as 12 horas de deslocamento da UTC" +#: src/library/toggles/table.c:217 +msgid "If set the selection will not be removed on screen changes" +msgstr "Se ativo a seleção não será removida quando a tela mudar" -#: src/core/rpq.c:434 src/core/rpq.c:444 -msgid "RPQ: Unable to determine workstation UTC time" -msgstr "RPQ: Incapaz de determinar a hora UTC da estação de trabalho" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:225 +msgid "Underline" +msgstr "Sublinhados" -#: src/core/rpq.c:424 -msgid "RPQ: Unable to determine workstation local time" -msgstr "RPQ: Incapaz de determinar a hora local da estação de trabalho" +#: src/library/toggles/table.c:226 +msgid "Show Underline" +msgstr "Mostrar sublinhado" -#: src/core/rpq.c:655 -#, c-format -msgid "RPQ: can't resolve '%s': %s" -msgstr "RPQ: Não foi possível resolver '%s': %s" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:235 +msgid "Connect on startup" +msgstr "Conectar ao iniciar" -#: src/core/rpq.c:668 -msgid "RPQ: gethostbyname error" -msgstr "RPQ: Erro em gethostbyname" +#: src/library/toggles/table.c:236 +msgid "Automatically connect to host on startup" +msgstr "Conecta automaticamente na inicialização" -#: src/core/actions/table.c:113 -msgid "Reconnect to the same host" -msgstr "Reconecta ao mesmo servidor" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:245 src/library/toggles/table.c:246 +msgid "Use +/- for field navigation" +msgstr "Usar teclas +/- para navegar por campos" -#: src/core/telnet.c:1787 -msgid "Remodel" -msgstr "Remodel" +#: src/library/toggles/table.c:247 +msgid "Use the keys +/- from keypad to select editable fields" +msgstr "Use the keys +/- from keypad to select editable fields" -#: src/core/actions/table.c:272 src/core/actions/table.c:273 -msgid "Remove selection" -msgstr "Remover seleção" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:255 +msgid "Sound" +msgstr "Som" -#: src/core/ft/ft.c:192 -msgid "Request failed" -msgstr "Requisição falhou" +#: src/library/toggles/table.c:256 +msgid "Alert sound" +msgstr "Aviso sonoro" -#: src/core/ft/ftmessages.c:94 -msgid "Required host storage unavailable: file transfer canceled" -msgstr "Armazenamento necessário indisponível: Transferência cancelada" +#: src/library/toggles/table.c:257 +msgid "Beep on errors" +msgstr "Emitir som nos erros" -#: src/core/actions/table.c:286 src/core/actions/table.c:287 -msgid "Reselect" -msgstr "Reselecionar" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:265 +msgid "Show Field" +msgstr "Mostra campos" -#: src/core/actions/table.c:620 -msgid "Reset" -msgstr "Reset" +#: src/library/toggles/table.c:266 +msgid "Show Field attributes" +msgstr "Mostra atributos de campo" -#: src/core/actions/table.c:621 -msgid "Reset keyboard lock" -msgstr "Reinicia bloqueio de teclado" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:275 +msgid "Auto Resize" +msgstr "Redimensionamento automático" -#: src/core/toggles/table.c:276 +#: src/library/toggles/table.c:276 msgid "Resize on alternate screen" msgstr "Mudar tamanho do terminal em tela alternativa" -#: src/core/telnet.c:1762 src/core/telnet.c:1781 -msgid "Resolving" -msgstr "Resolvendo" - -#: src/core/actions/table.c:185 -msgid "Right" -msgstr "Direita" +#: src/library/toggles/table.c:277 +msgid "Change screen size on alternative screen" +msgstr "Mudar tamanho do terminal em tela alternativa" -#: src/core/ft/ftmessages.c:188 -msgid "" -"SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " -"one option can be used." -msgstr "" -"SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " -"one option can be used." +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:285 +msgid "Network keep alive" +msgstr "Manter rede ativa" -#: src/network_modules/openssl/start.c:229 -msgid "SSL negotiation failed" -msgstr "Negociação SSL falhou" +#: src/library/toggles/table.c:286 +msgid "Enable use of network keep alive" +msgstr "Habilita opção \"keep-alive\"" -#: src/core/properties/unsigned.c:134 -msgid "Screen buffer length in bytes" -msgstr "Tamanho do buffer de tela em bytes" +#: src/library/toggles/table.c:287 +msgid "Enable network keep-alive with SO_KEEPALIVE" +msgstr "Enable network keep-alive with SO_KEEPALIVE" -#: src/core/properties/string.c:165 -msgid "Screen oversize if larger than the chosen model" -msgstr "\"oversize\" maior que o modelo escolhido" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:296 +msgid "Trace Network" +msgstr "Trace de rede" -#: src/network_modules/openssl/messages.c:52 -msgid "Secure connection was successful." -msgstr "Conexão segura efetuada com sucesso." +#: src/library/toggles/table.c:297 +msgid "Trace network data flow" +msgstr "Trace network data flow" -#: src/core/actions/table.c:328 -msgid "Select Down" -msgstr "Seleciona para baixo" +#: src/library/toggles/table.c:298 +msgid "Enable network in/out trace" +msgstr "Habilitar trace de entrada/saída de rede" -#: src/core/actions/table.c:429 -msgid "Select Field" -msgstr "Selecionar campo" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:307 +msgid "Trace Security" +msgstr "Trace de segurança" -#: src/core/actions/table.c:342 -msgid "Select Left" -msgstr "Seleciona à esquerda" +#: src/library/toggles/table.c:308 +msgid "Trace SSL negotiation" +msgstr "Trace da negociação SSL" -#: src/core/actions/table.c:314 -msgid "Select UP" -msgstr "Seleciona para cima" +#: src/library/toggles/table.c:309 +msgid "Enable security negotiation trace" +msgstr "Habilita trace da negociação de segurança" -#: src/core/actions/table.c:258 src/core/actions/table.c:259 -msgid "Select all" -msgstr "Selecionar tudo" +#. Default keycode +#. Icon name +#: src/library/toggles/table.c:318 src/library/toggles/table.c:319 +msgid "Auto-Reconnect" +msgstr "Reconectar automaticamente" -#: src/core/toggles/table.c:155 src/core/toggles/table.c:156 -msgid "Select by rectangles" -msgstr "Seleção retangular" +#: src/library/toggles/table.c:320 +msgid "Automatically reconnect to the host if it ever disconnects" +msgstr "Reconecta automaticamente caso o servidor desconecte" -#: src/core/actions/table.c:428 -msgid "Select field" -msgstr "Seleciona campo" +#: src/library/connect.c:169 +msgid "Can't determine the TLS/SSL state" +msgstr "Não foi possível determinar o estado TLS/SSL" -#: src/core/actions/table.c:356 -msgid "Select right" -msgstr "Seleciona a direita" +#: src/library/connect.c:170 +msgid "" +"The network module didn't set the TLS/SSL state message, this is not " +"supposed to happen and can be a coding error" +msgstr "" +"O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não " +"deveria acontecer e pode ser um erro de codificação" -#: src/core/actions/table.c:300 src/core/actions/table.c:301 -msgid "Select word" -msgstr "Seleciona palavra" +#: src/library/ctlr.c:171 src/library/ctlr.c:181 src/library/ctlr.c:192 +#: src/library/ctlr.c:203 +msgid "Invalid oversize" +msgstr "Valor inválido para 'oversize'" -#: src/core/linux/event_dispatcher.c:131 -#: src/core/windows/event_dispatcher.c:136 -#: src/core/macos/event_dispatcher.c:131 -msgid "Select() failed when processing for events." -msgstr "Select() falhou ao processar eventos." +#: src/library/ctlr.c:172 +msgid "The oversize values are invalid." +msgstr "Os valores para 'oversize' não são válidos." -#: src/core/actions/table.c:384 -msgid "Selection down" -msgstr "Desce a seleção" +#: src/library/ctlr.c:173 +#, c-format +msgid "%dx%d is negative or zero" +msgstr "%dx%d é negativa ou zero" -#: src/core/actions/table.c:398 -msgid "Selection left" -msgstr "Move seleção para a esquerda" +#: src/library/ctlr.c:182 +msgid "The oversize values are too big." +msgstr "Os valores do 'oversize' são muito grandes." -#: src/core/actions/table.c:412 -msgid "Selection right" -msgstr "Move seleção para a direita" +#: src/library/ctlr.c:183 +#, c-format +msgid "%dx%d screen size is bigger than the maximum size" +msgstr "Tela %dx%d é maior que o tamanho máximo" -#: src/core/actions/table.c:370 -msgid "Selection up" -msgstr "Sobe a seleção" +#: src/library/ctlr.c:193 +msgid "The oversize width is too small." +msgstr "A largura do 'oversize' é muito pequena." -#: src/network_modules/openssl/messages.c:252 -msgid "Self signed certificate" -msgstr "Certificado auto assinado" +#: src/library/ctlr.c:194 +#, c-format +msgid "The width %d is less than model %d columns (%d)" +msgstr "A largura %d é menor que a do modelo %d (%d)" -#: src/network_modules/openssl/messages.c:269 -msgid "Self signed certificate in certificate chain" -msgstr "Certificado auto assinado na cadeia de certificados" +#: src/library/ctlr.c:204 +msgid "The oversize height is too small." +msgstr "A altura definida para 'oversize' é muito pequena." -#: src/core/actions/table.c:606 -msgid "Send an \"Enter\" action" -msgstr "Envia um \"Enter\"" +#: src/library/ctlr.c:205 +#, c-format +msgid "The height %d is less than model %d rows (%d)" +msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)" -#: src/core/toggles/table.c:186 -msgid "Set insert mode" -msgstr "Set insert mode" +#. unknown 3270 command +#: src/library/ctlr.c:402 +#, c-format +msgid "Unknown 3270 Data Stream command: 0x%X" +msgstr "Unknown 3270 Data Stream command: 0x%X" -#: src/core/toggles/table.c:265 -msgid "Show Field" -msgstr "Mostra campos" +#: src/library/options.c:42 +msgid "IBM S/390" +msgstr "IBM S/390" -#: src/core/toggles/table.c:266 -msgid "Show Field attributes" -msgstr "Mostra atributos de campo" +#: src/library/options.c:48 +msgid "IBM AS/400" +msgstr "IBM AS/400" -#: src/core/toggles/table.c:226 -msgid "Show Underline" -msgstr "Mostrar sublinhado" +#: src/library/options.c:54 +msgid "Other (TSO)" +msgstr "Outro (TSO)" -#: src/core/actions/table.c:766 -msgid "Show charset table" -msgstr "Mostra a tabela de caracteres" +#: src/library/options.c:60 +msgid "Other (VM/CMS)" +msgstr "Outro (VM/CMS)" -#: src/core/actions/table.c:752 -msgid "Show test pattern" -msgstr "Mostra o padrão de teste" +#: src/library/paste.c:373 +msgid "Action failed" +msgstr "Ação falhou" -#: src/core/toggles/table.c:72 src/core/toggles/table.c:73 -msgid "Show timer when processing" -msgstr "Show timer when processing" +#: src/library/paste.c:374 +msgid "Unable to paste text" +msgstr "Incapaz de colar texto" -#: src/core/toggles/table.c:195 src/core/toggles/table.c:196 -msgid "Smart paste" -msgstr "Colar inteligente" +#: src/library/paste.c:375 +msgid "Keyboard is locked" +msgstr "Teclado está bloqueado" -#: src/network_modules/tools.c:173 src/network_modules/tools.c:189 -msgid "Socket error" -msgstr "Erro no socket" +#: src/library/paste.c:375 +msgid "Unexpected error" +msgstr "Erro inesperado" -#: src/core/toggles/table.c:255 -msgid "Sound" -msgstr "Som" +#: src/library/rpq.c:222 +msgid "RPQ Error" +msgstr "Erro RPQ" -#: src/core/properties/boolean.c:126 -msgid "State is 3270, TN3270e or SSCP" -msgstr "Estado do terminal é 3270, TN3270e or SSCP" +#: src/library/rpq.c:223 +msgid "Unsupported RPQ term" +msgstr "Unsupported RPQ term" -#: src/core/properties/boolean.c:161 -msgid "Still have text to paste" -msgstr "Ainda existe texto para colar" +#: src/library/rpq.c:224 +#, c-format +msgid "RPQ term %d is unknown" +msgstr "Termo RPM %d não foi reconhecido" -#: src/network_modules/openssl/messages.c:368 -msgid "Subject issuer mismatch" -msgstr "Divergência na identidade do emissor" +#: src/library/rpq.c:229 +#, c-format +msgid "RPQ %s term omitted due to insufficient space" +msgstr "Termo RPQ %s omitido por falta de espaço" -#: src/core/actions/table.c:733 -msgid "Sys Req" -msgstr "Sys Req" +#: src/library/rpq.c:338 +#, c-format +msgid "RPQ %s term override ignored" +msgstr "RPQ %s term override ignored" -#: src/core/actions/table.c:734 -msgid "Sys Request" -msgstr "Sys Request" +#: src/library/rpq.c:350 +#, c-format +msgid "RPQ term \"%s\" is unrecognized" +msgstr "Termo RPQ desconhecido: \"%s\" " + +#: src/library/rpq.c:403 src/library/rpq.c:412 +msgid "RPQ TIMEZONE term is invalid - use +/-hhmm" +msgstr "Termo RPQ TIMEZONE é invalido - usar +/-hhmm" + +#: src/library/rpq.c:424 +msgid "RPQ: Unable to determine workstation local time" +msgstr "RPQ: Incapaz de determinar a hora local da estação de trabalho" + +#: src/library/rpq.c:434 src/library/rpq.c:444 +msgid "RPQ: Unable to determine workstation UTC time" +msgstr "RPQ: Incapaz de determinar a hora UTC da estação de trabalho" + +#: src/library/rpq.c:465 +msgid "RPQ timezone exceeds 12 hour UTC offset" +msgstr "RPQ timezone excede as 12 horas de deslocamento da UTC" + +#: src/library/rpq.c:520 +msgid "RPQ USER term has non-hex character" +msgstr "Termo RPQ USER tem caractere não hexadecimal" + +#: src/library/rpq.c:526 +#, c-format +msgid "RPQ USER term truncated after %d bytes" +msgstr "Termo RPQ USER truncado depois de %d bytes" + +#: src/library/rpq.c:545 +msgid "RPQ USER term has odd number of hex digits" +msgstr "RPQ USER term has odd number of hex digits" + +#: src/library/rpq.c:570 +#, c-format +msgid "RPQ USER term truncated after %d characters" +msgstr "Termo RPQ USER truncado depois de %d caracteres" + +#: src/library/rpq.c:642 src/library/rpq.c:712 +#, c-format +msgid "RPQ ADDRESS term has unrecognized family %u" +msgstr "Família %u não reconhecida no termo RPQ ADDRESS" + +#: src/library/rpq.c:650 src/library/rpq.c:679 src/library/rpq.c:719 +msgid "RPQ ADDRESS term incomplete due to space limit" +msgstr "Termo RPQ ADDRESS incompleto devido ao limite de espaço" + +#: src/library/rpq.c:655 +#, c-format +msgid "RPQ: can't resolve '%s': %s" +msgstr "RPQ: Não foi possível resolver '%s': %s" + +#: src/library/rpq.c:668 +msgid "RPQ: gethostbyname error" +msgstr "RPQ: Erro em gethostbyname" -#: src/core/telnet.c:995 +#: src/library/telnet.c:304 src/library/os/linux/connect.c:200 +#: src/library/os/linux/event_dispatcher.c:130 +#: src/library/os/windows/connect.c:223 +#: src/library/os/windows/event_dispatcher.c:135 +#: src/library/os/darwin/connect.c:200 +#: src/library/os/darwin/event_dispatcher.c:130 +msgid "Network error" +msgstr "Erro de rede" + +#: src/library/telnet.c:727 +msgid "Warning" +msgstr "Alerta" + +#: src/library/telnet.c:728 +msgid "EOR received when not in 3270 mode, ignored." +msgstr "EOR recebido fora do modo 3270, ignorado." + +#. None of the LUs worked. +#: src/library/telnet.c:928 +msgid "Cannot connect to specified LU" +msgstr "Não foi possível conectar na LU pedida" + +#: src/library/telnet.c:995 msgid "TLS negotiation failure" msgstr "Negociação TLS falhou" -#: src/core/telnet.c:1766 -msgid "TN3270 3270" -msgstr "TN3270 3270" +#: src/library/telnet.c:1163 +msgid "Host rejected device type or request type" +msgstr "Servidor rejeitou o tipo de dispositivo ou requisição" + +#. No more LUs to try. Give up. +#: src/library/telnet.c:1173 +msgid "Host rejected resource(s)" +msgstr "Servidor rejeitou recurso(s)" + +#: src/library/telnet.c:1175 +msgid "Device type rejected" +msgstr "Tipo de dispositivo rejeitado" + +#. +#. * They've added something. Abandon +#. * TN3270E, they're brain dead. +#. +#: src/library/telnet.c:1233 +msgid "Host illegally added function(s)" +msgstr "Host illegally added function(s)" + +#: src/library/telnet.c:1761 +msgid "Unconnected" +msgstr "Não conectado" + +#: src/library/telnet.c:1762 src/library/telnet.c:1781 +msgid "Resolving" +msgstr "Resolvendo" + +#: src/library/telnet.c:1763 +msgid "Pending" +msgstr "Pendente" -#: src/core/telnet.c:1765 +#: src/library/telnet.c:1764 +msgid "Connected initial" +msgstr "Connected initial" + +#: src/library/telnet.c:1765 msgid "TN3270 NVT" msgstr "TN3270 NVT" -#: src/core/telnet.c:1767 +#: src/library/telnet.c:1766 +msgid "TN3270 3270" +msgstr "TN3270 3270" + +#: src/library/telnet.c:1767 msgid "TN3270E" msgstr "TN3270E" -#: src/core/telnet.c:1770 -msgid "TN3270E 3270" -msgstr "TN3270E 3270" - -#: src/core/telnet.c:1768 +#: src/library/telnet.c:1768 msgid "TN3270E NVT" msgstr "TN3270E NVT" -#: src/core/telnet.c:1769 +#: src/library/telnet.c:1769 msgid "TN3270E SSCP-LU" msgstr "TN3270E SSCP-LU" -#: src/core/properties/unsigned.c:95 -msgid "Terminal model" -msgstr "Modelo do terminal" - -#: src/core/properties/string.c:98 -msgid "Terminal name" -msgstr "Nome do terminal" - -#: src/core/properties/string.c:91 -msgid "Terminal type" -msgstr "Tipo do terminal" - -#: src/core/actions/table.c:751 -msgid "Test pattern" -msgstr "Padrão de teste" +#: src/library/telnet.c:1770 +msgid "TN3270E 3270" +msgstr "TN3270E 3270" -#: src/core/ft/ftmessages.c:216 -msgid "" -"The CMS disk is full, or the maximum number of files on the minidisk (3400) " -"has been reached, or the maximum number of data blocks per file (16060) has " -"been reached." -msgstr "" -"The CMS disk is full, or the maximum number of files on the minidisk (3400) " -"has been reached, or the maximum number of data blocks per file (16060) has " -"been reached." +#: src/library/telnet.c:1782 +msgid "Connecting" +msgstr "Conectando" -#: src/network_modules/openssl/messages.c:182 -msgid "The CRL has expired." -msgstr "A lista de certificados revogados expirou." +#: src/library/telnet.c:1783 +msgid "Half connect" +msgstr "Half connect" -#: src/network_modules/openssl/messages.c:167 -msgid "The CRL is not yet valid." -msgstr "A lista de certificados revogados ainda não é válida." +#: src/library/telnet.c:1784 +msgid "Connect" +msgstr "Conectar" -#: src/network_modules/openssl/messages.c:216 -msgid "The CRL lastUpdate field contains an invalid time." -msgstr "Campo \"lastUpdate\" do CRL contem horário inválido." +#: src/library/telnet.c:1785 +msgid "3270 Mode" +msgstr "Modo 3270" -#: src/network_modules/openssl/messages.c:227 -msgid "The CRL nextUpdate field contains an invalid time." -msgstr "Campo \"nextUpdate\" contem horário inválido." +#: src/library/telnet.c:1786 +msgid "Line mode" +msgstr "Line mode" -#: src/network_modules/openssl/messages.c:102 -msgid "" -"The CRL signature could not be decrypted: this means that the actual " -"signature value could not be determined rather than it not matching the " -"expected value. Unused." -msgstr "" -"The CRL signature could not be decrypted: this means that the actual " -"signature value could not be determined rather than it not matching the " -"expected value. Unused." +#: src/library/telnet.c:1787 +msgid "Remodel" +msgstr "Remodel" -#: src/network_modules/openssl/messages.c:183 -msgid "The Certificate revocation list (CRL) has expired." -msgstr "A lista de revogação de certificados (CRL) está expirada." +#: src/library/telnet.c:1788 +msgid "Printer" +msgstr "Impressão" -#: src/network_modules/openssl/messages.c:168 -msgid "The Certificate revocation list (CRL) is not yet valid." -msgstr "A lista de revogação de certificados (CRL) ainda não é válida." +#: src/library/telnet.c:1789 +msgid "Exiting" +msgstr "Saindo" -#: src/network_modules/openssl/messages.c:79 -msgid "" -"The Certificate revocation list (CRL) of a certificate could not be found." -msgstr "" -"A lista de revogação de certificados (CRL) de um certificado não pôde ser " -"encontrada." +#: src/library/telnet.c:1790 +msgid "Charset" +msgstr "Tabela de caracteres" -#: src/network_modules/openssl/main.c:124 -#: src/network_modules/openssl/main.c:171 +#: src/library/util.c:270 #, c-format -msgid "The SSL error message was %s" -msgstr "A mensagem de erro SSL foi \"%s\"" - -#: src/core/linux/connect.c:191 src/core/macos/connect.c:191 -#, fuzzy, c-format -msgid "The System error was '%s' (rc=%d)" +msgid "The system error was '%s' (rc=%d)" msgstr "O erro do sistema foi \"%s\" (rc=%d)" -#: src/core/linux/ldap.c:82 src/core/linux/ldap.c:91 -#: src/core/windows/ldap.c:101 src/core/windows/ldap.c:110 -#: src/core/macos/ldap.c:82 src/core/macos/ldap.c:91 -msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute" -msgstr "A URL deve ser no formato ldap://[HOST]/[DN]?attribute" +#: src/library/network/default/main.c:148 +msgid "The session is not secure" +msgstr "A sessão não é segura" -#: src/network_modules/openssl/messages.c:325 -msgid "The basicConstraints pathlength parameter has been exceeded." -msgstr "The basicConstraints pathlength parameter has been exceeded." +#: src/library/network/default/main.c:149 +msgid "No TLS/SSL support on this session" +msgstr "Sem suporte TLS/SSL nessa sessão" -#: src/network_modules/openssl/messages.c:270 -msgid "" -"The certificate chain could be built up using the untrusted certificates but " -"the root could not be found locally." -msgstr "" -"The certificate chain could be built up using the untrusted certificates but " -"the root could not be found locally." +#: src/library/network/openssl/context.c:236 +msgid "Can't initialize the TLS/SSL context." +msgstr "Erro ao inicializar contexto TLS/SSL" -#: src/network_modules/openssl/messages.c:303 -msgid "The certificate has been revoked." -msgstr "O certificado foi revogado." +#: src/library/network/openssl/context.c:286 +msgid "Cant open custom certificate directory." +msgstr "Não foi possível abrir o diretório de certificados personalizados" -#: src/network_modules/openssl/messages.c:157 -msgid "" -"The certificate has expired: that is the notAfter date is before the current " -"time." -msgstr "" -"The certificate has expired: that is the notAfter date is before the current " -"time." +#: src/library/network/openssl/context.c:291 +#, c-format +msgid "Can't open \"%s\" (The Windows error code was %ld)" +msgstr "Não foi possível abrir \"%s\" (O código de erro windows foi %ld)" -#: src/network_modules/openssl/messages.c:146 -msgid "" -"The certificate is not yet valid: the notBefore date is after the current " -"time." -msgstr "" -"The certificate is not yet valid: the notBefore date is after the current " -"time." +#: src/library/network/openssl/context.c:304 +#, c-format +msgid "Can't open \"%s\": %s" +msgstr "Não foi possível abrir %s: %s" -#: src/network_modules/openssl/messages.c:205 -msgid "The certificate notAfter field contains an invalid time." -msgstr "The certificate notAfter field contains an invalid time." +#: src/library/network/openssl/context.c:316 +msgid "Cant read custom certificate file." +msgstr "Não foi possível ler certificado personalizado" -#: src/network_modules/openssl/messages.c:194 -msgid "The certificate notBefore field contains an invalid time." -msgstr "The certificate notBefore field contains an invalid time." +#: src/library/network/openssl/context.c:322 +#, c-format +msgid "Can't read \"%s\": %s" +msgstr "Não foi possível ler \"%s\": %s" -#: src/network_modules/openssl/messages.c:91 -msgid "" -"The certificate signature could not be decrypted. This means that the actual " -"signature value could not be determined rather than it not matching the " -"expected value, this is only meaningful for RSA keys." -msgstr "" -"The certificate signature could not be decrypted. This means that the actual " -"signature value could not be determined rather than it not matching the " -"expected value, this is only meaningful for RSA keys." +#: src/library/network/openssl/context.c:332 +msgid "Cant load custom certificate file." +msgstr "Não foi possível ler arquivo de certificado personalizado" -#: src/core/properties/unsigned.c:77 -msgid "The color type" -msgstr "O tipo de cor" +#: src/library/network/openssl/context.c:338 +#, c-format +msgid "Can't load \"%s\": %s" +msgstr "Não foi possível carregar \"%s\": %s" -#: src/network_modules/state.c:77 -msgid "The connection is insecure" -msgstr "A conexão não é segura" +#: src/library/network/openssl/start.c:43 +msgid "No LDAP support" +msgstr "Sem suporte LDAP" -#: src/network_modules/openssl/messages.c:53 -msgid "The connection is secure and the host identity was confirmed." -msgstr "A conexão é segura e a identidade do servidor foi confirmada." +#: src/library/network/openssl/start.c:61 +msgid "Can't decode CRL data" +msgstr "Não foi possível decodificar dados do CRL" -#: src/network_modules/openssl/messages.c:391 -msgid "" -"The current candidate issuer certificate was rejected because its issuer " -"name and serial number was present and did not match the authority key " -"identifier of the current certificate. Only displayed when the -" -"issuer_checks option is set." +#: src/library/network/openssl/start.c:197 +#, fuzzy +msgid "Cant get SSL context for current connection." msgstr "" -"The current candidate issuer certificate was rejected because its issuer " -"name and serial number was present and did not match the authority key " -"identifier of the current certificate. Only displayed when the -" -"issuer_checks option is set." +"Não foi possível criar uma nova estrutura de controle SSL para a conexão " +"atual." -#: src/network_modules/openssl/messages.c:402 -msgid "" -"The current candidate issuer certificate was rejected because its keyUsage " -"extension does not permit certificate signing." +#: src/library/network/openssl/start.c:212 +msgid "Cant create a new SSL structure for current connection." msgstr "" -"The current candidate issuer certificate was rejected because its keyUsage " -"extension does not permit certificate signing." +"Não foi possível criar uma nova estrutura de controle SSL para a conexão " +"atual." -#: src/network_modules/openssl/messages.c:380 -msgid "" -"The current candidate issuer certificate was rejected because its subject " -"key identifier was present and did not match the authority key identifier " -"current certificate. Only displayed when the -issuer_checks option is set." -msgstr "" -"The current candidate issuer certificate was rejected because its subject " -"key identifier was present and did not match the authority key identifier " -"current certificate. Only displayed when the -issuer_checks option is set." +#: src/library/network/openssl/start.c:227 +msgid "SSL negotiation failed" +msgstr "Negociação SSL falhou" -#: src/network_modules/openssl/messages.c:369 +#: src/library/network/openssl/start.c:228 msgid "" -"The current candidate issuer certificate was rejected because its subject " -"name did not match the issuer name of the current certificate. Only " -"displayed when the -issuer_checks option is set." +"Cant set the file descriptor for the input/output facility for the TLS/SSL " +"(encrypted) side of ssl." msgstr "" -"The current candidate issuer certificate was rejected because its subject " -"name did not match the issuer name of the current certificate. Only " -"displayed when the -issuer_checks option is set." +"Não foi possível definir o descritor de arquivo para a conexão TLS/SSL " +"(encriptada)." -#: src/core/properties/unsigned.c:158 -msgid "The delay between the host unlocking the keyboard and the actual unlock" -msgstr "" -"Intervalo de tempo entre o desbloqueio de teclado pelo host e o desbloqueio " -"real" +#: src/library/network/openssl/start.c:245 +msgid "Connection failed" +msgstr "Conexão falhou" -#: src/core/ft/ftmessages.c:60 -msgid "" -"The file transfer operation has been completed, and any record greater than " -"the logical record length (LRECL) of the file being appended has been " -"divided and becomes multiple records." -msgstr "" -"A transferência de arquivos foi concluída e qualquer registro maior que o " -"comprimento definido foi dividido e se transformou em vários registros." +#: src/library/network/openssl/start.c:246 +msgid "Unable to negotiate a secure connection with the host" +msgstr "Incapaz de negociar uma conexão segura com o host" -#: src/core/ft/ftmessages.c:53 -msgid "The file transfer operation has been successfully completed." -msgstr "A transferência de arquivos terminou com sucesso." +#: src/library/network/openssl/start.c:263 +msgid "An EOF was observed that violates the protocol" +msgstr "Um EOF que viola o protocolo foi encontrado" + +#: src/library/network/openssl/start.c:267 +msgid "Unexpected I/O error" +msgstr "Erro de I/O inesperado" + +#: src/library/network/openssl/main.c:102 +#: src/library/network/openssl/main.c:150 +msgid "The secure connection has been closed cleanly." +msgstr "A conexão segura foi fechada corretamente" -#: src/core/ctlr.c:205 +#: src/library/network/openssl/main.c:123 +msgid "Error writing to host." +msgstr "Erro enviando para o servidor" + +#: src/library/network/openssl/main.c:124 +#: src/library/network/openssl/main.c:171 #, c-format -msgid "The height %d is less than model %d rows (%d)" -msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)" +msgid "The SSL error message was %s" +msgstr "A mensagem de erro SSL foi \"%s\"" -#: src/core/ft/ftmessages.c:81 src/core/ft/ftmessages.c:88 -msgid "" -"The host program has detected an error in the file data during a RECEIVE " -"operation." -msgstr "O host detectou um erro no arquivo durante a operação de recebimento." +#: src/library/network/openssl/main.c:170 +msgid "Error reading from host" +msgstr "Erro lendo do servidor" -#: src/network_modules/openssl/messages.c:281 -msgid "" -"The issuer certificate could not be found: this occurs if the issuer " -"certificate of an untrusted certificate cannot be found." -msgstr "" -"The issuer certificate could not be found: this occurs if the issuer " -"certificate of an untrusted certificate cannot be found." +#: src/library/network/openssl/messages.c:52 +msgid "Secure connection was successful." +msgstr "Conexão segura efetuada com sucesso." + +#: src/library/network/openssl/messages.c:53 +msgid "The connection is secure and the host identity was confirmed." +msgstr "A conexão é segura e a identidade do servidor foi confirmada." -#: src/network_modules/openssl/messages.c:64 +#: src/library/network/openssl/messages.c:63 +msgid "Unable to get issuer certificate" +msgstr "Não foi possível obter emissor do certificado" + +#: src/library/network/openssl/messages.c:64 msgid "" "The issuer certificate of a looked up certificate could not be found. This " "normally means the list of trusted certificates is not complete." @@ -1796,577 +1955,556 @@ msgstr "" "The issuer certificate of a looked up certificate could not be found. This " "normally means the list of trusted certificates is not complete." -#: src/core/properties/string.c:173 -msgid "The log file name" -msgstr "Define o nome do arquivo de log" - -#: src/core/properties/unsigned.c:96 -msgid "The model number" -msgstr "Nº do modelo" - -#: src/core/properties/string.c:56 -msgid "The name of the LU associated with the session" -msgstr "O nome da LU associada à sessão" +#: src/library/network/openssl/messages.c:78 +msgid "Unable to get certificate CRL." +msgstr "Incapaz de obter o CRL de um certificado." -#: src/core/connect.c:170 +#: src/library/network/openssl/messages.c:79 msgid "" -"The network module didn't set the TLS/SSL state message, this is not " -"supposed to happen and can be a coding error" +"The Certificate revocation list (CRL) of a certificate could not be found." msgstr "" -"O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não " -"deveria acontecer e pode ser um erro de codificação" - -#: src/core/ctlr.c:204 -msgid "The oversize height is too small." -msgstr "A altura definida para 'oversize' é muito pequena." - -#: src/core/ctlr.c:172 -msgid "The oversize values are invalid." -msgstr "Os valores para 'oversize' não são válidos." - -#: src/core/ctlr.c:182 -msgid "The oversize values are too big." -msgstr "Os valores do 'oversize' são muito grandes." +"A lista de revogação de certificados (CRL) de um certificado não pôde ser " +"encontrada." -#: src/core/ctlr.c:193 -msgid "The oversize width is too small." -msgstr "A largura do 'oversize' é muito pequena." +#: src/library/network/openssl/messages.c:80 +#: src/library/network/openssl/messages.c:253 +#: src/library/network/openssl/messages.c:268 +msgid "Continue" +msgstr "Continuar" -#: src/network_modules/openssl/messages.c:254 -msgid "" -"The passed certificate is self signed and the same certificate cannot be " -"found in the list of trusted certificates." -msgstr "" -"The passed certificate is self signed and the same certificate cannot be " -"found in the list of trusted certificates." +#: src/library/network/openssl/messages.c:90 +msgid "Unable to decrypt certificate's signature" +msgstr "Incapaz de decifrar a assinatura do certificado" -#: src/network_modules/openssl/messages.c:113 +#: src/library/network/openssl/messages.c:91 msgid "" -"The public key in the certificate SubjectPublicKeyInfo could not be read." -msgstr "" -"The public key in the certificate SubjectPublicKeyInfo could not be read." - -#: src/core/ft/ft.c:251 -msgid "The remote file name is invalid." -msgstr "O nome do arquivo remoto não é válido." - -#: src/network_modules/openssl/messages.c:358 -msgid "The root CA is marked to reject the specified purpose." +"The certificate signature could not be decrypted. This means that the actual " +"signature value could not be determined rather than it not matching the " +"expected value, this is only meaningful for RSA keys." msgstr "" -"O certificado raiz está marcado para rejeitar a finalidade especificada." +"The certificate signature could not be decrypted. This means that the actual " +"signature value could not be determined rather than it not matching the " +"expected value, this is only meaningful for RSA keys." -#: src/network_modules/openssl/messages.c:347 -msgid "The root CA is not marked as trusted for the specified purpose." +#: src/library/network/openssl/messages.c:101 +msgid "Unable to decrypt CRL's signature" msgstr "" -"O Certificado raiz não está marcado como confiável para os fins " -"especificados." - -#: src/network_modules/openssl/main.c:102 -#: src/network_modules/openssl/main.c:150 -msgid "The secure connection has been closed cleanly." -msgstr "A conexão segura foi fechada corretamente" - -#: src/core/properties/string.c:150 -msgid "The security state" -msgstr "O estado da segurança" - -#: src/network_modules/default/main.c:148 -msgid "The session is not secure" -msgstr "A sessão não é segura" - -#: src/network_modules/openssl/messages.c:124 -#: src/network_modules/openssl/messages.c:135 -msgid "The signature of the certificate is invalid." -msgstr "A assinatura do certificado não é válida." +"Não foi possível decriptar assinatura da lista de certificados revogados" -#: src/network_modules/openssl/messages.c:336 -msgid "The supplied certificate cannot be used for the specified purpose." +#: src/library/network/openssl/messages.c:102 +msgid "" +"The CRL signature could not be decrypted: this means that the actual " +"signature value could not be determined rather than it not matching the " +"expected value. Unused." msgstr "" -"O certificado fornecido não pode ser utilizado para a finalidade " -"especificada." - -#: src/network_modules/tools.c:114 src/network_modules/tools.c:123 -#, c-format -msgid "The system error code was %d" -msgstr "O erro do sistema operacional foi %d" - -#: src/network_modules/tools.c:83 src/network_modules/tools.c:135 -#, c-format -msgid "The system error code was %d (%s)" -msgstr "O erro do sistema operacional foi \"%d\" (%s)" - -#: src/core/windows/connect.c:239 -#, c-format -msgid "The system error was \"%s\"" -msgstr "O erro do sistema operacional foi \"%s\"" +"The CRL signature could not be decrypted: this means that the actual " +"signature value could not be determined rather than it not matching the " +"expected value. Unused." -#: src/core/linux/connect.c:222 src/core/linux/connect.c:282 -#: src/core/windows/connect.c:298 src/core/windows/connect.c:306 -#: src/core/windows/connect.c:314 src/core/windows/connect.c:324 -#: src/core/macos/connect.c:222 src/core/macos/connect.c:282 -#, c-format -msgid "The system error was \"%s\" (rc=%d)" -msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)" +#: src/library/network/openssl/messages.c:112 +msgid "Unable to decode issuer public key" +msgstr "Não é possível decodificar chave pública do emissor" -#: src/core/windows/connect.c:225 src/core/windows/connect.c:360 -#: src/core/windows/connect.c:378 -#, c-format -msgid "The system error was %s" -msgstr "O erro do sistema operacional foi \"%s\"" +#: src/library/network/openssl/messages.c:113 +msgid "" +"The public key in the certificate SubjectPublicKeyInfo could not be read." +msgstr "" +"The public key in the certificate SubjectPublicKeyInfo could not be read." -#: src/core/util.c:270 -#, c-format -msgid "The system error was '%s' (rc=%d)" -msgstr "O erro do sistema foi \"%s\" (rc=%d)" +#: src/library/network/openssl/messages.c:123 +msgid "Certificate signature failure" +msgstr "Falha na assinatura do certificado" -#: src/core/properties/string.c:181 -msgid "The trace file name" -msgstr "O nome do arquivo de trace" +#: src/library/network/openssl/messages.c:124 +#: src/library/network/openssl/messages.c:135 +msgid "The signature of the certificate is invalid." +msgstr "A assinatura do certificado não é válida." -#: src/core/ctlr.c:194 -#, c-format -msgid "The width %d is less than model %d columns (%d)" -msgstr "A largura %d é menor que a do modelo %d (%d)" +#: src/library/network/openssl/messages.c:134 +msgid "CRL signature failure" +msgstr "Erro na assinatura CRL" -#: src/network_modules/tools.c:67 src/network_modules/tools.c:101 -#, c-format -msgid "The windows error code was %u" -msgstr "O erro do windows foi %u" +#: src/library/network/openssl/messages.c:145 +msgid "Certificate is not yet valid" +msgstr "O certificado ainda não é válido" -#: src/core/ft/ftmessages.c:146 -msgid "There is not enough space available for data on the host." -msgstr "Não existe espaço suficiente no host para os dados." +#: src/library/network/openssl/messages.c:146 +msgid "" +"The certificate is not yet valid: the notBefore date is after the current " +"time." +msgstr "" +"The certificate is not yet valid: the notBefore date is after the current " +"time." -#: src/core/ft/ftmessages.c:223 -msgid "This is a host program error." -msgstr "Este é um erro no programa do host." +#: src/library/network/openssl/messages.c:156 +msgid "Certificate has expired" +msgstr "O certificado expirou" -#: src/core/properties/unsigned.c:142 -msgid "Time for auto-reconnect" -msgstr "Tempo para reconexão automática" +#: src/library/network/openssl/messages.c:157 +msgid "" +"The certificate has expired: that is the notAfter date is before the current " +"time." +msgstr "" +"The certificate has expired: that is the notAfter date is before the current " +"time." -#: src/core/windows/connect.c:299 -msgid "Timeout conneting to host" -msgstr "Timeout ao conectar com o host" +#: src/library/network/openssl/messages.c:167 +msgid "The CRL is not yet valid." +msgstr "A lista de certificados revogados ainda não é válida." -#: src/core/toggles/table.c:93 src/core/toggles/table.c:94 -msgid "Trace Data Stream" -msgstr "Trace Data Stream" +#: src/library/network/openssl/messages.c:168 +msgid "The Certificate revocation list (CRL) is not yet valid." +msgstr "A lista de revogação de certificados (CRL) ainda não é válida." -#: src/core/toggles/table.c:135 -msgid "Trace Events" -msgstr "Trace de Eventos" +#: src/library/network/openssl/messages.c:182 +msgid "The CRL has expired." +msgstr "A lista de certificados revogados expirou." -#: src/core/toggles/table.c:296 -msgid "Trace Network" -msgstr "Trace de rede" +#: src/library/network/openssl/messages.c:183 +msgid "The Certificate revocation list (CRL) has expired." +msgstr "A lista de revogação de certificados (CRL) está expirada." -#: src/core/toggles/table.c:308 -msgid "Trace SSL negotiation" -msgstr "Trace da negociação SSL" +#: src/library/network/openssl/messages.c:193 +msgid "Format error in certificate's notBefore field" +msgstr "Erro de formato no campo \"notBefore\" do certificado" -#: src/core/toggles/table.c:124 -msgid "Trace Screen" -msgstr "Trace de tela" +#: src/library/network/openssl/messages.c:194 +msgid "The certificate notBefore field contains an invalid time." +msgstr "The certificate notBefore field contains an invalid time." -#: src/core/toggles/table.c:307 -msgid "Trace Security" -msgstr "Trace de segurança" +#: src/library/network/openssl/messages.c:204 +msgid "Format error in certificate's notAfter field" +msgstr "Erro de formato no campo \"notAfter\" do certificado" -#: src/core/toggles/table.c:136 -msgid "Trace interface and application events" -msgstr "Registra eventos da interface gráfica e aplicação" +#: src/library/network/openssl/messages.c:205 +msgid "The certificate notAfter field contains an invalid time." +msgstr "The certificate notAfter field contains an invalid time." -#: src/core/toggles/table.c:297 -msgid "Trace network data flow" -msgstr "Trace network data flow" +#: src/library/network/openssl/messages.c:215 +msgid "Format error in CRL's lastUpdate field" +msgstr "Erro de formato no campo \"lastUpdate\" do CRL" -#: src/core/toggles/table.c:125 -msgid "Trace screen contents" -msgstr "Trace do conteúdo da tela" +#: src/library/network/openssl/messages.c:216 +msgid "The CRL lastUpdate field contains an invalid time." +msgstr "Campo \"lastUpdate\" do CRL contem horário inválido." -#: src/core/toggles/table.c:82 -msgid "Track Cursor" -msgstr "Mostrar posição do cursor" +#: src/library/network/openssl/messages.c:226 +msgid "Format error in CRL's nextUpdate field" +msgstr "Erro de formato no campo \"nextUpdate\" do CRL" -#: src/core/toggles/table.c:83 -msgid "Track Cursor location" -msgstr "Mostrar posição do cursor" +#: src/library/network/openssl/messages.c:227 +msgid "The CRL nextUpdate field contains an invalid time." +msgstr "Campo \"nextUpdate\" contem horário inválido." -#: src/core/ft/ft_cut.c:360 -msgid "Transfer cancelled by host" -msgstr "Transferência cancelada pelo host" +#: src/library/network/openssl/messages.c:237 +msgid "Out of memory" +msgstr "Memória insuficiente" -#: src/core/ft/ft_cut.c:387 src/core/ft/ft_cut.c:475 src/core/ft/ft_dft.c:213 -#: src/core/ft/ft_dft.c:344 -msgid "Transfer cancelled by user" -msgstr "Transferência cancelada pelo usuário" +#: src/library/network/openssl/messages.c:238 +msgid "An error occurred trying to allocate memory. This should never happen." +msgstr "" +"Ocorreu um erro ao tentar alocar memória. Isso nunca deveria acontecer." -#: src/core/ft/ft.c:526 -msgid "Transfer complete" -msgstr "Transferência completa" +#: src/library/network/openssl/messages.c:252 +msgid "Self signed certificate" +msgstr "Certificado auto assinado" -#: src/core/ft/ft.c:530 -msgid "Transfer failed" -msgstr "Transferência falhou" +#: src/library/network/openssl/messages.c:254 +msgid "" +"The passed certificate is self signed and the same certificate cannot be " +"found in the list of trusted certificates." +msgstr "" +"The passed certificate is self signed and the same certificate cannot be " +"found in the list of trusted certificates." -#: src/core/ft/ft_cut.c:447 -msgid "Transmission error" -msgstr "Erro de transmissão" +#: src/library/network/openssl/messages.c:269 +msgid "Self signed certificate in certificate chain" +msgstr "Certificado auto assinado na cadeia de certificados" -#: src/core/linux/connect.c:166 src/core/windows/connect.c:198 -#: src/core/macos/connect.c:166 -msgid "Try again" -msgstr "Tentar novamente" +#: src/library/network/openssl/messages.c:270 +msgid "" +"The certificate chain could be built up using the untrusted certificates but " +"the root could not be found locally." +msgstr "" +"The certificate chain could be built up using the untrusted certificates but " +"the root could not be found locally." -#: src/core/properties/string.c:68 -msgid "URL of the current host" -msgstr "URL do host atual" +#: src/library/network/openssl/messages.c:280 +msgid "Unable to get local issuer certificate" +msgstr "Unable to get local issuer certificate" -#: src/core/ft/ft_dft.c:161 -msgid "Uknown DFT Open type from host" -msgstr "Host enviou código de abertura DFT desconhecido" +#: src/library/network/openssl/messages.c:281 +msgid "" +"The issuer certificate could not be found: this occurs if the issuer " +"certificate of an untrusted certificate cannot be found." +msgstr "" +"The issuer certificate could not be found: this occurs if the issuer " +"certificate of an untrusted certificate cannot be found." -#: src/network_modules/openssl/messages.c:112 -msgid "Unable to decode issuer public key" -msgstr "Não é possível decodificar chave pública do emissor" +#: src/library/network/openssl/messages.c:291 +msgid "Unable to verify the first certificate" +msgstr "Não foi possível verificar o primeiro certificado" -#: src/network_modules/openssl/messages.c:101 -msgid "Unable to decrypt CRL's signature" +#: src/library/network/openssl/messages.c:292 +msgid "" +"No signatures could be verified because the chain contains only one " +"certificate and it is not self signed." msgstr "" -"Não foi possível decriptar assinatura da lista de certificados revogados" +"Nenhuma assinatura pode ser verificada, porque a cadeia contém apenas um " +"certificado e não é auto assinado." -#: src/network_modules/openssl/messages.c:90 -msgid "Unable to decrypt certificate's signature" -msgstr "Incapaz de decifrar a assinatura do certificado" +#: src/library/network/openssl/messages.c:302 +msgid "Certificate revoked" +msgstr "Certificado revogado" -#: src/network_modules/openssl/messages.c:78 -msgid "Unable to get certificate CRL." -msgstr "Incapaz de obter o CRL de um certificado." +#: src/library/network/openssl/messages.c:303 +msgid "The certificate has been revoked." +msgstr "O certificado foi revogado." -#: src/core/linux/connect.c:201 src/core/windows/connect.c:224 -#: src/core/macos/connect.c:201 -msgid "Unable to get connection state." -msgstr "Não foi possível obter o estado da conexão." +#: src/library/network/openssl/messages.c:313 +msgid "Invalid CA certificate" +msgstr "Certificado CA inválido" -#: src/network_modules/openssl/messages.c:63 -msgid "Unable to get issuer certificate" -msgstr "Não foi possível obter emissor do certificado" +#: src/library/network/openssl/messages.c:314 +msgid "" +"A CA certificate is invalid. Either it is not a CA or its extensions are not " +"consistent with the supplied purpose." +msgstr "" +"A CA certificate is invalid. Either it is not a CA or its extensions are not " +"consistent with the supplied purpose." -#: src/network_modules/openssl/messages.c:280 -msgid "Unable to get local issuer certificate" -msgstr "Unable to get local issuer certificate" +#: src/library/network/openssl/messages.c:324 +msgid "Path length constraint exceeded" +msgstr "Path length constraint exceeded" -#: src/core/session.c:176 -msgid "Unable to load from file" -msgstr "Não foi possível ler do arquivo" +#: src/library/network/openssl/messages.c:325 +msgid "The basicConstraints pathlength parameter has been exceeded." +msgstr "The basicConstraints pathlength parameter has been exceeded." -#: src/network_modules/openssl/start.c:247 -msgid "Unable to negotiate a secure connection with the host" -msgstr "Incapaz de negociar uma conexão segura com o host" +#: src/library/network/openssl/messages.c:335 +msgid "Unsupported certificate purpose" +msgstr "Finalidade do certificado não é suportada" -#: src/core/paste.c:374 -msgid "Unable to paste text" -msgstr "Incapaz de colar texto" +#: src/library/network/openssl/messages.c:336 +msgid "The supplied certificate cannot be used for the specified purpose." +msgstr "" +"O certificado fornecido não pode ser utilizado para a finalidade " +"especificada." -#: src/core/session.c:164 -msgid "Unable to print" -msgstr "Incapaz de imprimir" +#: src/library/network/openssl/messages.c:346 +msgid "Certificate not trusted" +msgstr "O certificado não é confiável" -#: src/core/session.c:170 -msgid "Unable to save" -msgstr "Incapaz de salvar" +#: src/library/network/openssl/messages.c:347 +msgid "The root CA is not marked as trusted for the specified purpose." +msgstr "" +"O Certificado raiz não está marcado como confiável para os fins " +"especificados." -#: src/core/ft/ft.c:478 -msgid "Unable to send file-transfer request" -msgstr "Não foi possível enviar a requisição de transferência de arquivo" +#: src/library/network/openssl/messages.c:357 +msgid "Certificate rejected" +msgstr "Certificado rejeitado" -#: src/network_modules/openssl/messages.c:291 -msgid "Unable to verify the first certificate" -msgstr "Não foi possível verificar o primeiro certificado" +#: src/library/network/openssl/messages.c:358 +msgid "The root CA is marked to reject the specified purpose." +msgstr "" +"O certificado raiz está marcado para rejeitar a finalidade especificada." -#: src/core/telnet.c:1761 -msgid "Unconnected" -msgstr "Não conectado" +#: src/library/network/openssl/messages.c:368 +msgid "Subject issuer mismatch" +msgstr "Divergência na identidade do emissor" -#: src/core/properties/signed.c:100 -msgid "Undefined" -msgstr "Indefinido" +#: src/library/network/openssl/messages.c:369 +msgid "" +"The current candidate issuer certificate was rejected because its subject " +"name did not match the issuer name of the current certificate. Only " +"displayed when the -issuer_checks option is set." +msgstr "" +"The current candidate issuer certificate was rejected because its subject " +"name did not match the issuer name of the current certificate. Only " +"displayed when the -issuer_checks option is set." -#: src/core/toggles/table.c:225 -msgid "Underline" -msgstr "Sublinhados" +#: src/library/network/openssl/messages.c:379 +msgid "Authority and subject key identifier mismatch" +msgstr "Authority and subject key identifier mismatch" -#: src/network_modules/openssl/start.c:268 -msgid "Unexpected I/O error" -msgstr "Erro de I/O inesperado" +#: src/library/network/openssl/messages.c:380 +msgid "" +"The current candidate issuer certificate was rejected because its subject " +"key identifier was present and did not match the authority key identifier " +"current certificate. Only displayed when the -issuer_checks option is set." +msgstr "" +"The current candidate issuer certificate was rejected because its subject " +"key identifier was present and did not match the authority key identifier " +"current certificate. Only displayed when the -issuer_checks option is set." -#: src/core/paste.c:375 -msgid "Unexpected error" -msgstr "Erro inesperado" +#: src/library/network/openssl/messages.c:390 +msgid "Authority and issuer serial number mismatch" +msgstr "Divergência nos números de série da autoridade e emissor " -#: src/network_modules/tools.c:134 -msgid "Unexpected error writing to network socket" -msgstr "Erro inesperado gravando socket" +#: src/library/network/openssl/messages.c:391 +msgid "" +"The current candidate issuer certificate was rejected because its issuer " +"name and serial number was present and did not match the authority key " +"identifier of the current certificate. Only displayed when the -" +"issuer_checks option is set." +msgstr "" +"The current candidate issuer certificate was rejected because its issuer " +"name and serial number was present and did not match the authority key " +"identifier of the current certificate. Only displayed when the -" +"issuer_checks option is set." -#: src/core/keyboard/kybd.c:269 -#, c-format -msgid "Unexpected type %d in typeahead queue" -msgstr "Tipo inesperado %d na fila de teclado" +#: src/library/network/openssl/messages.c:401 +msgid "Key usage does not include certificate signing" +msgstr "Uso da chave não permite assinatura de certificados" -#: src/core/telnet.c:1774 src/core/telnet.c:1794 -#: src/core/properties/signed.c:59 src/core/properties/signed.c:88 -#: src/core/properties/signed.c:108 -msgid "Unknown" -msgstr "Desconhecido" +#: src/library/network/openssl/messages.c:402 +msgid "" +"The current candidate issuer certificate was rejected because its keyUsage " +"extension does not permit certificate signing." +msgstr "" +"The current candidate issuer certificate was rejected because its keyUsage " +"extension does not permit certificate signing." -#: src/core/ctlr.c:402 -#, c-format -msgid "Unknown 3270 Data Stream command: 0x%X" -msgstr "Unknown 3270 Data Stream command: 0x%X" +#: src/library/network/state.c:77 +msgid "The connection is insecure" +msgstr "A conexão não é segura" -#: src/core/ft/ft_cut.c:368 -msgid "Unknown FT control code from host" -msgstr "Servidor enviou código de controle FT desconhecido" +#: src/library/network/tools.c:66 src/library/network/tools.c:82 +msgid "Error receiving data from host" +msgstr "Erro recebendo dados do servidor" -#: src/core/keyboard/kybd.c:1547 +#: src/library/network/tools.c:67 src/library/network/tools.c:101 #, c-format -msgid "Unknown PA key %d" -msgstr "PA %d desconhecida" +msgid "The windows error code was %u" +msgstr "O erro do windows foi %u" -#: src/core/keyboard/kybd.c:1560 +#: src/library/network/tools.c:83 src/library/network/tools.c:135 #, c-format -msgid "Unknown PF key %d" -msgstr "PF %d desconhecida" +msgid "The system error code was %d (%s)" +msgstr "O erro do sistema operacional foi \"%d\" (%s)" -#: src/core/ft/ft_cut.c:297 -msgid "Unknown frame type from host" -msgstr "Servidor enviou tipo de frame desconhecido" +#: src/library/network/tools.c:100 +msgid "Erro sending data to host" +msgstr "Erro ao enviar dados para o servidor" -#: src/core/properties/unsigned.c:157 -msgid "Unlock delay" -msgstr "Atraso no desbloqueio" +#: src/library/network/tools.c:113 +msgid "Broken pipe" +msgstr "Conexão interrompida" -#: src/core/rpq.c:223 -msgid "Unsupported RPQ term" -msgstr "Unsupported RPQ term" +#: src/library/network/tools.c:114 src/library/network/tools.c:123 +#, c-format +msgid "The system error code was %d" +msgstr "O erro do sistema operacional foi %d" -#: src/network_modules/openssl/messages.c:335 -msgid "Unsupported certificate purpose" -msgstr "Finalidade do certificado não é suportada" +#: src/library/network/tools.c:122 +msgid "Connection reset by peer" +msgstr "Conexão foi cancelada pelo servidor" -#: src/core/actions/table.c:143 -msgid "Up" -msgstr "Subir" +#: src/library/network/tools.c:134 +msgid "Unexpected error writing to network socket" +msgstr "Erro inesperado gravando socket" -#: src/core/toggles/table.c:52 -msgid "Uppercase only" -msgstr "Apenas maiúsculas" +#: src/library/network/tools.c:160 src/library/os/linux/connect.c:230 +#: src/library/os/linux/connect.c:321 src/library/os/linux/connect.c:338 +#: src/library/os/windows/connect.c:358 src/library/os/windows/connect.c:376 +#: src/library/os/darwin/connect.c:230 src/library/os/darwin/connect.c:321 +#: src/library/os/darwin/connect.c:338 +msgid "Connection error" +msgstr "Erro de conexão" -#: src/core/toggles/table.c:245 src/core/toggles/table.c:246 -msgid "Use +/- for field navigation" -msgstr "Usar teclas +/- para navegar por campos" +#: src/library/network/tools.c:161 +msgid "ioctlsocket(FIONBIO) failed." +msgstr "ioctlsocket(FIONBIO) falhou." -#: src/core/toggles/table.c:247 -msgid "Use the keys +/- from keypad to select editable fields" -msgstr "Use the keys +/- from keypad to select editable fields" +#: src/library/network/tools.c:173 src/library/network/tools.c:189 +msgid "Socket error" +msgstr "Erro no socket" -#: src/core/properties/signed.c:99 -msgid "Verifying SSL (Getting CRL)" -msgstr "" +#: src/library/network/tools.c:174 +msgid "fcntl() error when getting socket state." +msgstr "erro fcntl() ao obter estado do socket." -#: src/core/windows/connect.c:111 -msgid "WSAStartup failed" -msgstr "WSAStartup falhou" +#: src/library/network/tools.c:175 src/library/network/tools.c:191 +#, c-format +msgid "%s" +msgstr "%s" -#: src/core/ft/ft.c:487 -msgid "Waiting for GET response" -msgstr "Aguardando resposta do pedido de download" +#: src/library/network/tools.c:190 +msgid "Can't set socket to blocking mode." +msgstr "Não foi possível mudar o socket para o modo blocante." -#: src/core/ft/ft.c:489 -msgid "Waiting for PUT response" -msgstr "Aguardando resposta do pedido de upload" +#: src/library/network/tools.c:190 +msgid "Can't set socket to non blocking mode" +msgstr "Não foi possível setar o socket para o modo não blocante." -#: src/core/telnet.c:727 -msgid "Warning" -msgstr "Alerta" +#: src/library/os/linux/connect.c:165 src/library/os/windows/connect.c:197 +#: src/library/os/darwin/connect.c:165 +msgid "Can't connect to host" +msgstr "Não foi possível conectar no host" -#: src/core/windows/util.c:124 src/core/windows/util.c:167 -#, c-format -msgid "Windows error %d" -msgstr "Erro windows foi %d" +#: src/library/os/linux/connect.c:166 src/library/os/windows/connect.c:198 +#: src/library/os/darwin/connect.c:166 +msgid "Try again" +msgstr "Tentar novamente" -#: src/core/toggles/table.c:103 src/core/toggles/table.c:104 -msgid "Wrap around" -msgstr "Wrap around" +#: src/library/os/linux/connect.c:191 src/library/os/darwin/connect.c:191 +#, fuzzy, c-format +msgid "The System error was '%s' (rc=%d)" +msgstr "O erro do sistema foi \"%s\" (rc=%d)" -#: src/core/properties/signed.c:71 src/core/properties/signed.c:77 -#: src/core/properties/signed.c:78 -msgid "X" -msgstr "X" +#: src/library/os/linux/connect.c:201 src/library/os/windows/connect.c:224 +#: src/library/os/darwin/connect.c:201 +msgid "Unable to get connection state." +msgstr "Não foi possível obter o estado da conexão." -#: src/core/properties/signed.c:72 -msgid "X -f" -msgstr "X -f" +#: src/library/os/linux/connect.c:215 src/library/os/linux/connect.c:269 +#: src/library/os/windows/connect.c:232 src/library/os/windows/connect.c:276 +#: src/library/os/darwin/connect.c:215 src/library/os/darwin/connect.c:269 +#, c-format +msgid "Can't connect to %s:%s" +msgstr "Não foi possível conectar a %s:%s" -#: src/core/properties/signed.c:69 -#, fuzzy -msgid "X Connected" -msgstr "X Desconectado" +#: src/library/os/linux/connect.c:222 src/library/os/linux/connect.c:282 +#: src/library/os/windows/connect.c:298 src/library/os/windows/connect.c:306 +#: src/library/os/windows/connect.c:314 src/library/os/windows/connect.c:324 +#: src/library/os/darwin/connect.c:222 src/library/os/darwin/connect.c:282 +#, c-format +msgid "The system error was \"%s\" (rc=%d)" +msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)" -#: src/core/properties/signed.c:80 -#, fuzzy -msgid "X Connecting" -msgstr "Conectando" +#. To cleanup states. +#: src/library/os/linux/connect.c:233 src/library/os/linux/connect.c:302 +#: src/library/os/windows/connect.c:340 src/library/os/darwin/connect.c:233 +#: src/library/os/darwin/connect.c:302 +msgid "_Retry" +msgstr "_Repetir" -#: src/core/properties/signed.c:76 -msgid "X Inhibit" -msgstr "X Inibido" +#: src/library/os/linux/connect.c:322 src/library/os/windows/connect.c:359 +#: src/library/os/darwin/connect.c:322 +msgid "setsockopt(SO_OOBINLINE) has failed" +msgstr "setsockopt(SO_OOBINLINE) falhou" -#: src/core/properties/signed.c:70 -msgid "X Not Connected" -msgstr "X Desconectado" +#: src/library/os/linux/curl.c:171 src/library/os/darwin/curl.c:171 +msgid "Can't initialize curl operation" +msgstr "Erro ao inicializar operação CURL" -#: src/core/properties/signed.c:74 -msgid "X Numeric" -msgstr "X Numérico" +#. Can't get contents +#: src/library/os/linux/download.c:55 src/library/os/windows/download.c:62 +#: src/library/os/darwin/download.c:55 +msgid "No handler for URL scheme." +msgstr "Nenhum manipulador para o esquema de URL" -#: src/core/properties/signed.c:75 -msgid "X Overflow" -msgstr "X Estouro" +#: src/library/os/linux/event_dispatcher.c:131 +#: src/library/os/windows/event_dispatcher.c:136 +#: src/library/os/darwin/event_dispatcher.c:131 +msgid "Select() failed when processing for events." +msgstr "Select() falhou ao processar eventos." -#: src/core/properties/signed.c:73 -msgid "X Protected" -msgstr "X Protegido" +#: src/library/os/linux/ldap.c:82 src/library/os/linux/ldap.c:91 +#: src/library/os/windows/ldap.c:101 src/library/os/windows/ldap.c:110 +#: src/library/os/darwin/ldap.c:82 src/library/os/darwin/ldap.c:91 +msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute" +msgstr "A URL deve ser no formato ldap://[HOST]/[DN]?attribute" -#: src/core/properties/signed.c:79 +#: src/library/os/linux/ldap.c:147 src/library/os/darwin/ldap.c:147 #, fuzzy -msgid "X Resolving" -msgstr "Resolvendo" +msgid "LDAP search did not produce any attributes." +msgstr "Pesquisa LDAP não produziu atributos." -#: src/core/properties/signed.c:67 -msgid "X System" -msgstr "X Sistema" +#: src/library/os/linux/ldap.c:157 src/library/os/darwin/ldap.c:157 +#, fuzzy +msgid "LDAP search did not produce any values." +msgstr "Pesquisa LDAP não produziu valores." -#: src/core/properties/signed.c:68 -msgid "X Wait" -msgstr "X Aguarde" +#: src/library/os/linux/ldap.c:167 src/library/os/windows/ldap.c:204 +#: src/library/os/darwin/ldap.c:167 +msgid "Can't decode certificate revocation list" +msgstr "Não foi possível decodificar a lista de certificados revogados" -#: src/core/ft/ftmessages.c:74 -msgid "" -"You did not enter the required parameters after a SEND or RECEIVE command." -msgstr "" -"Você não entrou os parametros necessários para um comando ENVIAR/RECEBER." +#: src/library/os/windows/util.c:124 src/library/os/windows/util.c:167 +#, c-format +msgid "Windows error %d" +msgstr "Erro windows foi %d" -#: src/core/ft/ftmessages.c:195 -msgid "You did not specify an existing CMS file for RECEIVE." -msgstr "" -"Você não especificou um arquivo CMS existente para a operação de recebimento." +#: src/library/os/windows/connect.c:111 +msgid "WSAStartup failed" +msgstr "WSAStartup falhou" -#: src/core/ft/ftmessages.c:95 -msgid "" -"You need 30 KB of main storage (not disk space) on the host for the file " -"transfer, in addition to the host requirement." -msgstr "" -"Você precisa de 30 KB de armazenamento principal (não espaço em disco) no " -"host para a transferência de arquivo, além do requerido pelo host." +#: src/library/os/windows/connect.c:123 +msgid "Bad winsock version" +msgstr "Versão winsock inválida" -#: src/core/ft/ftmessages.c:174 -msgid "" -"You selected an option that can only be used if SPACE is also specified." -msgstr "" -"Você selecionou uma opção que só pode ser usada se \"ESPAÇO\" também for " -"específicado." +#: src/library/os/windows/connect.c:124 +msgid "Can't use this system winsock" +msgstr "Não posso usar a winsock do sistema" -#: src/core/ft/ftmessages.c:153 -msgid "" -"You selected an option that is either not recognized, is specified as a " -"positional keyword, or has an associated value that is incorrect." -msgstr "" -"Você selecionou uma opção que, ou não foi reconhecida, foi especificada como " -"uma palavra-chave posicional ou não tem um valor associado." +#: src/library/os/windows/connect.c:225 src/library/os/windows/connect.c:360 +#: src/library/os/windows/connect.c:378 +#, c-format +msgid "The system error was %s" +msgstr "O erro do sistema operacional foi \"%s\"" -#: src/core/ft/ftmessages.c:181 -msgid "" -"You selected an option that is invalid with a host-partitioned data set." -msgstr "" -"Você selecionou uma opção que é inválida para um dataset particionado pelo " -"host." +#: src/library/os/windows/connect.c:239 +#, c-format +msgid "The system error was \"%s\"" +msgstr "O erro do sistema operacional foi \"%s\"" -#: src/core/ft/ftmessages.c:167 -msgid "" -"You selected an option that is not valid with APPEND, but otherwise may be " -"used." -msgstr "" -"Você selecionou uma opção que não é válida com \"Adicionar\", porém, pode " -"ser usada." +#: src/library/os/windows/connect.c:299 +msgid "Timeout conneting to host" +msgstr "Timeout ao conectar com o host" -#: src/core/ft/ftmessages.c:160 -msgid "" -"You selected an option that is not valid with RECEIVE, but can be used with " -"SEND." -msgstr "" -"Você selecionou uma opção que não é válida para recebimento de arquivos, " -"porém, pode ser usada para envio." +#: src/library/os/windows/connect.c:307 +msgid "Not connected to host" +msgstr "Sem conexão com servidor" -#: src/core/ft/ftmessages.c:202 -msgid "" -"You specified a CMS file mode for the SEND key that does not allow write " -"access." -msgstr "" -"Você especificou modo de arquivo CMS para um envio que não permite acesso de " -"gravação." +#: src/library/os/windows/http.c:99 +msgid "Can't open HTTP session" +msgstr "Não foi possível abrir sessão HTTP" -#: src/core/ft/ftmessages.c:209 -msgid "You specified a CMS file mode that is not in the CMS search order." -msgstr "" -"Você especificou um modo de arquivo CMS que não está na ordem de pesquisa " -"CMS." +#: src/library/os/windows/http.c:110 +msgid "Can't connect to HTTP server." +msgstr "Não foi possível conectar ao servidor HTTP" -#: src/core/ft/ftmessages.c:139 -msgid "You specified an option that is invalid." -msgstr "Você especificou uma opção inválida." +#: src/library/os/windows/http.c:121 +msgid "Can't create HTTP request." +msgstr "Não foi possível criar requisição HTTP" -#: src/core/actions/table.c:126 -msgid "_Disconnect" -msgstr "_Desconectar" +#: src/library/os/windows/http.c:134 +msgid "Can't send HTTP request." +msgstr "Não posso enviar requisição HTTP" -#: src/core/actions/table.c:112 -msgid "_Reconnect" -msgstr "_Reconectar" +#: src/library/os/windows/http.c:145 +msgid "Error receiving HTTP response." +msgstr "Erro recebendo resposta HTTP." -#: src/core/linux/connect.c:233 src/core/linux/connect.c:302 -#: src/core/windows/connect.c:340 src/core/macos/connect.c:233 -#: src/core/macos/connect.c:302 -msgid "_Retry" -msgstr "_Repetir" +#: src/library/os/windows/http.c:157 +msgid "Empty response from HTTP server." +msgstr "Recebi resposta vazia do servidor HTTP" -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334 -msgid "disable" -msgstr "desabilitar" +#: src/library/os/windows/http.c:173 +msgid "Can't read HTTP response size." +msgstr "Não posso obter tamanho da resposta HTTP" -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334 -msgid "enable" -msgstr "habilitar" +#: src/library/os/windows/ldap.c:133 +msgid "Can't initialize LDAP" +msgstr "Erro ao inicializar LDAP" -#: src/network_modules/tools.c:174 -msgid "fcntl() error when getting socket state." -msgstr "erro fcntl() ao obter estado do socket." +#: src/library/os/windows/ldap.c:141 +msgid "Can't set LDAP protocol version" +msgstr "Não é possível setar a versão do protocolo LDAP" -#: src/network_modules/tools.c:161 -msgid "ioctlsocket(FIONBIO) failed." -msgstr "ioctlsocket(FIONBIO) falhou." +#: src/library/os/windows/ldap.c:149 +msgid "Can't bind to LDAP server" +msgstr "Não foi possível conectar ao servidor LDAP" -#: src/core/properties/boolean.c:189 -msgid "numeric lock" -msgstr "numeric lock" +#: src/library/os/windows/ldap.c:179 +msgid "LDAP Search did not produce any attributes." +msgstr "Pesquisa LDAP não produziu atributos." -#: src/core/linux/connect.c:322 src/core/windows/connect.c:359 -#: src/core/macos/connect.c:322 -msgid "setsockopt(SO_OOBINLINE) has failed" -msgstr "setsockopt(SO_OOBINLINE) falhou" +#: src/library/os/windows/ldap.c:186 +msgid "LDAPSearch did not produce any values." +msgstr "Pesquisa LDAP não produziu valores." #~ msgid " and %s for %s." #~ msgstr " e %s para %s." From d0a2e56185b29820d23b80aab49289daa3ca04de Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:30:16 -0300 Subject: [PATCH 12/40] Removing old workflows. --- .github/workflows/codeql.yml | 87 ----------------------------- .github/workflows/macos.yml | 27 --------- .github/workflows/msys2.yml | 30 ---------- .github/workflows/publish.yml | 101 ---------------------------------- 4 files changed, 245 deletions(-) delete mode 100644 .github/workflows/codeql.yml delete mode 100644 .github/workflows/macos.yml delete mode 100644 .github/workflows/msys2.yml delete mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 5ea0a51b..00000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,87 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ "develop", "master" ] - -jobs: - analyze: - name: Analyze - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners - # Consider using larger runners for possible analysis time improvements. - runs-on: ubuntu-22.04 - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} - permissions: - # required for all workflows - security-events: write - - # only required for workflows in private repositories - actions: read - contents: read - - strategy: - fail-fast: false - matrix: - language: [ 'c-cpp' ] - # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] - # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Packages - run: | - echo 'deb https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:udjat.list - curl -fsSL https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_udjat.gpg > /dev/null - sudo apt-get update - sudo apt-get install --yes make autotools-dev autoconf automake pkg-config gettext libssl-dev libcurl4-openssl-dev - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index 1f56cf66..00000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: check-macos -on: - push: - branches: [ "macos" ] - pull_request: - branches: [ "master" ] - -jobs: - macos-build: - runs-on: macos-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Install Pre reqs - run: | - brew update - brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/lib/node_modules/npm -delete - rm -f /usr/local/bin/go || true - rm -f /usr/local/bin/gofmt || true - brew upgrade - - name: build - run: ./mac/ci-build.sh - - diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml deleted file mode 100644 index c34ace38..00000000 --- a/.github/workflows/msys2.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: check-msys2 -on: - push: - branches: [ "win" ] - pull_request: - branches: [ "master" ] - -jobs: - msys2-build: - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - steps: - - uses: actions/checkout@v3 - - uses: oprypin/find-latest-tag@v1 - id: gettag - with: - repository: PerryWerneck/lib3270 - releases-only: true - - uses: msys2/setup-msys2@v2 - with: - msystem: mingw64 - update: true - install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool - - name: CI-Build - run: | - dos2unix PKGBUILD.mingw - makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw - diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index a404d34a..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Publish -on: - push: - branches: [ "macos" ] - tags: [ "*" ] - -jobs: - publish-mingw: - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - steps: - - uses: actions/checkout@v3 - - uses: oprypin/find-latest-tag@v1 - id: gettag - with: - repository: PerryWerneck/lib3270 - releases-only: true - - uses: msys2/setup-msys2@v2 - with: - msystem: mingw64 - update: true - install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool - - name: CI-Build - run: | - dos2unix PKGBUILD.mingw - makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw - - uses: ncipollo/release-action@v1 - with: - tag: ${{ steps.gettag.outputs.tag }} - artifacts: "*3270*.pkg.tar.zst" - allowUpdates: true - draft: false - makeLatest: true - omitBody: true - omitPrereleaseDuringUpdate: true - replacesArtifacts: true - publish-msvc: - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - steps: - - uses: actions/checkout@v3 - - uses: oprypin/find-latest-tag@v1 - id: gettag - with: - repository: PerryWerneck/lib3270 - releases-only: true - - uses: msys2/setup-msys2@v2 - with: - msystem: mingw64 - update: true - install: zip dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool - - name: CI-Build - run: ./win/msvc-build.sh - - uses: ncipollo/release-action@v1 - with: - tag: ${{ steps.gettag.outputs.tag }} - artifacts: "*-lib3270-*.devel.zip" - allowUpdates: true - draft: false - makeLatest: true - omitBody: true - omitPrereleaseDuringUpdate: true - replacesArtifacts: true - publish-macos: - runs-on: macos-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - uses: oprypin/find-latest-tag@v1 - id: gettag - with: - repository: PerryWerneck/lib3270 - releases-only: true - - name: Install Pre reqs - run: | - brew update - brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/lib/node_modules/npm -delete - rm -f /usr/local/bin/go || true - rm -f /usr/local/bin/gofmt || true - brew upgrade - - name: build - run: ./mac/ci-build.sh - - uses: ncipollo/release-action@v1 - with: - tag: ${{ steps.gettag.outputs.tag }} - artifacts: "*.tar.xz" - allowUpdates: true - draft: false - makeLatest: true - omitBody: true - omitPrereleaseDuringUpdate: true - replacesArtifacts: true - - From 8e2af18ee4a9eb72d01c70c17d26fa0bba152258 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:33:59 -0300 Subject: [PATCH 13/40] Fixing package build. --- meson.build | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/meson.build b/meson.build index f585db9f..8c818b33 100644 --- a/meson.build +++ b/meson.build @@ -65,6 +65,9 @@ enable_debug = get_option('debug') or get_option('buildtype').contains('debug') time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() if time_epoch == '' time_epoch = run_command('date','+%Y%m%d', check: true).stdout().strip() + datecmd = 'date' +else + datecmd = 'date -u -d@' + time_epoch endif compiler_flags = [ @@ -153,13 +156,6 @@ app_conf.set('SSL_ENABLE_SELF_SIGNED_CERT_CHECK', 1) app_conf.set('SSL_ENABLE_CRL_CHECK', 1) app_conf.set('SSL_ENABLE_CRL_EXPIRATION_CHECK', 1) -time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() -if time_epoch == '' - datecmd = 'date' -else - datecmd = 'date -u -d' + time_epoch -endif - package_release = run_command('sh', '-c', datecmd + ' +%-y.%-m.%-d', check : true).stdout().strip() app_conf.set_quoted('PACKAGE_RELEASE',package_release) From 1dd112f9a07a3051e9d978e1dd39361b1f8cc009 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 10:45:02 -0300 Subject: [PATCH 14/40] Fixing os includes. --- meson.build | 32 ++++++++++++++++++++-- src/include/{macos => darwin}/lib3270/os.h | 0 2 files changed, 30 insertions(+), 2 deletions(-) rename src/include/{macos => darwin}/lib3270/os.h (100%) diff --git a/meson.build b/meson.build index 8c818b33..db85c17e 100644 --- a/meson.build +++ b/meson.build @@ -174,8 +174,6 @@ app_conf.set_quoted('SCCS_USER', sccs_user) sccs_date = run_command('sh', '-c', datecmd + ' +%Y/%m/%d', check : true).stdout().strip() app_conf.set_quoted('SCCS_DATE', sccs_date) -includes_dir = include_directories('src/include') - # # Sources # @@ -356,6 +354,16 @@ endif if host_machine.system() == 'windows' + includes_dir = include_directories( + 'src/include', + 'src/include/windows', + ) + + install_headers( + 'src/include/windows/lib3270/os.h', + subdir: 'lib3270' + ) + # Supplied by win_iconv-devel-static app_conf.set('HAVE_ICONV',1) app_conf.set_quoted('LIBEXT', '.dll') @@ -365,6 +373,16 @@ endif if host_machine.system() == 'linux' + includes_dir = include_directories( + 'src/include', + 'src/include/linux', + ) + + install_headers( + 'src/include/linux/lib3270/os.h', + subdir: 'lib3270' + ) + if cc.compiles('#include ', name : 'unistd.h') app_conf.set('HAVE_UNISTD_H', 1) endif @@ -377,6 +395,16 @@ endif if host_machine.system() == 'darwin' + includes_dir = include_directories( + 'src/include', + 'src/include/darwin', + ) + + install_headers( + 'src/include/darwin/lib3270/os.h', + subdir: 'lib3270' + ) + lib_src += darwin_src endif diff --git a/src/include/macos/lib3270/os.h b/src/include/darwin/lib3270/os.h similarity index 100% rename from src/include/macos/lib3270/os.h rename to src/include/darwin/lib3270/os.h From 5f7cd4399f9c45b9b5996386af933a457a9367a5 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 12:20:28 -0300 Subject: [PATCH 15/40] Debugging meson build system. --- debian/changelog | 7 ---- debian/compat | 2 - debian/control | 28 -------------- debian/control.in | 28 -------------- debian/lib3270.dsc | 13 ------- debian/postinst | 3 -- debian/postrm | 3 -- debian/rules | 96 ---------------------------------------------- debian/shlibs | 3 -- debian/shlibs.in | 3 -- meson.build | 12 ++++-- 11 files changed, 9 insertions(+), 189 deletions(-) delete mode 100644 debian/changelog delete mode 100644 debian/compat delete mode 100644 debian/control delete mode 100644 debian/control.in delete mode 100644 debian/lib3270.dsc delete mode 100644 debian/postinst delete mode 100644 debian/postrm delete mode 100644 debian/rules delete mode 100644 debian/shlibs delete mode 100644 debian/shlibs.in diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index d85aeec7..00000000 --- a/debian/changelog +++ /dev/null @@ -1,7 +0,0 @@ -lib3270 (5.4+git20240817-0) unstable; urgency=low - - * Initial Release - - -- Perry Werneck Wed, 2 May 2012 15:20:56 -0300 - - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 021ea30c..00000000 --- a/debian/compat +++ /dev/null @@ -1,2 +0,0 @@ -10 - diff --git a/debian/control b/debian/control deleted file mode 100644 index 74bc2733..00000000 --- a/debian/control +++ /dev/null @@ -1,28 +0,0 @@ -Source: lib3270 -Section: unknown -Priority: optional -Maintainer: Perry Werneck -Build-Depends: debhelper (>= 7), autotools-dev, autoconf, automake, pkg-config, gettext, libssl-dev, libcurl4-openssl-dev - -Package: lib3270 -Architecture: any -Section: libs -Depends: ${misc:Depends}, ${shlibs:Depends} -Provides: lib3270 (= ${binary:Version}), lib3270 (= 5.4) -Description: TN3270 Access library. - TN3270 access library originally designed as part of the pw3270 application. - -Package: lib3270-dev -Architecture: any -Provides: lib3270-dev (= ${binary:Version}) -Section: libdevel -Depends: ${misc:Depends}, pkg-config, lib3270 (= ${binary:Version}) -Description: TN3270 Access library development files. - TN3270 access library originally designed as part of the pw3270 application. - -Package: lib3270-dbg -Architecture: any -Depends: lib3270 (= ${binary:Version}) -Description: Debugging symbols for lib3270 - This package contains the debugging symbols for lib3270. - diff --git a/debian/control.in b/debian/control.in deleted file mode 100644 index eece8ecd..00000000 --- a/debian/control.in +++ /dev/null @@ -1,28 +0,0 @@ -Source: lib3270 -Section: unknown -Priority: optional -Maintainer: Perry Werneck -Build-Depends: debhelper (>= 7), autotools-dev, autoconf, automake, pkg-config, gettext, libssl-dev, libcurl4-openssl-dev - -Package: lib3270 -Architecture: any -Section: libs -Depends: ${misc:Depends}, ${shlibs:Depends} -Provides: lib3270 (= ${binary:Version}), @PACKAGE_NAME@ (= @PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@) -Description: TN3270 Access library. - TN3270 access library originally designed as part of the pw3270 application. - -Package: lib3270-dev -Architecture: any -Provides: lib3270-dev (= ${binary:Version}) -Section: libdevel -Depends: ${misc:Depends}, pkg-config, lib3270 (= ${binary:Version}) -Description: TN3270 Access library development files. - TN3270 access library originally designed as part of the pw3270 application. - -Package: lib3270-dbg -Architecture: any -Depends: lib3270 (= ${binary:Version}) -Description: Debugging symbols for lib3270 - This package contains the debugging symbols for lib3270. - diff --git a/debian/lib3270.dsc b/debian/lib3270.dsc deleted file mode 100644 index 5ba673dc..00000000 --- a/debian/lib3270.dsc +++ /dev/null @@ -1,13 +0,0 @@ -Format: 1.0 -Source: lib3270 -Version: 5.4+git20240817-0 -Binary: lib3270 -Maintainer: Perry Werneck -Architecture: any -Build-Depends: debhelper (>= 7), autotools-dev, autoconf, automake, pkg-config, gettext, libssl-dev, libcurl4-openssl-dev -Standards-Version: 3.9.1.0 -DEBTRANSFORM-RELEASE: 1 -Files: - 00000000000000000000000000000000 000000 lib3270-5.4.tar.bz2 - - diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index e9f52520..00000000 --- a/debian/postinst +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -/sbin/ldconfig - diff --git a/debian/postrm b/debian/postrm deleted file mode 100644 index e9f52520..00000000 --- a/debian/postrm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -/sbin/ldconfig - diff --git a/debian/rules b/debian/rules deleted file mode 100644 index 3229b0d4..00000000 --- a/debian/rules +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -export DH_VERBOSE=1 - -# This is the debhelper compatibility version to use. -export DH_COMPAT=9 - -# Name of the package -PACKAGE_NAME=lib3270 - -CFLAGS = -g -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -CFLAGS += -O0 -else -CFLAGS += -O2 -endif - -build: build-stamp -build-stamp: - dh_testdir - - # Add here commands to compile the package. - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --disable-static - make all - # --- end custom part for compiling - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - # Add here commands to clean up after the build process. - if [ -e Makefile ]; then make clean ; fi - # --- end custom part for cleaning up - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Build package - make all - - # Install library - make DESTDIR=$(PWD)/debian/$(PACKAGE_NAME) install-linux-lib - - # Install dev - make DESTDIR=$(PWD)/debian/$(PACKAGE_NAME)-dev install-dev - - # --- end custom part for installing - -# Build architecture-independent files here. -binary-indep: build install - # We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot -# dh_installdebconf - dh_installdocs AUTHORS LICENSE README.md - dh_installexamples - dh_installmenu -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_installinit - dh_installcron - dh_installman - dh_installinfo -# dh_undocumented - dh_installchangelogs - dh_link - dh_strip --dbg-package=$(PACKAGE_NAME)-dbg - dh_compress - dh_fixperms - dh_makeshlibs - dh_installdeb -# dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install diff --git a/debian/shlibs b/debian/shlibs deleted file mode 100644 index 0aac2ccc..00000000 --- a/debian/shlibs +++ /dev/null @@ -1,3 +0,0 @@ -lib3270 5.4 lib3270 (>= 5.4) - - diff --git a/debian/shlibs.in b/debian/shlibs.in deleted file mode 100644 index a907273a..00000000 --- a/debian/shlibs.in +++ /dev/null @@ -1,3 +0,0 @@ -lib3270 @PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ lib3270 (>= @PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@) - - diff --git a/meson.build b/meson.build index db85c17e..79494e6f 100644 --- a/meson.build +++ b/meson.build @@ -115,9 +115,10 @@ if host_machine.system() != 'windows' ) app_conf.set('DATADIR', - '@0@/@1@'.format( + '@0@/@1@/@2@'.format( get_option('prefix'), - get_option('datadir') + get_option('datadir'), + product_name ) ) @@ -299,7 +300,12 @@ pkg_variables = [ 'build_id=@0@'.format(time_epoch), 'package_name=lib@0@@1@_@2@'.format(product_name,pkg_major_version,pkg_minor_version), - 'module_path=${libdir}/@0@/@1@.@2@/modules/'.format( + + 'sdk_version=@0@.@1@'.format(pkg_major_version,pkg_minor_version), + 'library_name=3270', + 'product_id=br.app.@0@'.format(product_name), + + 'plugin_path=${libdir}/@0@/@1@.@2@/plugins/'.format( product_name,pkg_major_version,pkg_minor_version, ), 'module_version=@0@.@1@'.format(pkg_major_version,pkg_minor_version), From e3e6dd7fc5efb2243c3a2e365018835dde151405 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 12:30:24 -0300 Subject: [PATCH 16/40] Debugging meson build. --- meson.build | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 79494e6f..631d8b55 100644 --- a/meson.build +++ b/meson.build @@ -57,9 +57,8 @@ lib_deps = [ ] # -# Compiler flags +# Setup time based properties # -cc = meson.get_compiler('c') enable_debug = get_option('debug') or get_option('buildtype').contains('debug') time_epoch = run_command('sh', '-c', 'echo "$SOURCE_DATE_EPOCH"', check : true).stdout().strip() @@ -70,6 +69,11 @@ else datecmd = 'date -u -d@' + time_epoch endif +# +# Compiler flags +# +cc = meson.get_compiler('c') + compiler_flags = [ '-ggdb3', '-ffat-lto-objects', From 5bc3d562c926b14ff942d734320dc0cc12e4bd8e Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 29 Nov 2024 15:46:48 -0300 Subject: [PATCH 17/40] Refactoring codeql workflow. --- .github/workflows/codeql.yml | 98 ++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..4a593d15 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,98 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Advanced" + +on: + push: + branches: [ "master", "develop", "meson" ] + pull_request: + branches: [ "master" ] + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: 'ubuntu-24.04' + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: c-cpp + build-mode: autobuild + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Packages + run: | + echo 'deb https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:udjat.list + curl -fsSL https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_udjat.gpg > /dev/null + sudo apt-get update + sudo apt-get install --yes meson pkg-config python3-dev pkg-config gettext libssl-dev libcurl4-openssl-dev + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" + From 1c95df5d904e60e32917d42def2bd156f3587de2 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 2 Dec 2024 12:37:58 -0300 Subject: [PATCH 18/40] Fixing pkg-config file. --- meson.build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 631d8b55..92105f69 100644 --- a/meson.build +++ b/meson.build @@ -24,7 +24,7 @@ project( license: 'GPL-3.0-or-later', ) -project_description = 'UDJat core library' +project_description = 'TN3270 client library' product_name = 'pw3270' product_domain = 'br.com.bb.pw3270' product_title = 'TN3270 Access library' @@ -301,12 +301,12 @@ pkg_variables = [ 'product_title=@0@'.format(product_title), 'product_version=@0@@1@'.format(pkg_major_version,pkg_minor_version), - 'build_id=@0@'.format(time_epoch), + 'build_id=@0@'.format(rpq_timestamp_value), - 'package_name=lib@0@@1@_@2@'.format(product_name,pkg_major_version,pkg_minor_version), + 'package_name=lib3270-@0@_@1@'.format(pkg_major_version,pkg_minor_version), 'sdk_version=@0@.@1@'.format(pkg_major_version,pkg_minor_version), - 'library_name=3270', + 'library_name=lib3270', 'product_id=br.app.@0@'.format(product_name), 'plugin_path=${libdir}/@0@/@1@.@2@/plugins/'.format( From a44bbd2c1da4828d40901b70614b4e5965905976 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 2 Dec 2024 14:42:07 -0300 Subject: [PATCH 19/40] Fixing libssl dependency. --- meson.build | 8 ++++++-- src/library/connect.c | 38 +++++++++++++++++------------------ src/library/host.c | 4 +++- src/library/network/select.c | 1 + src/testprogram/testprogram.c | 2 -- 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/meson.build b/meson.build index 92105f69..1b758648 100644 --- a/meson.build +++ b/meson.build @@ -50,8 +50,9 @@ subdir('po') # # Dependencies # +libssl = dependency('libssl', required: false) lib_deps = [ - dependency('libssl'), + libssl, dependency('libcrypto'), dependency('libcurl'), ] @@ -128,6 +129,10 @@ if host_machine.system() != 'windows' endif +if libssl.found() + app_conf.set('HAVE_LIBSSL', 1) +endif + app_conf.set('HAVE_STRPTIME', cc.has_function('strptime')) app_conf.set('HAVE_STRCASESTR', cc.has_function('strcasestr')) app_conf.set('HAVE_LOCALTIME_R', cc.has_function('localtime_r')) @@ -322,7 +327,6 @@ if host_machine.system() == 'windows' name: meson.project_name(), description: project_description, variables: pkg_variables, - requires: [ 'pugixml' ], libraries: [ '-l3270.dll' ] ) diff --git a/src/library/connect.c b/src/library/connect.c index 08b5e711..7a27ddf5 100644 --- a/src/library/connect.c +++ b/src/library/connect.c @@ -1,29 +1,27 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ + /* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. + * Copyright (C) 2008 Banco do Brasil S.A. * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Este programa está nomeado como - e possui - linhas de código. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +/* * Contatos: * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) * */ diff --git a/src/library/host.c b/src/library/host.c index ad1039db..710343e6 100644 --- a/src/library/host.c +++ b/src/library/host.c @@ -365,8 +365,10 @@ LIB3270_EXPORT int lib3270_set_url(H3270 *h, const char *n) { trace("%s(%s)",__FUNCTION__,str); - if(!(hostname && *hostname)) + if(!(hostname && *hostname)) { + trace("Empty hostname, rejecting '%s'",str); return 0; + } srvc = h->network.module->service; diff --git a/src/library/network/select.c b/src/library/network/select.c index 21898406..4a463c6d 100644 --- a/src/library/network/select.c +++ b/src/library/network/select.c @@ -74,5 +74,6 @@ char * lib3270_set_network_module_from_url(H3270 *hSession, char *url) { } + trace("Unable to parse '%s'",url); return NULL; } diff --git a/src/testprogram/testprogram.c b/src/testprogram/testprogram.c index b2047d2e..91854fbc 100644 --- a/src/testprogram/testprogram.c +++ b/src/testprogram/testprogram.c @@ -168,8 +168,6 @@ int main(int argc, char *argv[]) { } */ - exit(0); - //lib3270_set_toggle(h,LIB3270_TOGGLE_DS_TRACE,1); lib3270_set_toggle(h,LIB3270_TOGGLE_SSL_TRACE,1); From d96f0683b4df0a4e5f15abae01d3254d6bd2c8c2 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 6 Dec 2024 13:05:15 -0300 Subject: [PATCH 20/40] Publishing updated version 5.5.0 --- po/pt_BR.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 4e9e0975..d9b4ad42 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-29 10:25-0300\n" +"POT-Creation-Date: 2024-12-06 13:05-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" @@ -1524,11 +1524,11 @@ msgstr "Reconectar automaticamente" msgid "Automatically reconnect to the host if it ever disconnects" msgstr "Reconecta automaticamente caso o servidor desconecte" -#: src/library/connect.c:169 +#: src/library/connect.c:167 msgid "Can't determine the TLS/SSL state" msgstr "Não foi possível determinar o estado TLS/SSL" -#: src/library/connect.c:170 +#: src/library/connect.c:168 msgid "" "The network module didn't set the TLS/SSL state message, this is not " "supposed to happen and can be a coding error" From 5d62039e1d3f51365830e42ada0160ebeaf824b8 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 6 Dec 2024 13:07:12 -0300 Subject: [PATCH 21/40] Publishing updated version 5.5.0 --- po/pt_BR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index d9b4ad42..9e13adbb 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-06 13:05-0300\n" +"POT-Creation-Date: 2024-12-06 13:07-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" From db1f9afdc2b33c80171effb64460172585e8bc12 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 6 Dec 2024 19:11:33 -0300 Subject: [PATCH 22/40] Refactoring deb packages. --- debian/changelog | 7 ++++ debian/compat | 2 + debian/control | 28 +++++++++++++ debian/lib3270.dsc | 13 ++++++ debian/postinst | 3 ++ debian/postrm | 3 ++ debian/rules | 94 +++++++++++++++++++++++++++++++++++++++++ rpm/_service | 61 +-------------------------- rpm/lib3270.spec | 101 ++++++++++++++++++++++++++++----------------- 9 files changed, 214 insertions(+), 98 deletions(-) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/lib3270.dsc create mode 100644 debian/postinst create mode 100644 debian/postrm create mode 100644 debian/rules diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..d85aeec7 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,7 @@ +lib3270 (5.4+git20240817-0) unstable; urgency=low + + * Initial Release + + -- Perry Werneck Wed, 2 May 2012 15:20:56 -0300 + + diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..021ea30c --- /dev/null +++ b/debian/compat @@ -0,0 +1,2 @@ +10 + diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..57c01b42 --- /dev/null +++ b/debian/control @@ -0,0 +1,28 @@ +Source: lib3270 +Section: unknown +Priority: optional +Maintainer: Perry Werneck +Build-Depends: debhelper (>= 7), meson, pkg-config, gettext, libssl-dev, libcurl4-openssl-dev + +Package: lib3270 +Architecture: any +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Provides: lib3270 (= ${binary:Version}), lib3270 (= 5.4) +Description: TN3270 Access library. + TN3270 access library originally designed as part of the pw3270 application. + +Package: lib3270-dev +Architecture: any +Provides: lib3270-dev (= ${binary:Version}) +Section: libdevel +Depends: ${misc:Depends}, pkg-config, lib3270 (= ${binary:Version}) +Description: TN3270 Access library development files. + TN3270 access library originally designed as part of the pw3270 application. + +Package: lib3270-dbg +Architecture: any +Depends: lib3270 (= ${binary:Version}) +Description: Debugging symbols for lib3270 + This package contains the debugging symbols for lib3270. + diff --git a/debian/lib3270.dsc b/debian/lib3270.dsc new file mode 100644 index 00000000..016acf48 --- /dev/null +++ b/debian/lib3270.dsc @@ -0,0 +1,13 @@ +Format: 1.0 +Source: lib3270 +Version: 5.4+git20240817-0 +Binary: lib3270 +Maintainer: Perry Werneck +Architecture: any +Build-Depends: debhelper (>= 7), meson, pkg-config, gettext, libssl-dev, libcurl4-openssl-dev +Standards-Version: 3.9.1.0 +DEBTRANSFORM-RELEASE: 1 +Files: + 00000000000000000000000000000000 000000 lib3270-5.4.tar.bz2 + + diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 00000000..e9f52520 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,3 @@ +#!/bin/sh +/sbin/ldconfig + diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 00000000..e9f52520 --- /dev/null +++ b/debian/postrm @@ -0,0 +1,3 @@ +#!/bin/sh +/sbin/ldconfig + diff --git a/debian/rules b/debian/rules new file mode 100644 index 00000000..5e4f65e8 --- /dev/null +++ b/debian/rules @@ -0,0 +1,94 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=9 + +# Name of the package +PACKAGE_NAME=lib3270 + +CFLAGS = -g +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 +else +CFLAGS += -O2 +endif + +build: build-stamp +build-stamp: + dh_testdir + + # Add here commands to compile the package. + meson setup --reconfigure --wipe .build + # --- end custom part for compiling + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + if [ -e Makefile ]; then make clean ; fi + # --- end custom part for cleaning up + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Build package + meson compile -C .build + + # Install library + DESTDIR=$(PWD)/debian/$(PACKAGE_NAME) meson install -C .build --tags runtime,i18n + + # Install dev + DESTDIR=$(PWD)/debian/$(PACKAGE_NAME)-dev meson install -C .build --tags devel + + # --- end custom part for installing + +# Build architecture-independent files here. +binary-indep: build install + # We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs AUTHORS LICENSE README.md + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs + dh_link + dh_strip --dbg-package=$(PACKAGE_NAME)-dbg + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/rpm/_service b/rpm/_service index 197b546e..535b224b 100644 --- a/rpm/_service +++ b/rpm/_service @@ -5,68 +5,11 @@ enable perry.werneck@gmail.com https://github.com/PerryWerneck/lib3270.git - 5.4+git%cd + @PARENT_TAG@+git%cd git + develop - - - - - - - *.tar - */debian/changelog - debian.changelog - - - - *.tar - */debian/*.dsc - - - - - - - - *.tar - */debian/shlibs - debian.shlibs - - - - - - *.tar - */debian/postinst - debian.postinst - - - - *.tar - */debian/postrm - debian.postrm - - *.tar xz diff --git a/rpm/lib3270.spec b/rpm/lib3270.spec index 201012be..55f79791 100644 --- a/rpm/lib3270.spec +++ b/rpm/lib3270.spec @@ -1,7 +1,7 @@ # # spec file for package lib3270 # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2019 SUSE LLC # Copyright (c) <2008> # # All modifications and additions to the file contributed by third parties @@ -13,34 +13,35 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://github.com/PerryWerneck/lib3270/issues # Name: lib3270 -Version: 5.5.0 +Version: 5.5.0 Release: 0 Summary: TN3270 Access library -Group: Development/Libraries/C and C++ License: LGPL-3.0-only +Group: System/Libraries URL: https://github.com/PerryWerneck/lib3270 Source: %{name}-%{version}.tar.xz -BuildRequires: autoconf >= 2.61 -BuildRequires: automake -BuildRequires: binutils -BuildRequires: coreutils + +%if "%{_vendor}" == "debbuild" +BuildRequires: meson-deb-macros +BuildRequires: pkg-config +BuildRequires: libcurl-dev +BuildRequires: libssl-dev +%else BuildRequires: fdupes -BuildRequires: gcc-c++ -BuildRequires: gettext-devel -BuildRequires: libtool -BuildRequires: m4 BuildRequires: pkgconfig -BuildRequires: xz +BuildRequires: gettext-devel BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libssl) +%endif -%if 0%{?centos_version} -# CENTOS Requires gdb for debuginfo -BuildRequires: gdb +%if 0%{?suse_version} == 01500 +BuildRequires: meson >= 0.61.4 +%else +BuildRequires: meson %endif %description @@ -48,13 +49,21 @@ TN3270 access library, originally designed as part of the pw3270 application. For more details, see https://softwarepublico.gov.br/social/pw3270/ . +#---[ Library ]------------------------------------------------------------------------------------------------------- + %define MAJOR_VERSION %(echo %{version} | cut -d. -f1) %define MINOR_VERSION %(echo %{version} | cut -d. -f2 | cut -d+ -f1) %define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} %package -n %{name}-%{_libvrs} -Summary: TN3270 Access library -Group: Development/Libraries/C and C++ +Summary: TN3270 Access library + +%if "%{_vendor}" == "debbuild" +Group: devel +Depends: ${misc:Depends}, ${shlibs:Depends} +%else +Group: Development/Libraries/C and C++ +%endif %description -n %{name}-%{_libvrs} TN3270 access library, originally designed as part of the pw3270 application. @@ -62,47 +71,61 @@ TN3270 access library, originally designed as part of the pw3270 application. For more details, see https://softwarepublico.gov.br/social/pw3270/ . %package devel -Summary: TN3270 Access library development files -Requires: %{name}-%{_libvrs} = %{version} -Group: Development/Libraries/C and C++ +Summary: TN3270 Access library development files +Group: Development/Libraries/C and C++ +Requires: %{name}-%{_libvrs} = %{version} + +%if "%{_vendor}" == "debbuild" +Provides: lib3270-dev +%endif %description devel Header files for the TN3270 access library. +%if "%{_vendor}" != "debbuild" +%lang_package -n %{name}-%{_libvrs} +%endif + +#---[ Build & Install ]----------------------------------------------------------------------------------------------- + %prep -%setup -q -NOCONFIGURE=1 ./autogen.sh -%configure --with-release=%{release} --disable-static +%autosetup +%meson %build -make all %{?_smp_mflags} +%meson_build %install -%make_install -mkdir -p %{buildroot}%{_libdir}/pw3270/%{MAJOR_VERSION}.%{MINOR_VERSION}/plugins +%meson_install -%find_lang %{name}-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles +%find_lang lib3270-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles +%if "%{_vendor}" != "debbuild" %fdupes %{buildroot}/%{_prefix} +%endif + +%files -n %{name}-%{_libvrs} -%files -n %{name}-%{_libvrs} -f langfiles +# https://en.opensuse.org/openSUSE:Packaging_for_Leap#RPM_Distro_Version_Macros +%if 0%{?sle_version} > 120200 %doc AUTHORS README.md %license LICENSE - -%{_libdir}/%{name}.so.* +%else +%doc LICENSE AUTHORS README.md +%endif +%{_libdir}/*.so.%{MAJOR_VERSION}.%{MINOR_VERSION} %files devel -%{_libdir}/%{name}.so -%dir %{_datadir}/pw3270 -%dir %{_datadir}/pw3270/pot -%{_datadir}/pw3270/pot/*.pot +%{_libdir}/*.so +%{_libdir}/*.a %{_includedir}/*.h -%{_includedir}/%{name} +%{_includedir}/lib3270 + %{_libdir}/pkgconfig/*.pc -%{_libdir}/pw3270 -%{_libdir}/pw3270/%{MAJOR_VERSION}.%{MINOR_VERSION} -%{_libdir}/pw3270/%{MAJOR_VERSION}.%{MINOR_VERSION}/plugins +%if "%{_vendor}" != "debbuild" +%files -n %{name}-%{_libvrs}-lang -f langfiles +%endif %post -n %{name}-%{_libvrs} -p /sbin/ldconfig %postun -n %{name}-%{_libvrs} -p /sbin/ldconfig From 8c0675e54fcd8350b3fb6a8342c8d05e74c8775b Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 12:48:15 -0300 Subject: [PATCH 23/40] Reactivating macos workflow. --- .github/workflows/macos.yml | 26 ++++++++++++++++++++++++++ README.md | 2 +- debian/control | 2 +- mac/ci-build.sh | 26 -------------------------- 4 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/macos.yml delete mode 100755 mac/ci-build.sh diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 00000000..32eb7b3c --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,26 @@ +name: check-macos +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "master" ] + +jobs: + macos-build: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Pre reqs + run: | + brew update + brew install xz meson ninja coreutils curl gettext openssl pkgconfig + find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete + find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete + find /usr/local/lib/node_modules/npm -delete + brew upgrade + - name: build + run: | + meson setup --reconfigure --wipe .build + meson compile -C .build + diff --git a/README.md b/README.md index f0254329..7e586f1f 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Install ```shell brew update - brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig + brew install xz binutils coreutils curl gettext libtool openssl pkgconfig meson ninja brew upgrade ``` diff --git a/debian/control b/debian/control index 57c01b42..826bc85d 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Package: lib3270 Architecture: any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} -Provides: lib3270 (= ${binary:Version}), lib3270 (= 5.4) +Provides: lib3270 (= ${binary:Version}), lib3270 (= 5.5) Description: TN3270 Access library. TN3270 access library originally designed as part of the pw3270 application. diff --git a/mac/ci-build.sh b/mac/ci-build.sh deleted file mode 100755 index 76ed7d68..00000000 --- a/mac/ci-build.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -export PKG_CONFIG_PATH="$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig" - -PROJECT_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1) -VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1) - -echo "${PKG_CONFIG_PATH}" -pkg-config --list-all - -./autogen.sh \ - --prefix="/${PROJECT_NAME}/${VERSION}" \ - --with-libiconv-prefix=$(brew --prefix gettext) - -if [ "$?" != "0" ]; then - exit -1 -fi - -make all -if [ "$?" != "0" ]; then - exit -1 -fi - -make DESTDIR=.bin/package install -tar --create --xz --file=macos-${PROJECT_NAME}.tar.xz --directory=.bin/package --verbose . - From 3c9d85ff67475f826cedc0e15253da4db06d88ea Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 14:37:43 -0300 Subject: [PATCH 24/40] Build windows app with meson. --- .github/workflows/macos.yml | 5 +- autogen.sh | 56 -------------------- meson.build | 73 +++++++++++++++++++------- src/library/charset/iconv.c | 5 ++ src/library/os/windows/resources.rc.in | 2 - src/library/os/windows/util.c | 4 +- 6 files changed, 63 insertions(+), 82 deletions(-) delete mode 100755 autogen.sh diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 32eb7b3c..45965366 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -15,12 +15,9 @@ jobs: run: | brew update brew install xz meson ninja coreutils curl gettext openssl pkgconfig - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete - find /usr/local/lib/node_modules/npm -delete brew upgrade - name: build run: | meson setup --reconfigure --wipe .build meson compile -C .build - + diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 64affff3..00000000 --- a/autogen.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -builddir=${PWD} - -test -n "$srcdir" || srcdir=`dirname "$0"` -test -n "$srcdir" || srcdir=. - -cd "$srcdir" - -mkdir -p scripts -mkdir -p m4 - -LIBTOOLIZE=$(which libtoolize) -if [ -z ${LIBTOOLIZE} ]; then - LIBTOOLIZE=$(which glibtoolize) -fi -if [ -z ${LIBTOOLIZE} ]; then - echo "Can't find libtoolize" - exit -1 -fi - -${LIBTOOLIZE} --force -if test $? != 0 ; then - echo "libtoolize failed." - exit -1 -fi - -aclocal -if test $? != 0 ; then - echo "aclocal failed." - exit -1 -fi - -#autoheader --force -#if test $? != 0 ; then -# echo "autoheader failed." -# exit -1 -#fi - -autoconf --force -if test $? != 0 ; then - echo "autoconf failed." - exit -1 -fi - -automake --add-missing 2> /dev/null | true - -autopoint - -cd "${builddir}" - -test -n "$NOCONFIGURE" || "$srcdir/configure" --srcdir=${srcdir} $@ - - - - diff --git a/meson.build b/meson.build index 1b758648..bf524e9d 100644 --- a/meson.build +++ b/meson.build @@ -50,11 +50,18 @@ subdir('po') # # Dependencies # + +c = meson.get_compiler('c') libssl = dependency('libssl', required: false) +libintl = c.find_library('intl', required : false) + +lib_extra = [ + libintl, +] + lib_deps = [ - libssl, + libssl, dependency('libcrypto'), - dependency('libcurl'), ] # @@ -127,6 +134,11 @@ if host_machine.system() != 'windows' ) ) + app_conf.set('HAVE_LIBCURL', 1) + lib_deps += [ + dependency('libcurl'), + ] + endif if libssl.found() @@ -137,10 +149,8 @@ app_conf.set('HAVE_STRPTIME', cc.has_function('strptime')) app_conf.set('HAVE_STRCASESTR', cc.has_function('strcasestr')) app_conf.set('HAVE_LOCALTIME_R', cc.has_function('localtime_r')) -app_conf.set('HAVE_MALLOC_H', cc.has_function('strtok_r')) - -app_conf.set('HAVE_MALLOC_H', 1) -app_conf.set('HAVE_LIBINTL', 1) +app_conf.set('HAVE_STRTOK_R', cc.has_function('strtok_r')) +app_conf.set('HAVE_VASPRINTF', cc.has_function('vasprintf')) app_conf.set_quoted('PRODUCT_TITLE', product_title) app_conf.set('PRODUCT_NAME',product_name) @@ -150,11 +160,7 @@ app_conf.set_quoted('PRODUCT_TITLE',product_title) # Fix-me app_conf.set('HAVE_GNUC_VISIBILITY', 1) app_conf.set('HAVE_GETADDRINFO', 1) -app_conf.set('HAVE_VASPRINTF', 1) app_conf.set('HAVE_INET_NTOP', 1) -app_conf.set('HAVE_LIBCURL', 1) -app_conf.set('HAVE_SYSLOG', 1) -app_conf.set('HAVE_LIBINTL', 1) # Legacy app_conf.set('X3270_TN3270E', 1) @@ -184,6 +190,23 @@ app_conf.set_quoted('SCCS_USER', sccs_user) sccs_date = run_command('sh', '-c', datecmd + ' +%Y/%m/%d', check : true).stdout().strip() app_conf.set_quoted('SCCS_DATE', sccs_date) +if c.compiles('#include ', name : 'unistd.h') + app_conf.set('HAVE_UNISTD_H', 1) +endif + +if c.compiles('#include ', name : 'syslog.h') + app_conf.set('HAVE_SYSLOG', 1) +endif + +if c.has_function('dgettext', dependencies: libintl) + app_conf.set('HAVE_LIBINTL', 1) +endif + +if c.compiles('#include ', name : 'malloc.h') + app_conf.set('HAVE_MALLOC_H', 1) +endif + + # # Sources # @@ -339,6 +362,10 @@ if host_machine.system() == 'windows' ], libraries: [ '-l3270', + '-lwinhttp', + '-lws2_32', + '-lwtsapi32', + '-lcomdlg32' ] ) @@ -380,6 +407,10 @@ if host_machine.system() == 'windows' # Supplied by win_iconv-devel-static app_conf.set('HAVE_ICONV',1) + lib_extra += [ + c.find_library('iconv', required : false) + ] + app_conf.set_quoted('LIBEXT', '.dll') lib_src += win_src @@ -397,10 +428,6 @@ if host_machine.system() == 'linux' subdir: 'lib3270' ) - if cc.compiles('#include ', name : 'unistd.h') - app_conf.set('HAVE_UNISTD_H', 1) - endif - app_conf.set_quoted('LIBEXT', '.so') lib_src += linux_src @@ -439,7 +466,7 @@ if host_machine.system() == 'windows' windows = import('windows') resources = windows.compile_resources( configure_file( - input : 'src/library/windows/resources.rc.in', + input : 'src/library/os/windows/resources.rc.in', output : 'resources.rc', configuration : app_conf ) @@ -450,10 +477,20 @@ if host_machine.system() == 'windows' config_src + lib_src + resources, install: true, gnu_symbol_visibility: 'hidden', - dependencies: lib_deps, + dependencies: lib_deps + lib_extra, include_directories: includes_dir, + link_args: [ + '-lwinhttp', + '-lws2_32', + '-lwtsapi32', + '-lcomdlg32' + ], ) + # https://baltig.polito.it/s346827/qemu/-/blob/36025b9c539f2c25f77bd985adc47825b9e9c4f4/plugins/meson.build + # dlltool = find_program('dlltool', required: true) + + else dynamic = shared_library( @@ -463,7 +500,7 @@ else version : libversion, soversion : libversion, gnu_symbol_visibility: 'hidden', - dependencies: lib_deps, + dependencies: lib_deps + lib_extra, include_directories: includes_dir ) @@ -482,7 +519,7 @@ executable( config_src + [ 'src/testprogram/testprogram.c' ], install: false, link_with : [ dynamic ], - dependencies: lib_deps, + dependencies: lib_deps + libintl, include_directories: includes_dir ) diff --git a/src/library/charset/iconv.c b/src/library/charset/iconv.c index 93f52173..948101a2 100644 --- a/src/library/charset/iconv.c +++ b/src/library/charset/iconv.c @@ -96,7 +96,12 @@ static char *convert(iconv_t *converter, const char * str, int length) { size_t out = (length << 1); char * ptr; char * outBuffer = (char *) lib3270_malloc(out); + +#ifdef _WIN32 + WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) str; +#else ICONV_CONST char * inBuffer = (ICONV_CONST char *) str; +#endif memset(ptr=outBuffer,0,out); diff --git a/src/library/os/windows/resources.rc.in b/src/library/os/windows/resources.rc.in index ba37a5d4..d7859766 100644 --- a/src/library/os/windows/resources.rc.in +++ b/src/library/os/windows/resources.rc.in @@ -33,8 +33,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "app-manifest.xml" - VS_VERSION_INFO VERSIONINFO FILEVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@ PRODUCTVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@ diff --git a/src/library/os/windows/util.c b/src/library/os/windows/util.c index d68ce832..f42554db 100644 --- a/src/library/os/windows/util.c +++ b/src/library/os/windows/util.c @@ -138,7 +138,7 @@ LIB3270_EXPORT char * lib3270_win32_translate_error_code(int lasterror) { size_t out = (in << 1); char * ptr; char * outBuffer = (char *) malloc(out); - ICONV_CONST char * inBuffer = (ICONV_CONST char *) buffer; + WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) buffer; memset(ptr=outBuffer,0,out); @@ -182,7 +182,7 @@ LIB3270_EXPORT const char * lib3270_win32_strerror(int e) { size_t out = (in << 1); char * ptr; char * outBuffer = (char *) malloc(out); - ICONV_CONST char * inBuffer = (ICONV_CONST char *) buffer; + WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) buffer; memset(ptr=outBuffer,0,out); From b309eebdb20897afbb34c71ecf37325c16f2fadd Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 14:41:56 -0300 Subject: [PATCH 25/40] Debugging windows package. --- PKGBUILD.mingw | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/PKGBUILD.mingw b/PKGBUILD.mingw index 26d4e3bf..008ab953 100644 --- a/PKGBUILD.mingw +++ b/PKGBUILD.mingw @@ -30,7 +30,7 @@ url="https://github.com/PerryWerneck/${_realname}" arch=(i686 x86_64) license=(LGPL-3.0-or-later) depends=(${MINGW_PACKAGE_PREFIX}-openssl) -makedepends=(autoconf automake make libtool pkgconf gzip dos2unix ${MINGW_PACKAGE_PREFIX}-gcc ${MINGW_PACKAGE_PREFIX}-gettext ${MINGW_PACKAGE_PREFIX}-openssl) +makedepends=(${MINGW_PACKAGE_PREFIX}-meson pkgconf gzip dos2unix ${MINGW_PACKAGE_PREFIX}-gcc ${MINGW_PACKAGE_PREFIX}-gettext ${MINGW_PACKAGE_PREFIX}-openssl) checkdepends=() provides=($pkgname) @@ -38,25 +38,22 @@ conflicts=($pkgname) prepare() { rm -fr "$srcdir/$pkgname" - ln -snf "$startdir" "$srcdir/$pkgname" + mkdir -p "$srcdir/$pkgname" + cd ${startdir} + meson \ + setup \ + --prefix=/c/${MINGW_PREFIX} \ + --reconfigure \ + --wipe \ + "$srcdir/$pkgname" } build() { - cd $pkgname - ./autogen.sh \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} - - make all + cd ${startdir} + meson compile -C "$srcdir/$pkgname" } package() { - cd $pkgname - make DESTDIR="${pkgdir}" install - install \ - -Dm644 \ - "LICENSE" \ - "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" + cd ${startdir} + DESTDIR="${pkgdir}" meson install -C "$srcdir/$pkgname" } From e66b322057ffa98326f5b8c66685112f58bf71d5 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 14:45:15 -0300 Subject: [PATCH 26/40] Debugging new actions. --- .github/workflows/macos.yml | 2 +- .github/workflows/msys2.yml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/msys2.yml diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 45965366..1d34be44 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -14,7 +14,7 @@ jobs: - name: Install Pre reqs run: | brew update - brew install xz meson ninja coreutils curl gettext openssl pkgconfig + brew install xz meson ninja curl gettext openssl pkgconfig brew upgrade - name: build run: | diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml new file mode 100644 index 00000000..52f7773f --- /dev/null +++ b/.github/workflows/msys2.yml @@ -0,0 +1,30 @@ +name: check-msys2 +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "master" ] + +jobs: + msys2-build: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v3 + - uses: oprypin/find-latest-tag@v1 + id: gettag + with: + repository: PerryWerneck/lib3270 + releases-only: true + - uses: msys2/setup-msys2@v2 + with: + msystem: mingw64 + update: true + install: dos2unix mingw-w64-x86_64-gcc meson pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool + - name: CI-Build + run: | + dos2unix PKGBUILD.mingw + makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw + From c7d122f2f5bf105551c9e4c93119e75959948642 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:02:26 -0300 Subject: [PATCH 27/40] Debugging new actions. --- .github/workflows/msys2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml index 52f7773f..fd193508 100644 --- a/.github/workflows/msys2.yml +++ b/.github/workflows/msys2.yml @@ -22,7 +22,7 @@ jobs: with: msystem: mingw64 update: true - install: dos2unix mingw-w64-x86_64-gcc meson pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool + install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool - name: CI-Build run: | dos2unix PKGBUILD.mingw From 9a735fd693fe91084a3ecca1be1137c3fc4e3ec9 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:08:52 -0300 Subject: [PATCH 28/40] Debugging actions. --- meson.build | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meson.build b/meson.build index bf524e9d..3467f835 100644 --- a/meson.build +++ b/meson.build @@ -446,6 +446,12 @@ if host_machine.system() == 'darwin' subdir: 'lib3270' ) + # Supplied by win_iconv-devel-static + app_conf.set('HAVE_ICONV',1) + lib_extra += [ + c.find_library('iconv', required : false) + ] + lib_src += darwin_src endif From d5a27380a424e9c54877129ac1e4cec1487367aa Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:18:25 -0300 Subject: [PATCH 29/40] Debugging msys package. --- .github/workflows/msys2.yml | 2 +- PKGBUILD.mingw | 2 +- src/library/charset/iconv.c | 2 +- src/library/os/windows/util.c | 9 ++++++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml index fd193508..5f9146f1 100644 --- a/.github/workflows/msys2.yml +++ b/.github/workflows/msys2.yml @@ -22,7 +22,7 @@ jobs: with: msystem: mingw64 update: true - install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool + install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-iconv pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool - name: CI-Build run: | dos2unix PKGBUILD.mingw diff --git a/PKGBUILD.mingw b/PKGBUILD.mingw index 008ab953..4d6b744a 100644 --- a/PKGBUILD.mingw +++ b/PKGBUILD.mingw @@ -30,7 +30,7 @@ url="https://github.com/PerryWerneck/${_realname}" arch=(i686 x86_64) license=(LGPL-3.0-or-later) depends=(${MINGW_PACKAGE_PREFIX}-openssl) -makedepends=(${MINGW_PACKAGE_PREFIX}-meson pkgconf gzip dos2unix ${MINGW_PACKAGE_PREFIX}-gcc ${MINGW_PACKAGE_PREFIX}-gettext ${MINGW_PACKAGE_PREFIX}-openssl) +makedepends=(${MINGW_PACKAGE_PREFIX}-meson pkgconf gzip dos2unix ${MINGW_PACKAGE_PREFIX}-gcc ${MINGW_PACKAGE_PREFIX}-gettext ${MINGW_PACKAGE_PREFIX}-iconv ${MINGW_PACKAGE_PREFIX}-openssl) checkdepends=() provides=($pkgname) diff --git a/src/library/charset/iconv.c b/src/library/charset/iconv.c index 948101a2..6809a7d0 100644 --- a/src/library/charset/iconv.c +++ b/src/library/charset/iconv.c @@ -97,7 +97,7 @@ static char *convert(iconv_t *converter, const char * str, int length) { char * ptr; char * outBuffer = (char *) lib3270_malloc(out); -#ifdef _WIN32 +#ifdef WINICONV_CONST WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) str; #else ICONV_CONST char * inBuffer = (ICONV_CONST char *) str; diff --git a/src/library/os/windows/util.c b/src/library/os/windows/util.c index f42554db..6dee481b 100644 --- a/src/library/os/windows/util.c +++ b/src/library/os/windows/util.c @@ -138,8 +138,11 @@ LIB3270_EXPORT char * lib3270_win32_translate_error_code(int lasterror) { size_t out = (in << 1); char * ptr; char * outBuffer = (char *) malloc(out); +#ifdef WINICONV_CONST WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) buffer; - +#else + ICONV_CONST char * inBuffer = (ICONV_CONST char *) buffer; +#endif memset(ptr=outBuffer,0,out); iconv(hConv,NULL,NULL,NULL,NULL); // Reset state @@ -182,7 +185,11 @@ LIB3270_EXPORT const char * lib3270_win32_strerror(int e) { size_t out = (in << 1); char * ptr; char * outBuffer = (char *) malloc(out); +#ifdef WINICONV_CONST WINICONV_CONST char * inBuffer = (WINICONV_CONST char *) buffer; +#else + ICONV_CONST char * inBuffer = (ICONV_CONST char *) buffer; +#endif memset(ptr=outBuffer,0,out); From bb930b742902dc27586382643303f4c233402df5 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:20:03 -0300 Subject: [PATCH 30/40] Debugging actions. --- meson.build | 1 - 1 file changed, 1 deletion(-) diff --git a/meson.build b/meson.build index 3467f835..3de60eb1 100644 --- a/meson.build +++ b/meson.build @@ -446,7 +446,6 @@ if host_machine.system() == 'darwin' subdir: 'lib3270' ) - # Supplied by win_iconv-devel-static app_conf.set('HAVE_ICONV',1) lib_extra += [ c.find_library('iconv', required : false) From 5926450c97343f2103a32a491411773818c3c3b7 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:25:27 -0300 Subject: [PATCH 31/40] Debugging win package. --- src/library/os/windows/util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/library/os/windows/util.c b/src/library/os/windows/util.c index 6dee481b..52daad7a 100644 --- a/src/library/os/windows/util.c +++ b/src/library/os/windows/util.c @@ -46,6 +46,10 @@ #include #endif // HAVE_ICONV +#ifndef ICONV_CONST + #define ICONV_CONST +#endif // ICONV_CONST + #include #include From ca5d20ca75b8bf91c56891a60ab983c29e38efee Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:31:19 -0300 Subject: [PATCH 32/40] Disabling mac check. --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1d34be44..54291c0e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,7 +1,7 @@ name: check-macos on: push: - branches: [ "develop" ] + branches: [ "macos" ] pull_request: branches: [ "master" ] From c2566b73288c8fe6550b0b115e9c06e5225b4c40 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:37:16 -0300 Subject: [PATCH 33/40] Debugging action. --- .github/workflows/msys2.yml | 2 +- .github/workflows/publish.yml | 39 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml index 5f9146f1..b31b46d0 100644 --- a/.github/workflows/msys2.yml +++ b/.github/workflows/msys2.yml @@ -22,7 +22,7 @@ jobs: with: msystem: mingw64 update: true - install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-iconv pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool + install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-iconv pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl - name: CI-Build run: | dos2unix PKGBUILD.mingw diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..69280649 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,39 @@ +name: Publish +on: + push: + branches: [ "develop" ] + tags: [ "*" ] + +jobs: + publish-mingw: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v3 + - uses: oprypin/find-latest-tag@v1 + id: gettag + with: + repository: PerryWerneck/lib3270 + releases-only: true + - uses: msys2/setup-msys2@v2 + with: + msystem: mingw64 + update: true + install: dos2unix mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-iconv pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl + - name: CI-Build + run: | + dos2unix PKGBUILD.mingw + makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw + - uses: ncipollo/release-action@v1 + with: + tag: ${{ steps.gettag.outputs.tag }} + artifacts: "*3270*.pkg.tar.zst" + allowUpdates: true + draft: false + makeLatest: true + omitBody: true + omitPrereleaseDuringUpdate: true + replacesArtifacts: true + From 5698f2132228ba3ad28c774591b5817eaed11a7c Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:41:36 -0300 Subject: [PATCH 34/40] Debugging actions. --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 69280649..8b2613da 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,7 +1,7 @@ name: Publish on: push: - branches: [ "develop" ] + branches: [ "publish" ] tags: [ "*" ] jobs: From 369b84407a2b0d479e39819a209cb0bd10cefa6c Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:41:59 -0300 Subject: [PATCH 35/40] Publishing updated version 5.5.0 --- po/pt_BR.po | 4 ++-- rpm/lib3270.spec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 9e13adbb..d38201fd 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-06 13:07-0300\n" +"POT-Creation-Date: 2024-12-09 15:41-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" @@ -2422,7 +2422,7 @@ msgstr "Pesquisa LDAP não produziu valores." msgid "Can't decode certificate revocation list" msgstr "Não foi possível decodificar a lista de certificados revogados" -#: src/library/os/windows/util.c:124 src/library/os/windows/util.c:167 +#: src/library/os/windows/util.c:128 src/library/os/windows/util.c:174 #, c-format msgid "Windows error %d" msgstr "Erro windows foi %d" diff --git a/rpm/lib3270.spec b/rpm/lib3270.spec index 55f79791..1e30fd31 100644 --- a/rpm/lib3270.spec +++ b/rpm/lib3270.spec @@ -17,7 +17,7 @@ # Name: lib3270 -Version: 5.5.0 +Version: 5.5.0 Release: 0 Summary: TN3270 Access library License: LGPL-3.0-only From a03f7bd4718f378741b5e62abebcfaf030bb809e Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:43:30 -0300 Subject: [PATCH 36/40] Publishing updated version 5.5.0 --- PKGBUILD.mingw | 2 +- po/pt_BR.po | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PKGBUILD.mingw b/PKGBUILD.mingw index 4d6b744a..71f08ae9 100644 --- a/PKGBUILD.mingw +++ b/PKGBUILD.mingw @@ -23,7 +23,7 @@ _realname=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f2 | cut -d] -f1) pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} source=() -pkgver=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f3 | cut -d] -f1) +pkgver=5.5.0 pkgrel=0 pkgdesc="TN3270 Access library" url="https://github.com/PerryWerneck/${_realname}" diff --git a/po/pt_BR.po b/po/pt_BR.po index d38201fd..5e772d88 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-09 15:41-0300\n" +"POT-Creation-Date: 2024-12-09 15:43-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" From 3c338d1317ec36c30eda36ed3226255a2af64fd6 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 9 Dec 2024 15:44:49 -0300 Subject: [PATCH 37/40] Publishing updated version 5.5.0 --- po/pt_BR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 5e772d88..3fdc64f0 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-09 15:43-0300\n" +"POT-Creation-Date: 2024-12-09 15:44-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" From 1b09cda791e6f08253be65ddaa7d48698dd92bf0 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 10 Dec 2024 08:00:02 -0300 Subject: [PATCH 38/40] Adding delayed library for windows apps. --- meson.build | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 3de60eb1..24766db0 100644 --- a/meson.build +++ b/meson.build @@ -369,6 +369,15 @@ if host_machine.system() == 'windows' ] ) + pkg.generate( + name: meson.project_name() + '-delayed', + description: project_description, + variables: pkg_variables, + libraries: [ + '-l3270.delayed', + ] + ) + else pkg.generate( @@ -488,13 +497,42 @@ if host_machine.system() == 'windows' '-lwinhttp', '-lws2_32', '-lwtsapi32', - '-lcomdlg32' + '-lcomdlg32', + '-Wl,--output-def,lib3270.def', ], ) + # # https://baltig.polito.it/s346827/qemu/-/blob/36025b9c539f2c25f77bd985adc47825b9e9c4f4/plugins/meson.build - # dlltool = find_program('dlltool', required: true) - + # https://github.com/mesonbuild/meson/issues/5093 + # + if meson.is_cross_build() + dlltool = find_program( + '@0@/bin/dlltool'.format( + meson.get_external_property('root') + ) + ) + else + dlltool = find_program('dlltool', required: true) + endif + + # https://mesonbuild.com/Reference-manual_functions.html#custom_target + custom_target( + 'delaylib', + depends: dynamic, + build_by_default: true, + command: [ + dlltool, + '--input-def','lib3270.def', + '--dllname','lib3270.dll', + '--kill-at', + '--output-lib','lib3270.delayed.a' + ], + output: 'lib3270.delayed.a', + install: true, + install_tag: 'devel', + install_dir: get_option('libdir') + ) else From e7c388cc6b354a881a923ee028a355b49ca01402 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 10 Dec 2024 08:13:36 -0300 Subject: [PATCH 39/40] Fixing windows dll properties. --- src/library/os/windows/resources.rc.in | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/library/os/windows/resources.rc.in b/src/library/os/windows/resources.rc.in index d7859766..998a9cb7 100644 --- a/src/library/os/windows/resources.rc.in +++ b/src/library/os/windows/resources.rc.in @@ -47,11 +47,11 @@ BEGIN // English BLOCK "080904B0" BEGIN - VALUE "FileDescription", "@PRODUCT_NAME@ Core library\0" + VALUE "FileDescription", "TN3270 client library\0" VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" VALUE "LegalCopyright", "GNU GPLv3\0" - VALUE "InternalName", "lib@PRODUCT_NAME@\0" - VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "InternalName", "lib3270\0" + VALUE "OriginalFilename", "lib3270.dll\0" VALUE "ProductName", "@PRODUCT_NAME@\0" VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" END @@ -59,11 +59,11 @@ BEGIN // Brazilian Portuguese (UTF-8) BLOCK "041604B0" BEGIN - VALUE "FileDescription", "Biblioteca principal @PRODUCT_NAME@\0" + VALUE "FileDescription", "Biblioteca cliente TN3270\0" VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" VALUE "LegalCopyright", "GNU GPLv3\0" - VALUE "InternalName", "lib@PRODUCT_NAME@\0" - VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "InternalName", "lib3270\0" + VALUE "OriginalFilename", "lib3270.dll\0" VALUE "ProductName", "@PRODUCT_NAME@\0" VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" END @@ -71,11 +71,11 @@ BEGIN // Brazilian Portuguese (Multilingual) BLOCK "041604E4" BEGIN - VALUE "FileDescription", "Biblioteca principal @PRODUCT_NAME@\0" + VALUE "FileDescription", "Biblioteca cliente TN3270\0" VALUE "FileVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@.@PACKAGE_VERSION_MICRO@\0" VALUE "LegalCopyright", "GNU GPLv3\0" - VALUE "InternalName", "lib@PRODUCT_NAME@\0" - VALUE "OriginalFilename", "lib@PRODUCT_NAME@.dll\0" + VALUE "InternalName", "lib3270\0" + VALUE "OriginalFilename", "lib3270.dll\0" VALUE "ProductName", "@PRODUCT_NAME@\0" VALUE "ProductVersion", "@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@\0" END From b81963f7d9b5f85c338457233f8b89091294f9f7 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Wed, 11 Dec 2024 05:57:54 -0300 Subject: [PATCH 40/40] Publishing updated version 5.5.0 --- arch/PKGBUILD | 17 +++++++++-------- po/pt_BR.po | 2 +- rpm/lib3270.spec | 23 ----------------------- 3 files changed, 10 insertions(+), 32 deletions(-) diff --git a/arch/PKGBUILD b/arch/PKGBUILD index 738ccddc..36a8e7c5 100644 --- a/arch/PKGBUILD +++ b/arch/PKGBUILD @@ -2,14 +2,14 @@ pkgname=lib3270 -pkgver=5.4+git20240817 +pkgver=5.5.0 pkgrel=0 pkgdesc="TN3270 Access library" url="https://github.com/PerryWerneck/lib3270" arch=(i686 x86_64) license=(GPL) depends=(openssl) -makedepends=(autoconf automake make openssl libtool gzip) +makedepends=(meson openssl libtool gzip) checkdepends=() #groups=(gnome) @@ -22,20 +22,21 @@ conflicts=($pkgname) prepare() { cd $pkgname-$pkgver - mkdir -p scripts - touch scripts/config.rpath - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --disable-static + meson \ + setup \ + --reconfigure \ + --wipe \ + ".build" } build() { cd $pkgname-$pkgver - make all + meson compile -C ".build" } package() { cd $pkgname-$pkgver - DESTDIR="$pkgdir" make install + DESTDIR="${pkgdir}" meson install -C ".build" } diff --git a/po/pt_BR.po b/po/pt_BR.po index 3fdc64f0..8218d7fb 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-09 15:44-0300\n" +"POT-Creation-Date: 2024-12-11 05:57-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" diff --git a/rpm/lib3270.spec b/rpm/lib3270.spec index 1e30fd31..05fad561 100644 --- a/rpm/lib3270.spec +++ b/rpm/lib3270.spec @@ -25,18 +25,11 @@ Group: System/Libraries URL: https://github.com/PerryWerneck/lib3270 Source: %{name}-%{version}.tar.xz -%if "%{_vendor}" == "debbuild" -BuildRequires: meson-deb-macros -BuildRequires: pkg-config -BuildRequires: libcurl-dev -BuildRequires: libssl-dev -%else BuildRequires: fdupes BuildRequires: pkgconfig BuildRequires: gettext-devel BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libssl) -%endif %if 0%{?suse_version} == 01500 BuildRequires: meson >= 0.61.4 @@ -57,13 +50,7 @@ For more details, see https://softwarepublico.gov.br/social/pw3270/ . %package -n %{name}-%{_libvrs} Summary: TN3270 Access library - -%if "%{_vendor}" == "debbuild" -Group: devel -Depends: ${misc:Depends}, ${shlibs:Depends} -%else Group: Development/Libraries/C and C++ -%endif %description -n %{name}-%{_libvrs} TN3270 access library, originally designed as part of the pw3270 application. @@ -75,16 +62,10 @@ Summary: TN3270 Access library development files Group: Development/Libraries/C and C++ Requires: %{name}-%{_libvrs} = %{version} -%if "%{_vendor}" == "debbuild" -Provides: lib3270-dev -%endif - %description devel Header files for the TN3270 access library. -%if "%{_vendor}" != "debbuild" %lang_package -n %{name}-%{_libvrs} -%endif #---[ Build & Install ]----------------------------------------------------------------------------------------------- @@ -100,9 +81,7 @@ Header files for the TN3270 access library. %find_lang lib3270-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles -%if "%{_vendor}" != "debbuild" %fdupes %{buildroot}/%{_prefix} -%endif %files -n %{name}-%{_libvrs} @@ -123,9 +102,7 @@ Header files for the TN3270 access library. %{_libdir}/pkgconfig/*.pc -%if "%{_vendor}" != "debbuild" %files -n %{name}-%{_libvrs}-lang -f langfiles -%endif %post -n %{name}-%{_libvrs} -p /sbin/ldconfig %postun -n %{name}-%{_libvrs} -p /sbin/ldconfig