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

@@ -1,386 +0,0 @@
From 09eeff8c90a82e7aa9ff215320d558c1147982f6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Nov 2019 19:59:29 -0800
Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
time element is deprecated on new input_event structure in kernel's
input.h [1]
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/libts/tslib/commit/a7a39a67f9a7f7fab9765d412ab42869a5c5c858]
---
plugins/input-raw.c | 59 +++++++++++++++++++++++++++-------------
tools/ts_uinput.c | 66 ++++++++++++++++++++++++++++++---------------
2 files changed, 85 insertions(+), 40 deletions(-)
diff --git a/plugins/input-raw.c b/plugins/input-raw.c
index 64f0156..f030836 100644
--- a/plugins/input-raw.c
+++ b/plugins/input-raw.c
@@ -40,6 +40,11 @@
# include <linux/input.h>
#endif
+#ifndef input_event_sec
+#define input_event_sec time.tv_sec
+#define input_event_usec time.tv_usec
+#endif
+
#ifndef EV_SYN /* 2.4 kernel headers */
# define EV_SYN 0x00
#endif
@@ -384,7 +389,8 @@ static int ts_input_read(struct tslib_module_info *inf,
samp->y = i->current_y;
samp->pressure = i->current_p;
}
- samp->tv = ev.time;
+ samp->tv.tv_sec = ev.input_event_sec;
+ samp->tv.tv_usec = ev.input_event_usec;
#ifdef DEBUG
fprintf(stderr,
"RAW---------------------> %d %d %d %ld.%ld\n",
@@ -519,7 +525,8 @@ static int ts_input_read(struct tslib_module_info *inf,
samp->pressure = i->current_p = ev.value;
break;
}
- samp->tv = ev.time;
+ samp->tv.tv_sec = ev.input_event_sec;
+ samp->tv.tv_usec = ev.input_event_usec;
#ifdef DEBUG
fprintf(stderr,
"RAW---------------------------> %d %d %d\n",
@@ -536,7 +543,8 @@ static int ts_input_read(struct tslib_module_info *inf,
samp->x = 0;
samp->y = 0;
samp->pressure = 0;
- samp->tv = ev.time;
+ samp->tv.tv_sec = ev.input_event_sec;
+ samp->tv.tv_usec = ev.input_event_usec;
samp++;
total++;
}
@@ -651,7 +659,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
switch (i->ev[it].code) {
case BTN_TOUCH:
i->buf[total][i->slot].pen_down = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
if (i->ev[it].value == 0)
pen_up = 1;
@@ -751,7 +760,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
// fall through
case ABS_MT_POSITION_X:
i->buf[total][i->slot].x = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_Y:
@@ -760,7 +770,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
// fall through
case ABS_MT_POSITION_Y:
i->buf[total][i->slot].y = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_PRESSURE:
@@ -769,12 +780,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
// fall through
case ABS_MT_PRESSURE:
i->buf[total][i->slot].pressure = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_TOOL_X:
i->buf[total][i->slot].tool_x = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
/* for future use
* i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
@@ -782,7 +795,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
break;
case ABS_MT_TOOL_Y:
i->buf[total][i->slot].tool_y = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
/* for future use
* i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
@@ -790,7 +804,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
break;
case ABS_MT_TOOL_TYPE:
i->buf[total][i->slot].tool_type = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
/* for future use
* i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
@@ -798,12 +813,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
break;
case ABS_MT_ORIENTATION:
i->buf[total][i->slot].orientation = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_DISTANCE:
i->buf[total][i->slot].distance = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
if (i->special_device == EGALAX_VERSION_210) {
@@ -816,34 +833,40 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
break;
case ABS_MT_BLOB_ID:
i->buf[total][i->slot].blob_id = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_TOUCH_MAJOR:
i->buf[total][i->slot].touch_major = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
if (i->ev[it].value == 0)
i->buf[total][i->slot].pressure = 0;
break;
case ABS_MT_WIDTH_MAJOR:
i->buf[total][i->slot].width_major = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_TOUCH_MINOR:
i->buf[total][i->slot].touch_minor = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_WIDTH_MINOR:
i->buf[total][i->slot].width_minor = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
break;
case ABS_MT_TRACKING_ID:
i->buf[total][i->slot].tracking_id = i->ev[it].value;
- i->buf[total][i->slot].tv = i->ev[it].time;
+ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
+ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
if (i->ev[it].value == -1)
i->buf[total][i->slot].pressure = 0;
diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c
index 6ca4c3d..1832a07 100644
--- a/tools/ts_uinput.c
+++ b/tools/ts_uinput.c
@@ -170,14 +170,16 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
continue;
if (s[j][i].pen_down == 1) {
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_KEY;
data->ev[c].code = BTN_TOUCH;
data->ev[c].value = s[j][i].pen_down;
c++;
}
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_SLOT;
data->ev[c].value = s[j][i].slot;
@@ -190,111 +192,129 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
* we should use slot 1 and so on.
*/
if (i == 0) {
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_X;
data->ev[c].value = s[j][i].x;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_Y;
data->ev[c].value = s[j][i].y;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_PRESSURE;
data->ev[c].value = s[j][i].pressure;
c++;
}
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_POSITION_X;
data->ev[c].value = s[j][i].x;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_POSITION_Y;
data->ev[c].value = s[j][i].y;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_PRESSURE;
data->ev[c].value = s[j][i].pressure;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TOUCH_MAJOR;
data->ev[c].value = s[j][i].touch_major;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_WIDTH_MAJOR;
data->ev[c].value = s[j][i].width_major;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TOUCH_MINOR;
data->ev[c].value = s[j][i].touch_minor;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_WIDTH_MINOR;
data->ev[c].value = s[j][i].width_minor;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TOOL_TYPE;
data->ev[c].value = s[j][i].tool_type;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TOOL_X;
data->ev[c].value = s[j][i].tool_x;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TOOL_Y;
data->ev[c].value = s[j][i].tool_y;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_ORIENTATION;
data->ev[c].value = s[j][i].orientation;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_DISTANCE;
data->ev[c].value = s[j][i].distance;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_BLOB_ID;
data->ev[c].value = s[j][i].blob_id;
c++;
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_ABS;
data->ev[c].code = ABS_MT_TRACKING_ID;
data->ev[c].value = s[j][i].tracking_id;
c++;
if (data->mt_type_a == 1) {
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_SYN;
data->ev[c].code = SYN_MT_REPORT;
data->ev[c].value = 0;
@@ -302,7 +322,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
}
if (s[j][i].pen_down == 0) {
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_KEY;
data->ev[c].code = BTN_TOUCH;
data->ev[c].value = s[j][i].pen_down;
@@ -312,7 +333,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
}
if (c > 0) {
- data->ev[c].time = s[j][i].tv;
+ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
+ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
data->ev[c].type = EV_SYN;
data->ev[c].code = SYN_REPORT;
data->ev[c].value = 0;

View File

@@ -1,28 +0,0 @@
From 050bf24c16e95f63a76e13156346a072035d45b4 Mon Sep 17 00:00:00 2001
From: Evan Harvey <evanwork1234@gmail.com>
Date: Thu, 19 Mar 2020 01:32:03 -0700
Subject: [PATCH] Fix build error with input_event_sec for old kernel
[Retrieved from:
https://github.com/libts/tslib/commit/050bf24c16e95f63a76e13156346a072035d45b4]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
tools/ts_uinput.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c
index 1832a07..9c40bb3 100644
--- a/tools/ts_uinput.c
+++ b/tools/ts_uinput.c
@@ -51,6 +51,11 @@
#include <linux/fb.h>
#endif
+#ifndef input_event_sec
+#define input_event_sec time.tv_sec
+#define input_event_usec time.tv_usec
+#endif
+
#define RESET "\033[0m"
#define RED "\033[31m"
#define GREEN "\033[32m"

View File

@@ -1,5 +1,5 @@
# https://github.com/libts/tslib/releases/download/1.21/tslib-1.21.tar.xz.sha256
sha256 d2a57b823ea59e53a3b130eef05dfed1190b857854f886eec764e1ca1957cf56 tslib-1.21.tar.xz
# https://github.com/libts/tslib/releases/download/1.22/tslib-1.22.tar.xz.sha256
sha256 aaf0aed410a268d7b51385d07fe4d9d64312038e87c447ec8a24c8db0a15617a tslib-1.22.tar.xz
# Locally computed
sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
TSLIB_VERSION = 1.21
TSLIB_VERSION = 1.22
TSLIB_SITE = https://github.com/libts/tslib/releases/download/$(TSLIB_VERSION)
TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz
TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)