audit: Upgrade to 3.0.8 and fix build with linux 5.17+

audit errors out due to swig munging it does with kernel headers

| audit_wrap.c: In function '_wrap_audit_rule_data_buf_set':
| audit_wrap.c:4701:17: error: cast specifies array type
|  4701 |     arg1->buf = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
|       |                 ^
| audit_wrap.c:4701:15: error: invalid use of flexible array member
|  4701 |     arg1->buf = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
|       |               ^
| audit_wrap.c:4703:15: error: invalid use of flexible array member
|  4703 |     arg1->buf = 0;
|       |               ^

These errors are due to VLAIS from kernel headers, so we copy
linux/audit.h and make the needed change in local audit.h and make
needed arrangements in build to use it when building audit package

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Khem Raj 2022-08-08 11:33:18 -07:00
parent 9ef040501e
commit ee3c680c30
2 changed files with 9 additions and 11 deletions

View File

@ -18,11 +18,9 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
bindings/swig/src/auditswig.i | 2 +- bindings/swig/src/auditswig.i | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-) 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/bindings/swig/python3/Makefile.am b/bindings/swig/python3/Makefile.am
index dd9d934..61b486d 100644
--- a/bindings/swig/python3/Makefile.am --- a/bindings/swig/python3/Makefile.am
+++ b/bindings/swig/python3/Makefile.am +++ b/bindings/swig/python3/Makefile.am
@@ -22,6 +22,7 @@ @@ -23,6 +23,7 @@
CONFIG_CLEAN_FILES = *.loT *.rej *.orig CONFIG_CLEAN_FILES = *.loT *.rej *.orig
AM_CFLAGS = -fPIC -DPIC -fno-strict-aliasing $(PYTHON3_CFLAGS) AM_CFLAGS = -fPIC -DPIC -fno-strict-aliasing $(PYTHON3_CFLAGS)
AM_CPPFLAGS = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES) AM_CPPFLAGS = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
@ -30,7 +28,7 @@ index dd9d934..61b486d 100644
LIBS = $(top_builddir)/lib/libaudit.la LIBS = $(top_builddir)/lib/libaudit.la
SWIG_FLAGS = -python -py3 -modern SWIG_FLAGS = -python -py3 -modern
SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES) SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
@@ -36,7 +37,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/libaudit.h ${top_builddir}/lib/libaudi @@ -37,7 +38,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/li
_audit_la_LIBADD = ${top_builddir}/lib/libaudit.la _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la
nodist__audit_la_SOURCES = audit_wrap.c nodist__audit_la_SOURCES = audit_wrap.c
audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i
@ -39,8 +37,6 @@ index dd9d934..61b486d 100644
CLEANFILES = audit.py* audit_wrap.c *~ CLEANFILES = audit.py* audit_wrap.c *~
diff --git a/bindings/swig/src/auditswig.i b/bindings/swig/src/auditswig.i
index 21aafca..dd0f62c 100644
--- a/bindings/swig/src/auditswig.i --- a/bindings/swig/src/auditswig.i
+++ b/bindings/swig/src/auditswig.i +++ b/bindings/swig/src/auditswig.i
@@ -39,7 +39,7 @@ signed @@ -39,7 +39,7 @@ signed
@ -48,10 +44,7 @@ index 21aafca..dd0f62c 100644
typedef unsigned __u32; typedef unsigned __u32;
typedef unsigned uid_t; typedef unsigned uid_t;
-%include "/usr/include/linux/audit.h" -%include "/usr/include/linux/audit.h"
+%include "linux/audit.h" +%include "../lib/audit.h"
#define __extension__ /*nothing*/ #define __extension__ /*nothing*/
%include <stdint.i> %include <stdint.i>
%include "../lib/libaudit.h" %include "../lib/libaudit.h"
--
2.17.1

View File

@ -15,7 +15,7 @@ SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;proto
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
SRCREV = "f60b2d8f55c74be798a7f5bcbd6c587987f2578a" SRCREV = "54a62e78792fe583267cf80da717ee480b8f42bc"
inherit autotools python3native update-rc.d systemd inherit autotools python3native update-rc.d systemd
@ -71,6 +71,11 @@ FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
CONFFILES:auditd = "${sysconfdir}/audit/audit.rules" CONFFILES:auditd = "${sysconfdir}/audit/audit.rules"
do_configure:prepend() {
sed -e 's|buf\[];|buf[0];|g' ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h
sed -i -e 's|#include <linux/audit.h>|#include "audit.h"|g' ${S}/lib/libaudit.h
}
do_install:append() { do_install:append() {
rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a
rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la