diff --git a/README.md b/README.md index a587601..ae59c8c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ | OpenSSL | 3.0.13 | Криптография | | LibVNCServer | 0.9.14 | VNC-сервер | | FreeType | 2.13.2 | Рендеринг шрифтов | +| libnl | 3.7.0 | Netlink для Linux | Все библиотеки собираются статически. @@ -41,6 +42,8 @@ - cmake - wget - bzip2 +- bison (или yacc) +- flex - tar - стандартные утилиты (grep, sed и т.д.) @@ -48,7 +51,7 @@ ```bash sudo apt update -sudo apt install -y make gcc g++ cmake wget bzip2 tar sed grep xz-utils +sudo apt install -y make gcc g++ cmake wget bzip2 bison flex tar sed grep xz-utils ``` ## Использование diff --git a/build-libraries.sh b/build-libraries.sh index 5a8edef..d6dba1b 100755 --- a/build-libraries.sh +++ b/build-libraries.sh @@ -89,6 +89,30 @@ make install # ================================================================== +cd "${LIB_BUILD_DIR}/libnl-${LIBNL_VER}" +if ! command -v flex >/dev/null 2>&1; then + echo "Ошибка: для сборки libnl нужен flex (пакет flex)." + exit 1 +fi +if ! command -v bison >/dev/null 2>&1; then + echo "Ошибка: для сборки libnl нужен bison (byacc не подходит)." + exit 1 +fi +export YACC="bison -y" +export LEX="flex" +./configure \ + --host="${TARGET}" \ + --prefix="${SYSROOT_USR_DIR}" \ + --libdir="${SYSROOT_USR_DIR}/lib" \ + --disable-shared \ + --enable-static \ + --disable-cli +make -j$(nproc) +make install +unset YACC LEX + +# ================================================================== + OPENSSL_S_SERVER_FILE="${LIB_BUILD_DIR}/openssl-${OPENSSL_VER}/apps/s_server.c" if [ -f "${OPENSSL_S_SERVER_FILE}" ] && ! grep -q '^#include $' "${OPENSSL_S_SERVER_FILE}"; then echo "== Патч OpenSSL: добавляю в apps/s_server.c ==" diff --git a/download_prerequisites.sh b/download_prerequisites.sh index 6f69aea..cd91dbb 100755 --- a/download_prerequisites.sh +++ b/download_prerequisites.sh @@ -42,6 +42,7 @@ toolchain_files=( # Исходники библиотек libs_files=( + "https://www.infradead.org/~tgr/libnl/files/libnl-${LIBNL_VER}.tar.gz" "https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VER}.tar.gz" "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${LIBVNCSERVER_VER}.tar.gz" "https://www.openssl.org/source/openssl-${OPENSSL_VER}.tar.gz" diff --git a/versions.sh b/versions.sh index ae07959..30cf5e7 100644 --- a/versions.sh +++ b/versions.sh @@ -13,3 +13,4 @@ ZLIB_VER="1.2.13" OPENSSL_VER="3.0.13" LIBVNCSERVER_VER="0.9.14" FREETYPE_VER="2.13.2" +LIBNL_VER="3.2.0"