clusterlb 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/Gemfile.lock +761 -1
- data/build.sh +4 -0
- data/clusterlb.gemspec +3 -0
- data/exe/clusterlb-stectrl +3 -2
- data/lib/clusterlb/version.rb +1 -1
- data/lib/clusterlb.rb +108 -5
- data/omnibus/.gitignore +10 -0
- data/omnibus/.kitchen.yml +41 -0
- data/omnibus/.ruby-version +1 -0
- data/omnibus/Berksfile +12 -0
- data/omnibus/Gemfile +21 -0
- data/omnibus/Gemfile.lock +284 -0
- data/omnibus/README.md +120 -0
- data/omnibus/build.sh +3 -0
- data/omnibus/config/patches/eventmachine/disable-extensions.patch +11 -0
- data/omnibus/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
- data/omnibus/config/patches/libffi/libffi-3.2.1-makefiles-sparc.patch +24 -0
- data/omnibus/config/patches/libiconv/config.guess_2015-09-14.patch +2390 -0
- data/omnibus/config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch +29 -0
- data/omnibus/config/patches/libyaml/v0.1.6.windows-configure.patch +26 -0
- data/omnibus/config/patches/ncurses/config_guess_2015-09-24.patch +857 -0
- data/omnibus/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
- data/omnibus/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
- data/omnibus/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
- data/omnibus/config/patches/openssl/openssl-1.0.2k-no-bang.patch +17 -0
- data/omnibus/config/patches/openssl/solaris-do-not-define-xopen-source.patch +24 -0
- data/omnibus/config/patches/pkg-config-lite/pkg-config-lite-0.28-1.config.guess.patch +992 -0
- data/omnibus/config/patches/ruby/ruby-2_1_3-no-mkmf.patch +22 -0
- data/omnibus/config/patches/ruby/ruby-aix-atomic.patch +11 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure-all-source.patch +11 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure-use-bash.patch +8 -0
- data/omnibus/config/patches/ruby/ruby-aix-configure.patch +20 -0
- data/omnibus/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
- data/omnibus/config/patches/ruby/ruby-mkmf.patch +29 -0
- data/omnibus/config/patches/ruby/ruby-no-m32-cflag.patch +38 -0
- data/omnibus/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
- data/omnibus/config/patches/ruby/ruby-remove-headc.patch +10 -0
- data/omnibus/config/patches/ruby/ruby-solaris-linux-socket-compat.patch +42 -0
- data/omnibus/config/patches/ruby/ruby-take-windres-rcflags.patch +11 -0
- data/omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch +19 -0
- data/omnibus/config/patches/ruby/ruby_aix_openssl.patch +10 -0
- data/omnibus/config/patches/ruby/ruby_nano.patch +68 -0
- data/omnibus/config/patches/zlib/zlib-windows-relocate.patch +20 -0
- data/omnibus/config/projects/clusterlb.rb +38 -0
- data/omnibus/config/software/acme.sh.rb +18 -0
- data/omnibus/config/software/cacerts.rb +89 -0
- data/omnibus/config/software/clusterlb-gem.rb +25 -0
- data/omnibus/config/software/clusterlb-zlib.rb +55 -0
- data/omnibus/config/software/config_guess.rb +36 -0
- data/omnibus/config/software/libffi.rb +70 -0
- data/omnibus/config/software/libiconv.rb +62 -0
- data/omnibus/config/software/libtool.rb +55 -0
- data/omnibus/config/software/libyaml.rb +46 -0
- data/omnibus/config/software/makedepend.rb +43 -0
- data/omnibus/config/software/ncurses.rb +154 -0
- data/omnibus/config/software/oggcert-gem.rb +24 -0
- data/omnibus/config/software/openssl.rb +166 -0
- data/omnibus/config/software/pkg-config-lite.rb +45 -0
- data/omnibus/config/software/preparation.rb +30 -0
- data/omnibus/config/software/ruby.rb +238 -0
- data/omnibus/config/software/rubygems.rb +89 -0
- data/omnibus/config/software/util-macros.rb +43 -0
- data/omnibus/config/software/xproto.rb +43 -0
- data/omnibus/config/software/zlib.rb +84 -0
- data/omnibus/omnibus.rb +54 -0
- data/omnibus/package-scripts/clusterlb/postinst +17 -0
- data/omnibus/package-scripts/clusterlb/postrm +9 -0
- data/omnibus/package-scripts/clusterlb/preinst +7 -0
- data/omnibus/package-scripts/clusterlb/prerm +15 -0
- data/omnibus/resources/clusterlb/deb/conffiles.erb +3 -0
- data/omnibus/resources/clusterlb/deb/control.erb +25 -0
- data/omnibus/resources/clusterlb/deb/md5sums.erb +3 -0
- 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
|