Commit 5e674a1fdee5cdd215bfb3f89f7b35b622dc8352

Authored by Perry Werneck
1 parent 38a6d1d8
Exists in master and in 1 other branch develop

Updating packages.

Makefile.in
... ... @@ -112,7 +112,7 @@ $(OBJDBG)/%.o: \
112 112  
113 113 @$(CXX) \
114 114 $(CFLAGS) \
115   - -Wall -Wextra -fstack-check \
  115 + -g -Wall -Wextra -fstack-check \
116 116 -DDEBUG=1 \
117 117 -o $@ \
118 118 -c $<
... ... @@ -159,7 +159,7 @@ $(BINRLS)/$(SONAME): \
159 159 @$(MKDIR) $(dir $@)
160 160 @echo $< ...
161 161 @$(LD) \
162   - @DLL_LDFLAGS@ \
  162 + -shared -Wl,-soname,$(@F) \
163 163 -o $@ \
164 164 $(LDFLAGS) \
165 165 $^ \
... ...
configure.ac
... ... @@ -57,18 +57,6 @@ AC_PROG_LN_S
57 57 AC_LANG([C++])
58 58  
59 59 dnl ---------------------------------------------------------------------------
60   -dnl Initialize defaults
61   -dnl ---------------------------------------------------------------------------
62   -
63   -DBG_CFLAGS="-g -fstack-check -DDEBUG=1"
64   -RLS_CFLAGS="-DNDEBUG=1"
65   -PLUGINS=""
66   -APP_RESOURCES=""
67   -APP_LDFLAGS=""
68   -DLL_LDFLAGS="-shared -Wl,-soname,\$(@F)"
69   -DEPENDS=""
70   -
71   -dnl ---------------------------------------------------------------------------
72 60 dnl Version info
73 61 dnl ---------------------------------------------------------------------------
74 62  
... ... @@ -109,7 +97,9 @@ case &quot;$host&quot; in
109 97 *-mingw32|*-pc-msys)
110 98 app_cv_osname="windows"
111 99  
112   - CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600"
  100 + CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0600"
  101 + LDFLAGS="-Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive,-Bdynamic -static-libgcc -static-libstdc++ $LDFLAGS"
  102 +
113 103 LIBS="$LIBS -lws2_32 -lwtsapi32 -lcomdlg32"
114 104 DLLEXT=".dll"
115 105  
... ... @@ -137,8 +127,8 @@ case &quot;$host&quot; in
137 127 ;;
138 128  
139 129 *)
140   - CFLAGS="$CFLAGS -pthread"
141   - LDFLAGS="$LDFLAGS -pthread"
  130 + CFLAGS="$CFLAGS"
  131 + LDFLAGS="$LDFLAGS"
142 132 app_cv_datadir="/usr/share"
143 133 app_cv_confdir="/etc"
144 134 app_cv_osname="linux"
... ... @@ -155,8 +145,6 @@ AC_SUBST(LIBS)
155 145 AC_SUBST(LOGDIR)
156 146 AC_SUBST(DLLEXT)
157 147 AC_SUBST(DLLPREFIX)
158   -AC_SUBST(LDFLAGS)
159   -AC_SUBST(DLL_LDFLAGS)
160 148  
161 149 dnl ---------------------------------------------------------------------------
162 150 dnl Check for other programs
... ... @@ -261,10 +249,9 @@ if test &quot;$app_cv_static_ipc3270&quot; == &quot;auto&quot;; then
261 249 fi
262 250  
263 251 if test "$app_cv_static_ipc3270" == "yes"; then
264   - LDFLAGS="-static -static-libgcc -static-libstdc++ $LDFLAGS"
265 252 PKG_CHECK_MODULES( [IPC3270], [ipc3270-static], AC_DEFINE(USING_STATIC_IPC3270), AC_MSG_ERROR([IPC3270 not present.]))
266 253 else
267   - PKG_CHECK_MODULES( [IPC3270], [ipc3270], AC_DEFINE(USING_SHARED_IPC3270), AC_MSG_ERROR([IPC3270 not present.]))
  254 + PKG_CHECK_MODULES( [IPC3270], [ipc3270], AC_DEFINE(USING_DYNAMIC_IPC3270), AC_MSG_ERROR([IPC3270 not present.]))
