diff --git a/docs/compile/build_howto_unix.txt b/docs/compile/build_howto_unix.txt index 488b644..f6438e5 100644 --- a/docs/compile/build_howto_unix.txt +++ b/docs/compile/build_howto_unix.txt @@ -1,12 +1,17 @@ -debian,ubuntu : +* debian,ubuntu : apt install make gcc zlib1g-dev libcap-dev libnetfilter-queue-dev libmnl-dev libsystemd-dev libluajit2-5.1-dev make -C /opt/zapret2 systemd -linux static : +* linux static : need any x86_64 classic linux distribution -dependencies: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config + +optionally review "common.inc" for Lua and LuaJIT versions + +debian/ubuntu: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config +fedora: dnf install curl xz bzip2 unzip make gcc glibc-devel glibc-devel.i686 libcap-devel pkg-config + copy directory "builder-linux" somethere with enough free disk space (up to 2G for all toolchains) run "get_toolchains.sh" select architectures you need or "ALL" @@ -16,9 +21,7 @@ get static musl bins from "binaries" folder "zapret2" is downloaded from github master branch. if you need specific version - download manually to "zapret2" dir i586 and riscv64 targets are built with classic PUC Lua -optionally review "common.inc" for Lua and LuaJIT versions - -FreeBSD : +* FreeBSD : pkg install pkgconf pkg search luajit-2 @@ -26,7 +29,7 @@ pkg search luajit-2 pkg install luajit-2.1.0.20250728 make -C /opt/zapret2 -OpenBSD : +* OpenBSD : pkg_add luajit gmake gmake -C /opt/zapret2 bsd diff --git a/docs/compile/builder-linux/common.inc b/docs/compile/builder-linux/common.inc index 8e97999..7c285a2 100644 --- a/docs/compile/builder-linux/common.inc +++ b/docs/compile/builder-linux/common.inc @@ -46,13 +46,25 @@ target_has_luajit() return 1 } -REQD_H_FILES="/usr/include/x86_64-linux-gnu/sys/queue.h /usr/include/sys/capability.h /usr/include/bits/libc-header-start.h" +REQD_H_FILES="/usr/include/sys/capability.h /usr/include/bits/libc-header-start.h" +REQD_QUEUE_1="/usr/include/sys/queue.h" +REQD_QUEUE_2="/usr/include/x86_64-linux-gnu/sys/queue.h" check_h_files() { + [ ! -f "$REQD_QUEUE_1" -a ! -f "$REQD_QUEUE_2" ] && { + echo "could not find $REQD_QUEUE_1 or $REQD_QUEUE_2" + help_pkg + exit 10 + } check_file $REQD_H_FILES } install_h_files() { + if [ -f "$REQD_QUEUE_1" ]; then + install -Dm644 -t $STAGING_DIR/include/sys $REQD_QUEUE_1 + elif [ -f "$REQD_QUEUE_2" ]; then + install -Dm644 -t $STAGING_DIR/include/sys $REQD_QUEUE_2 + fi install -Dm644 -t $STAGING_DIR/include/sys $REQD_H_FILES } @@ -201,12 +213,18 @@ check_toolchains() } } +help_pkg() +{ + echo "debian/ubuntu: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config" + echo "fedora: dnf install curl xz bzip2 unzip make gcc glibc-devel glibc-devel.i686 libcap-devel pkg-config" +} + check_prog() { while [ -n "$1" ]; do exists $1 || { echo $1 is not available - echo "debian/ubuntu: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config" + help_pkg exit 10 } shift @@ -217,6 +235,7 @@ check_file() while [ -n "$1" ]; do [ -f "$1" ] || { echo $1 is not available + help_pkg exit 10 } shift