]> git.ipfire.org Git - pakfire.git/blobdiff - configure.ac
compress: Remove legacy logger
[pakfire.git] / configure.ac
index 1d0aa12d20ca091ae7ee79bb6deb283eec6e8693..204556a801e815dcf18fa4ffc6ab3b6f0fe57d35 100644 (file)
 #                                                                             #
 ###############################################################################
 
-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])
@@ -98,25 +98,51 @@ m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-conf
 
 # C Compiler
 AC_PROG_CC
-AC_PROG_CC_C99
-AC_PROG_CC_C_O
-AC_PROG_GCC_TRADITIONAL
-AC_OPENMP
 
 CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-       -pipe \
+       -std=gnu11 \
        -Wall \
        -Wextra \
-       -Wno-inline \
-       -Wundef \
-       "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
+       -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 \
+       -Wstrict-aliasing=2 \
+       -Wstrict-prototypes \
+       -Wsuggest-attribute=noreturn \
+       -Wunused-function \
+       -Wwrite-strings \
+       -Wzero-length-bounds \
        -Wno-unused-parameter \
-       -Wno-unused-result \
-       -fno-strict-aliasing \
-       -ffunction-sections \
-       -fdata-sections \
-       -fstack-protector-all \
-       --param=ssp-buffer-size=4])
+       -Wno-missing-field-initializers \
+       -fdiagnostics-show-option \
+       -fno-common \
+])
 
 # Enable -fanalyzer if requested
 AC_ARG_ENABLE([analyzer],
@@ -126,22 +152,26 @@ AS_IF([test "x$enable_analyzer" = "xyes"],
        CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [-fanalyzer])
 )
 
-AC_SUBST([OUR_CFLAGS], $with_cflags)
+# Enable -fno-semantic-interposition (if available)
+CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [-fno-semantic-interposition])
+CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [-fno-semantic-interposition])
 
-AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*],
-       [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
-               -Wp,-D_FORTIFY_SOURCE=2])],
-       [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
 AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
-
-CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-       -Wl,--as-needed \
-       -Wl,--no-undefined \
-       -Wl,--gc-sections \
-       -Wl,-z,relro \
-       -Wl,-z,now])
+AC_SUBST([OUR_CFLAGS], $with_cflags)
 AC_SUBST([OUR_LDFLAGS], $with_ldflags)
 
+# C Types
+AC_TYPE_INT64_T
+AC_TYPE_INTMAX_T
+AC_TYPE_INTPTR_T
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UID_T
+AC_TYPE_UINT64_T
+
 # Bison
 AC_PROG_YACC
 
@@ -175,6 +205,8 @@ AC_CHECK_HEADERS([ \
        grp.h \
        libgen.h \
        libintl.h \
+       linux/bpf.h \
+       linux/capability.h \
        linux/limits.h \
        linux/magic.h \
        linux/sched.h \
@@ -189,10 +221,13 @@ AC_CHECK_HEADERS([ \
        stdlib.h \
        string.h \
        syslog.h \
+       sys/capability.h \
        sys/epoll.h \
+       sys/file.h \
        sys/ioctl.h \
        sys/mount.h \
        sys/personality.h \
+       sys/prctl.h \
        sys/random.h \
        sys/resource.h \
        sys/sendfile.h \
@@ -210,18 +245,18 @@ AC_CHECK_HEADERS([ \
 
 AC_CHECK_FUNCS([ \
        asprintf \
+       bpf \
        epoll_ctl \
        epoll_create1 \
        epoll_wait \
+       flock \
        fnctl \
-       fts_close \
-       fts_open \
-       fts_read \
        getpid \
        glob \
        nftw \
        openlog \
        personality \
+       prctl \
        remove \
        secure_getenv \
        sendfile \
@@ -239,27 +274,46 @@ AC_CHECK_FUNCS([ \
 # Python Stuff
 AM_PATH_PYTHON([3.6])
 
+AX_PYTHON_MODULE([kerberos], [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([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]),
@@ -275,7 +329,7 @@ AC_DEFINE_UNQUOTED([PAKFIRE_PRIVATE_DIR], ["/var/lib/${PACKAGE_NAME}"],
        [The path where Pakfire stores its private data])
 AC_DEFINE_UNQUOTED([PAKFIRE_SCRIPTS_DIR], ["${PREFIX}/lib/${PACKAGE_NAME}"],
        [The path where Pakfire stores its scripts])
-AC_DEFINE_UNQUOTED([PAKFIRE_TMP_DIR], ["/var/tmp/${PACKAGE_NAME}"],
+AC_DEFINE_UNQUOTED([PAKFIRE_TMP_DIR], ["/var/tmp"],
        [The path where Pakfire stores temporary data])
 
 AC_CONFIG_FILES([
@@ -291,8 +345,8 @@ AC_MSG_RESULT([
        Debug:                  ${enable_debug}
        Online Tests:           ${enable_online_tests}
 
-       CFLAGS:                 ${OUR_CFLAGS} ${CFLAGS}
        CPPFLAGS:               ${OUR_CPPFLAGS} ${CPPFLAGS}
+       CFLAGS:                 ${OUR_CFLAGS} ${CFLAGS}
        LDFLAGS:                ${OUR_LDFLAGS} ${LDFLAGS}
        PYTHON_CFLAGS:          ${PYTHON_DEVEL_CFLAGS}
        PYTHON_LIBS:            ${PYTHON_DEVEL_LIBS}