268 255 fi
269 256  
270 257 AC_SUBST(IPC3270_LIBS)
... ... @@ -309,12 +296,14 @@ dnl ---------------------------------------------------------------------------
309 296 dnl Configure which files to generate.
310 297 dnl ---------------------------------------------------------------------------
311 298  
312   -AC_SUBST(DEPENDS)
313 299 AC_CONFIG_FILES(Makefile)
314 300  
315 301 dnl ---------------------------------------------------------------------------
316 302 dnl Output the generated config.status script.
317 303 dnl ---------------------------------------------------------------------------
  304 +
  305 +AC_SUBST(LDFLAGS)
  306 +
318 307 AC_SUBST(BASEDIR,$ac_pwd)
319 308  
320 309 AC_OUTPUT
... ...
hllapi.cbp
... ... @@ -42,6 +42,7 @@
42 42 <Unit filename="src/core/private.h" />
43 43 <Unit filename="src/core/set.cc" />
44 44 <Unit filename="src/core/tools.cc" />
  45 + <Unit filename="src/core/windows/init.cc" />
45 46 <Unit filename="src/core/windows/resources.rc" />
46 47 <Unit filename="src/include/config.h" />
47 48 <Unit filename="src/include/lib3270/hllapi.h" />
... ...
rpm/libhllapi.spec
1 1 #
2   -# spec file for packages pw3270-plugin-ipc
  2 +# spec file for package libhllapi
3 3 #
4 4 # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
5 5 # Copyright (C) <2008> <Banco do Brasil S.A.>
... ... @@ -16,15 +16,10 @@
16 16 # Please submit bugfixes or comments via http://bugs.opensuse.org/
17 17 #
18 18  
19   -#---[ Versions ]------------------------------------------------------------------------------------------------------
20   -
21   -%define MAJOR_VERSION 5
22   -%define MINOR_VERSION 2
23   -
24   -#---[ Main package ]--------------------------------------------------------------------------------------------------
  19 +#---[ Package header ]------------------------------------------------------------------------------------------------
25 20  
26 21 Summary: HLLAPI client library for lib3270/pw3270
27   -Name: libhllapi5_2
  22 +Name: libhllapi
28 23 Version: 5.2
29 24 Release: 0
30 25 License: LGPL-3.0
... ... @@ -32,8 +27,7 @@ Source: lib3270-hllapi-bindings-%{version}.tar.xz
32 27  
33 28 Url: https://github.com/PerryWerneck/lib3270-hllapi-bindings.git
34 29  
35   -Group: System/X11/Terminals
36   -BuildRoot: /var/tmp/%{name}-%{version}
  30 +Group: Development/Libraries/C and C++
37 31  
38 32 BuildRequires: autoconf >= 2.61
39 33 BuildRequires: automake
... ... @@ -63,6 +57,24 @@ HLLAPI client library for pw3270/lib3270
63 57  
64 58 See more details at https://softwarepublico.gov.br/social/pw3270/
65 59  
  60 +#---[ Library ]-------------------------------------------------------------------------------------------------------
  61 +
  62 +%define MAJOR_VERSION %(echo %{version} | cut -d. -f1)
  63 +%define MINOR_VERSION %(echo %{version} | cut -d. -f2)
  64 +%define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION}
  65 +
  66 +%package -n %{name}%{_libvrs}
  67 +Summary: HLLAPI client library for lib3270/pw3270
  68 +Group: Development/Libraries/C and C++
  69 +
  70 +%description -n %{name}%{_libvrs}
  71 +
  72 +HLLAPI client library for pw3270/lib3270
  73 +
  74 +See more details at https://softwarepublico.gov.br/social/pw3270/
  75 +
  76 +#---[ Development package ]-------------------------------------------------------------------------------------------
  77 +
