diff --git a/packages/build.sh b/packages/build.sh index cb42a04efa..f79be2be84 100755 --- a/packages/build.sh +++ b/packages/build.sh @@ -71,27 +71,17 @@ set_vcpkg_remote_binary_cache(){ if [[ $(mono --version 2>/dev/null) =~ [0-9] ]]; then echo "mono already installed, proceeding" - - git clone --branch master --single-branch https://github.com/microsoft/vcpkg.git - pushd vcpkg - - export VCPKG_ROOT="$(pwd)" - - git checkout "2024.09.30" - - export VCPKG_BINARY_SOURCES="clear;nuget,GitHub,readwrite" - ./bootstrap-vcpkg.sh - mono `./vcpkg fetch nuget | tail -n 1` \ + NUGET_PATH="/usr/local/bin/nuget" + curl -o $NUGET_PATH https://dist.nuget.org/win-x86-commandline/v6.10.2/nuget.exe + mono $NUGET_PATH \ sources add \ -source "https://nuget.pkg.github.com/wazuh/index.json" \ -name "GitHub" \ -username "wazuh" \ -password "$vcpkg_token" - mono `./vcpkg fetch nuget | tail -n 1` \ + mono $NUGET_PATH \ setapikey "$vcpkg_token" \ - -source "https://nuget.pkg.github.com/wazuh/index.json" - - popd + -source "https://nuget.pkg.github.com/wazuh/index.json" else echo "mono in not installed, remote binary caching not being enabled" fi diff --git a/packages/debs/SPECS/wazuh-agent/debian/control b/packages/debs/SPECS/wazuh-agent/debian/control index c7875698cb..3ff74a90da 100644 --- a/packages/debs/SPECS/wazuh-agent/debian/control +++ b/packages/debs/SPECS/wazuh-agent/debian/control @@ -2,7 +2,7 @@ Source: wazuh-agent Section: admin Priority: extra Maintainer: Wazuh, Inc -Build-Depends: debhelper (>= 7.0.50~), make, gcc, linux-libc-dev, gawk, libaudit-dev, selinux-basics +Build-Depends: debhelper (>= 7.0.50~), make, gcc, linux-libc-dev, gawk, selinux-basics Standards-Version: 3.8.4 Homepage: https://www.wazuh.com diff --git a/packages/debs/amd64/agent/Dockerfile b/packages/debs/amd64/agent/Dockerfile index 5a723a22f4..7c290e0574 100644 --- a/packages/debs/amd64/agent/Dockerfile +++ b/packages/debs/amd64/agent/Dockerfile @@ -2,16 +2,11 @@ FROM debian:10 ENV DEBIAN_FRONTEND=noninteractive -# Installing necessary packages RUN apt-get update && apt-get install -y build-essential \ - curl wget git gawk devscripts sudo libssl-dev \ - unzip zip tar texinfo pkg-config clang-tidy uuid \ - libmpfr-dev libgmp3-dev libmpc-dev autopoint libtool \ - zlib1g-dev libgcrypt20-dev libmagic-dev libpopt-dev \ - libmagic-dev libsqlite3-dev gettext \ - ninja-build libsystemd-dev libaudit-dev selinux-basics \ - libarchive-dev debhelper libssl-dev libbz2-dev \ - && rm -rf /var/lib/apt/lists/* + curl wget git devscripts sudo libssl-dev unzip zip \ + tar pkg-config autopoint libtool gettext ninja-build \ + libsystemd-dev selinux-basics debhelper \ + && rm -rf /var/lib/apt/lists/* RUN echo "deb http://ftp.de.debian.org/debian bullseye main" >>/etc/apt/sources.list && \ apt-get update && apt-get install -y g++-10 && rm -rf /var/lib/apt/lists/* @@ -35,23 +30,6 @@ RUN curl -OL https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3. make -j$(nproc) && make install && ln -fs /usr/local/bin/cmake /usr/bin/cmake && \ cd / && rm -rf cmake-* -RUN curl -sO https://lua.org/ftp/lua-5.4.7.tar.gz && tar -xzvf lua-5.4.7.tar.gz && \ - cd lua-5.4.7 && make -j$(nproc) linux CFLAGS+="-fPIC" LDFLAGS+="-fPIC" && make install && \ - ln -fs /usr/local/bin/lua /usr/bin/lua && cd / && rm -rf lua* - -RUN mkdir -p /usr/local/lib/pkgconfig && \ - echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ - echo "prefix=/usr/local" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "exec_prefix=\${prefix}" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "libdir=\${exec_prefix}/lib" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "includedir=\${prefix}/include" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Name: Lua" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Description: Lua" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Version: 5.4.7" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Libs: -L\${libdir} -llua -lm" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Cflags: -I\${includedir}" >> /usr/local/lib/pkgconfig/lua.pc - RUN git config --global --add safe.directory /wazuh-local-src RUN apt update && apt install dirmngr gnupg apt-transport-https ca-certificates -y && \ diff --git a/packages/debs/arm64/agent/Dockerfile b/packages/debs/arm64/agent/Dockerfile index 8dca8175c0..8fcb793c11 100644 --- a/packages/debs/arm64/agent/Dockerfile +++ b/packages/debs/arm64/agent/Dockerfile @@ -2,16 +2,11 @@ FROM arm64v8/debian:10 ENV DEBIAN_FRONTEND=noninteractive -# Installing necessary packages RUN apt-get update && apt-get install -y build-essential \ - curl wget git gawk devscripts sudo libssl-dev \ - unzip zip tar texinfo pkg-config clang-tidy uuid \ - libmpfr-dev libgmp3-dev libmpc-dev autopoint libtool \ - zlib1g-dev libgcrypt20-dev libmagic-dev libpopt-dev \ - libmagic-dev libsqlite3-dev gettext ninja-build \ - ninja-build libsystemd-dev libaudit-dev selinux-basics \ - libarchive-dev debhelper libssl-dev libbz2-dev \ - && rm -rf /var/lib/apt/lists/* + curl wget git devscripts sudo libssl-dev unzip zip \ + tar pkg-config autopoint libtool gettext ninja-build \ + libsystemd-dev selinux-basics debhelper nuget \ + && rm -rf /var/lib/apt/lists/* RUN echo "deb http://ftp.de.debian.org/debian bullseye main" >>/etc/apt/sources.list && \ apt-get update && apt-get install -y g++-10 && rm -rf /var/lib/apt/lists/* @@ -35,26 +30,8 @@ RUN curl -OL https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3. make -j$(nproc) && make install && ln -s /usr/local/bin/cmake /usr/bin/cmake && \ cd / && rm -rf cmake-* -RUN curl -sO https://lua.org/ftp/lua-5.4.7.tar.gz && tar -xzvf lua-5.4.7.tar.gz && \ - cd lua-5.4.7 && make -j$(nproc) linux CFLAGS+="-fPIC" LDFLAGS+="-fPIC" && make install && \ - ln -fs /usr/local/bin/lua /usr/bin/lua && cd / && rm -rf lua* - -RUN mkdir -p /usr/local/lib/pkgconfig && \ - echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ - echo "prefix=/usr/local" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "exec_prefix=\${prefix}" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "libdir=\${exec_prefix}/lib" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "includedir=\${prefix}/include" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Name: Lua" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Description: Lua" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Version: 5.4.7" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Libs: -L\${libdir} -llua -lm" >> /usr/local/lib/pkgconfig/lua.pc && \ - echo "Cflags: -I\${includedir}" >> /usr/local/lib/pkgconfig/lua.pc - RUN git config --global --add safe.directory /wazuh-local-src -RUN apt update && apt install dirmngr gnupg apt-transport-https ca-certificates -y && \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ - sh -c 'echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list' && \ - apt update && apt install mono-complete -y +RUN git clone https://github.com/mono/mono.git && cd mono && \ + ./autogen.sh --prefix=/usr/local && make -j $(nproc) && make install -j $(nproc) && \ + cd .. && rm -rf mono && update-ca-certificates && cert-sync /etc/ssl/certs/ca-certificates.crt diff --git a/packages/debs/armhf/agent/Dockerfile b/packages/debs/armhf/agent/Dockerfile deleted file mode 100644 index 1029339b33..0000000000 --- a/packages/debs/armhf/agent/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -FROM arm32v7/debian:stretch - -ENV DEBIAN_FRONTEND noninteractive - -# Installing necessary packages -RUN echo "deb http://archive.debian.org/debian stretch contrib main non-free" > /etc/apt/sources.list && \ - echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list && \ - echo "deb-src http://archive.debian.org/debian stretch main" >> /etc/apt/sources.list && \ - apt-get update && apt-get install -y --allow-change-held-packages apt-utils \ - curl gcc make wget sudo expect gnupg perl-base \ - perl libc-bin libc6 libc6-dev \ - build-essential cdbs devscripts equivs automake autoconf libtool \ - libaudit-dev selinux-basics util-linux libdb5.1 \ - libssl1.1 libssl-dev gawk libsigsegv2 procps libc6-armel-cross g++ - -# Add Debian's source repository and, Install NodeJS 12 -RUN apt-get build-dep python3.5 -y --allow-change-held-packages -RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ - apt-get install -y --allow-change-held-packages nodejs - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - linux32 ./contrib/download_prerequisites && \ - linux32 ./configure --prefix=/usr/local/gcc-9.4.0 --with-arch=armv7-a \ - --with-fpu=vfpv3-d16 --with-float=hard --enable-languages=c,c++ \ - --disable-multilib --disable-libsanitizer && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib/" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxvf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - linux32 ./bootstrap --no-system-curl && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -s /usr/local/bin/cmake /usr/bin/cmake && cd / && rm -rf cmake-* diff --git a/packages/debs/i386/agent/Dockerfile b/packages/debs/i386/agent/Dockerfile deleted file mode 100644 index 9249b5429a..0000000000 --- a/packages/debs/i386/agent/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM i386/debian:7 - -ENV DEBIAN_FRONTEND noninteractive - -# Installing necessary packages -RUN echo "deb http://archive.debian.org/debian/ wheezy contrib main non-free" > /etc/apt/sources.list && \ - echo "deb-src http://archive.debian.org/debian/ wheezy contrib main non-free" >> /etc/apt/sources.list && \ - apt-get update && apt-get install -y --force-yes apt-utils && \ - apt-get install -y --force-yes \ - curl gcc-multilib make wget sudo expect gnupg perl-base=5.14.2-21+deb7u3 \ - perl libc-bin=2.13-38+deb7u10 libc6=2.13-38+deb7u10 libc6-dev \ - build-essential cdbs devscripts equivs automake autoconf libtool \ - libaudit-dev selinux-basics util-linux libdb5.1=5.1.29-5 libdb5.1-dev \ - libssl1.0.0=1.0.1e-2+deb7u20 gawk libsigsegv2 procps - -# Add Debian's source repository -RUN apt-get update && apt-get build-dep python3.2 -y --force-yes -RUN sed -i "s;/\* To add :#define SO_REUSEPORT 15 \*/;#define SO_REUSEPORT 15;g" /usr/include/asm-generic/socket.h - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - linux32 ./contrib/download_prerequisites && \ - linux32 ./configure --prefix=/usr/local/gcc-9.4.0 --enable-languages=c,c++ \ - --disable-multilib --disable-libsanitizer && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib:${LD_LIBRARY_PATH}" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxvf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - linux32 ./bootstrap --no-system-curl CXX=/usr/local/gcc-9.4.0/bin/g++ \ - CC=/usr/local/gcc-9.4.0/bin/gcc && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -s /usr/local/bin/cmake /usr/bin/cmake && cd / && rm -rf cmake-* diff --git a/packages/debs/ppc64le/agent/Dockerfile b/packages/debs/ppc64le/agent/Dockerfile deleted file mode 100644 index 6bccd1c924..0000000000 --- a/packages/debs/ppc64le/agent/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM ppc64le/debian:stretch - -ENV DEBIAN_FRONTEND noninteractive - -RUN apt-get -v - -# Installing necessary packages -RUN echo "deb http://archive.debian.org/debian stretch contrib main non-free" > /etc/apt/sources.list && \ - echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list && \ - echo "deb-src http://archive.debian.org/debian stretch main" >> /etc/apt/sources.list && \ - apt-get update && apt-get install -y --allow-change-held-packages apt-utils && \ - apt-get install -y --allow-change-held-packages \ - curl gcc make sudo expect gnupg perl-base perl wget \ - libc-bin libc6 libc6-dev build-essential \ - cdbs devscripts equivs automake autoconf libtool libaudit-dev selinux-basics \ - libdb5.3 libdb5.3 libssl1.0.2 gawk libsigsegv2 - -RUN apt-get update && apt-get build-dep python3.5 -y --allow-change-held-packages - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - ./contrib/download_prerequisites && \ - ./configure --prefix=/usr/local/gcc-9.4.0 --enable-languages=c,c++ --disable-multilib \ - --disable-libsanitizer && \ - make -j$(nproc) && make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib64:${LD_LIBRARY_PATH}" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - ./bootstrap --no-system-curl CXX=/usr/local/gcc-9.4.0/bin/g++ \ - CC=/usr/local/gcc-9.4.0/bin/gcc && \ - make -j$(nproc) && make install && ln -s /usr/local/bin/cmake /usr/bin/cmake && \ - cd / && rm -rf cmake-* diff --git a/packages/generate_package.sh b/packages/generate_package.sh index af2131de52..7acded8e11 100755 --- a/packages/generate_package.sh +++ b/packages/generate_package.sh @@ -16,6 +16,7 @@ SYSTEM="deb" OUTDIR="${CURRENT_PATH}/output/" BRANCH="" VCPKG_KEY="" +VCPKG_BINARY_SOURCES="" REVISION="0" TARGET="agent" JOBS="2" @@ -77,6 +78,7 @@ build_pkg() { -e WAZUH_BRANCH="${BRANCH}" \ -e WAZUH_VERBOSE="${VERBOSE}" \ -e VCPKG_KEY="${VCPKG_KEY}" \ + -e VCPKG_BINARY_SOURCES="${VCPKG_BINARY_SOURCES}" \ ${CUSTOM_CODE_VOL} \ -v ${DOCKERFILE_PATH}:/home:Z \ ${CONTAINER_NAME}:${DOCKER_TAG} \ @@ -237,6 +239,7 @@ main() { "--vcpkg-binary-caching-key") if [ -n "$2" ]; then VCPKG_KEY="$2" + VCPKG_BINARY_SOURCES="clear;nuget,GitHub,readwrite" shift 2 else help 1 diff --git a/packages/rpms/amd64/agent/Dockerfile b/packages/rpms/amd64/agent/Dockerfile index 8e498ec729..41e7cff7a7 100644 --- a/packages/rpms/amd64/agent/Dockerfile +++ b/packages/rpms/amd64/agent/Dockerfile @@ -6,19 +6,13 @@ COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 RUN yum clean all && yum update -y -RUN yum install -y gcc make wget git \ - openssh-clients sudo gnupg libdb libdb-devel\ - automake autoconf libtool policycoreutils-python \ - yum-utils epel-release redhat-rpm-config rpm-devel \ - autopoint gettext nspr nspr-devel \ - nss nss-devel magic magic-devel \ - db4 db4-devel zlib zlib-devel rpm-build bison \ - sharutils bzip2-devel xz-devel lzo-devel \ - e2fsprogs-devel libacl-devel libattr-devel \ - openssl-devel libxml2-devel kexec-tools elfutils \ - libarchive-devel elfutils-libelf-devel \ - patchelf elfutils-devel libgcrypt-devel \ - file-devel gettext-devel curl-devel systemd-devel +RUN yum install -y gcc make wget git openssh-clients sudo gnupg \ + libdb-devel libtool policycoreutils-python epel-release \ + redhat-rpm-config rpm-devel autopoint nspr-devel nss-devel \ + db4-devel rpm-build bison sharutils lzo-devel e2fsprogs-devel \ + libacl-devel libattr-devel openssl-devel kexec-tools \ + libarchive-devel elfutils-libelf-devel patchelf elfutils-devel \ + libgcrypt-devel file-devel gettext-devel curl-devel systemd-devel RUN yum-builddep python34 -y @@ -51,21 +45,12 @@ RUN git clone https://github.com/Perl/perl5.git --branch v5.34.0 --single-branch make -j$(nproc) && make install && ln -fs /usr/local/bin/perl /bin/perl && \ cd / && rm -rf perl* -RUN curl -O http://packages.wazuh.com/utils/autoconf/autoconf-2.69.tar.gz && \ - gunzip autoconf-2.69.tar.gz && tar xvf autoconf-2.69.tar && \ - cd autoconf-2.69 && ./configure && make -j$(nproc) && \ - make install && cd / && rm -rf autoconf-* - -RUN git clone https://github.com/sqlite/sqlite.git --branch version-3.46.1 --single-branch && \ - cd sqlite && ./configure && make -j$(nproc) && \ - make install -j$(nproc) && ln -fs /usr/local/bin/sqlite3 /usr/bin/sqlite3 && \ - cd / && rm -rf sqlit* - RUN curl -sO https://lua.org/ftp/lua-5.4.7.tar.gz && tar -xzvf lua-5.4.7.tar.gz && \ cd lua-5.4.7 && make -j$(nproc) linux CFLAGS+="-fPIC" LDFLAGS+="-fPIC" && make install && \ ln -fs /usr/local/bin/lua /usr/bin/lua && cd / && rm -rf lua* -RUN echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ +RUN mkdir -p /usr/local/lib/pkgconfig && \ + echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ echo "prefix=/usr/local" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "exec_prefix=\${prefix}" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "libdir=\${exec_prefix}/lib" >> /usr/local/lib/pkgconfig/lua.pc && \ @@ -77,10 +62,6 @@ RUN echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.p echo "Libs: -L\${libdir} -llua -lm" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "Cflags: -I\${includedir}" >> /usr/local/lib/pkgconfig/lua.pc -RUN git clone https://github.com/rpm-software-management/popt.git --branch popt-1.19-release --single-branch && \ - cd popt && ./autogen.sh && ./configure && make -j$(nproc) && make install -j$(nproc) && \ - cd / && rm -rf popt* - RUN git clone https://github.com/rpm-software-management/rpm.git --branch rpm-4.15.1-release --single-branch && \ cd rpm && ./autogen.sh && make -j$(nproc) && make install && cd / && rm -rf rpm* @@ -91,5 +72,3 @@ RUN mkdir -p /usr/local/var/lib/rpm && \ RUN rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo' && \ yum install mono-devel -y - -RUN curl -o /usr/local/bin/nuget https://dist.nuget.org/win-x86-commandline/v6.10.2/nuget.exe diff --git a/packages/rpms/arm64/agent/Dockerfile b/packages/rpms/arm64/agent/Dockerfile index 39b7e33b54..8e9905d6a2 100644 --- a/packages/rpms/arm64/agent/Dockerfile +++ b/packages/rpms/arm64/agent/Dockerfile @@ -4,19 +4,13 @@ FROM arm64v8/centos:7 RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* -RUN yum install -y gcc make wget git \ - openssh-clients sudo gnupg libdb libdb-devel\ - automake autoconf libtool policycoreutils-python \ - yum-utils epel-release redhat-rpm-config rpm-devel \ - autopoint gettext nspr nspr-devel \ - nss nss-devel magic magic-devel ninja-build \ - db4 db4-devel zlib zlib-devel rpm-build bison \ - sharutils bzip2-devel xz-devel lzo-devel \ - e2fsprogs-devel libacl-devel libattr-devel \ - openssl-devel libxml2-devel kexec-tools elfutils \ - libarchive-devel elfutils-libelf-devel \ - patchelf elfutils-devel libgcrypt-devel \ - file-devel gettext-devel curl-devel systemd-devel +RUN yum install -y gcc make wget git openssh-clients sudo gnupg \ + libdb-devel libtool policycoreutils-python epel-release \ + redhat-rpm-config rpm-devel autopoint nspr-devel nss-devel \ + db4-devel rpm-build bison sharutils lzo-devel e2fsprogs-devel \ + libacl-devel libattr-devel openssl-devel kexec-tools \ + libarchive-devel elfutils-libelf-devel patchelf elfutils-devel \ + libgcrypt-devel file-devel gettext-devel curl-devel systemd-devel RUN yum-builddep python34 -y @@ -49,21 +43,12 @@ RUN git clone https://github.com/Perl/perl5.git --branch v5.34.0 --single-branch make -j$(nproc) && make install && ln -fs /usr/local/bin/perl /bin/perl && \ cd / && rm -rf perl* -RUN curl -O http://packages.wazuh.com/utils/autoconf/autoconf-2.69.tar.gz && \ - gunzip autoconf-2.69.tar.gz && tar xvf autoconf-2.69.tar && \ - cd autoconf-2.69 && ./configure && make -j$(nproc) && \ - make install && cd / && rm -rf autoconf-* - -RUN git clone https://github.com/sqlite/sqlite.git --branch version-3.46.1 --single-branch && \ - cd sqlite && ./configure && make -j$(nproc) && \ - make install -j$(nproc) && ln -fs /usr/local/bin/sqlite3 /usr/bin/sqlite3 && \ - cd / && rm -rf sqlit* - RUN curl -sO https://lua.org/ftp/lua-5.4.7.tar.gz && tar -xzvf lua-5.4.7.tar.gz && \ cd lua-5.4.7 && make -j$(nproc) linux CFLAGS+="-fPIC" LDFLAGS+="-fPIC" && make install && \ ln -fs /usr/local/bin/lua /usr/bin/lua && cd / && rm -rf lua* -RUN echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ +RUN mkdir -p /usr/local/lib/pkgconfig && \ + echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.pc && \ echo "prefix=/usr/local" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "exec_prefix=\${prefix}" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "libdir=\${exec_prefix}/lib" >> /usr/local/lib/pkgconfig/lua.pc && \ @@ -75,10 +60,6 @@ RUN echo "# Package Information for pkg-config" > /usr/local/lib/pkgconfig/lua.p echo "Libs: -L\${libdir} -llua -lm" >> /usr/local/lib/pkgconfig/lua.pc && \ echo "Cflags: -I\${includedir}" >> /usr/local/lib/pkgconfig/lua.pc -RUN git clone https://github.com/rpm-software-management/popt.git --branch popt-1.19-release --single-branch && \ - cd popt && ./autogen.sh && ./configure && make -j$(nproc) && make install -j$(nproc) && \ - cd / && rm -rf popt* - RUN git clone https://github.com/rpm-software-management/rpm.git --branch rpm-4.15.1-release --single-branch && \ cd rpm && ./autogen.sh && make -j$(nproc) && make install && cd / && rm -rf rpm* @@ -89,3 +70,6 @@ RUN mkdir -p /usr/local/var/lib/rpm && \ RUN rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo' && \ yum install mono-devel -y + +# Needs to be built later, version might be lower than vcpkg requires +RUN yum install -y ninja-build diff --git a/packages/rpms/armhf/agent/Dockerfile b/packages/rpms/armhf/agent/Dockerfile deleted file mode 100644 index b532df5900..0000000000 --- a/packages/rpms/armhf/agent/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -FROM arm32v7/centos:7 - -ADD build_deps.sh /build_deps.sh -RUN sh build_deps.sh - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - linux32 ./contrib/download_prerequisites && \ - linux32 ./configure --prefix=/usr/local/gcc-9.4.0 --with-arch=armv7-a \ - --with-float=hard --with-fpu=vfpv3-d16 --enable-languages=c,c++ --disable-multilib \ - --disable-libsanitizer && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib/" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - linux32 ./bootstrap --no-system-curl CC=/usr/local/gcc-9.4.0/bin/gcc \ - CXX=/usr/local/gcc-9.4.0/bin/g++ && \ - linux32 make -j$(nproc) && linux32 make install && cd / && rm -rf cmake-* - -# Install Perl 5.10 -RUN curl -OL http://packages.wazuh.com/utils/perl/perl-5.10.1.tar.gz && \ - gunzip perl-5.10.1.tar.gz && tar -xf perl*.tar && \ - cd /perl-5.10.1 && ./Configure -des -Dcc='gcc' -Dusethreads && \ - make -j2 && make install && ln -fs /usr/local/bin/perl /bin/perl && \ - cd / && rm -rf /perl-5.10.1* - -RUN curl -O http://packages.wazuh.com/utils/openssl/openssl-1.1.1a.tar.gz && \ - tar -xzf openssl-1.1.1a.tar.gz && cd openssl* && \ - linux32 ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' && \ - linux32 make -j $(nproc) && linux32 make install && \ - make install && cd / && rm -rf openssl-* - -RUN curl -O http://packages.wazuh.com/utils/nodejs/node-v4.9.1-linux-armv7l.tar.xz && \ - tar -xJf node-v4.9.1-linux-armv7l.tar.xz && cd node-v4.9.1-linux-armv7l && cp -R * /usr/local/ && cd / && rm -rf node-v* - -# Update rpmbuild, rpm and autoconf -RUN curl -O http://packages.wazuh.com/utils/autoconf/autoconf-2.69.tar.gz && \ - gunzip autoconf-2.69.tar.gz && tar xvf autoconf-2.69.tar && \ - cd autoconf-2.69 && linux32 ./configure && linux32 make -j $(nproc) && \ - linux32 make install && cd / && rm -rf autoconf-* - -RUN curl -O http://packages.wazuh.com/utils/rpm/rpm-4.15.1.tar.bz2 && \ - tar -xjf rpm-4.15.1.tar.bz2 && cd rpm-4.15.1 && \ - linux32 ./configure --without-lua && linux32 make -j $(nproc) && \ - linux32 make install && cd / && rm -rf rpm-* - -RUN echo "%_initddir %{_sysconfdir}/rc.d/init.d" >> /root/.rpmmacros -RUN echo "%_initrddir %{_initddir}" >> /root/.rpmmacros -RUN echo "%_arch armv7hl" >> /root/.rpmmacros - -RUN mkdir -p /usr/local/var/lib/rpm && \ - cp /var/lib/rpm/Packages /usr/local/var/lib/rpm/Packages && \ - /usr/local/bin/rpm --rebuilddb && rm -rf /root/rpmbuild diff --git a/packages/rpms/i386/agent/CentOS-Base.repo b/packages/rpms/i386/agent/CentOS-Base.repo deleted file mode 100644 index 1cfb74d432..0000000000 --- a/packages/rpms/i386/agent/CentOS-Base.repo +++ /dev/null @@ -1,47 +0,0 @@ -# CentOS-Base.repo -# -# The mirror system uses the connecting IP address of the client and the -# update status of each mirror to pick mirrors that are updated to and -# geographically close to the client. You should use this for CentOS updates -# unless you are manually picking other mirrors. -# -# If the mirrorlist= does not work for you, as a fall back you can try the -# remarked out baseurl= line instead. -# - - -[base] -name=CentOS-$releasever - Base -baseurl=http://mirror.nsc.liu.se/centos-store/6.10/os/i386/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#released updates -[updates] -name=CentOS-$releasever - Updates -baseurl=http://mirror.nsc.liu.se/centos-store/6.10/updates/i386/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#additional packages that may be useful -[extras] -name=CentOS-$releasever - Extras -baseurl=http://mirror.nsc.liu.se/centos-store/6.10/extras/i386/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#additional packages that extend functionality of existing packages -[centosplus] -name=CentOS-$releasever - Plus -baseurl=http://mirror.nsc.liu.se/centos-store/6.10/centosplus/i386/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#contrib - packages by Centos Users -[contrib] -name=CentOS-$releasever - Contrib -baseurl=http://mirror.nsc.liu.se/centos-store/6.10/contrib/i386/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 diff --git a/packages/rpms/i386/agent/Dockerfile b/packages/rpms/i386/agent/Dockerfile deleted file mode 100644 index 129864b9f3..0000000000 --- a/packages/rpms/i386/agent/Dockerfile +++ /dev/null @@ -1,66 +0,0 @@ -FROM i386/centos:6 - -# Install all the necessary tools to build the packages -RUN rm /etc/yum.repos.d/* && echo "exactarch=1" >> /etc/yum.conf -COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo -RUN yum clean all && yum update -y -RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 -RUN yum -y install util-linux-ng \ - gcc-multilib make wget git openssh-clients \ - sudo gnupg automake autoconf libtool \ - policycoreutils-python yum-utils epel-release \ - redhat-rpm-config rpm-devel autopoint gettext \ - zlib zlib-devel nspr nspr-devel \ - nss nss-devel kenel-headers magic magic-devel \ - db4 db4-devel rpm-build bison \ - sharutils bzip2-devel xz-devel lzo-devel \ - e2fsprogs-devel libacl-devel libattr-devel \ - openssl-devel libxml2-devel kexec-tools elfutils \ - libarchive-devel elfutils-libelf-devel \ - elfutils-libelf patchelf elfutils-devel libgcrypt-devel - -RUN yum-builddep python34 -y - -RUN curl -OL http://packages.wazuh.com/utils/perl/perl-5.10.1.tar.gz && \ - gunzip perl-5.10.1.tar.gz && tar -xf perl*.tar && \ - cd /perl-5.10.1 && ./Configure -des -Dcc='gcc' -Dusethreads && \ - make -j2 && make install && ln -fs /usr/local/bin/perl /bin/perl && \ - cd / && rm -rf /perl-5.10.1* - -# Update rpmbuild, rpm and autoconf -RUN curl -O http://packages.wazuh.com/utils/autoconf/autoconf-2.69.tar.gz && \ - gunzip autoconf-2.69.tar.gz && tar xvf autoconf-2.69.tar && \ - cd autoconf-2.69 && linux32 ./configure && \ - linux32 make -j$(nproc) && linux32 make install && cd / && rm -rf autoconf-* - -RUN curl -O https://packages.wazuh.com/utils/libarchive/libarchive-3.1.2-12.el7.src.rpm && \ - linux32 rpmbuild --rebuild libarchive-3.1.2-12.el7.src.rpm --target i386 && \ - rpm -Uvh /root/rpmbuild/RPMS/i386/* --nodeps && rm -rf libarchive-* - -RUN curl -O http://packages.wazuh.com/utils/rpm/rpm-4.15.1.tar.bz2 && \ - tar -xjf rpm-4.15.1.tar.bz2 && cd rpm-4.15.1 && \ - linux32 ./configure --without-lua && linux32 make -j$(nproc) && \ - linux32 make install && cd / && rm -rf rpm-* - -RUN mkdir -p /usr/local/var/lib/rpm && \ - cp /var/lib/rpm/Packages /usr/local/var/lib/rpm/Packages && \ - /usr/local/bin/rpm --rebuilddb && rm -rf /root/rpmbuild - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - linux32 ./contrib/download_prerequisites && \ - linux32 ./configure --prefix=/usr/local/gcc-9.4.0 --enable-languages=c,c++ \ - --disable-multilib --disable-libsanitizer && \ - linux32 make -j$(nproc) && linux32 make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib/" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - linux32 ./bootstrap --no-system-curl CC=/usr/local/gcc-9.4.0/bin/gcc \ - CXX=/usr/local/gcc-9.4.0/bin/g++ && \ - linux32 make -j$(nproc) && linux32 make install && cd / && rm -rf cmake-* diff --git a/packages/rpms/ppc64le/agent/Dockerfile b/packages/rpms/ppc64le/agent/Dockerfile deleted file mode 100644 index f8f634fe7e..0000000000 --- a/packages/rpms/ppc64le/agent/Dockerfile +++ /dev/null @@ -1,53 +0,0 @@ -FROM ppc64le/centos:7 -# Install all the necessary tools to build the packages - -# CentOS 7 is EOL, so we need to change the repositories to use the vault -RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* -RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* - -RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 -RUN yum -y install centos-release-scl -RUN mv /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.old -RUN mv /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.old - -RUN yum -y install gcc make wget git \ - openssh-clients rpm-build sudo gnupg \ - automake autoconf libtool policycoreutils-python \ - yum-utils epel-release redhat-rpm-config rpm-devel - -# Warning: this repo has been disabled by the vendor -RUN mv /etc/yum.repos.d/CentOS-Sources.repo /etc/yum.repos.d/CentOS-Sources.repo.old -RUN yum-builddep python34 -y - -RUN yum install -y \ - http://packages.wazuh.com/utils/nodejs/nodejs-8.9.4-2.el7.ppc64le.rpm \ - http://packages.wazuh.com/utils/nodejs/nodejs-devel-8.9.4-2.el7.ppc64le.rpm \ - http://packages.wazuh.com/utils/nodejs/npm-5.6.0-1.8.9.4.2.el7.ppc64le.rpm \ - http://packages.wazuh.com/utils/nodejs/nodejs-debuginfo-8.9.4-2.el7.ppc64le.rpm - -RUN curl -OL http://packages.wazuh.com/utils/gcc/gcc-9.4.0.tar.gz && \ - tar xzf gcc-9.4.0.tar.gz && cd gcc-9.4.0/ && \ - ./contrib/download_prerequisites && \ - ./configure --prefix=/usr/local/gcc-9.4.0 --enable-languages=c,c++ \ - --disable-multilib --disable-libsanitizer && \ - make -j$(nproc) && make install && \ - ln -fs /usr/local/gcc-9.4.0/bin/g++ /usr/bin/c++ && \ - ln -fs /usr/local/gcc-9.4.0/bin/gcc /usr/bin/cc && cd / && rm -rf gcc-* - -ENV CPLUS_INCLUDE_PATH "/usr/local/gcc-9.4.0/include/c++/9.4.0/" -ENV LD_LIBRARY_PATH "/usr/local/gcc-9.4.0/lib64/" -ENV PATH "/usr/local/gcc-9.4.0/bin:${PATH}" - -RUN curl -OL http://packages.wazuh.com/utils/cmake/cmake-3.18.3.tar.gz && \ - tar -zxf cmake-3.18.3.tar.gz && cd cmake-3.18.3 && \ - ./bootstrap --no-system-curl CC=/usr/local/gcc-9.4.0/bin/gcc \ - CXX=/usr/local/gcc-9.4.0/bin/g++ && \ - make -j$(nproc) && make install && cd / && rm -rf cmake-* && \ - ln -sf /usr/bin/rpmbuild /usr/local/bin/rpmbuild - -# Install Perl 5.10 -RUN curl -OL http://packages.wazuh.com/utils/perl/perl-5.10.1.tar.gz && \ - gunzip perl-5.10.1.tar.gz && tar -xf perl*.tar && \ - cd /perl-5.10.1 && ./Configure -des -Dcc='gcc' -Dusethreads && \ - make -j2 && make install && ln -fs /usr/local/bin/perl /bin/perl && \ - cd / && rm -rf /perl-5.10.1*