# #
###############################################################################
-AC_PREREQ([2.64])
+AC_PREREQ([2.69])
AC_INIT([pakfire],
- [0.9.27],
+ [0.9.29],
[info@ipfire.org],
[pakfire],
- [http://git.ipfire.org/?p=pakfire.git;a=summary])
+ [https://git.ipfire.org/?p=pakfire.git;a=summary])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
# C Compiler
-AC_PROG_CC_STDC
+AC_PROG_CC
CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
+ -std=gnu11 \
-Wall \
- -Wchar-subscripts \
- -Wformat-security \
- -Wmissing-declarations \
- -Wmissing-prototypes \
+ -Wextra \
+ -Warray-bounds=2 \
+ -Wdate-time \
+ -Wendif-labels \
+ -Werror=format=2 \
+ -Werror=format-signedness \
+ -Werror=implicit-function-declaration \
+ -Werror=implicit-int \
+ -Werror=incompatible-pointer-types \
+ -Werror=int-conversion \
+ -Werror=missing-declarations \
+ -Werror=missing-prototypes \
+ -Werror=overflow \
+ -Werror=override-init \
+ -Werror=return-type \
+ -Werror=shift-count-overflow \
+ -Werror=shift-overflow=2 \
+ -Werror=strict-flex-arrays \
+ -Werror=undef \
+ -Wfloat-equal \
+ -Wimplicit-fallthrough=5 \
+ -Winit-self \
+ -Wlogical-op \
+ -Wmissing-include-dirs \
+ -Wmissing-noreturn \
-Wnested-externs \
+ -Wold-style-definition \
-Wpointer-arith \
+ -Wredundant-decls \
-Wshadow \
- -Wsign-compare \
+ -Wstrict-aliasing=2 \
-Wstrict-prototypes \
- -Wtype-limits \
+ -Wsuggest-attribute=noreturn \
+ -Wunused-function \
+ -Wwrite-strings \
+ -Wzero-length-bounds \
+ -Wno-unused-parameter \
+ -Wno-missing-field-initializers \
+ -fdiagnostics-show-option \
+ -fno-common \
])
# Enable -fanalyzer if requested
grp.h \
libgen.h \
libintl.h \
+ linux/bpf.h \
linux/capability.h \
linux/limits.h \
linux/magic.h \
AC_CHECK_FUNCS([ \
asprintf \
+ bpf \
epoll_ctl \
epoll_create1 \
epoll_wait \
flock \
fnctl \
- fts_close \
- fts_open \
- fts_read \
getpid \
glob \
nftw \
# Python Stuff
AM_PATH_PYTHON([3.6])
-AX_PYTHON_MODULE([cpuinfo], [fatal])
AX_PYTHON_MODULE([kerberos], [fatal])
-AX_PYTHON_MODULE([psutil], [fatal])
AX_PYTHON_MODULE([setproctitle], [fatal])
AX_PYTHON_MODULE([systemd], [fatal])
AX_PYTHON_MODULE([tornado], [fatal])
# Libraries we depend on
-PKG_CHECK_MODULES([ARCHIVE], [libarchive >= 3.5.0])
+PKG_CHECK_MODULES([ARCHIVE], [libarchive >= 3.4.0])
+PKG_CHECK_MODULES([BPF], [libbpf])
PKG_CHECK_MODULES([CAP], [libcap])
PKG_CHECK_MODULES([CURL], [libcurl])
+PKG_CHECK_MODULES([ELF], [libelf])
PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}-embed],
[], [PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}])])
PKG_CHECK_MODULES([JSON_C], [json-c >= 0.15])
+PKG_CHECK_MODULES([KRB5], [krb5])
PKG_CHECK_MODULES([LZMA], [liblzma])
+PKG_CHECK_MODULES([MAGIC], [libmagic])
PKG_CHECK_MODULES([MOUNT], [mount])
+PKG_CHECK_MODULES([NL3], [libnl-3.0])
+PKG_CHECK_MODULES([NL3_ROUTE], [libnl-route-3.0])
PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.1.1])
PKG_CHECK_MODULES([PCRE2], [libpcre2-8])
PKG_CHECK_MODULES([SECCOMP], [libseccomp])
PKG_CHECK_MODULES([SOLV], [libsolv >= 0.7.5])
-PKG_CHECK_MODULES([SOLVEXT], [libsolvext >= 0.7.5])
PKG_CHECK_MODULES([SQLITE3], [sqlite3])
PKG_CHECK_MODULES([SYSTEMD], [libsystemd],
[AC_DEFINE([HAVE_SYSTEMD], [1], [Use systemd])])
PKG_CHECK_MODULES([UUID], [uuid])
PKG_CHECK_MODULES([ZSTD], [libzstd])
-AM_PATH_GPGME([1.6.0], [], [AC_MSG_ERROR([*** GPGME not found])])
+save_LIBS="$LIBS"
+
+# subid
+#LIBS=
+#AC_SEARCH_LIBS([subid_init], [subid],
+# [AC_DEFINE([HAVE_SUBID], [], [subid is present])],
+# [AC_MSG_WARN([*** subid library not found])])
+#SUBID_LIBS="$LIBS"
+#AC_SUBST(SUBID_LIBS)
+
+LIBS="$save_LIBS"
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),