66 78 %package devel
67 79 Summary: HLLAPI Development files.
68 80  
... ... @@ -76,7 +88,8 @@ Development files for lib3270/pw3270 HLLAPI client library.
76 88 %prep
77 89 %setup -n lib3270-hllapi-bindings-%{version}
78 90  
79   -NOCONFIGURE=1 ./autogen.sh
  91 +NOCONFIGURE=1 \
  92 + ./autogen.sh
80 93  
81 94 %configure
82 95  
... ... @@ -87,33 +100,33 @@ make all
87 100 %install
88 101 rm -rf $RPM_BUILD_ROOT
89 102  
90   -make \
91   - DESTDIR=%{?buildroot:%{buildroot}} \
92   - install
  103 +%makeinstall
93 104  
94   -%files
  105 +%files -n %{name}%{_libvrs}
95 106 %defattr(-,root,root)
96   -%doc AUTHORS LICENSE README.md
97 107  
98   -%{_libdir}/libhllapi.so.%{MAJOR_VERSION}
99   -%{_libdir}/libhllapi.so.%{MAJOR_VERSION}.%{MINOR_VERSION}
  108 +# https://en.opensuse.org/openSUSE:Packaging_for_Leap#RPM_Distro_Version_Macros
  109 +%if 0%{?sle_version} > 120200
  110 +%doc AUTHORS README.md
  111 +%license LICENSE
  112 +%else
  113 +%doc AUTHORS README.md LICENSE
  114 +%endif
  115 +
  116 +%{_libdir}/%{name}.so.%{MAJOR_VERSION}
  117 +%{_libdir}/%{name}.so.%{MAJOR_VERSION}.%{MINOR_VERSION}
100 118  
101 119 %files devel
102 120 %defattr(-,root,root)
103   -%{_libdir}/libhllapi.so
  121 +
  122 +%{_libdir}/%{name}.so
104 123 %{_includedir}/lib3270/hllapi.h
105 124  
106   -%pre
107   -/sbin/ldconfig
108   -exit 0
  125 +%pre -n %{name}%{_libvrs} -p /sbin/ldconfig
109 126  
110   -%post
111   -/sbin/ldconfig
112   -exit 0
  127 +%post -n %{name}%{_libvrs} -p /sbin/ldconfig
113 128  
114   -%postun
115   -/sbin/ldconfig
116   -exit 0
  129 +%postun -n %{name}%{_libvrs} -p /sbin/ldconfig
117 130  
118 131 %changelog
119 132  
... ...
src/core/tools.cc
... ... @@ -34,6 +34,54 @@
34 34  
35 35 HLLAPI_API_CALL hllapi_get_datadir(LPSTR datadir) {
36 36  
  37 + LSTATUS rc;
  38 + HKEY hKey = 0;
  39 + unsigned long szDatadir = strlen(datadir);
  40 +
  41 + static const char * keys[] = {
  42 +
  43 + "Software\\" LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),
  44 + "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),
  45 +
  46 +#ifdef LIB3270_NAME
  47 + "Software\\" LIB3270_STRINGIZE_VALUE_OF(LIB3270_NAME),
  48 + "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" LIB3270_STRINGIZE_VALUE_OF(LIB3270_NAME),
  49 +#endif
  50 +
  51 + "Software\\pw3270",
  52 + "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\pw3270"
  53 + };
  54 +
  55 + size_t ix;
  56 +
  57 + string installLocation;
  58 +
  59 + *datadir = 0;
  60 +
  61 + for(ix = 0; !*datadir && ix < (sizeof(keys)/sizeof(keys[0])); ix++) {
  62 +
  63 + rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,keys[ix],0,KEY_QUERY_VALUE,&hKey);
  64 + if(rc == ERROR_SUCCESS) {
  65 +
  66 + unsigned long datatype; // #defined in winnt.h (predefined types 0-11)
  67 + unsigned long datalen = (unsigned long) szDatadir;
  68 +
  69 + memset(datadir,0,datalen);
  70 +
  71 + rc = RegQueryValueExA(hKey,"InstallLocation",NULL,&datatype,(LPBYTE) datadir,&datalen);
  72 + if(rc != ERROR_SUCCESS) {
  73 + *datadir = 0; // Just in case
  74 + }
  75 +
  76 + RegCloseKey(hKey);
  77 +
  78 + }
  79 +
  80 + }
  81 +
  82 +
  83 +
  84 + /*
37 85 #ifdef _WIN32
38 86 HKEY hKey = 0;
39 87 unsigned long datalen = strlen(datadir);
... ... @@ -48,6 +96,7 @@
48 96 RegCloseKey(hKey);
49 97 }
50 98 #endif // _WIN32
  99 +*/
