Page MenuHomeDevCentral

Deploy Wraith on Eglide
AbandonedPublic

Authored by dereckson on Feb 23 2017, 19:57.
Tags
None
Referenced Files
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Unknown Object (File)
Mon, May 6, 21:07
Subscribers
None

Details

Summary

Wraith is IRC bot, http://wraith.botpack.net/

Requested by ThrX. Fixes T1159.

Test Plan

wraith

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Passed
Unit
No Test Coverage
Branch
wraith
Build Status
Buildable 1635
Build 1883: arc lint + arc unit

Event Timeline

dereckson edited edge metadata.

+ libssl-dev on Debian

configure: WARNING: Can't find Tcl configuration definitions. Use --with-tcl to specify a directory containing tclConfig.sh
configure: WARNING:

  Tcl cannot be found on this system.

  Tcl is not required. bdlib will be compiled without Tcl support. If you
  already have Tcl installed on this system, please specify the path by
  rerunning ./configure specifying --with-tcl or use --disable-script-tcl
  to hide this warning.

Sudo capability to allow builder to install wraith

Salt configuration looks good now, but we've an issue to compile bdlib with clang.

Rebased, deploy our own wraith and bdlib versions

Update submodules on clone

Builder script: Drop -std=gnu89 from ./configure on Debian, point --with-tcl to the folder, not tclConfig.sh on FreeBSD

Current status: bdlib ok, compile errors for wraith itself now, probably from the OpenSSL 1.1:

…

                 In file included from /usr/include/openssl/comp.h:16:0,
                                   from /usr/include/openssl/ssl.h:47,
                                   from libssl.h:16,
                                   from openssl.h:11,
                                   from net.h:15,
                                   from debug.h:31,
                                   from common.h:18,
                                   from auth.cc:8:
                  /usr/include/openssl/crypto.h:206:0: note: this is the location of the previous definition
                   # define CRYPTO_cleanup_all_ex_data() while(0) continue
                   
                  In file included from libcrypto.h:8:0,
                                   from openssl.h:12,
                                   from net.h:15,
                                   from debug.h:31,
                                   from common.h:18,
                                   from auth.cc:8:
                  .defs/libcrypto_pre.h:25:0: warning: "EVP_cleanup" redefined
                   #define EVP_cleanup ORIGINAL_SYMBOL_EVP_cleanup
                   
                  In file included from /usr/include/openssl/x509.h:23:0,
                                   from /usr/include/openssl/ssl.h:50,
                                   from libssl.h:16,
                                   from openssl.h:11,
                                   from net.h:15,
                                   from debug.h:31,
                                   from common.h:18,
                                   from auth.cc:8:
                  /usr/include/openssl/evp.h:866:0: note: this is the location of the previous definition
                   #  define EVP_cleanup() while(0) continue
                   
                  cc1plus: warning: unrecognized command line option ‘-Wno-invalid-source-encoding’
                  In file included from libssl.h:23:0,
                                   from openssl.h:11,
                                   from net.h:15,
                                   from debug.h:31,
                                   from common.h:18,
                                   from auth.cc:8:
                  .defs/libssl_post.h:26:1: error: expected unqualified-id before ‘do’
                   DLSYM_GLOBAL(,);
                   ^~
                  auth.cc:279:1: error: expected ‘}’ at end of input
                   }
                   ^
                  cc1plus: warning: unrecognized command line option ‘-Wno-invalid-source-encoding’
                  make[1]: *** [auth.So] Error 1
                  make: *** [dynamic] Error 2

Rebased, include openssl-legacy dependency, fix configure build install scrips

dereckson added inline comments.
roles/shellserver/userland-software/files/build-wraith
20

add --with-openssl to point to /opt/openssl-legacy/{lib,include}

Detect OpenSSL legacy, fix sls include issue

Use production branch for eglide/wraith repo, so master can be kept in sync with upstream

dereckson added inline comments.
roles/shellserver/userland-software/wraith.sls
13

To gets dirs, it will also require {% from "map.jinja" import dirs with context %}.

44

{{ pillar['dirs']['bin'] }} will be superseded by {{ dirs.bin }} as we switch from Pillar to a jinja map.

dereckson marked 2 inline comments as done.

Rebased against current master, map.jinja handling per rOPS38b7d85c9e4e.

Testing the build process.

roles/shellserver/userland-software/account.sls
36

Should be switch to dirs.bin too here, as we use map.jinja.

dereckson marked an inline comment as done.

dirs.bin

dereckson planned changes to this revision.EditedOct 7 2017, 08:44

Current status :

build logic works and is up to date, but the compilation fails:

misc.So: In function `restart(int)':
                  /opt/wraith/src/misc.cc:859: undefined reference to `__asan_report_store_n'                                                                                    /opt/wraith/src/misc.cc:857: undefined reference to `__asan_report_load4'                                                                                      /opt/wraith/src/misc.cc:858: undefined reference to `__asan_report_load4'                                                                                      /opt/wraith/src/misc.cc:857: undefined reference to `__asan_report_load4'                                                                                      /opt/wraith/src/misc.cc:855: undefined reference to `__asan_report_load1'                                                                                      /opt/wraith/src/misc.cc:853: undefined reference to `__asan_report_load1'                                                                                      /opt/wraith/src/misc.cc:851: undefined reference to `__asan_report_load1'

__asan functions are address sanitization, see https://github.com/google/sanitizers

This issue could be blocked upstream for gcc by https://savannah.gnu.org/patch/?8775 (according to https://github.com/fontforge/fontforge/issues/1930).

Perhaps a compilation through clang/llvm would be worthwhile.

Blocked by upstream issues on arm