* [Buildroot] [PATCH v4 0/2] lynis
@ 2025-01-06 18:20 Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 1/2] package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS Francois Perrad
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Francois Perrad @ 2025-01-06 18:20 UTC (permalink / raw)
To: buildroot
v3 --> v4:
- bump to version 3.1.3, the first one which know Buildroot (see https://github.com/CISOfy/lynis/pull/1551)
v2 --> v3:
- allow `stat` from Busybox or coreutils
- improve runtime test
- bump to version 3.1.2
v1 --> v2:
- refactor with LYNIS_BUSYBOX_CONFIG_FIXUPS
note: the patch "package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS"
was previously submitted in another serie,
see https://patchwork.ozlabs.org/project/buildroot/patch/20240313091412.20865-2-francois.perrad@gadz.org/
Francois Perrad (2):
package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS
package/lynis: new package
DEVELOPERS | 1 +
docs/manual/adding-packages-generic.adoc | 6 +++
package/Config.in | 1 +
package/busybox/busybox.mk | 1 +
package/lynis/Config.in | 10 +++++
package/lynis/lynis.hash | 3 ++
package/lynis/lynis.mk | 48 +++++++++++++++++++++
package/pkg-generic.mk | 3 ++
support/testing/tests/package/test_lynis.py | 26 +++++++++++
9 files changed, 99 insertions(+)
create mode 100644 package/lynis/Config.in
create mode 100644 package/lynis/lynis.hash
create mode 100644 package/lynis/lynis.mk
create mode 100644 support/testing/tests/package/test_lynis.py
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v4 1/2] package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS
2025-01-06 18:20 [Buildroot] [PATCH v4 0/2] lynis Francois Perrad
@ 2025-01-06 18:20 ` Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 2/2] package/lynis: new package Francois Perrad
2025-02-04 16:36 ` [Buildroot] [PATCH v4 0/2] lynis Thomas Petazzoni via buildroot
2 siblings, 0 replies; 4+ messages in thread
From: Francois Perrad @ 2025-01-06 18:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
docs/manual/adding-packages-generic.adoc | 6 ++++++
package/busybox/busybox.mk | 1 +
package/pkg-generic.mk | 3 +++
3 files changed, 10 insertions(+)
diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc
index 89fc70045..f0b0508f5 100644
--- a/docs/manual/adding-packages-generic.adoc
+++ b/docs/manual/adding-packages-generic.adoc
@@ -631,6 +631,12 @@ different steps of the build process.
This is seldom used, as package usually have no strict requirements on
the kernel options.
+* +LIBFOO_BUSYBOX_CONFIG_FIXUPS+ lists the Busybox configuration
+ options that are needed to use this package especially in some scripts,
+ or at contrario the useless options. This shall be a set of
+ calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`,
+ `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`.
+
The preferred way to define these variables is:
----
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 942875ee0..4baa42320 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -412,6 +412,7 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS
$(BUSYBOX_SET_SELINUX)
$(BUSYBOX_SET_LESS_FLAGS)
$(BUSYBOX_SET_INDIVIDUAL_BINARIES)
+ $(PACKAGES_BUSYBOX_CONFIG_FIXUPS)
endef
define BUSYBOX_BUILD_CMDS
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 9ec84d0f4..dc500f6d3 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -1242,6 +1242,9 @@ endif
ifneq ($$($(2)_USERS),)
PACKAGES_USERS += $$($(2)_USERS)$$(sep)
endif
+ifneq ($$($(2)_BUSYBOX_CONFIG_FIXUPS),)
+PACKAGES_BUSYBOX_CONFIG_FIXUPS += $$($(2)_BUSYBOX_CONFIG_FIXUPS)$$(sep)
+endif
ifneq ($$($(2)_LINUX_CONFIG_FIXUPS),)
PACKAGES_LINUX_CONFIG_FIXUPS += $$($(2)_LINUX_CONFIG_FIXUPS)$$(sep)
endif
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v4 2/2] package/lynis: new package
2025-01-06 18:20 [Buildroot] [PATCH v4 0/2] lynis Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 1/2] package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS Francois Perrad
@ 2025-01-06 18:20 ` Francois Perrad
2025-02-04 16:36 ` [Buildroot] [PATCH v4 0/2] lynis Thomas Petazzoni via buildroot
2 siblings, 0 replies; 4+ messages in thread
From: Francois Perrad @ 2025-01-06 18:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/lynis/Config.in | 10 +++++
package/lynis/lynis.hash | 3 ++
package/lynis/lynis.mk | 48 +++++++++++++++++++++
support/testing/tests/package/test_lynis.py | 26 +++++++++++
6 files changed, 89 insertions(+)
create mode 100644 package/lynis/Config.in
create mode 100644 package/lynis/lynis.hash
create mode 100644 package/lynis/lynis.mk
create mode 100644 support/testing/tests/package/test_lynis.py
diff --git a/DEVELOPERS b/DEVELOPERS
index aedd73677..70b1fb9dd 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1162,6 +1162,7 @@ F: package/lpty/
F: package/lrandom/
F: package/lsqlite3/
F: package/lua*
+F: package/lynis/
F: package/lzlib/
F: package/moarvm/
F: package/mstpd/
diff --git a/package/Config.in b/package/Config.in
index 1eb5e1e02..b16a32709 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2732,6 +2732,7 @@ menu "Security"
source "package/apparmor/Config.in"
source "package/checkpolicy/Config.in"
source "package/ima-evm-utils/Config.in"
+ source "package/lynis/Config.in"
source "package/optee-client/Config.in"
source "package/optee-examples/Config.in"
source "package/optee-test/Config.in"
diff --git a/package/lynis/Config.in b/package/lynis/Config.in
new file mode 100644
index 000000000..2757e86a2
--- /dev/null
+++ b/package/lynis/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LYNIS
+ bool "lynis"
+ select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+ select BR2_PACKAGE_GZIP # runtime (zgrep /proc/config.gz)
+ help
+ Lynis is an auditing tool which tests and gathers (security)
+ information from Unix based systems.
+ Written in shell and running on system itself.
+
+ https://cisofy.com/lynis/
diff --git a/package/lynis/lynis.hash b/package/lynis/lynis.hash
new file mode 100644
index 000000000..1027fb21a
--- /dev/null
+++ b/package/lynis/lynis.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 9932147acafb1c5e13289a8bd46e8d330d4a97473da30ec04650ad019e497cd0 lynis-3.1.3.tar.gz
+sha256 57151f0fa287550534af08facb1c6693ca803ffa65b512da38b55c3130810bcf LICENSE
diff --git a/package/lynis/lynis.mk b/package/lynis/lynis.mk
new file mode 100644
index 000000000..13a883bd5
--- /dev/null
+++ b/package/lynis/lynis.mk
@@ -0,0 +1,48 @@
+################################################################################
+#
+# lynis
+#
+################################################################################
+
+LYNIS_VERSION = 3.1.3
+LYNIS_SITE = $(call github,CISOfy,lynis,$(LYNIS_VERSION))
+LYNIS_LICENSE = GPL-3.0
+LYNIS_LICENSE_FILES = LICENSE
+
+define LYNIS_INSTALL_TARGET_CMDS
+ $(INSTALL) -m 0755 $(@D)/lynis \
+ $(TARGET_DIR)/usr/sbin/lynis
+ $(INSTALL) -D -m 0644 $(@D)/default.prf \
+ $(TARGET_DIR)/etc/lynis/default.prf
+ $(INSTALL) -D -m 0644 $(@D)/developer.prf \
+ $(TARGET_DIR)/etc/lynis/developer.prf
+ $(INSTALL) -D -m 0644 $(@D)/plugins/* \
+ -t $(TARGET_DIR)/etc/lynis/plugins
+ $(INSTALL) -D -m 0644 $(@D)/include/* \
+ -t $(TARGET_DIR)/usr/share/lynis/include
+ $(INSTALL) -D -m 0644 $(@D)/db/*.db \
+ -t $(TARGET_DIR)/usr/share/lynis/db
+ $(INSTALL) -D -m 0644 $(@D)/db/languages/en \
+ $(TARGET_DIR)/usr/share/lynis/db/languages/en
+endef
+
+ifneq ($(BR2_PACKAGE_GAWK),y)
+define LYNIS_AWK_BUSYBOX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_AWK)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_AWK_LIBM)
+endef
+endif
+
+ifneq ($(BR2_PACKAGE_COREUTILS),y)
+define LYNIS_STAT_BUSYBOX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_STAT)
+endef
+endif
+
+define LYNIS_BUSYBOX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_PGREP)
+ $(LYNIS_AWK_BUSYBOX_CONFIG_FIXUPS)
+ $(LYNIS_STAT_BUSYBOX_CONFIG_FIXUPS)
+endef
+
+$(eval $(generic-package))
diff --git a/support/testing/tests/package/test_lynis.py b/support/testing/tests/package/test_lynis.py
new file mode 100644
index 000000000..bed4023e6
--- /dev/null
+++ b/support/testing/tests/package/test_lynis.py
@@ -0,0 +1,26 @@
+import os
+
+import infra.basetest
+
+
+class TestLynis(infra.basetest.BRTest):
+ config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
+ """
+ BR2_TARGET_ROOTFS_CPIO=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ BR2_PACKAGE_LYNIS=y
+ """
+
+ def login(self):
+ cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
+ self.emulator.boot(arch="armv5",
+ kernel="builtin",
+ options=["-initrd", cpio_file])
+ self.emulator.login()
+
+ def test_run(self):
+ self.login()
+ self.assertRunOk("which awk")
+ self.assertRunOk("which stat")
+ self.assertRunOk("which zgrep")
+ self.assertRunOk("lynis show version", timeout=90)
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH v4 0/2] lynis
2025-01-06 18:20 [Buildroot] [PATCH v4 0/2] lynis Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 1/2] package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 2/2] package/lynis: new package Francois Perrad
@ 2025-02-04 16:36 ` Thomas Petazzoni via buildroot
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-02-04 16:36 UTC (permalink / raw)
To: Francois Perrad; +Cc: buildroot
On Mon, 6 Jan 2025 19:20:15 +0100
Francois Perrad <francois.perrad@gadz.org> wrote:
> Francois Perrad (2):
> package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS
> package/lynis: new package
Thanks, both applied. On the second patch, I also added you as the
maintainer for the test, not just for the package.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-02-04 17:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-06 18:20 [Buildroot] [PATCH v4 0/2] lynis Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 1/2] package/busybox: handle LIBFOO_BUSYBOX_CONFIG_FIXUPS Francois Perrad
2025-01-06 18:20 ` [Buildroot] [PATCH v4 2/2] package/lynis: new package Francois Perrad
2025-02-04 16:36 ` [Buildroot] [PATCH v4 0/2] lynis Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.