51 100  
52 101 return *datadir;
53 102 }
... ...
src/core/windows/init.cc 0 → 100644
... ... @@ -0,0 +1,200 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +/**
  31 + * @file
  32 + *
  33 + * @brief Win32 delayed loading support methods.
  34 + *
  35 + * @author perry.werneck@gmail.com
  36 + *
  37 + */
  38 +
  39 + #include <config.h>
  40 + #include <winsock2.h>
  41 + #include <windows.h>
  42 + #include "../private.h"
  43 + #include <lmcons.h>
  44 + #include <delayimp.h>
  45 + #include <fcntl.h>
  46 + #include <string>
  47 + #include <stdexcept>
  48 + #include <lib3270.h>
  49 +
  50 + #ifdef USING_STATIC_IPC3270
  51 +
  52 + extern "C" {
  53 +
  54 + extern __declspec (dllexport) PfnDliHook __pfnDliNotifyHook2;
  55 + extern __declspec (dllexport) PfnDliHook __pfnDliFailureHook2;
  56 +
  57 + FARPROC WINAPI hllapi_delay_load_hook(unsigned reason, DelayLoadInfo * info);
  58 +
  59 + }
  60 +
  61 + using std::string;
  62 +
  63 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  64 +
  65 + // https://docs.microsoft.com/en-us/cpp/build/reference/loading-all-imports-for-a-delay-loaded-dll?view=vs-2019
  66 +
  67 + PfnDliHook __pfnDliNotifyHook2 = hllapi_delay_load_hook;
  68 + PfnDliHook __pfnDliFailureHook2 = hllapi_delay_load_hook;
  69 +
  70 + static HANDLE hModule = 0;
  71 + static HANDLE hEventLog = 0;
  72 +
  73 + BOOL WINAPI DllMain(HANDLE hInstance, DWORD dwcallpurpose, LPVOID lpvResvd) {
  74 + switch(dwcallpurpose) {
  75 + case DLL_PROCESS_ATTACH:
  76 + hModule = hInstance;
  77 + hEventLog = RegisterEventSource(NULL, LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME));
  78 + break;
  79 +
  80 + case DLL_PROCESS_DETACH:
  81 + hModule = 0;
  82 + DeregisterEventSource(hEventLog);
  83 + hEventLog = 0;
  84 + break;
  85 +
  86 + }
  87 +
  88 + return TRUE;
  89 + }
  90 +
  91 + static void eventlog(const char *msg) {
  92 +
  93 + char username[UNLEN + 1];
  94 + DWORD szName = sizeof(username);
  95 +
  96 + memset(username,0,UNLEN + 1);
  97 +
  98 + if(!GetUserName(username, &szName)) {
  99 + username[0] = 0;
  100 + }
  101 +
  102 + const char *outMsg[] = {
  103 + username,
  104 + PACKAGE_NAME,
  105 + msg
  106 + };
  107 +
  108 + debug("Event: \"%s\"",msg);
  109 +
  110 + ReportEvent(
  111 + hEventLog,
  112 + EVENTLOG_ERROR_TYPE,
  113 + 1,
  114 + 0,
  115 + NULL,
  116 + 3,
  117 + 0,
  118 + outMsg,
  119 + NULL
  120 + );
  121 +
  122 + }
  123 +
  124 + static void dummyProc() {
  125 + throw std::runtime_error("Operation not supported");
  126 + }
  127 +
  128 + FARPROC WINAPI hllapi_delay_load_hook(unsigned reason, DelayLoadInfo * info) {
  129 +
  130 + static string savedpath;
  131 +
  132 + // https://docs.microsoft.com/en-us/cpp/build/reference/structure-and-constant-definitions?view=vs-2019
  133 + switch (reason) {
  134 + case dliNoteStartProcessing:
  135 + {
  136 +
  137 + char datadir[4096];
  138 + memset(datadir,' ',sizeof(datadir));
  139 + datadir[sizeof(datadir)-1] = 0;
  140 +
  141 + hllapi_get_datadir(datadir);
  142 +
  143 + if(*datadir) {
  144 +
  145 + char curdir[4096];
  146 + memset(curdir,0,sizeof(curdir));
  147 +
  148 + if(GetCurrentDirectory(sizeof(curdir)-1,curdir)) {
  149 + savedpath = curdir;
  150 + } else {
  151 + savedpath.clear();
  152 + }
  153 +
  154 + SetCurrentDirectory(curdir);
  155 +
  156 + }
  157 +
  158 + }
  159 + break;
  160 +
  161 + case dliNoteEndProcessing:
  162 + if(!savedpath.empty()) {
  163 + SetCurrentDirectory(savedpath.c_str());
  164 + savedpath.clear();
  165 +
  166 + }
  167 + break;
  168 +
  169 + case dliNotePreLoadLibrary:
  170 + break;
  171 +
  172 + case dliNotePreGetProcAddress:
  173 + break;
  174 +
  175 + case dliFailLoadLib:
  176 + {
  177 + string msg = "Can't load ";
  178 + msg += (const char *) info->szDll;
  179 + eventlog(msg.c_str());
  180 + }
  181 + return (FARPROC) hModule;
  182 +
  183 + case dliFailGetProc:
  184 + {
  185 + string msg = "Can't find method on ";
  186 + msg += (const char *) info->szDll;
  187 + eventlog(msg.c_str());
  188 + }
  189 + return (FARPROC) dummyProc;
  190 +
  191 + }
  192 +
  193 + // Returning NULL causes the delay load machinery to perform default
  194 + // processing for this notification.
  195 + return NULL;
  196 +
  197 + }
  198 +
  199 + #endif // USING_STATIC_IPC3270
  200 +
