Bump buildroot to 2020.11-rc1 (#985)

* Update buildroot-patches for 2020.11-rc1 buildroot

* Update buildroot to 2020.11-rc1

Signed-off-by: Stefan Agner <stefan@agner.ch>

* Don't rely on sfdisk --list-free output

The --list-free (-F) argument does not allow machine readable mode. And
it seems that the output format changes over time (different spacing,
using size postfixes instead of raw blocks).

Use sfdisk json output and calculate free partition space ourselfs. This
works for 2.35 and 2.36 and is more robust since we rely on output which
is meant for scripts to parse.

* Migrate defconfigs for Buildroot 2020.11-rc1

In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE).

* Rebase/remove systemd patches for systemd 246

* Drop apparmor/libapparmor from buildroot-external

* hassos-persists: use /run as directory for lockfiles

The U-Boot tools use /var/lock by default which is not created any more
by systemd by default (it is under tmpfiles legacy.conf, which we no
longer install).

* Disable systemd-update-done.service

The service is not suited for pure read-only systems. In particular the
service needs to be able to write a file in /etc and /var. Remove the
service. Note: This is a static service and cannot be removed using
systemd-preset.

* Disable apparmor.service for now

The service loads all default profiles. Some might actually cause
problems. E.g. the profile for ping seems not to match our setup for
/etc/resolv.conf:
[85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
This commit is contained in:
Stefan Agner
2020-11-13 18:25:44 +01:00
committed by GitHub
parent 25a0dd3082
commit a0871be6c0
4024 changed files with 68095 additions and 47900 deletions

View File

@@ -0,0 +1,69 @@
From ccf93148aa3587dd98a02e253cdc42a7af14df1e Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sat, 29 Aug 2020 16:04:15 +0200
Subject: [PATCH] Provide replacement function for strerror_l()
strerror_l() is not implemented in some C libraries, such as uClibc,
so let's provide a simple replacement function that falls back on
strerror().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
configure.ac | 2 ++
src/plugins/crypto.c | 7 +++++++
src/utils/module.c | 8 ++++++++
3 files changed, 17 insertions(+)
diff --git a/configure.ac b/configure.ac
index c2d22c2..36aeb51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,6 +137,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random
[LIBBLOCKDEV_SOFT_FAILURE([Header file $ac_header not found.])],
[])
+AC_CHECK_FUNCS([strerror_l])
+
AC_ARG_WITH([bcache],
AS_HELP_STRING([--with-bcache], [support bcache @<:@default=yes@:>@]),
[],
diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
index f4a2e8f..c1bd7b5 100644
--- a/src/plugins/crypto.c
+++ b/src/plugins/crypto.c
@@ -52,6 +52,13 @@
#define UNUSED __attribute__((unused))
+#if !defined(HAVE_STRERROR_L)
+static char *strerror_l(int errnum, locale_t locale UNUSED)
+{
+ return strerror(errnum);
+}
+#endif
+
/**
* SECTION: crypto
* @short_description: plugin for operations with encrypted devices
diff --git a/src/utils/module.c b/src/utils/module.c
index 9750e24..086bec0 100644
--- a/src/utils/module.c
+++ b/src/utils/module.c
@@ -27,6 +27,14 @@
#include "module.h"
+#define UNUSED __attribute__((unused))
+
+#if !defined(HAVE_STRERROR_L)
+static char *strerror_l(int errnum, locale_t locale UNUSED)
+{
+ return strerror(errnum);
+}
+#endif
/**
* bd_utils_module_error_quark: (skip)
--
2.26.2

View File

@@ -0,0 +1,72 @@
config BR2_PACKAGE_LIBBLOCKDEV
bool "libblockdev"
depends on !BR2_STATIC_LIBS # kmod
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_KMOD
select BR2_PACKAGE_LIBGLIB2
help
libblockdev is a C library supporting GObject introspection
for manipulation of block devices. It has a plugin-based
architecture where each technology (like LVM, Btrfs, MD RAID,
Swap,...) is implemented in a separate plugin, possibly with
multiple implementations.
https://github.com/storaged-project/libblockdev/
if BR2_PACKAGE_LIBBLOCKDEV
comment "plugins"
config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
bool "crypto"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
select BR2_PACKAGE_CRYPTSETUP
config BR2_PACKAGE_LIBBLOCKDEV_FS
bool "filesystem"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_PARTED
comment "filesystem plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_LOOP
bool "loop"
config BR2_PACKAGE_LIBBLOCKDEV_LVM2
bool "lvm2"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_PARTED
select BR2_PACKAGE_LVM2
comment "lvm2 support needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_MDRAID
bool "mdraid"
select BR2_PACKAGE_LIBBYTESIZE
config BR2_PACKAGE_LIBBLOCKDEV_PART
bool "part"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_PARTED
comment "part plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_SWAP
bool "swap"
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
endif
comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,3 @@
# Locally calculated
sha256 dc207c70dbef52c818a8abbcb6b8e298a6b63c0b78a5e1f2773b5f7b89300773 libblockdev-2.24.tar.gz
sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE

View File

@@ -0,0 +1,82 @@
################################################################################
#
# libblockdev
#
################################################################################
LIBBLOCKDEV_VERSION = 2.24
LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1
LIBBLOCKDEV_LICENSE = LGPL-2.1
LIBBLOCKDEV_LICENSE_FILES = LICENSE
LIBBLOCKDEV_INSTALL_STAGING = YES
LIBBLOCKDEV_DEPENDENCIES = host-pkgconf libglib2 kmod udev
# 0001-Provide-replacement-function-for-strerror_l.patch
LIBBLOCKDEV_AUTORECONF = YES
LIBBLOCKDEV_CONF_OPTS = \
--disable-introspection \
--with-loop \
--without-bcache \
--without-btrfs \
--without-dm \
--without-dmraid \
--without-escrow \
--without-kbd \
--without-lvm_dbus \
--without-mpath \
--without-nvdimm \
--without-python2 \
--without-python3 \
--without-s390 \
--without-tools \
--without-vdo
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_CRYPTO),y)
LIBBLOCKDEV_DEPENDENCIES += cryptsetup
LIBBLOCKDEV_CONF_OPTS += --with-crypto
else
LIBBLOCKDEV_CONF_OPTS += --without-crypto
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_FS),y)
LIBBLOCKDEV_DEPENDENCIES += parted util-linux
LIBBLOCKDEV_CONF_OPTS += --with-fs
else
LIBBLOCKDEV_CONF_OPTS += --without-fs
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LOOP),y)
LIBBLOCKDEV_CONF_OPTS += --with-loop
else
LIBBLOCKDEV_CONF_OPTS += --without-loop
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LVM2),y)
LIBBLOCKDEV_DEPENDENCIES += lvm2 parted
LIBBLOCKDEV_CONF_OPTS += --with-lvm
else
LIBBLOCKDEV_CONF_OPTS += --without-lvm
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_MDRAID),y)
LIBBLOCKDEV_DEPENDENCIES += libbytesize
LIBBLOCKDEV_CONF_OPTS += --with-mdraid
else
LIBBLOCKDEV_CONF_OPTS += --without-mdraid
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_PART),y)
LIBBLOCKDEV_DEPENDENCIES += parted
LIBBLOCKDEV_CONF_OPTS += --with-part
else
LIBBLOCKDEV_CONF_OPTS += --without-part
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_SWAP),y)
LIBBLOCKDEV_DEPENDENCIES += util-linux
LIBBLOCKDEV_CONF_OPTS += --with-swap
else
LIBBLOCKDEV_CONF_OPTS += --without-swap
endif
$(eval $(autotools-package))