clusterlb 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/Gemfile.lock +761 -1
  4. data/build.sh +4 -0
  5. data/clusterlb.gemspec +3 -0
  6. data/exe/clusterlb-stectrl +3 -2
  7. data/lib/clusterlb/version.rb +1 -1
  8. data/lib/clusterlb.rb +108 -5
  9. data/omnibus/.gitignore +10 -0
  10. data/omnibus/.kitchen.yml +41 -0
  11. data/omnibus/.ruby-version +1 -0
  12. data/omnibus/Berksfile +12 -0
  13. data/omnibus/Gemfile +21 -0
  14. data/omnibus/Gemfile.lock +284 -0
  15. data/omnibus/README.md +120 -0
  16. data/omnibus/build.sh +3 -0
  17. data/omnibus/config/patches/eventmachine/disable-extensions.patch +11 -0
  18. data/omnibus/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  19. data/omnibus/config/patches/libffi/libffi-3.2.1-makefiles-sparc.patch +24 -0
  20. data/omnibus/config/patches/libiconv/config.guess_2015-09-14.patch +2390 -0
  21. data/omnibus/config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch +29 -0
  22. data/omnibus/config/patches/libyaml/v0.1.6.windows-configure.patch +26 -0
  23. data/omnibus/config/patches/ncurses/config_guess_2015-09-24.patch +857 -0
  24. data/omnibus/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  25. data/omnibus/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  26. data/omnibus/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  27. data/omnibus/config/patches/openssl/openssl-1.0.2k-no-bang.patch +17 -0
  28. data/omnibus/config/patches/openssl/solaris-do-not-define-xopen-source.patch +24 -0
  29. data/omnibus/config/patches/pkg-config-lite/pkg-config-lite-0.28-1.config.guess.patch +992 -0
  30. data/omnibus/config/patches/ruby/ruby-2_1_3-no-mkmf.patch +22 -0
  31. data/omnibus/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  32. data/omnibus/config/patches/ruby/ruby-aix-configure-all-source.patch +11 -0
  33. data/omnibus/config/patches/ruby/ruby-aix-configure-use-bash.patch +8 -0
  34. data/omnibus/config/patches/ruby/ruby-aix-configure.patch +20 -0
  35. data/omnibus/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  36. data/omnibus/config/patches/ruby/ruby-mkmf.patch +29 -0
  37. data/omnibus/config/patches/ruby/ruby-no-m32-cflag.patch +38 -0
  38. data/omnibus/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  39. data/omnibus/config/patches/ruby/ruby-remove-headc.patch +10 -0
  40. data/omnibus/config/patches/ruby/ruby-solaris-linux-socket-compat.patch +42 -0
  41. data/omnibus/config/patches/ruby/ruby-take-windres-rcflags.patch +11 -0
  42. data/omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch +19 -0
  43. data/omnibus/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  44. data/omnibus/config/patches/ruby/ruby_nano.patch +68 -0
  45. data/omnibus/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  46. data/omnibus/config/projects/clusterlb.rb +38 -0
  47. data/omnibus/config/software/acme.sh.rb +18 -0
  48. data/omnibus/config/software/cacerts.rb +89 -0
  49. data/omnibus/config/software/clusterlb-gem.rb +25 -0
  50. data/omnibus/config/software/clusterlb-zlib.rb +55 -0
  51. data/omnibus/config/software/config_guess.rb +36 -0
  52. data/omnibus/config/software/libffi.rb +70 -0
  53. data/omnibus/config/software/libiconv.rb +62 -0
  54. data/omnibus/config/software/libtool.rb +55 -0
  55. data/omnibus/config/software/libyaml.rb +46 -0
  56. data/omnibus/config/software/makedepend.rb +43 -0
  57. data/omnibus/config/software/ncurses.rb +154 -0
  58. data/omnibus/config/software/oggcert-gem.rb +24 -0
  59. data/omnibus/config/software/openssl.rb +166 -0
  60. data/omnibus/config/software/pkg-config-lite.rb +45 -0
  61. data/omnibus/config/software/preparation.rb +30 -0
  62. data/omnibus/config/software/ruby.rb +238 -0
  63. data/omnibus/config/software/rubygems.rb +89 -0
  64. data/omnibus/config/software/util-macros.rb +43 -0
  65. data/omnibus/config/software/xproto.rb +43 -0
  66. data/omnibus/config/software/zlib.rb +84 -0
  67. data/omnibus/omnibus.rb +54 -0
  68. data/omnibus/package-scripts/clusterlb/postinst +17 -0
  69. data/omnibus/package-scripts/clusterlb/postrm +9 -0
  70. data/omnibus/package-scripts/clusterlb/preinst +7 -0
  71. data/omnibus/package-scripts/clusterlb/prerm +15 -0
  72. data/omnibus/resources/clusterlb/deb/conffiles.erb +3 -0
  73. data/omnibus/resources/clusterlb/deb/control.erb +25 -0
  74. data/omnibus/resources/clusterlb/deb/md5sums.erb +3 -0
  75. metadata +124 -2