... ...
src/include/config.h.in
... ... @@ -47,4 +47,7 @@
47 47 #undef PACKAGE_VERSION
48 48 #undef PACKAGE_RELEASE
49 49  
  50 + #undef USING_STATIC_IPC3270
  51 + #undef USING_DYNAMIC_IPC3270
  52 +
50 53 #endif /* CONFIG_H_INCLUDED */
... ...
src/testprogram/testprogram.cc
... ... @@ -44,7 +44,7 @@
44 44 char buffer[SCREEN_LENGTH+1];
45 45  
46 46 const char *host = "";
47   - const char *session = "pw3270:a";
  47 + const char *session = ""; // "pw3270:a";
48 48  
49 49 #pragma GCC diagnostic push
50 50 static struct option options[] =
... ...
win/hllapi.nsi
... ... @@ -4,11 +4,11 @@
4 4  
5 5 Name "hllapi"
6 6 Caption "hllapi - PW3270 HLLAPI Module"
7   -outfile "hllapi-5.2.19.9-i686.exe"
  7 +outfile "hllapi-5.2.19.9-x86_64.exe"
8 8  
9 9 XPStyle on
10 10  
11   -installDir "$PROGRAMFILES\hllapi"
  11 +installDir "$PROGRAMFILES64\hllapi"
12 12  
13 13 # Get installation folder from registry if available
14 14 InstallDirRegKey HKLM "Software\hllapi" "InstallLocation"
... ... @@ -17,10 +17,10 @@ RequestExecutionLevel admin
17 17  
18 18 # Properties
19 19 VIProductVersion "5.2.19.9"
20   -VIFileVersion "19.9.2.11"
  20 +VIFileVersion "19.9.23.14"
21 21  
22 22 VIAddVersionKey "ProductVersion" "5.2.19.9"
23   -VIAddVersionKey "FileVersion" "19.9.2.11"
  23 +VIAddVersionKey "FileVersion" "19.9.23.14"
