clusterlb 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
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