From 35a7ccf9703ad93901d4a67c83419adbb8b05d64 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Wed, 23 Aug 2023 08:58:17 +0200 Subject: [PATCH] wazuh --- glicid/packages/wazuh.scm | 81 ++++++++++++++-- glicid/packages/wazuh.scm.old | 176 ++++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 glicid/packages/wazuh.scm.old diff --git a/glicid/packages/wazuh.scm b/glicid/packages/wazuh.scm index 1df5fa0..b3826dd 100644 --- a/glicid/packages/wazuh.scm +++ b/glicid/packages/wazuh.scm @@ -6,6 +6,7 @@ #:use-module (guix build utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system cargo) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -22,6 +23,7 @@ #:use-module (gnu packages serialization) #:use-module (gnu packages admin) #:use-module (gnu packages libffi) + #:use-module (gnu packages gnupg) #:use-module (gnu packages libusb) #:use-module (gnu packages python-xyz) #:use-module (gnu packages check) @@ -33,22 +35,25 @@ #:use-module (gnu packages commencement) #:use-module (gnu packages python) #:use-module (gnu packages bash) + #:use-module (gnu packages shells) + #:use-module (gnu packages ruby) + #:use-module (gnu packages tcl) + #:use-module (gnu packages crates-io) #:use-module (glicid utils) ) (define-public wazuh-agent (package (name "wazuh-agent") - (version "4.3.10") + (version "4.4.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/wazuh/wazuh/archive/refs/tags/v" version ".tar.gz" )) - (sha256 (base32 "0zy6w004n7px2zhy6dws1mz6mj13gcff5jy1c7jnzvf6rasbaah7")))) + (sha256 (base32 "1wr9i4vgqfmm9cgi6yfchbmzakcsnb5bww7vqw38c702c9fa1l31")))) (build-system cmake-build-system) (arguments `( #:phases (modify-phases %standard-phases - (delete 'configure) (add-after 'unpack 'extract-deps (lambda* (#:key inputs native-inputs #:allow-other-keys) (begin @@ -64,8 +69,10 @@ (invoke "cp" "-rv" deps-src (string-append "src/external/" deps)))) (list "cjson" "googletest") ) + (invoke "mv" "src/external/pcre2" "src/external/libpcre2") (invoke "mv" "src/external/audit" "src/external/audit-userspace") (invoke "mv" "src/external/cjson" "src/external/cJSON") + (chmod "src/external/cJSON" #o750) (for-each (lambda (file) (chmod file #o750)) @@ -73,6 +80,7 @@ (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/cJSON" #:directories? #t)) + (chmod "src/external/googletest" #o750) (for-each (lambda (file) (chmod file #o750)) @@ -80,12 +88,35 @@ (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/googletest" #:directories? #t)) + + (chmod "src/external/libpcre2" #o750) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/libpcre2")) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/libpcre2" #:directories? #t)) + #t))) + (delete 'configure) (replace 'build - (lambda _ - (setenv "CC" ,(cc-for-target)) - (invoke "make" "-C" "src" "TARGET=agent" "build")))))) - (inputs `( ("cjson" ,(package-source cjson)) + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + ) + (setenv "CC" ,(cc-for-target)) + (setenv "PREFIX" out) + (setenv "CONFIG_SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") + (setenv "SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") + (invoke "mkdir" "build") + (invoke "cd" "build") + (invoke "cmake" "build_sysinfo build_shared_modules" "..") + (invoke "cmake" "wazuh-agentd agent-auth wazuh-logcollector wazuh-syscheckd wazuh-execd manage_agents active-responses wazuh-modulesd" "..") +; (invoke "make" "-C" "src" "SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" "CONFIG_SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" (string-append "PREFIX=" out) "TARGET=agent" "build") + ) + + )) + ))) + (inputs `(("cjson" ,(package-source cjson)) ("zlib" ,(package-source zlib)) ("sqlite" ,(package-source sqlite)) ("openssl" ,(package-source openssl)) @@ -104,12 +135,44 @@ ("zlib" ,(package-source zlib)) ("perl", perl) ("python", python) + ("python-wrapper", python-wrapper) + ("oksh", oksh) + ("rc", rc) + ("ruby", ruby) + ("expect", expect) + ("runscript", runscript) + ("bash", bash) + ("libgcrypt", libgcrypt) )) - ;(inputs (list autoconf bzip2 coreutils libtool openssl policycoreutils wget python bash grep curl nss-certs le-certs unzip zip gzip tar findutils sed perl gawk cmake cmake-shared clang-toolchain gcc-toolchain cjson)) - ; make (synopsis "") (description "") (home-page "https://github.com/wazuh/wazuh/") (license lic:gpl2))) + + +(define-public runscript + (package + (name "runscript") + (version "1.0.0-beta.7+2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/TheOnlyMrCat/runscript/archive/refs/tags/v" version ".tar.gz" )) + (sha256 (base32 "168h815vdkvya2jbv0gddcy5lbah08wsvs14v9qcbkpp8ixr59qk")))) + (build-system cargo-build-system) + (inputs (list rust-atty-0.2 rust-cfg-if-1 rust-clap-3 rust-exitcode-1 rust-glob-0.3 rust-indexmap-1 rust-itertools-0.10 rust-os-info-3 + rust-serde-1 rust-tempfile-3 rust-termcolor-1 rust-toml-0.5 rust-uuid-0.8 rust-nix-0.23 rust-winapi-0.3 + rust-hermit-abi-0.1 rust-libc-0.2 rust-bitflags-1.2 rust-clap-derive-3 rust-clap-lex-0.2 rust-once-cell-1 rust-strsim-0.10 + rust-textwrap-0.16 rust-hashbrown-0.12 rust-autocfg-1 rust-either-1 rust-log-0.4 rust-serde-derive-1 rust-fastrand-1 + rust-remove-dir-all-0.5 rust-redox-syscall-0.2 rust-winapi-util-0.1 rust-getrandom-0.2 rust-memoffset-0.6 + rust-cc-1 rust-heck-0.4 rust-proc-macro-error-1 rust-proc-macro2-1 rust-quote-1 rust-syn-1 rust-syn-2 rust-os-str-bytes-6 + rust-instant-0.1 rust-wasi-0.11 rust-proc-macro-error-attr-1 rust-version-check-0.9 + )) + (synopsis "") + (description "") + (home-page "https://github.com/TheOnlyMrCat/runscript") + (license lic:asl2.0))) + + + wazuh-agent diff --git a/glicid/packages/wazuh.scm.old b/glicid/packages/wazuh.scm.old new file mode 100644 index 0000000..f165afa --- /dev/null +++ b/glicid/packages/wazuh.scm.old @@ -0,0 +1,176 @@ +(define-module (glicid packages wazuh) + #:use-module ((guix licenses) #:prefix lic:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cargo) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages selinux) + #:use-module (gnu packages wget) + #:use-module (gnu packages curl) + #:use-module (gnu packages certs) ; not sure if needed + #:use-module (gnu packages perl) + #:use-module (gnu packages gawk) + #:use-module (gnu packages cmake) + #:use-module (gnu packages javascript) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages serialization) + #:use-module (gnu packages admin) + #:use-module (gnu packages libffi) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages libusb) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages check) + #:use-module (gnu packages pcre) + #:use-module (gnu packages popt) + #:use-module (gnu packages package-management) + #:use-module (gnu packages llvm) + #:use-module (gnu packages tls) + #:use-module (gnu packages commencement) + #:use-module (gnu packages python) + #:use-module (gnu packages bash) + #:use-module (gnu packages shells) + #:use-module (gnu packages ruby) + #:use-module (gnu packages tcl) + #:use-module (gnu packages crates-io) + #:use-module (glicid utils) + ) + +(define-public wazuh-agent + (package + (name "wazuh-agent") + (version "4.4.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/wazuh/wazuh/archive/refs/tags/v" version ".tar.gz" )) + (sha256 (base32 "1wr9i4vgqfmm9cgi6yfchbmzakcsnb5bww7vqw38c702c9fa1l31")))) + (build-system cmake-build-system) + (arguments + `( + #:phases (modify-phases %standard-phases + (add-after 'unpack 'extract-deps + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + (for-each (lambda (deps) + (format #t (string-append "decompressing source code for " deps "~%")) + (mkdir-p (string-append "src/external/" deps)) + (let ((tar (assoc-ref inputs "tar")) (deps-src (assoc-ref inputs deps ))) + (invoke (string-append tar "/bin/tar") "xvf" deps-src "--strip-components=1" "-C" (string-append "src/external/" deps)))) + (list "zlib" "sqlite" "openssl" "curl" "libyaml" "audit" "libffi" "libplist" "python-cython" "msgpack" "bzip2" "pcre2" "rpm" "popt") ) + (for-each (lambda (deps) + (format #t (string-append "decompressing source code for " deps "~%")) + (let ((deps-src (assoc-ref inputs deps ))) + (invoke "cp" "-rv" deps-src (string-append "src/external/" deps)))) + (list "cjson" "googletest") + ) + (invoke "mv" "src/external/pcre2" "src/external/libpcre2") + (invoke "mv" "src/external/audit" "src/external/audit-userspace") + (invoke "mv" "src/external/cjson" "src/external/cJSON") + + (chmod "src/external/cJSON" #o750) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/cJSON")) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/cJSON" #:directories? #t)) + + (chmod "src/external/googletest" #o750) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/googletest")) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/googletest" #:directories? #t)) + + (chmod "src/external/libpcre2" #o750) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/libpcre2")) + (for-each (lambda (file) + (chmod file #o750)) + (find-files "src/external/libpcre2" #:directories? #t)) + + #t))) + (delete 'configure) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + ) + (setenv "CC" ,(cc-for-target)) + (setenv "PREFIX" out) + (setenv "CONFIG_SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") + (setenv "SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") + (invoke "make" "-C" "src" "build_sysinfo build_shared_modules") + (invoke "make" "-C" "src" "wazuh-agentd agent-auth wazuh-logcollector wazuh-syscheckd wazuh-execd manage_agents active-responses wazuh-modulesd") +; (invoke "make" "-C" "src" "SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" "CONFIG_SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" (string-append "PREFIX=" out) "TARGET=agent" "build") + ) + + )) + ))) + (inputs `(("cjson" ,(package-source cjson)) + ("zlib" ,(package-source zlib)) + ("sqlite" ,(package-source sqlite)) + ("openssl" ,(package-source openssl)) + ("curl" ,(package-source curl)) + ("libyaml" ,(package-source libyaml)) + ("audit" ,(package-source audit)) + ("libffi" ,(package-source libffi)) + ("libplist" ,(package-source libplist)) + ("python-cython" ,(package-source python-cython)) + ("msgpack" ,(package-source msgpack)) + ("bzip2" ,(package-source bzip2)) + ("googletest" ,(package-source googletest)) + ("pcre2" ,(package-source pcre2)) + ("rpm" ,(package-source rpm)) + ("popt" ,(package-source popt)) + ("zlib" ,(package-source zlib)) + ("perl", perl) + ("python", python) + ("python-wrapper", python-wrapper) + ("oksh", oksh) + ("rc", rc) + ("ruby", ruby) + ("expect", expect) + ("runscript", runscript) + ("bash", bash) + ("libgcrypt", libgcrypt) + )) + (synopsis "") + (description "") + (home-page "https://github.com/wazuh/wazuh/") + (license lic:gpl2))) + + + +(define-public runscript + (package + (name "runscript") + (version "1.0.0-beta.7+2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/TheOnlyMrCat/runscript/archive/refs/tags/v" version ".tar.gz" )) + (sha256 (base32 "168h815vdkvya2jbv0gddcy5lbah08wsvs14v9qcbkpp8ixr59qk")))) + (build-system cargo-build-system) + (inputs (list rust-atty-0.2 rust-cfg-if-1 rust-clap-3 rust-exitcode-1 rust-glob-0.3 rust-indexmap-1 rust-itertools-0.10 rust-os-info-3 + rust-serde-1 rust-tempfile-3 rust-termcolor-1 rust-toml-0.5 rust-uuid-0.8 rust-nix-0.23 rust-winapi-0.3 + rust-hermit-abi-0.1 rust-libc-0.2 rust-bitflags-1.2 rust-clap-derive-3 rust-clap-lex-0.2 rust-once-cell-1 rust-strsim-0.10 + rust-textwrap-0.16 rust-hashbrown-0.12 rust-autocfg-1 rust-either-1 rust-log-0.4 rust-serde-derive-1 rust-fastrand-1 + rust-remove-dir-all-0.5 rust-redox-syscall-0.2 rust-winapi-util-0.1 rust-getrandom-0.2 rust-memoffset-0.6 + rust-cc-1 rust-heck-0.4 rust-proc-macro-error-1 rust-proc-macro2-1 rust-quote-1 rust-syn-1 rust-syn-2 rust-os-str-bytes-6 + rust-instant-0.1 rust-wasi-0.11 rust-proc-macro-error-attr-1 rust-version-check-0.9 + )) + (synopsis "") + (description "") + (home-page "https://github.com/TheOnlyMrCat/runscript") + (license lic:asl2.0))) + + + +wazuh-agent