diff --git a/board/aarch64/bananapi-bpi-r3/dts/mediatek/mt7986a-bananapi-bpi-r3.dtsi b/board/aarch64/bananapi-bpi-r3/dts/mediatek/mt7986a-bananapi-bpi-r3.dtsi index d220c5127..355afd163 100644 --- a/board/aarch64/bananapi-bpi-r3/dts/mediatek/mt7986a-bananapi-bpi-r3.dtsi +++ b/board/aarch64/bananapi-bpi-r3/dts/mediatek/mt7986a-bananapi-bpi-r3.dtsi @@ -8,22 +8,7 @@ }; }; }; -/* -From 236317dd4e55512933dcdaec3d0b4a0824f5e5bd Mon Sep 17 00:00:00 2001 -From: Shiji Yang -Date: Sun, 10 Aug 2025 18:11:01 +0800 -Subject: [PATCH] arm64: dts: mediatek: mt7986: increase ATF reserved memory to - 256 kiB -The latest Mediatek open-source Trusted Firmware-A project has -reserved 256 KiB for BL2 and BL31. It is better to increase the -reserved memory region in the Linux kernel to protect the data. - -https://github.com/openwrt/openwrt/blob/main/target/linux/mediatek/patches-6.12/199-arm64-dts-mediatek-mt7986-increase-ATF-reserved-memo.patch -*/ -&secmon_reserved { - reg = <0 0x43000000 0 0x40000>; -}; &cpu_thermal { /delete-node/ trips; /delete-node/ cooling-maps; diff --git a/board/common/rootfs/etc/pam.d/login b/board/common/rootfs/etc/pam.d/login deleted file mode 100644 index 0e79ed87a..000000000 --- a/board/common/rootfs/etc/pam.d/login +++ /dev/null @@ -1,17 +0,0 @@ -auth requisite pam_nologin.so -auth [success=1 default=ignore] pam_unix.so nullok -auth requisite pam_deny.so -auth required pam_permit.so - -account requisite pam_nologin.so -account [success=1 default=ignore] pam_unix.so -account requisite pam_deny.so -account required pam_permit.so - -password [success=1 default=ignore] pam_unix.so -password requisite pam_deny.so -password required pam_permit.so - -session required pam_loginuid.so -session optional pam_keyinit.so force revoke -session optional pam_motd.so diff --git a/buildroot b/buildroot index 2112f74ec..66450a898 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 2112f74ec16bea732ed060b18d6259cbc0e4566c +Subproject commit 66450a898a7da9480f12a0a9e875bd8872597779 diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 2beaf021c..1550faa19 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -3,16 +3,6 @@ Change Log All notable changes to the project are documented in this file. -[v26.03.0][UNRELEASED] - -------------------------- - -### Changes -- Upgrade Buildroot to 2026.02 (LTS) - -### Fixes - - - [v26.02.0][] - 2026-03-01 ------------------------- diff --git a/package/Config.in b/package/Config.in index 75584886c..0c0115b48 100644 --- a/package/Config.in +++ b/package/Config.in @@ -27,15 +27,19 @@ source "$BR2_EXTERNAL_INFIX_PATH/package/klish/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/klish-plugin-sysrepo/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/landing/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/libsrx/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/lowdown/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/mcd/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/mdns-alias/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/netbrowse/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/onieprom/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/podman/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/python-spy/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/python-libyang/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/python-yangdoc/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/skeleton-init-finit/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/tetris/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/libyang-cpp/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/sysrepo-cpp/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/rousette/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/nghttp2-asio/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/date-cpp/Config.in" diff --git a/package/feature-gps/Config.in b/package/feature-gps/Config.in index 671b03315..a222e5218 100644 --- a/package/feature-gps/Config.in +++ b/package/feature-gps/Config.in @@ -17,6 +17,7 @@ config BR2_PACKAGE_FEATURE_GPS select BR2_PACKAGE_GPSD_ISYNC select BR2_PACKAGE_GPSD_ITRAX select BR2_PACKAGE_GPSD_NMEA2000 + select BR2_PACKAGE_GPSD_OCEANSERVER select BR2_PACKAGE_GPSD_ONCORE select BR2_PACKAGE_GPSD_RTCM104V2 select BR2_PACKAGE_GPSD_RTCM104V3 diff --git a/patches/libyang-cpp/4/0001-Implement-SchemaNode-actionRpcs.patch b/package/libyang-cpp/0001-Implement-SchemaNode-actionRpcs.patch similarity index 100% rename from patches/libyang-cpp/4/0001-Implement-SchemaNode-actionRpcs.patch rename to package/libyang-cpp/0001-Implement-SchemaNode-actionRpcs.patch diff --git a/patches/libyang-cpp/4/0002-CI-pin-to-libyang-v3.patch b/package/libyang-cpp/0002-CI-pin-to-libyang-v3.patch similarity index 100% rename from patches/libyang-cpp/4/0002-CI-pin-to-libyang-v3.patch rename to package/libyang-cpp/0002-CI-pin-to-libyang-v3.patch diff --git a/patches/libyang-cpp/4/0003-wrap-lyd_validate_op.patch b/package/libyang-cpp/0003-wrap-lyd_validate_op.patch similarity index 100% rename from patches/libyang-cpp/4/0003-wrap-lyd_validate_op.patch rename to package/libyang-cpp/0003-wrap-lyd_validate_op.patch diff --git a/patches/libyang-cpp/4/0004-port-to-libyang-v4.patch b/package/libyang-cpp/0004-port-to-libyang-v4.patch similarity index 100% rename from patches/libyang-cpp/4/0004-port-to-libyang-v4.patch rename to package/libyang-cpp/0004-port-to-libyang-v4.patch diff --git a/patches/libyang-cpp/4/0005-Add-SchemaNode-isOutput-method.patch b/package/libyang-cpp/0005-Add-SchemaNode-isOutput-method.patch similarity index 100% rename from patches/libyang-cpp/4/0005-Add-SchemaNode-isOutput-method.patch rename to package/libyang-cpp/0005-Add-SchemaNode-isOutput-method.patch diff --git a/patches/libyang-cpp/4/0006-adapt-to-changes-in-libyang-v4.2.patch b/package/libyang-cpp/0006-adapt-to-changes-in-libyang-v4.2.patch similarity index 100% rename from patches/libyang-cpp/4/0006-adapt-to-changes-in-libyang-v4.2.patch rename to package/libyang-cpp/0006-adapt-to-changes-in-libyang-v4.2.patch diff --git a/patches/libyang-cpp/4/0007-don-t-segfault-when-listing-module-s-features.patch b/package/libyang-cpp/0007-don-t-segfault-when-listing-module-s-features.patch similarity index 100% rename from patches/libyang-cpp/4/0007-don-t-segfault-when-listing-module-s-features.patch rename to package/libyang-cpp/0007-don-t-segfault-when-listing-module-s-features.patch diff --git a/package/libyang-cpp/Config.in b/package/libyang-cpp/Config.in new file mode 100644 index 000000000..b3dd35582 --- /dev/null +++ b/package/libyang-cpp/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBYANG_CPP + bool "libyang-cpp" + depends on BR2_USE_MMU + select BR2_PACKAGE_LIBYANG + help + Libyang CPP bindings diff --git a/package/libyang-cpp/libyang-cpp.hash b/package/libyang-cpp/libyang-cpp.hash new file mode 100644 index 000000000..5b32439db --- /dev/null +++ b/package/libyang-cpp/libyang-cpp.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 82e3758011ec44c78e98d0777799d6e12aec5b8a64b32ebb20d0fe50e32488bb LICENSE +sha256 70fd0df940026fb930d5407abe679e064caf4701bff35d79465b9ad2c0915808 libyang-cpp-v4.tar.gz diff --git a/package/libyang-cpp/libyang-cpp.mk b/package/libyang-cpp/libyang-cpp.mk new file mode 100644 index 000000000..01df2afeb --- /dev/null +++ b/package/libyang-cpp/libyang-cpp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# CPP bindings for libyang +# +################################################################################ +LIBYANG_CPP_VERSION = v4 +LIBYANG_CPP_SITE = $(call github,CESNET,libyang-cpp,$(LIBYANG_CPP_VERSION)) +LIBYANG_CPP_LICENSE = BSD-3-Clause +LIBYANG_CPP_LICENSE_FILES = LICENSE +LIBYANG_CPP_DEPENDENCIES = libyang +LIBYANG_CPP_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/lowdown/Config.in b/package/lowdown/Config.in new file mode 100644 index 000000000..c0f31ab38 --- /dev/null +++ b/package/lowdown/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LOWDOWN + bool "lowdown" + help + Simple markdown translator, useful for terminals. + + https://kristaps.bsd.lv/lowdown/ + diff --git a/patches/lowdown/1.4.0/fix-build.patch b/package/lowdown/fix-build.patch similarity index 74% rename from patches/lowdown/1.4.0/fix-build.patch rename to package/lowdown/fix-build.patch index f523b71be..2fdd513e6 100644 --- a/patches/lowdown/1.4.0/fix-build.patch +++ b/package/lowdown/fix-build.patch @@ -1,8 +1,7 @@ -diff --git a/configure b/configure -index 8ae6a78..c8ab908 100755 ---- a/configure -+++ b/configure -@@ -61,12 +61,7 @@ echo "config.log: writing..." +diff -urN lowdown-VERSION_1_0_2.orig/configure lowdown-VERSION_1_0_2/configure +--- lowdown-VERSION_1_0_2.orig/configure 2025-03-21 12:58:06.151106271 +0000 ++++ lowdown-VERSION_1_0_2/configure 2025-03-21 13:20:20.649825864 +0000 +@@ -61,12 +61,7 @@ MAKE_FLAGS="" @@ -16,7 +15,7 @@ index 8ae6a78..c8ab908 100755 if [ -n "$MAKE_FLAGS" ]; then echo "GNU submake detected: using --no-print-directory" 1>&2 -@@ -79,9 +74,6 @@ fi +@@ -79,9 +74,6 @@ # in. #---------------------------------------------------------------------- diff --git a/package/lowdown/lowdown.hash b/package/lowdown/lowdown.hash new file mode 100644 index 000000000..f6f6a83d5 --- /dev/null +++ b/package/lowdown/lowdown.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 292f15c06a7fef39547775f7adabb19cf24a9ca2ffdf5b60fe8f933647e9f774 LICENSE.md +sha256 049b7883874f8a8e528dc7c4ed7b27cf7ceeb9ecf8fe71c3a8d51d574fddf84b lowdown-VERSION_1_0_2.tar.gz diff --git a/package/lowdown/lowdown.mk b/package/lowdown/lowdown.mk new file mode 100644 index 000000000..ef12a95e7 --- /dev/null +++ b/package/lowdown/lowdown.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# lowdown +# +################################################################################ + +LOWDOWN_VERSION = VERSION_1_0_2 +LOWDOWN_SITE = $(call github,kristapsdz,lowdown,$(LOWDOWN_VERSION)) +LOWDOWN_LICENSE = ISC +LOWDOWN_LICENSE_FILES = LICENSE.md + +define LOWDOWN_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure) +endef + +define LOWDOWN_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LOWDOWN_INSTALL_TARGET_CMDS + $(INSTALL) -t $(TARGET_DIR)/usr/bin -D -m 0755 $(@D)/lowdown +endef + +$(eval $(generic-package)) diff --git a/package/nghttp2-asio/nghttp2-asio.mk b/package/nghttp2-asio/nghttp2-asio.mk index 71b8a304f..ad7a43e97 100644 --- a/package/nghttp2-asio/nghttp2-asio.mk +++ b/package/nghttp2-asio/nghttp2-asio.mk @@ -13,6 +13,5 @@ NGHTTP2_ASIO_DEPENDENCIES = boost nghttp2 openssl NGHTTP2_ASIO_INSTALL_STAGING = YES NGHTTP2_ASIO_AUTOGEN = YES NGHTTP2_ASIO_AUTORECONF = YES -NGHTTP2_ASIO_CONF_OPTS += -DCMAKE_POLICY_VERSION_MINIMUM=3.5 $(eval $(cmake-package)) diff --git a/package/podman/Config.in b/package/podman/Config.in new file mode 100644 index 000000000..5f291d966 --- /dev/null +++ b/package/podman/Config.in @@ -0,0 +1,56 @@ +config BR2_PACKAGE_PODMAN + bool "podman" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve + depends on BR2_USE_MMU # libgpgme + select BR2_PACKAGE_CRUN # runtime dependency + select BR2_PACKAGE_CONMON # runtime dependency + select BR2_PACKAGE_CNI_PLUGINS # runtime dependency + select BR2_PACKAGE_BRIDGE_UTILS # Required for container networking + select BR2_PACKAGE_IPTABLES # Required for container network + select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency + select BR2_PACKAGE_CA_CERTIFICATES # Required for the podman pull command via https + select BR2_PACKAGE_LIBGPGME + help + podman is a CLI tool for spawning and running containers + according to the OCI specification. + + https://github.com/containers/podman + +if BR2_PACKAGE_PODMAN + +config BR2_PACKAGE_PODMAN_DRIVER_BTRFS + bool "btrfs filesystem driver" + depends on BR2_USE_MMU # btrfs-progs + depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs + select BR2_PACKAGE_BTRFS_PROGS + help + Build the btrfs filesystem driver. + +config BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER + bool "devicemapper filesystem driver" + depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 + depends on BR2_USE_MMU # lvm2 + depends on !BR2_STATIC_LIBS # lvm2 + select BR2_PACKAGE_LVM2 + help + Build the devicemapper filesystem driver. + +config BR2_PACKAGE_PODMAN_DRIVER_VFS + bool "vfs filesystem driver" + depends on BR2_USE_WCHAR # gvfs + depends on BR2_USE_MMU # gvfs + depends on BR2_TOOLCHAIN_HAS_THREADS # gvfs + depends on !BR2_STATIC_LIBS # gvfs + select BR2_PACKAGE_GVFS + help + Build the vfs filesystem driver. + +endif + +comment "podman needs a glibc or musl toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \ + BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/podman/containers-policy.json b/package/podman/containers-policy.json new file mode 100644 index 000000000..4480eb82b --- /dev/null +++ b/package/podman/containers-policy.json @@ -0,0 +1,14 @@ +{ + "default": [ + { + "type": "insecureAcceptAnything" + } + ], + "transports": + { + "docker-daemon": + { + "": [{"type":"insecureAcceptAnything"}] + } + } +} diff --git a/package/podman/podman.hash b/package/podman/podman.hash new file mode 100644 index 000000000..dade6f392 --- /dev/null +++ b/package/podman/podman.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 53f6bf7a8e4b647b2378ea8bfee6c67e03e412bf027b4dc0ff37a3a764703405 podman-4.9.5-go2.tar.gz +sha256 62fb8a3a9621dc2388174caaabe9c2317b694bb9a1d46c98bcf5655b68f51be3 LICENSE diff --git a/package/podman/podman.mk b/package/podman/podman.mk new file mode 100644 index 000000000..2fa70f7ab --- /dev/null +++ b/package/podman/podman.mk @@ -0,0 +1,138 @@ +################################################################################ +# +# podman +# +################################################################################ + +PODMAN_VERSION = 4.9.5 +PODMAN_SITE = $(call github,containers,podman,v$(PODMAN_VERSION)) +PODMAN_LICENSE = Apache-2.0 +PODMAN_LICENSE_FILES = LICENSE + +PODMAN_CPE_ID_VENDOR = podman_project +PODMAN_GOMOD = github.com/containers/podman/v4 + +PODMAN_BUILD_TARGETS = cmd/podman cmd/rootlessport cmd/quadlet +PODMAN_DEPENDENCIES += libgpgme +PODMAN_LDFLAGS = \ + -X $(PODMAN_GOMOD)/libpod/define.gitCommit=$(PODMAN_VERSION) +PODMAN_TAGS = \ + btrfs_noversion containers_image_openpgp \ + exclude_graphdriver_devicemapper exclude_graphdriver_zfs + +ifeq ($(BR2_INIT_SYSTEMD),y) +PODMAN_TAGS += systemd +endif + +ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) +PODMAN_DEPENDENCIES += libapparmor +PODMAN_TAGS += apparmor +endif + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +PODMAN_TAGS += seccomp +PODMAN_DEPENDENCIES += libseccomp host-pkgconf +else +define PODMAN_SECCOMP_PROFILE + $(INSTALL) -D -m 644 $(PODMAN_PKGDIR)/unconfined.conf \ + $(TARGET_DIR)/etc/containers/containers.conf +endef +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +PODMAN_TAGS += selinux +PODMAN_DEPENDENCIES += libselinux +endif + +ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_BTRFS),y) +PODMAN_DEPENDENCIES += btrfs-progs +define PODMAN_BTFRS_DRIVER_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS) + $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS_POSIX_ACL) +endef +else +PODMAN_TAGS += exclude_graphdriver_btrfs +endif + +ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER),y) +PODMAN_DEPENDENCIES += lvm2 +define PODMAN_DEVICEMAPPER_DRIVER_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_MD) + $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) + $(call KCONFIG_ENABLE_OPT,CONFIG_MD_THIN_PROVISIONING) +endef +else +PODMAN_TAGS += exclude_graphdriver_devicemapper +endif + +ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_VFS),y) +PODMAN_DEPENDENCIES += gvfs +else +PODMAN_TAGS += exclude_graphdriver_vfs +endif + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +define PODMAN_BASH_COMPLETION + $(INSTALL) -D -m 644 $(@D)/completions/bash/podman \ + $(TARGET_DIR)/usr/share/bash-completion/completions/ +endef +endif + +define PODMAN_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr \ + install.bin + $(INSTALL) -d -m 700 $(TARGET_DIR)/etc/cni + $(INSTALL) -d -m 700 $(TARGET_DIR)/etc/cni/net.d + $(INSTALL) -D -m 644 $(@D)/cni/87-podman-bridge.conflist \ + $(TARGET_DIR)/etc/cni/net.d/87-podman-bridge.conflist + $(INSTALL) -d -m 755 $(TARGET_DIR)/etc/containers + $(INSTALL) -D -m 644 $(PODMAN_PKGDIR)/containers-policy.json \ + $(TARGET_DIR)/etc/containers/policy.json + $(PODMAN_SECCOMP_PROFILE) + $(PODMAN_BASH_COMPLETION) +endef + +define PODMAN_INSTALL_INIT_SYSTEMD + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr \ + install.systemd +endef + +define PODMAN_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_PIDS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) + $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_USER_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) + $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_COMMENT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) + $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) + $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) + $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) + $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) + $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) + $(PODMAN_BTFRS_DRIVER_CONFIG_FIXUPS) + $(PODMAN_DEVICEMAPPER_DRIVER_CONFIG_FIXUPS) +endef + +$(eval $(golang-package)) diff --git a/package/podman/unconfined.conf b/package/podman/unconfined.conf new file mode 100644 index 000000000..9a6c6875d --- /dev/null +++ b/package/podman/unconfined.conf @@ -0,0 +1,5 @@ +[Network] +network_backend = "cni" + +[containers] +seccomp_profile = "unconfined" diff --git a/patches/sysrepo-cpp/6/0001-CI-pin-to-libyang-v3.patch b/package/sysrepo-cpp/0001-CI-pin-to-libyang-v3.patch similarity index 100% rename from patches/sysrepo-cpp/6/0001-CI-pin-to-libyang-v3.patch rename to package/sysrepo-cpp/0001-CI-pin-to-libyang-v3.patch diff --git a/patches/sysrepo-cpp/6/0002-fix-implicit-dependency-on-optional.patch b/package/sysrepo-cpp/0002-fix-implicit-dependency-on-optional.patch similarity index 100% rename from patches/sysrepo-cpp/6/0002-fix-implicit-dependency-on-optional.patch rename to package/sysrepo-cpp/0002-fix-implicit-dependency-on-optional.patch diff --git a/patches/sysrepo-cpp/6/0003-fix-include-for-for-our-public-headers.patch b/package/sysrepo-cpp/0003-fix-include-for-for-our-public-headers.patch similarity index 100% rename from patches/sysrepo-cpp/6/0003-fix-include-for-for-our-public-headers.patch rename to package/sysrepo-cpp/0003-fix-include-for-for-our-public-headers.patch diff --git a/patches/sysrepo-cpp/6/0004-reduce-number-of-files-which-are-named-utils.hpp.patch b/package/sysrepo-cpp/0004-reduce-number-of-files-which-are-named-utils.hpp.patch similarity index 100% rename from patches/sysrepo-cpp/6/0004-reduce-number-of-files-which-are-named-utils.hpp.patch rename to package/sysrepo-cpp/0004-reduce-number-of-files-which-are-named-utils.hpp.patch diff --git a/patches/sysrepo-cpp/6/0005-Fix-a-different-function-return-type.patch b/package/sysrepo-cpp/0005-Fix-a-different-function-return-type.patch similarity index 100% rename from patches/sysrepo-cpp/6/0005-Fix-a-different-function-return-type.patch rename to package/sysrepo-cpp/0005-Fix-a-different-function-return-type.patch diff --git a/patches/sysrepo-cpp/6/0006-fix-raw-strings-and-macros-break-gcc-13.patch b/package/sysrepo-cpp/0006-fix-raw-strings-and-macros-break-gcc-13.patch similarity index 100% rename from patches/sysrepo-cpp/6/0006-fix-raw-strings-and-macros-break-gcc-13.patch rename to package/sysrepo-cpp/0006-fix-raw-strings-and-macros-break-gcc-13.patch diff --git a/patches/sysrepo-cpp/6/0007-Port-to-libyang-v4.patch b/package/sysrepo-cpp/0007-Port-to-libyang-v4.patch similarity index 100% rename from patches/sysrepo-cpp/6/0007-Port-to-libyang-v4.patch rename to package/sysrepo-cpp/0007-Port-to-libyang-v4.patch diff --git a/patches/sysrepo-cpp/6/0008-fix-onOperGet-unconsistent-with-C-library.patch b/package/sysrepo-cpp/0008-fix-onOperGet-unconsistent-with-C-library.patch similarity index 100% rename from patches/sysrepo-cpp/6/0008-fix-onOperGet-unconsistent-with-C-library.patch rename to package/sysrepo-cpp/0008-fix-onOperGet-unconsistent-with-C-library.patch diff --git a/patches/sysrepo-cpp/6/0009-Update-to-libyang-v4.2.patch b/package/sysrepo-cpp/0009-Update-to-libyang-v4.2.patch similarity index 100% rename from patches/sysrepo-cpp/6/0009-Update-to-libyang-v4.2.patch rename to package/sysrepo-cpp/0009-Update-to-libyang-v4.2.patch diff --git a/package/sysrepo-cpp/Config.in b/package/sysrepo-cpp/Config.in new file mode 100644 index 000000000..ff3519c43 --- /dev/null +++ b/package/sysrepo-cpp/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SYSREPO_CPP + bool "sysrepo-cpp" + depends on BR2_USE_MMU + select BR2_PACKAGE_LIBYANG_CPP + select BR2_PACKAGE_SYSREPO + help + Sysrepo CPP bindings diff --git a/package/sysrepo-cpp/sysrepo-cpp.hash b/package/sysrepo-cpp/sysrepo-cpp.hash new file mode 100644 index 000000000..072e85a79 --- /dev/null +++ b/package/sysrepo-cpp/sysrepo-cpp.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 82e3758011ec44c78e98d0777799d6e12aec5b8a64b32ebb20d0fe50e32488bb LICENSE +sha256 d7fbeaba7f2fdaf70c67cc70f438943eee636b21f08854e58967d0d97801bacc sysrepo-cpp-v6.tar.gz diff --git a/package/sysrepo-cpp/sysrepo-cpp.mk b/package/sysrepo-cpp/sysrepo-cpp.mk new file mode 100644 index 000000000..d676c657c --- /dev/null +++ b/package/sysrepo-cpp/sysrepo-cpp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# CPP bindings for sysrepo +# +################################################################################ +SYSREPO_CPP_VERSION = v6 +SYSREPO_CPP_SITE = $(call github,sysrepo,sysrepo-cpp,$(SYSREPO_CPP_VERSION)) +SYSREPO_CPP_LICENSE = BSD-3-Clause +SYSREPO_CPP_LICENSE_FILES = LICENSE +SYSREPO_CPP_DEPENDENCIES = sysrepo libyang-cpp +SYSREPO_CPP_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/patches/iproute2/6.17.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch b/patches/iproute2/6.14.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch similarity index 79% rename from patches/iproute2/6.17.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch rename to patches/iproute2/6.14.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch index fc5905113..19129f402 100644 --- a/patches/iproute2/6.17.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch +++ b/patches/iproute2/6.14.0/0001-iplink_bridge-add-mcast_flood_always-bridge-option.patch @@ -1,11 +1,8 @@ -From f9008d2d58b215886961ae2ce90caba473207309 Mon Sep 17 00:00:00 2001 +From 392735fcb41b303b6dbe3517fab9ba734ff2e288 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 09:41:46 +0100 Subject: [PATCH 1/2] iplink_bridge: add mcast_flood_always bridge option -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Wires +Organization: Addiva Elektronik - Break out boolopt handling to simplify parsing and setting - Add set/get support for mcast_flood_always @@ -13,7 +10,6 @@ Organization: Wires Signed-off-by: Joachim Wiberg Signed-off-by: Tobias Waldekranz -Signed-off-by: Mattias Walström --- include/uapi/linux/if_bridge.h | 1 + ip/iplink_bridge.c | 19 +++++++++++++++++++ @@ -21,22 +17,22 @@ Signed-off-by: Mattias Walström 3 files changed, 32 insertions(+) diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h -index bed5e0c1..637ad93c 100644 +index c206cf6..84ef423 100644 --- a/include/uapi/linux/if_bridge.h +++ b/include/uapi/linux/if_bridge.h -@@ -832,6 +832,7 @@ enum br_boolopt_id { +@@ -830,6 +830,7 @@ enum br_boolopt_id { + BR_BOOLOPT_NO_LL_LEARN, BR_BOOLOPT_MCAST_VLAN_SNOOPING, BR_BOOLOPT_MST_ENABLE, - BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION, + BR_BOOLOPT_MCAST_FLOOD_ALWAYS, BR_BOOLOPT_MAX }; diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c -index 76e69086..827a0716 100644 +index 1fe8955..d4f2c80 100644 --- a/ip/iplink_bridge.c +++ b/ip/iplink_bridge.c -@@ -42,6 +42,7 @@ static void print_explain(FILE *f) +@@ -41,6 +41,7 @@ static void print_explain(FILE *f) " [ vlan_default_pvid VLAN_DEFAULT_PVID ]\n" " [ vlan_stats_enabled VLAN_STATS_ENABLED ]\n" " [ vlan_stats_per_port VLAN_STATS_PER_PORT ]\n" @@ -44,7 +40,7 @@ index 76e69086..827a0716 100644 " [ mcast_snooping MULTICAST_SNOOPING ]\n" " [ mcast_vlan_snooping MULTICAST_VLAN_SNOOPING ]\n" " [ mcast_router MULTICAST_ROUTER ]\n" -@@ -247,6 +248,18 @@ static int bridge_parse_opt(struct link_util *lu, int argc, char **argv, +@@ -245,6 +246,18 @@ static int bridge_parse_opt(struct link_util *lu, int argc, char **argv, bm.optval |= mcvl_bit; else bm.optval &= ~mcvl_bit; @@ -63,7 +59,7 @@ index 76e69086..827a0716 100644 } else if (matches(*argv, "mcast_query_use_ifaddr") == 0) { __u8 mcast_qui; -@@ -638,6 +651,7 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) +@@ -623,6 +636,7 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) __u32 mcvl_bit = 1 << BR_BOOLOPT_MCAST_VLAN_SNOOPING; __u32 no_ll_learn_bit = 1 << BR_BOOLOPT_NO_LL_LEARN; __u32 mst_bit = 1 << BR_BOOLOPT_MST_ENABLE; @@ -71,10 +67,10 @@ index 76e69086..827a0716 100644 struct br_boolopt_multi *bm; bm = RTA_DATA(tb[IFLA_BR_MULTI_BOOLOPT]); -@@ -661,6 +675,11 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) - "mdb_offload_fail_notification", - "mdb_offload_fail_notification %u ", - !!(bm->optval & mofn_bit)); +@@ -641,6 +655,11 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) + "mst_enabled", + "mst_enabled %u ", + !!(bm->optval & mst_bit)); + if (bm->optmask & mcfl_bit) + print_uint(PRINT_ANY, + "mcast_flood_always", @@ -84,10 +80,10 @@ index 76e69086..827a0716 100644 if (tb[IFLA_BR_MCAST_ROUTER]) diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in -index e3297c57..f2852adf 100644 +index efb6248..2308835 100644 --- a/man/man8/ip-link.8.in +++ b/man/man8/ip-link.8.in -@@ -1737,6 +1737,8 @@ the following additional arguments are supported: +@@ -1712,6 +1712,8 @@ the following additional arguments are supported: ] [ .BI vlan_stats_per_port " VLAN_STATS_PER_PORT " ] [ @@ -96,7 +92,7 @@ index e3297c57..f2852adf 100644 .BI mcast_snooping " MULTICAST_SNOOPING " ] [ .BI mcast_vlan_snooping " MULTICAST_VLAN_SNOOPING " -@@ -1887,6 +1889,16 @@ or disable +@@ -1860,6 +1862,16 @@ or disable .RI ( VLAN_STATS_PER_PORT " == 0) " per-VLAN per-port stats accounting. Can be changed only when there are no port VLANs configured. diff --git a/patches/iproute2/6.17.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch b/patches/iproute2/6.14.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch similarity index 72% rename from patches/iproute2/6.17.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch rename to patches/iproute2/6.14.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch index d6ff6d5a4..eda954099 100644 --- a/patches/iproute2/6.17.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch +++ b/patches/iproute2/6.14.0/0002-ipaddress-accept-symbolic-names-also-for-show.patch @@ -1,11 +1,8 @@ -From 2aac8bf90e25e33e022c850702d8581d7d6cba25 Mon Sep 17 00:00:00 2001 +From a035696129b543952e8105c27689ed4f9312eb3b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 20 May 2024 21:35:11 +0200 Subject: [PATCH 2/2] ipaddress: accept symbolic names also for show -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Wires +Organization: Addiva Elektronik This is a follow-up to 709063e, which in turn was a follow-up to bdb8d85, to add support for 'ip addr show proto static', where @@ -13,16 +10,15 @@ bdb8d85, to add support for 'ip addr show proto static', where Signed-off-by: Joachim Wiberg Signed-off-by: Tobias Waldekranz -Signed-off-by: Mattias Walström --- ip/ipaddress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip/ipaddress.c b/ip/ipaddress.c -index 4d93a04a..1bff689e 100644 +index 4e1f934f..437072f9 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c -@@ -2248,7 +2248,7 @@ static int ipaddr_list_flush_or_save(int argc, char **argv, int action) +@@ -2224,7 +2224,7 @@ static int ipaddr_list_flush_or_save(int argc, char **argv, int action) __u8 proto; NEXT_ARG(); diff --git a/patches/lldpd/1.0.15/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch b/patches/lldpd/1.0.15/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch new file mode 100644 index 000000000..1198f40d4 --- /dev/null +++ b/patches/lldpd/1.0.15/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch @@ -0,0 +1,34 @@ +--- a/src/daemon/lldpd.c ++++ b/src/daemon/lldpd.c +@@ -1581,6 +1581,8 @@ + struct group *group; + uid_t uid; + gid_t gid; ++#else ++ struct group *group; + #endif + + saved_argv = argv; +@@ -1780,6 +1782,8 @@ + if ((group = getgrnam(PRIVSEP_GROUP)) == NULL) + fatalx("main", "no " PRIVSEP_GROUP " group for privilege separation, please create it"); + gid = group->gr_gid; ++#else ++ group = getgrnam("wheel"); + #endif + + /* Create and setup socket */ +@@ -1815,6 +1819,13 @@ + S_IRUSR | S_IWUSR | S_IXUSR | + S_IRGRP | S_IWGRP | S_IXGRP) == -1) + log_warn("main", "unable to chmod control socket"); ++#else ++ if (group) { ++ if (chown(ctlname, -1, group->gr_gid)) ++ log_warn("main", "unable to chown control socket"); ++ else ++ chmod(ctlname, 0770); ++ } + #endif + + /* Create associated advisory lock file */ diff --git a/patches/lldpd/1.0.20/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch b/patches/lldpd/1.0.18/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch similarity index 100% rename from patches/lldpd/1.0.20/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch rename to patches/lldpd/1.0.18/0001-lldpd-allow-all-users-of-group-wheel-to-connect.patch diff --git a/patches/rauc/1.11.3/0001-src-bundle-enable-tftp-protocol.patch b/patches/rauc/1.11.3/0001-src-bundle-enable-tftp-protocol.patch new file mode 100644 index 000000000..ac98f4599 --- /dev/null +++ b/patches/rauc/1.11.3/0001-src-bundle-enable-tftp-protocol.patch @@ -0,0 +1,12 @@ +diff --git a/src/bundle.c b/src/bundle.c +index 05ec358..d5888d4 100644 +--- a/src/bundle.c ++++ b/src/bundle.c +@@ -1313,6 +1313,7 @@ static gboolean is_remote_scheme(const gchar *scheme) + { + return (g_strcmp0(scheme, "http") == 0) || + (g_strcmp0(scheme, "https") == 0) || ++ (g_strcmp0(scheme, "tftp") == 0) || + (g_strcmp0(scheme, "sftp") == 0) || + (g_strcmp0(scheme, "ftp") == 0) || + (g_strcmp0(scheme, "ftps") == 0); diff --git a/patches/rauc/1.11.3/0002-src-main-add-optional-syslog-support.patch b/patches/rauc/1.11.3/0002-src-main-add-optional-syslog-support.patch new file mode 100644 index 000000000..0cbc00bdd --- /dev/null +++ b/patches/rauc/1.11.3/0002-src-main-add-optional-syslog-support.patch @@ -0,0 +1,84 @@ +diff --git a/src/main.c b/src/main.c +index 8e851b4..62d0bec 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -2183,6 +2184,38 @@ static gboolean unknown_start(int argc, char **argv) + return TRUE; + } + ++static int log_level(GLogLevelFlags level) ++{ ++ if (level & G_LOG_FLAG_FATAL) ++ return LOG_EMERG; ++ if (level & G_LOG_FLAG_RECURSION) ++ return LOG_ALERT; ++ if (level & G_LOG_LEVEL_CRITICAL) ++ return LOG_CRIT; ++ if (level & G_LOG_LEVEL_ERROR) ++ return LOG_ERR; ++ if (level & G_LOG_LEVEL_WARNING) ++ return LOG_WARNING; ++ if (level & G_LOG_LEVEL_MESSAGE) ++ return LOG_NOTICE; ++ if (level & G_LOG_LEVEL_INFO) ++ return LOG_INFO; ++ if (level & G_LOG_LEVEL_DEBUG) ++ return LOG_DEBUG; ++ ++ /* Fallback to INFO for unknown levels */ ++ return LOG_INFO; ++} ++ ++static void syslog_handler(const gchar *domain, GLogLevelFlags level, const gchar *message, gpointer arg) ++{ ++ /* unused */ ++ (void)domain; ++ (void)arg; ++ ++ syslog(log_level(level), "%s", message); ++} ++ + typedef enum { + UNKNOWN = 0, + INSTALL, +@@ -2370,7 +2403,7 @@ static void create_option_groups(void) + + static void cmdline_handler(int argc, char **argv) + { +- gboolean help = FALSE, debug = FALSE, version = FALSE; ++ gboolean help = FALSE, debug = FALSE, use_syslog = FALSE, version = FALSE; + g_autofree gchar *confpath = NULL, *keyring = NULL, *mount = NULL; + char *cmdarg = NULL; + g_autoptr(GOptionContext) context = NULL; +@@ -2383,6 +2416,7 @@ static void cmdline_handler(int argc, char **argv) + {"intermediate", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_FILENAME_ARRAY, &intermediate, "intermediate CA file or PKCS#11 URL", "PEMFILE|PKCS11-URL"}, + {"mount", '\0', 0, G_OPTION_ARG_FILENAME, &mount, "mount prefix", "PATH"}, + {"debug", 'd', 0, G_OPTION_ARG_NONE, &debug, "enable debug output", NULL}, ++ {"syslog", 's', 0, G_OPTION_ARG_NONE, &use_syslog, "use syslog instead of stdout", NULL}, + {"version", '\0', 0, G_OPTION_ARG_NONE, &version, "display version", NULL}, + {"help", 'h', 0, G_OPTION_ARG_NONE, &help, "display help and exit", NULL}, + {0} +@@ -2500,6 +2534,15 @@ static void cmdline_handler(int argc, char **argv) + g_message("Debug log domains: '%s'", domains); + } + ++ if (use_syslog) { ++ GLogLevelFlags levels = G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION; ++ const char *ident = "rauc"; ++ ++ /* XXX: facility should be configurable */ ++ openlog(ident, LOG_PID | LOG_NOWAIT, LOG_LOCAL0); ++ g_log_set_handler(ident, levels, syslog_handler, NULL); ++ } ++ + /* get first parameter without dashes */ + for (gint i = 1; i <= argc; i++) { + if (argv[i] && !g_str_has_prefix(argv[i], "-")) { diff --git a/patches/rauc/1.11.3/0003-src-install-print-bootname-when-checking-slot.patch b/patches/rauc/1.11.3/0003-src-install-print-bootname-when-checking-slot.patch new file mode 100644 index 000000000..e281302fa --- /dev/null +++ b/patches/rauc/1.11.3/0003-src-install-print-bootname-when-checking-slot.patch @@ -0,0 +1,29 @@ +This makes the output more user friendly on systems where the bootname +is the common way to refer to a slot. + +Example output: +... +40% Checking slot rootfs.1 (secondary) +46% Checking slot rootfs.1 (secondary) done. +... + +diff --git a/src/install.c b/src/install.c +index ea7c95b3..fb38bcab 100644 +--- a/src/install.c ++++ b/src/install.c +@@ -965,7 +965,11 @@ static gboolean handle_slot_install_plan(const RaucManifest *manifest, const RIm + + install_args_update(args, "Checking slot %s", plan->target_slot->name); + +- r_context_begin_step_weighted_formatted("check_slot", 0, 1, "Checking slot %s", plan->target_slot->name); ++ r_context_begin_step_weighted_formatted("check_slot", 0, 1, "Checking slot %s%s%s%s", ++ plan->target_slot->name, ++ plan->target_slot->bootname ? " (" : "", ++ plan->target_slot->bootname ? plan->target_slot->bootname : "", ++ plan->target_slot->bootname ? ")" : ""); + + r_slot_status_load(plan->target_slot); + slot_state = plan->target_slot->status; +-- +2.34.1 + diff --git a/patches/rauc/1.11.3/0004-src-main-add-warning-banner-at-start-of-installation.patch b/patches/rauc/1.11.3/0004-src-main-add-warning-banner-at-start-of-installation.patch new file mode 100644 index 000000000..22fac7503 --- /dev/null +++ b/patches/rauc/1.11.3/0004-src-main-add-warning-banner-at-start-of-installation.patch @@ -0,0 +1,24 @@ +Print "the standard" warning banner at start of installation. + +diff --git a/src/main.c b/src/main.c +index 8e851b47..bba1d012 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -258,6 +258,14 @@ static gboolean install_start(int argc, char **argv) + if (access_args.http_headers) + args->access_args.http_headers = g_strdupv(access_args.http_headers); + ++ g_print("+------------------------------------------------------------------------------+\n"); ++ g_print("| |\n"); ++ g_print("| [!] Installation might take a while. DO NOT power off the device. |\n"); ++ g_print("| |\n"); ++ g_print("| Please wait while the upgrade completes. |\n"); ++ g_print("| |\n"); ++ g_print("+------------------------------------------------------------------------------+\n"); ++ + r_loop = g_main_loop_new(NULL, FALSE); + if (ENABLE_SERVICE) { + g_auto(GVariantDict) dict = G_VARIANT_DICT_INIT(NULL); +-- +2.34.1 + diff --git a/patches/rauc/1.15.1/0001-src-main-add-optional-syslog-support.patch b/patches/rauc/1.13/0001-src-main-add-optional-syslog-support.patch similarity index 76% rename from patches/rauc/1.15.1/0001-src-main-add-optional-syslog-support.patch rename to patches/rauc/1.13/0001-src-main-add-optional-syslog-support.patch index 7fc53af47..ed85c89d3 100644 --- a/patches/rauc/1.15.1/0001-src-main-add-optional-syslog-support.patch +++ b/patches/rauc/1.13/0001-src-main-add-optional-syslog-support.patch @@ -1,11 +1,8 @@ -From 20b63b112df3092b51b8f1d2f9ef26c238fbc3dc Mon Sep 17 00:00:00 2001 +From c4e4ad9d69b3bc62ee53f8088d6a192d288c6645 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 23 Nov 2023 18:49:36 +0100 -Subject: [PATCH] src/main: add optional syslog support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Wires +Subject: [PATCH 2/2] src/main: add optional syslog support +Organization: Addiva Elektronik Instead of having to redirect (colored) logs to stdout/stderr, this patch adds support for logging directly to syslog with approximate @@ -16,15 +13,14 @@ logged to LOG_LOCAL0 facility. This should of course be configurable but is not at this stage. Signed-off-by: Joachim Wiberg -Signed-off-by: Mattias Walström --- src/main.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) -diff --git a/src/main.c b/src/main.c -index b3192a38..0ca5af21 100644 ---- a/src/main.c -+++ b/src/main.c + +diff -urN rauc-1.13.orig/src/main.c rauc-1.13/src/main.c +--- rauc-1.13.orig/src/main.c 2025-03-04 14:55:59.671534612 +0100 ++++ rauc-1.13/src/main.c 2025-03-04 14:57:13.022772424 +0100 @@ -10,6 +10,7 @@ #include #include @@ -33,7 +29,7 @@ index b3192a38..0ca5af21 100644 #include #include -@@ -2540,6 +2541,38 @@ static gboolean unknown_start(int argc, char **argv) +@@ -2460,6 +2461,38 @@ return TRUE; } @@ -72,16 +68,16 @@ index b3192a38..0ca5af21 100644 typedef enum { UNKNOWN = 0, INSTALL, -@@ -2774,7 +2807,7 @@ static gboolean collect_config_values(const gchar *option_name, const gchar *val +@@ -2676,7 +2709,7 @@ static void cmdline_handler(int argc, char **argv) { - gboolean help = FALSE, debug = FALSE, version = FALSE; -+ gboolean help = FALSE, debug = FALSE, version = FALSE, use_syslog = FALSE; - g_autofree gchar *confpath = NULL, *mount = NULL; ++ gboolean help = FALSE, debug = FALSE, use_syslog = FALSE, version = FALSE; + g_autofree gchar *confpath = NULL, *keyring = NULL, *mount = NULL; char *cmdarg = NULL; g_autoptr(GOptionContext) context = NULL; -@@ -2789,6 +2822,7 @@ static void cmdline_handler(int argc, char **argv) +@@ -2690,6 +2723,7 @@ {"intermediate", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_FILENAME_ARRAY, &intermediate, "intermediate CA file or PKCS#11 URL", "PEMFILE|PKCS11-URL"}, {"mount", '\0', 0, G_OPTION_ARG_FILENAME, &mount, "mount prefix", "PATH"}, {"debug", 'd', 0, G_OPTION_ARG_NONE, &debug, "enable debug output", NULL}, @@ -89,7 +85,7 @@ index b3192a38..0ca5af21 100644 {"version", '\0', 0, G_OPTION_ARG_NONE, &version, "display version", NULL}, {"help", 'h', 0, G_OPTION_ARG_NONE, &help, "display help and exit", NULL}, {0} -@@ -2916,6 +2950,15 @@ static void cmdline_handler(int argc, char **argv) +@@ -2816,6 +2850,15 @@ ); } @@ -105,6 +101,3 @@ index b3192a38..0ca5af21 100644 /* get first parameter without dashes */ for (gint i = 1; i <= argc; i++) { if (argv[i] && !g_str_has_prefix(argv[i], "-")) { --- -2.43.0 - diff --git a/src/confd/src/ntp.c b/src/confd/src/ntp.c index d47d07a94..2cf2465af 100644 --- a/src/confd/src/ntp.c +++ b/src/confd/src/ntp.c @@ -208,7 +208,7 @@ static int change(sr_session_ctx_t *session, struct lyd_node *config, struct lyd /* Local clock fallback - only if stratum is valid (1-15) */ if (stratum >= 1 && stratum <= 15) { fprintf(fp, "# Local reference clock - fallback stratum %d source\n", stratum); - fprintf(fp, "local stratum %d orphan waitunsynced 0\n\n", stratum); + fprintf(fp, "local stratum %d orphan\n\n", stratum); } } diff --git a/test/case/hardware/watchdog/test.py b/test/case/hardware/watchdog/test.py index 22d279d27..b88545362 100755 --- a/test/case/hardware/watchdog/test.py +++ b/test/case/hardware/watchdog/test.py @@ -23,7 +23,7 @@ tgtssh = env.attach("target", "mgmt", "ssh") with test.step("Verify the presence of a watchdog device"): - wctl = tgtssh.run(["watchdogctl", "-j"], stdout=subprocess.PIPE) + wctl = tgtssh.run(["watchdogctl"], stdout=subprocess.PIPE) conf = json.loads(wctl.stdout) dogs = [ dog for dog in conf.get("device", []) if dog.get("name", "") == "/dev/watchdog" ]