24 24  
25 25 VIAddVersionKey "ProductName" "hllapi"
26 26 VIAddVersionKey "FileDescription" "PW3270 HLLAPI Module"
... ... @@ -51,7 +51,7 @@ SubSection &quot;hllapi&quot; SecMain
51 51  
52 52 Section "Core" SecCore
53 53  
54   - SetRegView 32
  54 + SetRegView 64
55 55 ${DisableX64FSRedirection}
56 56  
57 57 # define the output path for this file
... ... @@ -107,7 +107,7 @@ Section &quot;Uninstall&quot;
107 107 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\hllapi"
108 108 DeleteRegKey HKLM "Software\hllapi"
109 109  
110   - SetRegView 32
  110 + SetRegView 64
111 111 DeleteRegKey HKLM "Software\hllapi"
112 112  
113 113 SectionEnd
... ...
win/pack.sh
... ... @@ -2,6 +2,7 @@
2 2 PROJECT_DIR=$(readlink -f $(dirname $(dirname $(readlink -f $0))))
3 3  
4 4 PUBLISH=0
  5 +CLEAR_OLD=0
5 6  
6 7 pack() {
7 8  
... ... @@ -11,7 +12,8 @@ pack() {
11 12  
12 13 BUILDDIR=$(mktemp -d)
13 14  
14   - ./configure --cache=.${1}.cache \
  15 + ./configure \
  16 + --cache=.${1}.cache \
15 17 --host=${1}-w64-mingw32 \
16 18 --prefix=/usr/${1}-w64-mingw32/sys-root/mingw \
17 19 --bindir=${BUILDDIR} \
... ... @@ -54,19 +56,27 @@ pack() {
54 56 exit -1
55 57 fi
56 58  
57   - if [ -d ~/public_html ]; then
58   - mkdir -p ~/public_html/win
59   - cp -v *.exe ~/public_html/win
60   - if [ "$?" != "0" ]; then
61   - exit -1
  59 + PRODUCT_NAME=$(${1}-w64-mingw32-pkg-config --variable=product_name lib3270)
  60 +
  61 + if [ ! -z ${PRODUCT_NAME} ]; then
  62 +
  63 + if [ -d ~/public_html/win/${PRODUCT_NAME}/${2} ]; then
  64 +
  65 + if [ "${CLEAR_OLD}" == "1" ]; then
  66 + rm -fr ~/public_html/win/${PRODUCT_NAME}/${2}/hllapi-*.exe
  67 + fi
  68 +
  69 + cp -v *.exe ~/public_html/win/${PRODUCT_NAME}/${2}
  70 +
62 71 fi
63   - fi
64 72  
65   - if [ "${PUBLISH}" == "1" ] && [ ! -z ${WIN_PACKAGE_SERVER} ]; then
66   - scp *.exe ${WIN_PACKAGE_SERVER}
67   - if [ "$?" != "0" ]; then
68   - exit -1
  73 + if [ "${PUBLISH}" == "1" ] && [ ! -z ${WIN_PACKAGE_SERVER} ]; then
  74 + echo scp *.exe ${WIN_PACKAGE_SERVER}/${PRODUCT_NAME}/${2}
  75 + if [ "$?" != "0" ]; then
  76 + exit -1
  77 + fi
69 78 fi
  79 +
70 80 fi
71 81  
72 82 mv -f *.exe ${PROJECT_DIR}
... ... @@ -99,10 +109,7 @@ do
99 109 ;;
100 110  
101 111 CLEAR)
102   - if [ -d ~/public_html/win ]; then
103   - rm -fr ~/public_html/win/hllapi-*-{i686,x86_64}.exe
104   - fi
105   -
  112 + CLEAR_OLD=1
106 113 ;;
107 114 HELP)
108 115 echo "${0} nome_da_matriz"
... ... @@ -137,7 +144,7 @@ if [ &quot;$?&quot; != &quot;0&quot; ]; then
137 144 exit -1
138 145 fi
139 146  
140   -pack i686
141   -pack x86_64
  147 +pack i686 x86_32
  148 +pack x86_64 x86_64
142 149  
143 150  
... ...