@@ -0,0 +1,22 @@
1
+ diff --git a/lib/mkmf.rb b/lib/mkmf.rb
2
+ index b408ed7..7a9c9fe 100644
3
+ --- a/lib/mkmf.rb
4
+ +++ b/lib/mkmf.rb
5
+ @@ -365,5 +365,16 @@ module MakeMakefile
6
+ end
7
+
8
+ def libpath_env
9
+ + # Patch for aix
10
+ + # Ideally applications should not need LIBPATH/LD_LIBRARY_PATH set
11
+ + # and should rely on the embedded paths in binaries/shared objects
12
+ + # For chef say on AIX we already build using -blibpath and
13
+ + # LD_RUN_PATH, so the extensions built using chef embedded ruby
14
+ + # (using rbconfig) should have correct paths set.
15
+ + # Setting LIBPATH overrides the behaviour of programs invoked from
16
+ + # chef built ruby, for example xlc ends up picking up libiconv built
17
+ + # within chef embedded ruby libs instead of the one from /usr/lib
18
+ + return {}
19
+ +
20
+ # used only if native compiling
21
+ if libpathenv = config_string("LIBPATHENV")
22
+ pathenv = ENV[libpathenv]
@@ -0,0 +1,11 @@
1
+ --- ruby-2.1.2/ruby_atomic.h.orig 2014-09-29 14:08:29.000000000 -0500
2
+ +++ ruby-2.1.2/ruby_atomic.h 2014-09-29 14:08:41.000000000 -0500
3
+ @@ -117,6 +117,6 @@
4
+ # endif
5
+
6
+ #else
7
+ -typedef int rb_atomic_t;
8
+ +typedef long rb_atomic_t;
9
+ #define NEED_RUBY_ATOMIC_OPS
10
+ extern rb_atomic_t ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val);
11
+ extern rb_atomic_t ruby_atomic_compare_and_swap(rb_atomic_t *ptr,
@@ -0,0 +1,11 @@
1
+ --- ruby-2.3.0/configure.orig 2016-03-09 13:54:46.837241733 -0800
2
+ +++ ruby-2.3.0/configure 2016-03-09 13:56:14.837243314 -0800
3
+ @@ -7419,6 +7419,8 @@
4
+ test $ac_cv_safe_to_define___extensions__ = yes &&
5
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
6
+
7
+ + $as_echo "#undef _ALL_SOURCE" >>confdefs.h
8
+ +
9
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
10
+
11
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
@@ -0,0 +1,8 @@
1
+ --- ruby-2.4.1/configure.orig 2017-10-24 12:07:10.000000000 -0700
2
+ +++ ruby-2.4.1/configure 2017-10-24 13:59:19.000000000 -0700
3
+ @@ -1,4 +1,4 @@
4
+ -#! /bin/sh
5
+ +#!/bin/bash
6
+ # Guess values for system-dependent variables and create Makefiles.
7
+ # Generated by GNU Autoconf 2.69.
8
+ #
@@ -0,0 +1,20 @@
1
+ --- ruby-1.9.3-p547/configure.orig 2014-05-16 09:38:31 -0500
2
+ +++ ruby-1.9.3-p547/configure 2014-07-15 19:58:29 -0500
3
+ @@ -16488,6 +16488,7 @@
4
+ aix*) :
5
+ : ${LDSHARED='$(CC)'}
6
+ LDSHARED="$LDSHARED ${linker_flag}-G"
7
+ + DLDFLAGS='-eInit_$(TARGET)'
8
+ EXTDLDFLAGS='-e$(TARGET_ENTRY)'
9
+ XLDFLAGS="${linker_flag}"'-bE:$(ARCHFILE)'" ${linker_flag}-brtl"
10
+ XLDFLAGS="$XLDFLAGS ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"
11
+ @@ -17028,6 +17029,7 @@
12
+
13
+ LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS"
14
+ LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
15
+ - SOLIBS='-lm -lc'
16
+ + SOLIBS='-lm -lc -lz'
17
+ + LIBRUBY_SO='lib$(RUBY_SO_NAME).a'
18
+ ;; #(
19
+ beos*) :
20
+
@@ -0,0 +1,14 @@
1
+ --- ruby-2.1.2/vm_core.h.orig 2014-09-29 14:05:24.000000000 -0500
2
+ +++ ruby-2.1.2/vm_core.h 2014-09-29 14:05:39.000000000 -0500
3
+ @@ -392,8 +392,8 @@
4
+
5
+ /* postponed_job */
6
+ struct rb_postponed_job_struct *postponed_job_buffer;
7
+ - int postponed_job_index;
8
+ + long postponed_job_index;
9
+
10
+ - int src_encoding_index;
11
+ + long src_encoding_index;
12
+
13
+ VALUE verbose, debug, orig_progname, progname;
14
+ VALUE coverages;
@@ -0,0 +1,29 @@
1
+ --- a/lib/mkmf.rb 2016-06-16 16:19:13.000000000 -0400
2
+ +++ b/lib/mkmf.rb 2016-06-16 16:23:08.000000000 -0400
3
+ @@ -365,6 +365,17 @@
4
+ end
5
+
6
+ def libpath_env
7
+ + # Patch for aix
8
+ + # Ideally applications should not need LIBPATH/LD_LIBRARY_PATH set
9
+ + # and should rely on the embedded paths in binaries/shared objects
10
+ + # For chef say on AIX we already build using -blibpath and
11
+ + # LD_RUN_PATH, so the extensions built using chef embedded ruby
12
+ + # (using rbconfig) should have correct paths set.
13
+ + # Setting LIBPATH overrides the behaviour of programs invoked from
14
+ + # chef built ruby, for example xlc ends up picking up libiconv built
15
+ + # within chef embedded ruby libs instead of the one from /usr/lib
16
+ + return {}
17
+ +
18
+ # used only if native compiling
19
+ if libpathenv = config_string("LIBPATHENV")
20
+ pathenv = ENV[libpathenv]
21
+ @@ -1799,7 +1810,7 @@
22
+ #
23
+ if !CROSS_COMPILING
24
+ case CONFIG['build_os']
25
+ - when 'mingw32'
26
+ + when 'mingw32', 'mingw64'
27
+ def mkintpath(path)
28
+ # mingw uses make from msys and it needs special care
29
+ # converts from C:\some\path to /C/some/path
@@ -0,0 +1,38 @@
1
+ Only in ruby-2.4.4-orig: .document
2
+ Only in ruby-2.4.4-orig: .editorconfig
3
+ Only in ruby-2.4.4-orig: .ext
4
+ Only in ruby-2.4.4-orig: .gdbinit
5
+ Only in ruby-2.4.4-orig: .gitattributes
6
+ Only in ruby-2.4.4-orig: .gitignore
7
+ Only in ruby-2.4.4-orig: .indent.pro
8
+ Only in ruby-2.4.4-orig: .revision.time
9
+ Only in ruby-2.4.4-orig: .travis.yml
10
+ diff -U 2 ruby-2.4.4-orig/configure ruby-2.4.4/configure
11
+ --- ruby-2.4.4-orig/configure 2018-10-10 13:32:53.000000000 -0700
12
+ +++ ruby-2.4.4/configure 2018-10-10 13:41:11.000000000 -0700
13
+ @@ -5641,8 +5641,8 @@
14
+ # RUBY_UNIVERSAL_ARCH begin
15
+ ARCH_FLAG=`expr " $CXXFLAGS " : '.* \(-m[0-9][0-9]*\) '`
16
+ -test ${CXXFLAGS+set} && CXXFLAGS=`echo "$CXXFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
17
+ +#test ${CXXFLAGS+set} && CXXFLAGS=`echo "$CXXFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
18
+ ARCH_FLAG=`expr " $CFLAGS " : '.* \(-m[0-9][0-9]*\) '`
19
+ -test ${CFLAGS+set} && CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
20
+ -test ${LDFLAGS+set} && LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
21
+ +#test ${CFLAGS+set} && CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
22
+ +#test ${LDFLAGS+set} && LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'`
23
+ unset universal_binary universal_archnames
24
+ if test ${target_archs+set}; then
25
+ @@ -5701,5 +5701,5 @@
26
+ ARCH_FLAG=-m64 ;; #(
27
+ i[3-6]86) :
28
+ - ARCH_FLAG=-m32 ;; #(
29
+ + ;; #(
30
+ *) :
31
+ as_fn_error $? "unknown target architecture: $target_archs" "$LINENO" 5
32
+ @@ -5777,5 +5777,5 @@
33
+ ARCH_FLAG=-m64 ;; #(
34
+ i[3-6]86) :
35
+ - ARCH_FLAG=-m32 ;; #(
36
+ + ;; #(
37
+ *) :
38
+ as_fn_error $? "unknown target architecture: $target_archs" "$LINENO" 5
@@ -0,0 +1,13 @@
1
+ diff --git a/configure.dist b/configure
2
+ index d83c15a..bd4813c 100755
3
+ --- a/configure.dist
4
+ +++ b/configure
5
+ @@ -7491,6 +7491,6 @@ main ()
6
+ }
7
+ _ACEOF
8
+ if ac_fn_c_try_compile "$LINENO"; then :
9
+ - stack_protector=yes
10
+ + stack_protector=no
11
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12
+ $as_echo "yes" >&6; }
13
+ else
@@ -0,0 +1,10 @@
1
+ diff -U 2 ruby-2.4.4-orig/configure ruby-2.4.4/configure
2
+ --- ruby-2.4.4-orig/configure 2018-10-09 14:42:10.000000000 -0700
3
+ +++ ruby-2.4.4/configure 2018-10-09 14:40:33.000000000 -0700
4
+ @@ -425,5 +425,5 @@
5
+ else
6
+
7
+ - $as_echo_n " * $1: " | head -c26
8
+ + $as_echo_n " * $1: " | dd bs=1 count=26 2>/dev/null
9
+ if test "$FOLD"; then :
10
+
@@ -0,0 +1,42 @@
1
+ --- ruby-2.1.5/ext/socket/raddrinfo.c.orig Fri Mar 20 13:53:18 2015
2
+ +++ ruby-2.1.5/ext/socket/raddrinfo.c Fri Mar 20 13:53:34 2015
3
+ @@ -8,6 +8,39 @@
4
+
5
+ ************************************************/
6
+
7
+ +/* Linux kernel socket model compat defs.
8
+ + AIX/Solaris/HP-UX all use an alternate
9
+ + interface called DLPI. See the below and
10
+ + libpcap's pcap-dlpi.c for more info:
11
+ + http://www.oracle.com/technetwork/server-storage/solaris/solaris-linux-app-139382.html*/
12
+ +#define PACKET_HOST 0 /* To us. */
13
+ +#define PACKET_BROADCAST 1 /* To all. */
14
+ +#define PACKET_MULTICAST 2 /* To group. */
15
+ +#define PACKET_OTHERHOST 3 /* To someone else. */
16
+ +#define PACKET_OUTGOING 4 /* Originated by us . */
17
+ +#define PACKET_LOOPBACK 5
18
+ +#define PACKET_FASTROUTE 6
19
+ +
20
+ +/* Packet socket options. */
21
+ +
22
+ +#define PACKET_ADD_MEMBERSHIP 1
23
+ +#define PACKET_DROP_MEMBERSHIP 2
24
+ +#define PACKET_RECV_OUTPUT 3
25
+ +#define PACKET_RX_RING 5
26
+ +#define PACKET_STATISTICS 6
27
+ +
28
+ +struct packet_mreq
29
+ + {
30
+ + int mr_ifindex;
31
+ + unsigned short int mr_type;
32
+ + unsigned short int mr_alen;
33
+ + unsigned char mr_address[8];
34
+ + };
35
+ +
36
+ +#define PACKET_MR_MULTICAST 0
37
+ +#define PACKET_MR_PROMISC 1
38
+ +#define PACKET_MR_ALLMULTI 2
39
+ +
40
+ #include "rubysocket.h"
41
+
42
+ #if defined(INET6) && (defined(LOOKUP_ORDER_HACK_INET) || defined(LOOKUP_ORDER_HACK_INET6))
@@ -0,0 +1,11 @@
1
+ --- a/cygwin/GNUmakefile.in
2
+ +++ b/cygwin/GNUmakefile.in
3
+ @@ -2,7 +2,7 @@ include Makefile
4
+
5
+ ENABLE_SHARED=@ENABLE_SHARED@
6
+ DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)"
7
+ -WINDRES = @WINDRES@ --preprocessor="$(CPP) -xc" -DRC_INVOKED
8
+ +WINDRES = @WINDRES@ $(RCFLAGS) --preprocessor="$(CPP) -xc" -DRC_INVOKED
9
+
10
+ ifeq (@target_os@,cygwin)
11
+ DLL_BASE_NAME := $(LIBRUBY_SO:.dll=)
@@ -0,0 +1,19 @@
1
+ --- ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb_orig 2014-10-24 13:09:44.000000000 -0500
2
+ +++ ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb 2014-10-24 13:11:01.000000000 -0500
3
+ @@ -194,6 +194,14 @@
4
+ begin
5
+ ssl = OpenSSL::SSL::SSLSocket.new(sock, @ctx)
6
+ ssl.sync_close = true
7
+ - ssl.accept if @start_immediately
8
+ + if @start_immediately
9
+ + # Retry on EAGAIN (may be due to underlying inprogress for TLS handshake or renegotiation requested.)
10
+ + # Any other error is rescued further.
11
+ + begin
12
+ + ssl.accept
13
+ + rescue Errno::EAGAIN
14
+ + retry
15
+ + end
16
+ + end
17
+ ssl
18
+ rescue SSLError => ex
19
+ sock.close
@@ -0,0 +1,10 @@
1
+ --- ruby-1.9.3-p547/ext/openssl/extconf.rb.orig 2014-07-15 17:50:30 -0500
2
+ +++ ruby-1.9.3-p547/ext/openssl/extconf.rb 2014-07-15 17:50:39 -0500
3
+ @@ -34,5 +34,6 @@
4
+ end
5
+
6
+ Logging::message "=== Checking for system dependent stuff... ===\n"
7
+ +have_library("z", "inflate")
8
+ have_library("nsl", "t_open")
9
+ have_library("socket", "socket")
10
+ have_header("assert.h")
@@ -0,0 +1,68 @@
1
+ --- a/ext/win32ole/win32ole.c
2
+ +++ b/ext/win32ole/win32ole.c
3
+ @@ -50,6 +50,7 @@ static volatile DWORD g_ole_initialized_key = TLS_OUT_OF_INDEXES;
4
+ static BOOL g_uninitialize_hooked = FALSE;
5
+ static BOOL g_cp_installed = FALSE;
6
+ static BOOL g_lcid_installed = FALSE;
7
+ +static BOOL g_running_nano = FALSE;
8
+ static HINSTANCE ghhctrl = NULL;
9
+ static HINSTANCE gole32 = NULL;
10
+ static FNCOCREATEINSTANCEEX *gCoCreateInstanceEx = NULL;
11
+ @@ -817,16 +818,22 @@ ole_initialize(void)
12
+ }
13
+
14
+ if(g_ole_initialized == FALSE) {
15
+ - hr = OleInitialize(NULL);
16
+ + if(g_running_nano == TRUE) {
17
+ + hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
18
+ + } else {
19
+ + hr = OleInitialize(NULL);
20
+ + }
21
+ if(FAILED(hr)) {
22
+ ole_raise(hr, rb_eRuntimeError, "fail: OLE initialize");
23
+ }
24
+ g_ole_initialized_set(TRUE);
25
+
26
+ - hr = CoRegisterMessageFilter(&imessage_filter, &previous_filter);
27
+ - if(FAILED(hr)) {
28
+ - previous_filter = NULL;
29
+ - ole_raise(hr, rb_eRuntimeError, "fail: install OLE MessageFilter");
30
+ + if(g_running_nano == FALSE) {
31
+ + hr = CoRegisterMessageFilter(&imessage_filter, &previous_filter);
32
+ + if(FAILED(hr)) {
33
+ + previous_filter = NULL;
34
+ + ole_raise(hr, rb_eRuntimeError, "fail: install OLE MessageFilter");
35
+ + }
36
+ }
37
+ }
38
+ }
39
+ @@ -3890,10 +3897,29 @@ com_hash_size(const void *ptr)
40
+ }
41
+
42
+ void
43
+ +check_nano_server(void)
44
+ +{
45
+ + HKEY hsubkey;
46
+ + LONG err;
47
+ + const char * subkey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Server\\ServerLevels";
48
+ + const char * regval = "NanoServer";
49
+ +
50
+ + err = RegOpenKeyEx(HKEY_LOCAL_MACHINE, subkey, 0, KEY_READ, &hsubkey);
51
+ + if (err == ERROR_SUCCESS) {
52
+ + err = RegQueryValueEx(hsubkey, regval, NULL, NULL, NULL, NULL);
53
+ + if (err == ERROR_SUCCESS) {
54
+ + g_running_nano = TRUE;
55
+ + }
56
+ + RegCloseKey(hsubkey);
57
+ + }
58
+ +}
59
+ +
60
+ +void
61
+ Init_win32ole(void)
62
+ {
63
+ cWIN32OLE_lcid = LOCALE_SYSTEM_DEFAULT;
64
+ g_ole_initialized_init();
65
+ + check_nano_server();
66
+
67
+ com_vtbl.QueryInterface = QueryInterface;
68
+ com_vtbl.AddRef = AddRef;
@@ -0,0 +1,20 @@
1
+ --- zlib-1.2.8/win32/Makefile.gcc.orig 2016-02-11 13:46:54.000000000 -0500
2
+ +++ zlib-1.2.8/win32/Makefile.gcc 2016-02-11 13:53:08.000000000 -0500
3
+ @@ -57,6 +57,8 @@
4
+ RC = $(PREFIX)windres
5
+ RCFLAGS = --define GCC_WINDRES
6
+
7
+ +IMAGE_BASE = 0x63300000
8
+ +
9
+ STRIP = $(PREFIX)strip
10
+
11
+ CP = cp -fp
12
+ @@ -93,7 +95,7 @@
13
+ $(IMPLIB): $(SHAREDLIB)
14
+
15
+ $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
16
+ - $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
17
+ + $(CC) -shared -Wl,--out-implib,$(IMPLIB),--image-base,$(IMAGE_BASE) $(LDFLAGS) \
18
+ -o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
19
+ $(STRIP) $@
20
+
@@ -0,0 +1,38 @@
1
+ #
2
+ # Copyright 2019 YOUR NAME
3
+ #
4
+ # All Rights Reserved.
5
+ #
6
+
7
+ name "clusterlb"
8
+ maintainer "Dr. Ogg <ogg@sr375.com>"
9
+ homepage "https://CHANGE-ME.com"
10
+
11
+ # Defaults to C:/clusterlb on Windows
12
+ # and /opt/clusterlb on all other platforms
13
+ install_dir "#{default_root}/#{name}"
14
+
15
+ build_version Omnibus::BuildVersion.semver
16
+ # build_version "0.0.0"
17
+
18
+ build_iteration 1
19
+
20
+ # Creates required build directories
21
+ dependency "preparation"
22
+ dependency "clusterlb-gem"
23
+ dependency "oggcert-gem"
24
+ dependency "acme.sh"
25
+
26
+ # clusterlb dependencies/components
27
+ # dependency "somedep"
28
+
29
+ exclude "**/.git"
30
+ exclude "**/bundler/git"
31
+
32
+ package :rpm do
33
+ category "Monitoring"
34
+ vendor vendor
35
+ # if Gem::Version.new(platform_version) >= Gem::Version.new(6)
36
+ # signing_passphrase gpg_passphrase
37
+ # end
38
+ end
@@ -0,0 +1,18 @@
1
+ #https://github.com/Neilpang/acme.sh/releases
2
+ # https://github.com/Neilpang/acme.sh/archive/2.8.1.tar.gz
3
+ # https://github.com/Neilpang/acme.sh.git
4
+
5
+
6
+ name 'acme.sh'
7
+ default_version '2.8.1'
8
+ version('2.8.1') { source git: 'https://github.com/Neilpang/acme.sh.git' }
9
+
10
+ license 'GPLv3.0'
11
+ license_file 'LICENSE.md'
12
+
13
+ skip_transitive_dependency_licensing true
14
+
15
+ build do
16
+ copy 'acme.sh', "#{install_dir}/embedded/bin/"
17
+ copy "LICENSE.md", "#{install_dir}/licenses/acme.sh.md"
18
+ end
@@ -0,0 +1,89 @@
1
+ #
2
+ # Copyright 2012-2014 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "cacerts"
18
+
19
+ license "MPL-2.0"
20
+ license_file "https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt"
21
+ skip_transitive_dependency_licensing true
22
+
23
+ default_version "2018-01-17"
24
+
25
+ source url: "https://curl.haxx.se/ca/cacert-#{version}.pem"
26
+
27
+ version("2018-01-17") { source sha256: "defe310a0184a12e4b1b3d147f1d77395dd7a09e3428373d019bef5d542ceba3" }
28
+
29
+ version("2017-06-07") { source sha256: "e78c8ab7b4432bd466e64bb942d988f6c0ac91cd785017e465bdc96d42fe9dd0" }
30
+
31
+ version("2017-01-18") { source sha256: "e62a07e61e5870effa81b430e1900778943c228bd7da1259dd6a955ee2262b47" }
32
+
33
+ version("2016-04-20") { source sha256: "2c6d4960579b0d4fd46c6cbf135545116e76f2dbb7490e24cf330f2565770362" }
34
+
35
+ version "2016.01.20" do
36
+ source sha256: "674f211b2a5898f2740ea62f3003ce817cdbf5f00325ab3169b7bb9922fc7808"
37
+ source url: "https://curl.haxx.se/ca/cacert-2016-01-20.pem"
38
+ end
39
+
40
+ relative_path "cacerts-#{version}"
41
+
42
+ build do
43
+ mkdir "#{install_dir}/embedded/ssl/certs"
44
+
45
+ copy "#{project_dir}/cacert*.pem", "#{install_dir}/embedded/ssl/certs/cacert.pem"
46
+ copy "#{project_dir}/cacert*.pem", "#{install_dir}/embedded/ssl/cert.pem" if windows?
47
+
48
+ # Windows does not support symlinks
49
+ unless windows?
50
+ link "#{install_dir}/embedded/ssl/certs/cacert.pem", "#{install_dir}/embedded/ssl/cert.pem"
51
+
52
+ block { File.chmod(0644, "#{install_dir}/embedded/ssl/certs/cacert.pem") }
53
+ end
54
+ end
55
+
56
+ VERISIGN_CERTS = <<-EOH
57
+
58
+ Verisign Class 3 Public Primary Certification Authority
59
+ =======================================================
60
+ -----BEGIN CERTIFICATE-----
61
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
62
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
63
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
64
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
65
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
66
+ A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
67
+ f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
68
+ hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
69
+ TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
70
+ WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
71
+ Tqj/ZA1k
72
+ -----END CERTIFICATE-----
73
+
74
+ Verisign Class 3 Public Primary Certification Authority
75
+ =======================================================
76
+ -----BEGIN CERTIFICATE-----
77
+ MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
78
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
79
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
80
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
81
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
82
+ A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
83
+ f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
84
+ hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
85
+ CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
86
+ bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
87
+ D/xwzoiQ
88
+ -----END CERTIFICATE-----
89
+ EOH
@@ -0,0 +1,25 @@
1
+ name "sensu-gem"
2
+ default_version "0.1.6"
3
+
4
+ dependency "ruby"
5
+ dependency "ncurses"
6
+ dependency "rubygems"
7
+
8
+ build do
9
+ env = with_standard_compiler_flags(with_embedded_path)
10
+ skip_transitive_dependency_licensing true
11
+ patch_env = env.dup
12
+
13
+ # files_dir = "#{project.files_path}/#{name}"
14
+
15
+ gem "install clusterlb" \
16
+ " --version '#{version}'" \
17
+ " --bindir '#{install_dir}/embedded/bin'", env: env
18
+
19
+ bin_dir = File.join(install_dir, "bin")
20
+ embedded_bin_dir = File.join(install_dir, "embedded", "bin")
21
+ link("#{embedded_bin_dir}/clusterlb-stectrl", "#{bin_dir}/clusterlb-stectrl")
22
+
23
+
24
+
25
+ end
@@ -0,0 +1,55 @@
1
+ #
2
+ # Copyright 2019 YOUR NAME
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ # These options are required for all software definitions
18
+ name "clusterlb-zlib"
19
+ default_version "1.2.6"
20
+
21
+ # A software can specify more than one version that is available for install
22
+ version("1.2.6") { source md5: "618e944d7c7cd6521551e30b32322f4a" }
23
+ version("1.2.8") { source md5: "44d667c142d7cda120332623eab69f40" }
24
+
25
+ # Sources may be URLs, git locations, or path locations
26
+ source url: "http://downloads.sourceforge.net/project/libpng/zlib/#{version}/zlib-#{version}.tar.gz"
27
+
28
+ # This is the path, inside the tarball, where the source resides
29
+ relative_path "zlib-#{version}"
30
+
31
+ build do
32
+ # Setup a default environment from Omnibus - you should use this Omnibus
33
+ # helper everywhere. It will become the default in the future.
34
+ env = with_standard_compiler_flags(with_embedded_path)
35
+
36
+ # Manipulate any configure flags you wish:
37
+ # For some reason zlib needs this flag on solaris
38
+ env["CFLAGS"] << " -DNO_VIZ" if solaris?
39
+
40
+ # "command" is part of the build DSL. There are a number of handy options
41
+ # available, such as "copy", "sync", "ruby", etc. For a complete list, please
42
+ # consult the Omnibus gem documentation.
43
+ #
44
+ # "install_dir" is exposed and refers to the top-level projects +install_dir+
45
+ command "./configure" \
46
+ " --prefix=#{install_dir}/embedded", env: env
47
+
48
+ # You can have multiple steps - they are executed in the order in which they
49
+ # are read.
50
+ #
51
+ # "workers" is a DSL method that returns the most suitable number of
52
+ # builders for the currently running system.
53
+ command "make -j #{workers}", env: env
54
+ command "make -j #{workers} install", env: env
55
+ end
@@ -0,0 +1,36 @@
1
+ #
2
+ # Copyright 2015 Chef Software, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ name "config_guess"
18
+ default_version "master"
19
+
20
+ # Use our github mirror of the savannah repository
21
+ source git: "https://github.com/chef/config-mirror.git"
22
+
23
+ # http://savannah.gnu.org/projects/config
24
+ license "GPL-3.0 (with exception)"
25
+ license_file "config.guess"
26
+ license_file "config.sub"
27
+ skip_transitive_dependency_licensing true
28
+
29
+ relative_path "config_guess-#{version}"
30
+
31
+ build do
32
+ mkdir "#{install_dir}/embedded/lib/config_guess"
33
+
34
+ copy "#{project_dir}/config.guess", "#{install_dir}/embedded/lib/config_guess/config.guess"
35
+ copy "#{project_dir}/config.sub", "#{install_dir}/embedded/lib/config_guess/config.sub"
36
+ end