diff options
Diffstat (limited to 'meta/recipes-core')
338 files changed, 4819 insertions, 6643 deletions
diff --git a/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch b/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch deleted file mode 100644 index a6e39e0956..0000000000 --- a/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 830abe652428d9d31780c3ace121635ad7b64274 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eero Aaltonen <eero.aaltonen@vaisala.com> | ||
3 | Date: Wed Sep 27 15:50:48 2023 +0300 | ||
4 | Subject: [PATCH] Add nss-resolve to the Name Service Switch (NSS) | ||
5 | |||
6 | Add `nss-resolve` so that `systemd-resolved` is used for name | ||
7 | resolution with glibc `gethostbyname` calls. | ||
8 | |||
9 | Upstream-Status: Inappropriate [no upstream, configuration]. | ||
10 | |||
11 | Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com> | ||
12 | --- | ||
13 | nsswitch.conf | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/nsswitch.conf b/nsswitch.conf | ||
17 | index 06f03d2..34b165c 100644 | ||
18 | --- a/nsswitch.conf | ||
19 | +++ b/nsswitch.conf | ||
20 | @@ -8,7 +8,7 @@ passwd: compat | ||
21 | group: compat | ||
22 | shadow: compat | ||
23 | |||
24 | -hosts: files dns | ||
25 | +hosts: resolve [!UNAVAIL=return] files dns | ||
26 | networks: files | ||
27 | |||
28 | protocols: db files | ||
29 | -- | ||
30 | 2.25.1 | ||
31 | |||
diff --git a/meta/recipes-core/base-files/base-files/nsswitch-resolved.conf b/meta/recipes-core/base-files/base-files/nsswitch-resolved.conf new file mode 100644 index 0000000000..ec6ce156b5 --- /dev/null +++ b/meta/recipes-core/base-files/base-files/nsswitch-resolved.conf | |||
@@ -0,0 +1,20 @@ | |||
1 | # /etc/nsswitch.conf | ||
2 | # | ||
3 | # Example configuration of GNU Name Service Switch functionality. | ||
4 | # If you have the `glibc-doc' and `info' packages installed, try: | ||
5 | # `info libc "Name Service Switch"' for information about this file. | ||
6 | |||
7 | passwd: compat | ||
8 | group: compat | ||
9 | shadow: compat | ||
10 | gshadow: files | ||
11 | |||
12 | hosts: resolve [!UNAVAIL=return] files dns | ||
13 | networks: files | ||
14 | |||
15 | protocols: db files | ||
16 | services: db files | ||
17 | ethers: db files | ||
18 | rpc: db files | ||
19 | |||
20 | netgroup: nis | ||
diff --git a/meta/recipes-core/base-files/base-files/nsswitch.conf b/meta/recipes-core/base-files/base-files/nsswitch.conf index 06f03d22a6..53279c12b7 100644 --- a/meta/recipes-core/base-files/base-files/nsswitch.conf +++ b/meta/recipes-core/base-files/base-files/nsswitch.conf | |||
@@ -7,6 +7,7 @@ | |||
7 | passwd: compat | 7 | passwd: compat |
8 | group: compat | 8 | group: compat |
9 | shadow: compat | 9 | shadow: compat |
10 | gshadow: files | ||
10 | 11 | ||
11 | hosts: files dns | 12 | hosts: files dns |
12 | networks: files | 13 | networks: files |
diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile index bded3757cc..375be64891 100644 --- a/meta/recipes-core/base-files/base-files/profile +++ b/meta/recipes-core/base-files/base-files/profile | |||
@@ -1,7 +1,7 @@ | |||
1 | # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) | 1 | # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) |
2 | # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). | 2 | # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). |
3 | 3 | ||
4 | PATH="/usr/local/bin:/usr/bin:/bin" | 4 | PATH="$PATH:/usr/local/bin:/usr/bin:/bin" |
5 | [ "$TERM" ] || TERM="vt100" # Basic terminal capab. For screen etc. | 5 | [ "$TERM" ] || TERM="vt100" # Basic terminal capab. For screen etc. |
6 | 6 | ||
7 | # Add /sbin & co to $PATH for the root user | 7 | # Add /sbin & co to $PATH for the root user |
@@ -58,7 +58,7 @@ resize() { | |||
58 | fi | 58 | fi |
59 | # only do this for /dev/tty[A-z] which are typically | 59 | # only do this for /dev/tty[A-z] which are typically |
60 | # serial ports | 60 | # serial ports |
61 | if [ $FIRSTTIMESETUP -eq 1 -a $SHLVL -eq 1 ] ; then | 61 | if [ $FIRSTTIMESETUP -eq 1 -a ${SHLVL:-1} -eq 1 ] ; then |
62 | case $(tty 2>/dev/null) in | 62 | case $(tty 2>/dev/null) in |
63 | /dev/tty[A-z]*) resize >/dev/null;; | 63 | /dev/tty[A-z]*) resize >/dev/null;; |
64 | esac | 64 | esac |
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 9fab53ce63..3f01bb35d9 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb | |||
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f" | |||
11 | 11 | ||
12 | SRC_URI = "file://rotation \ | 12 | SRC_URI = "file://rotation \ |
13 | file://nsswitch.conf \ | 13 | file://nsswitch.conf \ |
14 | file://nsswitch-resolved.conf \ | ||
14 | file://motd \ | 15 | file://motd \ |
15 | file://hosts \ | 16 | file://hosts \ |
16 | file://host.conf \ | 17 | file://host.conf \ |
@@ -23,14 +24,13 @@ SRC_URI = "file://rotation \ | |||
23 | file://share/dot.profile \ | 24 | file://share/dot.profile \ |
24 | file://licenses/GPL-2 \ | 25 | file://licenses/GPL-2 \ |
25 | " | 26 | " |
26 | SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}" | ||
27 | 27 | ||
28 | S = "${WORKDIR}" | 28 | S = "${UNPACKDIR}" |
29 | 29 | ||
30 | INHIBIT_DEFAULT_DEPS = "1" | 30 | INHIBIT_DEFAULT_DEPS = "1" |
31 | 31 | ||
32 | docdir:append = "/${P}" | 32 | docdir:append = "/${P}" |
33 | dirs1777 = "/tmp ${localstatedir}/volatile/tmp" | 33 | dirs1777 = "/tmp ${localstatedir}/${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-tmp.txt', 'volatile/', '', d)}tmp" |
34 | dirs2775 = "" | 34 | dirs2775 = "" |
35 | dirs555 = "/sys /proc" | 35 | dirs555 = "/sys /proc" |
36 | dirs755 = "/boot /dev ${base_bindir} ${base_sbindir} ${base_libdir} \ | 36 | dirs755 = "/boot /dev ${base_bindir} ${base_sbindir} ${base_libdir} \ |
@@ -43,7 +43,7 @@ dirs755 = "/boot /dev ${base_bindir} ${base_sbindir} ${base_libdir} \ | |||
43 | ${localstatedir}/backups ${localstatedir}/lib \ | 43 | ${localstatedir}/backups ${localstatedir}/lib \ |
44 | ${localstatedir}/lib/misc ${localstatedir}/spool \ | 44 | ${localstatedir}/lib/misc ${localstatedir}/spool \ |
45 | ${localstatedir}/volatile \ | 45 | ${localstatedir}/volatile \ |
46 | ${localstatedir}/${@'volatile/' if oe.types.boolean('${VOLATILE_LOG_DIR}') else ''}log \ | 46 | ${localstatedir}/${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-log.txt', 'volatile/', '', d)}log \ |
47 | /home ${prefix}/src ${localstatedir}/local \ | 47 | /home ${prefix}/src ${localstatedir}/local \ |
48 | /media" | 48 | /media" |
49 | 49 | ||
@@ -54,7 +54,8 @@ dirs755-lsb = "/srv \ | |||
54 | ${prefix}/lib/locale" | 54 | ${prefix}/lib/locale" |
55 | dirs2775-lsb = "/var/mail" | 55 | dirs2775-lsb = "/var/mail" |
56 | 56 | ||
57 | volatiles = "${@'log' if oe.types.boolean('${VOLATILE_LOG_DIR}') else ''} tmp" | 57 | volatiles = "${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-log.txt', 'log', '', d)} \ |
58 | ${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-tmp.txt', 'tmp', '', d)}" | ||
58 | conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \ | 59 | conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \ |
59 | ${sysconfdir}/issue /${sysconfdir}/issue.net \ | 60 | ${sysconfdir}/issue /${sysconfdir}/issue.net \ |
60 | ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \ | 61 | ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \ |
@@ -70,29 +71,6 @@ hostname = "${MACHINE}" | |||
70 | 71 | ||
71 | BASEFILESISSUEINSTALL ?= "do_install_basefilesissue" | 72 | BASEFILESISSUEINSTALL ?= "do_install_basefilesissue" |
72 | 73 | ||
73 | # In previous versions of base-files, /run was a softlink to /var/run and the | ||
74 | # directory was located in /var/volatlie/run. Also, /var/lock was a softlink | ||
75 | # to /var/volatile/lock which is where the real directory was located. Now, | ||
76 | # /run and /run/lock are the real directories. If we are upgrading, we may | ||
77 | # need to remove the symbolic links first before we create the directories. | ||
78 | # Otherwise the directory creation will fail and we will have circular symbolic | ||
79 | # links. | ||
80 | # | ||
81 | pkg_preinst:${PN} () { | ||
82 | #!/bin/sh -e | ||
83 | if [ x"$D" = "x" ]; then | ||
84 | if [ -h "/var/lock" ]; then | ||
85 | # Remove the symbolic link | ||
86 | rm -f /var/lock | ||
87 | fi | ||
88 | |||
89 | if [ -h "/run" ]; then | ||
90 | # Remove the symbolic link | ||
91 | rm -f /run | ||
92 | fi | ||
93 | fi | ||
94 | } | ||
95 | |||
96 | do_install () { | 74 | do_install () { |
97 | for d in ${dirs555}; do | 75 | for d in ${dirs555}; do |
98 | install -m 0555 -d ${D}$d | 76 | install -m 0555 -d ${D}$d |
@@ -113,23 +91,23 @@ do_install () { | |||
113 | ln -snf ../run ${D}${localstatedir}/run | 91 | ln -snf ../run ${D}${localstatedir}/run |
114 | ln -snf ../run/lock ${D}${localstatedir}/lock | 92 | ln -snf ../run/lock ${D}${localstatedir}/lock |
115 | 93 | ||
116 | install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts | 94 | install -m 0644 ${S}/hosts ${D}${sysconfdir}/hosts |
117 | ${BASEFILESISSUEINSTALL} | 95 | ${BASEFILESISSUEINSTALL} |
118 | 96 | ||
119 | rotation=`cat ${WORKDIR}/rotation` | 97 | rotation=`cat ${S}/rotation` |
120 | if [ "$rotation" != "0" ]; then | 98 | if [ "$rotation" != "0" ]; then |
121 | install -m 0644 ${WORKDIR}/rotation ${D}${sysconfdir}/rotation | 99 | install -m 0644 ${S}/rotation ${D}${sysconfdir}/rotation |
122 | fi | 100 | fi |
123 | 101 | ||
124 | install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab | 102 | install -m 0644 ${S}/fstab ${D}${sysconfdir}/fstab |
125 | install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile | 103 | install -m 0644 ${S}/profile ${D}${sysconfdir}/profile |
126 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile | 104 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile |
127 | sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile | 105 | sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile |
128 | install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells | 106 | install -m 0644 ${S}/shells ${D}${sysconfdir}/shells |
129 | install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile | 107 | install -m 0755 ${S}/share/dot.profile ${D}${sysconfdir}/skel/.profile |
130 | install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc | 108 | install -m 0755 ${S}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc |
131 | install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf | 109 | install -m 0644 ${S}/host.conf ${D}${sysconfdir}/host.conf |
132 | install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd | 110 | install -m 0644 ${S}/motd ${D}${sysconfdir}/motd |
133 | 111 | ||
134 | ln -sf /proc/mounts ${D}${sysconfdir}/mtab | 112 | ln -sf /proc/mounts ${D}${sysconfdir}/mtab |
135 | 113 | ||
@@ -145,12 +123,12 @@ do_install () { | |||
145 | } | 123 | } |
146 | 124 | ||
147 | do_install:append:libc-glibc () { | 125 | do_install:append:libc-glibc () { |
148 | install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf | 126 | install -m 0644 ${S}/${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', 'nsswitch-resolved.conf', 'nsswitch.conf', d)} ${D}${sysconfdir}/nsswitch.conf |
149 | } | 127 | } |
150 | 128 | ||
151 | DISTRO_VERSION[vardepsexclude] += "DATE" | 129 | DISTRO_VERSION[vardepsexclude] += "DATE" |
152 | do_install_basefilesissue () { | 130 | do_install_basefilesissue () { |
153 | install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir} | 131 | install -m 644 ${S}/issue* ${D}${sysconfdir} |
154 | if [ -n "${DISTRO_NAME}" ]; then | 132 | if [ -n "${DISTRO_NAME}" ]; then |
155 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue | 133 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue |
156 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net | 134 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch b/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch index e50efc9623..4bb0634a00 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8f3ace87df3aaad85946c22cae240532ea3e73b8 Mon Sep 17 00:00:00 2001 | 1 | From caf4344849c67e939689bc7d57a6f5dc24884937 Mon Sep 17 00:00:00 2001 |
2 | From: Saul Wold <sgw@linux.intel.com> | 2 | From: Saul Wold <sgw@linux.intel.com> |
3 | Date: Fri, 29 Apr 2022 13:32:27 +0000 | 3 | Date: Fri, 29 Apr 2022 13:32:27 +0000 |
4 | Subject: [PATCH] Add a shutdown group | 4 | Subject: [PATCH] Add a shutdown group |
@@ -14,10 +14,10 @@ Signed-off-by: Saul Wold <sgw@linux.intel.com> | |||
14 | 1 file changed, 1 insertion(+) | 14 | 1 file changed, 1 insertion(+) |
15 | 15 | ||
16 | diff --git a/group.master b/group.master | 16 | diff --git a/group.master b/group.master |
17 | index ad1dd2d..1b5e2fb 100644 | 17 | index 3e7bf1c..72108a8 100644 |
18 | --- a/group.master | 18 | --- a/group.master |
19 | +++ b/group.master | 19 | +++ b/group.master |
20 | @@ -35,5 +35,6 @@ sasl:*:45: | 20 | @@ -34,5 +34,6 @@ sasl:*:45: |
21 | plugdev:*:46: | 21 | plugdev:*:46: |
22 | staff:*:50: | 22 | staff:*:50: |
23 | games:*:60: | 23 | games:*:60: |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch b/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch index e1340e1b70..714c5b40fc 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9e57771d138ac423d5139b984b8c869122ce4976 Mon Sep 17 00:00:00 2001 | 1 | From 2ac953ddd31dae19568cc7925d9d56444e3232a7 Mon Sep 17 00:00:00 2001 |
2 | From: Alex Kiernan <alexk@zuma.ai> | 2 | From: Alex Kiernan <alexk@zuma.ai> |
3 | Date: Fri, 28 Jul 2023 10:28:57 +0100 | 3 | Date: Fri, 28 Jul 2023 10:28:57 +0100 |
4 | Subject: [PATCH] base-passwd: Add the sgx group | 4 | Subject: [PATCH] base-passwd: Add the sgx group |
@@ -17,7 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | |||
17 | 1 file changed, 1 insertion(+) | 17 | 1 file changed, 1 insertion(+) |
18 | 18 | ||
19 | diff --git a/group.master b/group.master | 19 | diff --git a/group.master b/group.master |
20 | index d34d2b832d43..e54fd1d2c6dc 100644 | 20 | index d34d2b8..e54fd1d 100644 |
21 | --- a/group.master | 21 | --- a/group.master |
22 | +++ b/group.master | 22 | +++ b/group.master |
23 | @@ -34,6 +34,7 @@ video:*:44: | 23 | @@ -34,6 +34,7 @@ video:*:44: |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch b/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch index 09f8cfea9c..6cac38eada 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 4411fc0df77566d52bee11ec0bad4be30a96e99e Mon Sep 17 00:00:00 2001 | 1 | From dffeea1a44064c11d9035be008db8c628b93c7ab Mon Sep 17 00:00:00 2001 |
2 | From: Scott Garman <scott.a.garman@intel.com> | 2 | From: Scott Garman <scott.a.garman@intel.com> |
3 | Date: Fri, 29 Apr 2022 13:32:27 +0000 | 3 | Date: Fri, 29 Apr 2022 13:32:27 +0000 |
4 | Subject: [PATCH] Use /bin/sh instead of /bin/bash for the root user | 4 | Subject: [PATCH] Use /bin/sh instead of /bin/bash for the root user |
@@ -12,7 +12,7 @@ Signed-off-by: Scott Garman <scott.a.garman@intel.com> | |||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | 12 | 1 file changed, 1 insertion(+), 1 deletion(-) |
13 | 13 | ||
14 | diff --git a/passwd.master b/passwd.master | 14 | diff --git a/passwd.master b/passwd.master |
15 | index 7cd4e24..041685a 100644 | 15 | index 90514a5..bd3efc2 100644 |
16 | --- a/passwd.master | 16 | --- a/passwd.master |
17 | +++ b/passwd.master | 17 | +++ b/passwd.master |
18 | @@ -1,4 +1,4 @@ | 18 | @@ -1,4 +1,4 @@ |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch b/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch index 06222ab04c..7c3642fcc9 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 13a1a284a134d18a454625a5b4485c0d99079ae9 Mon Sep 17 00:00:00 2001 | 1 | From 8a79e64654eb4ee38a7971cf99ad37df7f5dee63 Mon Sep 17 00:00:00 2001 |
2 | From: Scott Garman <scott.a.garman@intel.com> | 2 | From: Scott Garman <scott.a.garman@intel.com> |
3 | Date: Fri, 29 Apr 2022 13:32:28 +0000 | 3 | Date: Fri, 29 Apr 2022 13:32:28 +0000 |
4 | Subject: [PATCH] Remove "*" for root since we do not have an /etc/shadow | 4 | Subject: [PATCH] Remove "*" for root since we do not have an /etc/shadow |
@@ -10,7 +10,7 @@ Signed-off-by: Scott Garman <scott.a.garman@intel.com> | |||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/passwd.master b/passwd.master | 12 | diff --git a/passwd.master b/passwd.master |
13 | index 041685a..31a84d4 100644 | 13 | index bd3efc2..66e9033 100644 |
14 | --- a/passwd.master | 14 | --- a/passwd.master |
15 | +++ b/passwd.master | 15 | +++ b/passwd.master |
16 | @@ -1,4 +1,4 @@ | 16 | @@ -1,4 +1,4 @@ |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch b/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch index 394a0f01d3..4fdbc47b6e 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c5f012750f8102ff54af73ccc2d2b7bfa1f26db4 Mon Sep 17 00:00:00 2001 | 1 | From 2d02a1e4e3202691e2ddc11f80565d5fa53d532f Mon Sep 17 00:00:00 2001 |
2 | From: Darren Hart <dvhart@linux.intel.com> | 2 | From: Darren Hart <dvhart@linux.intel.com> |
3 | Date: Fri, 29 Apr 2022 13:32:28 +0000 | 3 | Date: Fri, 29 Apr 2022 13:32:28 +0000 |
4 | Subject: [PATCH] Add an input group for the /dev/input/* devices | 4 | Subject: [PATCH] Add an input group for the /dev/input/* devices |
@@ -10,7 +10,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com> | |||
10 | 1 file changed, 1 insertion(+) | 10 | 1 file changed, 1 insertion(+) |
11 | 11 | ||
12 | diff --git a/group.master b/group.master | 12 | diff --git a/group.master b/group.master |
13 | index 1b5e2fb..cea9d60 100644 | 13 | index 72108a8..7d794b2 100644 |
14 | --- a/group.master | 14 | --- a/group.master |
15 | +++ b/group.master | 15 | +++ b/group.master |
16 | @@ -12,6 +12,7 @@ uucp:*:10: | 16 | @@ -12,6 +12,7 @@ uucp:*:10: |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch b/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch index 72e6ee333c..742d696a24 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6cf19461fb31d7a7a3010629aae9aab49c26a01b Mon Sep 17 00:00:00 2001 | 1 | From 3f25f39802657de55f41fa4d5773f1d1c2bdbd93 Mon Sep 17 00:00:00 2001 |
2 | From: Jacob Kroon <jacob.kroon@gmail.com> | 2 | From: Jacob Kroon <jacob.kroon@gmail.com> |
3 | Date: Wed, 30 Jan 2019 04:53:48 +0000 | 3 | Date: Wed, 30 Jan 2019 04:53:48 +0000 |
4 | Subject: [PATCH] Add kvm group | 4 | Subject: [PATCH] Add kvm group |
@@ -10,10 +10,10 @@ Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> | |||
10 | 1 file changed, 1 insertion(+) | 10 | 1 file changed, 1 insertion(+) |
11 | 11 | ||
12 | diff --git a/group.master b/group.master | 12 | diff --git a/group.master b/group.master |
13 | index cea9d60..5b62284 100644 | 13 | index 7d794b2..7fdd8bf 100644 |
14 | --- a/group.master | 14 | --- a/group.master |
15 | +++ b/group.master | 15 | +++ b/group.master |
16 | @@ -34,6 +34,7 @@ utmp:*:43: | 16 | @@ -33,6 +33,7 @@ utmp:*:43: |
17 | video:*:44: | 17 | video:*:44: |
18 | sasl:*:45: | 18 | sasl:*:45: |
19 | plugdev:*:46: | 19 | plugdev:*:46: |
diff --git a/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch b/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch index d77122789d..00eff1b724 100644 --- a/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch +++ b/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch | |||
@@ -1,3 +1,7 @@ | |||
1 | From 4980807167a5b7c4d9c91e2af6de61efff548868 Mon Sep 17 00:00:00 2001 | ||
2 | From: Louis Rannou <lrannou@baylibre.com> | ||
3 | Date: Thu, 15 Jun 2023 13:43:55 +0200 | ||
4 | Subject: [PATCH] base-passwd: add the wheel group | ||
1 | 5 | ||
2 | We need to have a wheel group which has some system privileges to consult the | 6 | We need to have a wheel group which has some system privileges to consult the |
3 | systemd journal or manage printers with cups. | 7 | systemd journal or manage printers with cups. |
@@ -7,11 +11,15 @@ Upstream says the group does not exist by default. | |||
7 | Upstream-Status: Inappropriate [enable feature] | 11 | Upstream-Status: Inappropriate [enable feature] |
8 | 12 | ||
9 | Signed-off-by: Louis Rannou <lrannou@baylibre.com> | 13 | Signed-off-by: Louis Rannou <lrannou@baylibre.com> |
10 | Index: base-passwd-3.5.26/group.master | 14 | --- |
11 | =================================================================== | 15 | group.master | 1 + |
12 | --- base-passwd-3.5.29.orig/group.master | 16 | 1 file changed, 1 insertion(+) |
13 | +++ base-passwd-3.5.29/group.master | 17 | |
14 | @@ -38,5 +38,6 @@ | 18 | diff --git a/group.master b/group.master |
19 | index 7fdd8bf..d34d2b8 100644 | ||
20 | --- a/group.master | ||
21 | +++ b/group.master | ||
22 | @@ -37,5 +37,6 @@ kvm:*:47: | ||
15 | staff:*:50: | 23 | staff:*:50: |
16 | games:*:60: | 24 | games:*:60: |
17 | shutdown:*:70: | 25 | shutdown:*:70: |
diff --git a/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb index bf50b01fd5..177927d674 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb | |||
@@ -15,13 +15,13 @@ SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar | |||
15 | file://0001-base-passwd-Add-the-sgx-group.patch \ | 15 | file://0001-base-passwd-Add-the-sgx-group.patch \ |
16 | " | 16 | " |
17 | 17 | ||
18 | SRC_URI[sha256sum] = "83575327d8318a419caf2d543341215c046044073d1afec2acc0ac4d8095ff39" | 18 | SRC_URI[sha256sum] = "cf869870fed7862b57bfa9e99cd5cd6f365e2349705a1b65af7fc182629bd1ab" |
19 | 19 | ||
20 | # the package is taken from launchpad; that source is static and goes stale | 20 | # the package is taken from launchpad; that source is static and goes stale |
21 | # so we check the latest upstream from a directory that does get updated | 21 | # so we check the latest upstream from a directory that does get updated |
22 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/" | 22 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/" |
23 | 23 | ||
24 | S = "${WORKDIR}/work" | 24 | S = "${UNPACKDIR}/work" |
25 | 25 | ||
26 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" | 26 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" |
27 | PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux" | 27 | PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux" |
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb b/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb index 6904a91930..8b46b5763e 100644 --- a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb +++ b/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb | |||
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m | |||
4 | 4 | ||
5 | SRC_URI = "file://inittab" | 5 | SRC_URI = "file://inittab" |
6 | 6 | ||
7 | S = "${WORKDIR}" | 7 | S = "${UNPACKDIR}" |
8 | 8 | ||
9 | INHIBIT_DEFAULT_DEPS = "1" | 9 | INHIBIT_DEFAULT_DEPS = "1" |
10 | 10 | ||
@@ -14,7 +14,7 @@ do_compile() { | |||
14 | 14 | ||
15 | do_install() { | 15 | do_install() { |
16 | install -d ${D}${sysconfdir} | 16 | install -d ${D}${sysconfdir} |
17 | install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab | 17 | install -D -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab |
18 | 18 | ||
19 | CONSOLES="${SERIAL_CONSOLES}" | 19 | CONSOLES="${SERIAL_CONSOLES}" |
20 | for s in $CONSOLES | 20 | for s in $CONSOLES |
@@ -48,7 +48,6 @@ EOF | |||
48 | 48 | ||
49 | } | 49 | } |
50 | 50 | ||
51 | |||
52 | # SERIAL_CONSOLES is generally defined by the MACHINE .conf. | 51 | # SERIAL_CONSOLES is generally defined by the MACHINE .conf. |
53 | # Set PACKAGE_ARCH appropriately. | 52 | # Set PACKAGE_ARCH appropriately. |
54 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 53 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index f5d7c3f9c8..4ebaeb92c9 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc | |||
@@ -7,7 +7,7 @@ DEPENDS += "kern-tools-native virtual/crypt" | |||
7 | 7 | ||
8 | # bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source | 8 | # bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source |
9 | # the GPL is version 2 only | 9 | # the GPL is version 2 only |
10 | LICENSE = "GPL-2.0-only & bzip2-1.0.4" | 10 | LICENSE = "GPL-2.0-only & bzip2-1.0.6" |
11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \ | 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \ |
12 | file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae" | 12 | file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae" |
13 | 13 | ||
@@ -16,6 +16,7 @@ SECTION = "base" | |||
16 | # Whether to split the suid apps into a seperate binary | 16 | # Whether to split the suid apps into a seperate binary |
17 | BUSYBOX_SPLIT_SUID ?= "1" | 17 | BUSYBOX_SPLIT_SUID ?= "1" |
18 | 18 | ||
19 | CFLAGS:append:toolchain-clang = " -DBB_GLOBAL_CONST=''" | ||
19 | export EXTRA_CFLAGS = "${CFLAGS}" | 20 | export EXTRA_CFLAGS = "${CFLAGS}" |
20 | export EXTRA_LDFLAGS = "${LDFLAGS}" | 21 | export EXTRA_LDFLAGS = "${LDFLAGS}" |
21 | 22 | ||
@@ -24,7 +25,14 @@ EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${ | |||
24 | PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock" | 25 | PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock" |
25 | 26 | ||
26 | FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" | 27 | FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" |
27 | FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_system_unitdir}/syslog.service ${sysconfdir}/default/busybox-syslog" | 28 | FILES:${PN}-syslog = "\ |
29 | ${sysconfdir}/init.d/syslog* \ | ||
30 | ${sysconfdir}/syslog-startup.conf* \ | ||
31 | ${sysconfdir}/syslog.conf* \ | ||
32 | ${systemd_system_unitdir}/syslog.service \ | ||
33 | ${systemd_system_unitdir}/busybox-klogd.service \ | ||
34 | ${sysconfdir}/default/busybox-syslog \ | ||
35 | " | ||
28 | FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*" | 36 | FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*" |
29 | FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" | 37 | FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" |
30 | FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc" | 38 | FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc" |
@@ -114,7 +122,7 @@ do_prepare_config () { | |||
114 | export KCONFIG_NOTIMESTAMP=1 | 122 | export KCONFIG_NOTIMESTAMP=1 |
115 | 123 | ||
116 | sed -e '/CONFIG_STATIC/d' \ | 124 | sed -e '/CONFIG_STATIC/d' \ |
117 | < ${WORKDIR}/defconfig > ${S}/.config | 125 | < ${UNPACKDIR}/defconfig > ${S}/.config |
118 | echo "# CONFIG_STATIC is not set" >> .config | 126 | echo "# CONFIG_STATIC is not set" >> .config |
119 | for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ | 127 | for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ |
120 | ${S}/.config | 128 | ${S}/.config |
@@ -215,10 +223,14 @@ do_install () { | |||
215 | sed -i "s:^/usr/bin/:BINDIR/:" busybox.links* | 223 | sed -i "s:^/usr/bin/:BINDIR/:" busybox.links* |
216 | sed -i "s:^/usr/sbin/:SBINDIR/:" busybox.links* | 224 | sed -i "s:^/usr/sbin/:SBINDIR/:" busybox.links* |
217 | 225 | ||
218 | # Move arch/link to BINDIR to match coreutils | 226 | # Move arch/base32/link to BINDIR to match coreutils |
219 | sed -i "s:^BASE_BINDIR/arch:BINDIR/arch:" busybox.links* | 227 | sed -i "s:^BASE_BINDIR/arch:BINDIR/arch:" busybox.links* |
228 | sed -i "s:^BASE_BINDIR/base32:BINDIR/base32:" busybox.links* | ||
220 | sed -i "s:^BASE_BINDIR/link:BINDIR/link:" busybox.links* | 229 | sed -i "s:^BASE_BINDIR/link:BINDIR/link:" busybox.links* |
221 | 230 | ||
231 | # Move start-stop-daemon to SBINDIR to match dpkg | ||
232 | sed -i "s:^BASE_SBINDIR/start-stop-daemon:SBINDIR/start-stop-daemon:" busybox.links* | ||
233 | |||
222 | sed -i "s:^BASE_BINDIR/:${base_bindir}/:" busybox.links* | 234 | sed -i "s:^BASE_BINDIR/:${base_bindir}/:" busybox.links* |
223 | sed -i "s:^BASE_SBINDIR/:${base_sbindir}/:" busybox.links* | 235 | sed -i "s:^BASE_SBINDIR/:${base_sbindir}/:" busybox.links* |
224 | sed -i "s:^BINDIR/:${bindir}/:" busybox.links* | 236 | sed -i "s:^BINDIR/:${bindir}/:" busybox.links* |
@@ -280,67 +292,67 @@ do_install () { | |||
280 | fi | 292 | fi |
281 | 293 | ||
282 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then | 294 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then |
283 | install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog | 295 | install -m 0755 ${UNPACKDIR}/syslog ${D}${sysconfdir}/init.d/syslog |
284 | install -m 644 ${WORKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf | 296 | install -m 644 ${UNPACKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf |
285 | install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf | 297 | install -m 644 ${UNPACKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf |
286 | fi | 298 | fi |
287 | if grep -q "CONFIG_CROND=y" ${B}/.config; then | 299 | if grep -q "CONFIG_CROND=y" ${B}/.config; then |
288 | install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ | 300 | install -m 0755 ${UNPACKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ |
289 | fi | 301 | fi |
290 | if grep -q "CONFIG_HTTPD=y" ${B}/.config; then | 302 | if grep -q "CONFIG_HTTPD=y" ${B}/.config; then |
291 | install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ | 303 | install -m 0755 ${UNPACKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ |
292 | install -d ${D}/srv/www | 304 | install -d ${D}/srv/www |
293 | fi | 305 | fi |
294 | if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then | 306 | if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then |
295 | install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ | 307 | install -m 0755 ${UNPACKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ |
296 | fi | 308 | fi |
297 | if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then | 309 | if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then |
298 | install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ | 310 | install -m 0755 ${UNPACKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ |
299 | fi | 311 | fi |
300 | if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then | 312 | if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then |
301 | install -d ${D}${sysconfdir}/udhcpc.d | 313 | install -d ${D}${sysconfdir}/udhcpc.d |
302 | install -d ${D}${datadir}/udhcpc | 314 | install -d ${D}${datadir}/udhcpc |
303 | install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default | 315 | install -m 0755 ${UNPACKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default |
304 | sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default | 316 | sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default |
305 | install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script | 317 | install -m 0755 ${UNPACKDIR}/default.script ${D}${datadir}/udhcpc/default.script |
306 | fi | 318 | fi |
307 | if grep -q "CONFIG_INETD=y" ${B}/.config; then | 319 | if grep -q "CONFIG_INETD=y" ${B}/.config; then |
308 | install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} | 320 | install -m 0755 ${UNPACKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} |
309 | sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} | 321 | sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} |
310 | install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/ | 322 | install -m 0644 ${UNPACKDIR}/inetd.conf ${D}${sysconfdir}/ |
311 | fi | 323 | fi |
312 | if grep -q "CONFIG_MDEV=y" ${B}/.config; then | 324 | if grep -q "CONFIG_MDEV=y" ${B}/.config; then |
313 | install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev | 325 | install -m 0755 ${UNPACKDIR}/mdev ${D}${sysconfdir}/init.d/mdev |
314 | if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then | 326 | if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then |
315 | install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf | 327 | install -m 644 ${UNPACKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf |
316 | install -d ${D}${sysconfdir}/mdev | 328 | install -d ${D}${sysconfdir}/mdev |
317 | install -m 0755 ${WORKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev | 329 | install -m 0755 ${UNPACKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev |
318 | install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev | 330 | install -m 0755 ${UNPACKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev |
319 | fi | 331 | fi |
320 | fi | 332 | fi |
321 | if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then | 333 | if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then |
322 | install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS | 334 | install -D -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d/rcS |
323 | install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK | 335 | install -D -m 0755 ${UNPACKDIR}/rcK ${D}${sysconfdir}/init.d/rcK |
324 | install -D -m 0755 ${WORKDIR}/rcS.default ${D}${sysconfdir}/default/rcS | 336 | install -D -m 0755 ${UNPACKDIR}/rcS.default ${D}${sysconfdir}/default/rcS |
325 | fi | 337 | fi |
326 | 338 | ||
327 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 339 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
328 | if grep -q "CONFIG_KLOGD=y" ${B}/.config; then | 340 | if grep -q "CONFIG_KLOGD=y" ${B}/.config; then |
329 | install -d ${D}${systemd_system_unitdir} | 341 | install -d ${D}${systemd_system_unitdir} |
330 | sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ | 342 | sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-klogd.service.in \ |
331 | > ${D}${systemd_system_unitdir}/busybox-klogd.service | 343 | > ${D}${systemd_system_unitdir}/busybox-klogd.service |
332 | fi | 344 | fi |
333 | 345 | ||
334 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then | 346 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then |
335 | install -d ${D}${systemd_system_unitdir} | 347 | install -d ${D}${systemd_system_unitdir} |
336 | sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ | 348 | sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-syslog.service.in \ |
337 | > ${D}${systemd_system_unitdir}/busybox-syslog.service | 349 | > ${D}${systemd_system_unitdir}/busybox-syslog.service |
338 | if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then | 350 | if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then |
339 | sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service | 351 | sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service |
340 | fi | 352 | fi |
341 | if [ -f ${WORKDIR}/busybox-syslog.default ] ; then | 353 | if [ -f ${UNPACKDIR}/busybox-syslog.default ] ; then |
342 | install -d ${D}${sysconfdir}/default | 354 | install -d ${D}${sysconfdir}/default |
343 | install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog | 355 | install -m 0644 ${UNPACKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog |
344 | fi | 356 | fi |
345 | fi | 357 | fi |
346 | fi | 358 | fi |
diff --git a/meta/recipes-core/busybox/busybox/0001-archival-disallow-path-traversals-CVE-2023-39810.patch b/meta/recipes-core/busybox/busybox/0001-archival-disallow-path-traversals-CVE-2023-39810.patch new file mode 100644 index 0000000000..e76a4b128e --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-archival-disallow-path-traversals-CVE-2023-39810.patch | |||
@@ -0,0 +1,141 @@ | |||
1 | From 42ce7953f48e5542297ff4381086b45ae28a02cf Mon Sep 17 00:00:00 2001 | ||
2 | From: Denys Vlasenko <vda.linux@googlemail.com> | ||
3 | Date: Wed, 2 Oct 2024 10:12:05 +0200 | ||
4 | Subject: [PATCH] archival: disallow path traversals (CVE-2023-39810) | ||
5 | |||
6 | Create new configure option for archival/libarchive based extractions to | ||
7 | disallow path traversals. | ||
8 | As this is a paranoid option and might introduce backward | ||
9 | incompatibility, default it to no. | ||
10 | |||
11 | Fixes: CVE-2023-39810 | ||
12 | |||
13 | Based on the patch by Peter Kaestle <peter.kaestle@nokia.com> | ||
14 | |||
15 | function old new delta | ||
16 | data_extract_all 921 945 +24 | ||
17 | strip_unsafe_prefix 101 102 +1 | ||
18 | ------------------------------------------------------------------------------ | ||
19 | (add/remove: 0/0 grow/shrink: 2/0 up/down: 25/0) Total: 25 bytes | ||
20 | |||
21 | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||
22 | |||
23 | CVE: CVE-2023-39810 | ||
24 | |||
25 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=9a8796436b9b0641e13480811902ea2ac57881d3] | ||
26 | |||
27 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
28 | --- | ||
29 | archival/Config.src | 11 +++++++++++ | ||
30 | archival/libarchive/data_extract_all.c | 8 ++++++++ | ||
31 | archival/libarchive/unsafe_prefix.c | 6 +++++- | ||
32 | scripts/kconfig/lxdialog/check-lxdialog.sh | 2 +- | ||
33 | testsuite/cpio.tests | 23 ++++++++++++++++++++++ | ||
34 | 5 files changed, 48 insertions(+), 2 deletions(-) | ||
35 | |||
36 | diff --git a/archival/Config.src b/archival/Config.src | ||
37 | index 6f4f30c43..cbcd7217c 100644 | ||
38 | --- a/archival/Config.src | ||
39 | +++ b/archival/Config.src | ||
40 | @@ -35,4 +35,15 @@ config FEATURE_LZMA_FAST | ||
41 | This option reduces decompression time by about 25% at the cost of | ||
42 | a 1K bigger binary. | ||
43 | |||
44 | +config FEATURE_PATH_TRAVERSAL_PROTECTION | ||
45 | + bool "Prevent extraction of filenames with /../ path component" | ||
46 | + default n | ||
47 | + help | ||
48 | + busybox tar and unzip remove "PREFIX/../" (if it exists) | ||
49 | + from extracted names. | ||
50 | + This option enables this behavior for all other unpacking applets, | ||
51 | + such as cpio, ar, rpm. | ||
52 | + GNU cpio 2.15 has NO such sanity check. | ||
53 | +# try other archivers and document their behavior? | ||
54 | + | ||
55 | endmenu | ||
56 | diff --git a/archival/libarchive/data_extract_all.c b/archival/libarchive/data_extract_all.c | ||
57 | index 049c2c156..8a69711c1 100644 | ||
58 | --- a/archival/libarchive/data_extract_all.c | ||
59 | +++ b/archival/libarchive/data_extract_all.c | ||
60 | @@ -65,6 +65,14 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle) | ||
61 | } while (--n != 0); | ||
62 | } | ||
63 | #endif | ||
64 | +#if ENABLE_FEATURE_PATH_TRAVERSAL_PROTECTION | ||
65 | + /* Strip leading "/" and up to last "/../" path component */ | ||
66 | + dst_name = (char *)strip_unsafe_prefix(dst_name); | ||
67 | +#endif | ||
68 | +// ^^^ This may be a problem if some applets do need to extract absolute names. | ||
69 | +// (Probably will need to invent ARCHIVE_ALLOW_UNSAFE_NAME flag). | ||
70 | +// You might think that rpm needs it, but in my tests rpm's internal cpio | ||
71 | +// archive has names like "./usr/bin/FOO", not "/usr/bin/FOO". | ||
72 | |||
73 | if (archive_handle->ah_flags & ARCHIVE_CREATE_LEADING_DIRS) { | ||
74 | char *slash = strrchr(dst_name, '/'); | ||
75 | diff --git a/archival/libarchive/unsafe_prefix.c b/archival/libarchive/unsafe_prefix.c | ||
76 | index 33e487bf9..667081195 100644 | ||
77 | --- a/archival/libarchive/unsafe_prefix.c | ||
78 | +++ b/archival/libarchive/unsafe_prefix.c | ||
79 | @@ -14,7 +14,11 @@ const char* FAST_FUNC strip_unsafe_prefix(const char *str) | ||
80 | cp++; | ||
81 | continue; | ||
82 | } | ||
83 | - if (is_prefixed_with(cp, "/../"+1)) { | ||
84 | + /* We are called lots of times. | ||
85 | + * is_prefixed_with(cp, "../") is slower than open-coding it, | ||
86 | + * with minimal code growth (~few bytes). | ||
87 | + */ | ||
88 | + if (cp[0] == '.' && cp[1] == '.' && cp[2] == '/') { | ||
89 | cp += 3; | ||
90 | continue; | ||
91 | } | ||
92 | diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
93 | index 7003e026a..b91a54be6 100755 | ||
94 | --- a/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
95 | +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
96 | @@ -55,7 +55,7 @@ trap "rm -f $tmp" 0 1 2 3 15 | ||
97 | check() { | ||
98 | $cc -x c - -o $tmp 2>/dev/null <<'EOF' | ||
99 | #include CURSES_LOC | ||
100 | -main() {} | ||
101 | +int main() { return 0; } | ||
102 | EOF | ||
103 | if [ $? != 0 ]; then | ||
104 | echo " *** Unable to find the ncurses libraries or the" 1>&2 | ||
105 | diff --git a/testsuite/cpio.tests b/testsuite/cpio.tests | ||
106 | index 85e746589..a4462c53e 100755 | ||
107 | --- a/testsuite/cpio.tests | ||
108 | +++ b/testsuite/cpio.tests | ||
109 | @@ -154,6 +154,29 @@ testing "cpio -R with extract" \ | ||
110 | " "" "" | ||
111 | SKIP= | ||
112 | |||
113 | +# Create an archive containing a file with "../dont_write" filename. | ||
114 | +# See that it will not be allowed to unpack. | ||
115 | +# NB: GNU cpio 2.15 DOES NOT do such checks. | ||
116 | +optional FEATURE_PATH_TRAVERSAL_PROTECTION | ||
117 | +rm -rf cpio.testdir | ||
118 | +mkdir -p cpio.testdir/prepare/inner | ||
119 | +echo "file outside of destination was written" > cpio.testdir/prepare/dont_write | ||
120 | +echo "data" > cpio.testdir/prepare/inner/to_extract | ||
121 | +mkdir -p cpio.testdir/extract | ||
122 | +testing "cpio extract file outside of destination" "\ | ||
123 | +(cd cpio.testdir/prepare/inner && echo -e '../dont_write\nto_extract' | cpio -o -H newc) | (cd cpio.testdir/extract && cpio -vi 2>&1) | ||
124 | +echo \$? | ||
125 | +ls cpio.testdir/dont_write 2>&1" \ | ||
126 | +"\ | ||
127 | +cpio: removing leading '../' from member names | ||
128 | +../dont_write | ||
129 | +to_extract | ||
130 | +1 blocks | ||
131 | +0 | ||
132 | +ls: cpio.testdir/dont_write: No such file or directory | ||
133 | +" "" "" | ||
134 | +SKIP= | ||
135 | + | ||
136 | # Clean up | ||
137 | rm -rf cpio.testdir cpio.testdir2 2>/dev/null | ||
138 | |||
139 | -- | ||
140 | 2.48.1 | ||
141 | |||
diff --git a/meta/recipes-core/busybox/busybox/0001-cut-Fix-s-flag-to-omit-blank-lines.patch b/meta/recipes-core/busybox/busybox/0001-cut-Fix-s-flag-to-omit-blank-lines.patch new file mode 100644 index 0000000000..a0a8607b23 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-cut-Fix-s-flag-to-omit-blank-lines.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | From 199606e960942c29fd8085be812edd3d3697825c Mon Sep 17 00:00:00 2001 | ||
2 | From: Colin McAllister <colinmca242@gmail.com> | ||
3 | Date: Wed, 17 Jul 2024 07:58:52 -0500 | ||
4 | Subject: [PATCH 1/1] cut: Fix "-s" flag to omit blank lines | ||
5 | |||
6 | Using cut with the delimiter flag ("-d") with the "-s" flag to only | ||
7 | output lines containing the delimiter will print blank lines. This is | ||
8 | deviant behavior from cut provided by GNU Coreutils. Blank lines should | ||
9 | be omitted if "-s" is used with "-d". | ||
10 | |||
11 | This change introduces a somewhat naiive, yet efficient solution, where | ||
12 | line length is checked before looping though bytes. If line length is | ||
13 | zero and the "-s" flag is used, the code will jump to parsing the next | ||
14 | line to avoid printing a newline character. | ||
15 | |||
16 | In addition, a test to cut.tests has been added to ensure that this | ||
17 | regression is fixed and will not happen again in the future. | ||
18 | |||
19 | Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2024-July/090834.html] | ||
20 | |||
21 | Signed-off-by: Colin McAllister <colinmca242@gmail.com> | ||
22 | --- | ||
23 | coreutils/cut.c | 6 ++++++ | ||
24 | testsuite/cut.tests | 9 +++++++++ | ||
25 | 2 files changed, 15 insertions(+) | ||
26 | |||
27 | diff --git a/coreutils/cut.c b/coreutils/cut.c | ||
28 | index 55bdd9386..b7f986f26 100644 | ||
29 | --- a/coreutils/cut.c | ||
30 | +++ b/coreutils/cut.c | ||
31 | @@ -152,6 +152,12 @@ static void cut_file(FILE *file, const char *delim, const char *odelim, | ||
32 | unsigned uu = 0, start = 0, end = 0, out = 0; | ||
33 | int dcount = 0; | ||
34 | |||
35 | + /* Blank line? */ | ||
36 | + if (!linelen) { | ||
37 | + if (option_mask32 & CUT_OPT_SUPPRESS_FLGS) | ||
38 | + goto next_line; | ||
39 | + } | ||
40 | + | ||
41 | /* Loop through bytes, finding next delimiter */ | ||
42 | for (;;) { | ||
43 | /* End of current range? */ | ||
44 | diff --git a/testsuite/cut.tests b/testsuite/cut.tests | ||
45 | index 2458c019c..0b401bc00 100755 | ||
46 | --- a/testsuite/cut.tests | ||
47 | +++ b/testsuite/cut.tests | ||
48 | @@ -65,6 +65,15 @@ testing "cut with -d -f( ) -s" "cut -d' ' -f3 -s input && echo yes" "yes\n" "$in | ||
49 | testing "cut with -d -f(a) -s" "cut -da -f3 -s input" "n\nsium:Jim\n\ncion:Ed\n" "$input" "" | ||
50 | testing "cut with -d -f(a) -s -n" "cut -da -f3 -s -n input" "n\nsium:Jim\n\ncion:Ed\n" "$input" "" | ||
51 | |||
52 | +input="\ | ||
53 | + | ||
54 | +foo bar baz | ||
55 | + | ||
56 | +bing bong boop | ||
57 | + | ||
58 | +" | ||
59 | +testing "cut with -d -s omits blank lines" "cut -d' ' -f2 -s input" "bar\nbong\n" "$input" "" | ||
60 | + | ||
61 | # substitute for awk | ||
62 | optional FEATURE_CUT_REGEX | ||
63 | testing "cut -DF" "cut -DF 2,7,5" \ | ||
64 | -- | ||
65 | 2.43.0 | ||
66 | |||
diff --git a/meta/recipes-core/busybox/busybox/0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch b/meta/recipes-core/busybox/busybox/0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch new file mode 100644 index 0000000000..11ef2b6824 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From 4e1eafc6e0de3e58cac9f62e57b552eddb50ca8e Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 7 Mar 2021 17:30:24 -0800 | ||
4 | Subject: [PATCH] hwclock: Check for SYS_settimeofday before calling syscall | ||
5 | |||
6 | Some newer architectures e.g. RISCV32 have 64bit time_t from get go and | ||
7 | thusly do not have gettimeofday_time64/settimeofday_time64 implemented | ||
8 | therefore check for SYS_settimeofday definition before making the | ||
9 | syscall. Fixes build for riscv32 and it will bail out at runtime. | ||
10 | |||
11 | This issue has been discussed on the musl mailing list, and | ||
12 | the musl developers' opinion is that Busybox is wrong: | ||
13 | |||
14 | https://www.openwall.com/lists/musl/2024/03/03/2 | ||
15 | https://www.openwall.com/lists/musl/2024/04/07/2 | ||
16 | |||
17 | The correct fix isn't clear, and in the mean time, the patch | ||
18 | turns the build issue into a runtime error only on the problematic | ||
19 | architecture (riscv32), which seems like a reasonable trade-off | ||
20 | |||
21 | Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2021-March/088583.html]] | ||
22 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
23 | --- | ||
24 | util-linux/hwclock.c | 7 +++++-- | ||
25 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
26 | |||
27 | diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c | ||
28 | index c3fd0eb57..dea9c9a55 100644 | ||
29 | --- a/util-linux/hwclock.c | ||
30 | +++ b/util-linux/hwclock.c | ||
31 | @@ -132,6 +132,7 @@ static void show_clock(const char **pp_rtcname, int utc) | ||
32 | |||
33 | static void set_kernel_tz(const struct timezone *tz) | ||
34 | { | ||
35 | + int ret = 1; | ||
36 | #if LIBC_IS_MUSL | ||
37 | /* musl libc does not pass tz argument to syscall | ||
38 | * because "it's deprecated by POSIX, therefore it's fine | ||
39 | @@ -140,9 +141,11 @@ static void set_kernel_tz(const struct timezone *tz) | ||
40 | #if !defined(SYS_settimeofday) && defined(SYS_settimeofday_time32) | ||
41 | # define SYS_settimeofday SYS_settimeofday_time32 | ||
42 | #endif | ||
43 | - int ret = syscall(SYS_settimeofday, NULL, tz); | ||
44 | +#if defined(SYS_settimeofday) | ||
45 | + ret = syscall(SYS_settimeofday, NULL, tz); | ||
46 | +#endif | ||
47 | #else | ||
48 | - int ret = settimeofday(NULL, tz); | ||
49 | + ret = settimeofday(NULL, tz); | ||
50 | #endif | ||
51 | if (ret) | ||
52 | bb_simple_perror_msg_and_die("settimeofday"); | ||
diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch index 4635250170..ceb3ad7250 100644 --- a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch +++ b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch | |||
@@ -5,7 +5,7 @@ Subject: [PATCH 1/2] libbb: sockaddr2str: ensure only printable characters are | |||
5 | returned for the hostname part | 5 | returned for the hostname part |
6 | 6 | ||
7 | CVE: CVE-2022-28391 | 7 | CVE: CVE-2022-28391 |
8 | Upstream-Status: Pending | 8 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001] |
9 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | 9 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> |
10 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | 10 | Signed-off-by: Steve Sakoman <steve@sakoman.com> |
11 | --- | 11 | --- |
diff --git a/meta/recipes-core/busybox/busybox/0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch b/meta/recipes-core/busybox/busybox/0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch new file mode 100644 index 0000000000..c71172a4f9 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 43ec36c0e3fbfd4191b18465a0554f4c1acf58d6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrej Valek <andrej.v@skyrain.eu> | ||
3 | Date: Wed, 16 Oct 2024 09:09:55 +0200 | ||
4 | Subject: [PATCH] syslogd: fix wrong OPT_locallog flag detection | ||
5 | |||
6 | The OPT_locallog was set on "option_mask32" but checked on local | ||
7 | "opts" variable. While this flag it's used on multiple places can't be | ||
8 | has to be used with "option_mask32". Without this change syslogd | ||
9 | is more-less unusable while no messages are logged locally. | ||
10 | |||
11 | Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2024-October/090969.html] | ||
12 | |||
13 | Signed-off-by: Andrej Valek <andrej.v@skyrain.eu> | ||
14 | --- | ||
15 | sysklogd/syslogd.c | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c | ||
19 | index 7558051f0..fa03aa280 100644 | ||
20 | --- a/sysklogd/syslogd.c | ||
21 | +++ b/sysklogd/syslogd.c | ||
22 | @@ -1179,7 +1179,7 @@ int syslogd_main(int argc UNUSED_PARAM, char **argv) | ||
23 | } | ||
24 | } | ||
25 | #endif | ||
26 | - if (!ENABLE_FEATURE_REMOTE_LOG || (opts & OPT_locallog)) { | ||
27 | + if (!ENABLE_FEATURE_REMOTE_LOG || (option_mask32 & OPT_locallog)) { | ||
28 | recvbuf[sz] = '\0'; /* ensure it *is* NUL terminated */ | ||
29 | split_escape_and_log(recvbuf, sz); | ||
30 | } | ||
31 | -- | ||
32 | 2.34.1 | ||
33 | |||
diff --git a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch index 0d7409ddc3..1dbc3388a4 100644 --- a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch +++ b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch | |||
@@ -8,7 +8,7 @@ Otherwise, terminal sequences can be injected, which enables various terminal in | |||
8 | attacks from DNS results. | 8 | attacks from DNS results. |
9 | 9 | ||
10 | CVE: CVE-2022-28391 | 10 | CVE: CVE-2022-28391 |
11 | Upstream-Status: Pending | 11 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001] |
12 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | 12 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> |
13 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | 13 | Signed-off-by: Steve Sakoman <steve@sakoman.com> |
14 | --- | 14 | --- |
diff --git a/meta/recipes-core/busybox/busybox/0002-start-stop-daemon-fix-tests.patch b/meta/recipes-core/busybox/busybox/0002-start-stop-daemon-fix-tests.patch new file mode 100644 index 0000000000..a5abec4e53 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0002-start-stop-daemon-fix-tests.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | From 85fb09e278aff8f4b3e11d7ace0d1347f750487f Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrej Valek <andrej.v@skyrain.eu> | ||
3 | Date: Wed, 16 Oct 2024 10:11:01 +0200 | ||
4 | Subject: [PATCH] start-stop-daemon: fix tests | ||
5 | |||
6 | - "/tmp" directory could be link to somewhere else, so deference it | ||
7 | before comparing the expected path | ||
8 | - run "start-stop-daemon with both -x and -a" test only if "/bin/false" | ||
9 | is not a symlink. | ||
10 | |||
11 | Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2024-October/090968.html] | ||
12 | |||
13 | Signed-off-by: Andrej Valek <andrej.v@skyrain.eu> | ||
14 | --- | ||
15 | testsuite/start-stop-daemon.tests | 14 +++++++++----- | ||
16 | 1 file changed, 9 insertions(+), 5 deletions(-) | ||
17 | |||
18 | diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tests | ||
19 | index e1e49ab5f..fd59859ef 100755 | ||
20 | --- a/testsuite/start-stop-daemon.tests | ||
21 | +++ b/testsuite/start-stop-daemon.tests | ||
22 | @@ -6,24 +6,27 @@ | ||
23 | |||
24 | # testing "test name" "cmd" "expected result" "file input" "stdin" | ||
25 | |||
26 | +# deference link to /tmp | ||
27 | +TMP_DIR="$(readlink -f /tmp)" | ||
28 | + | ||
29 | testing "start-stop-daemon -x without -a" \ | ||
30 | 'start-stop-daemon -S -x true 2>&1; echo $?' \ | ||
31 | "0\n" \ | ||
32 | "" "" | ||
33 | |||
34 | testing "start-stop-daemon -x with -d on existing directory" \ | ||
35 | - 'start-stop-daemon -S -d /tmp -x true 2>&1; echo $?' \ | ||
36 | + 'start-stop-daemon -S -d $TMP_DIR -x true 2>&1; echo $?' \ | ||
37 | "0\n" \ | ||
38 | "" "" | ||
39 | |||
40 | testing "start-stop-daemon -x with -d on existing and check dir" \ | ||
41 | - 'output=$(start-stop-daemon -S -d /tmp -x pwd); echo $output' \ | ||
42 | - "/tmp\n" \ | ||
43 | + 'output=$(start-stop-daemon -S -d $TMP_DIR -x pwd); echo $output' \ | ||
44 | + "$TMP_DIR\n" \ | ||
45 | "" "" | ||
46 | |||
47 | testing "start-stop-daemon -x with --chdir on existing and check dir" \ | ||
48 | - 'output=$(start-stop-daemon -S --chdir /tmp -x pwd); echo $output' \ | ||
49 | - "/tmp\n" \ | ||
50 | + 'output=$(start-stop-daemon -S --chdir $TMP_DIR -x pwd); echo $output' \ | ||
51 | + "$TMP_DIR\n" \ | ||
52 | "" "" | ||
53 | |||
54 | testing "start-stop-daemon -a without -x" \ | ||
55 | @@ -48,6 +51,7 @@ testing "start-stop-daemon -x with -d on non-existing directory" \ | ||
56 | # | ||
57 | # NB: this fails if /bin/false is a busybox symlink: | ||
58 | # busybox looks at argv[0] and says "qwerty: applet not found" | ||
59 | +test ! -L /bin/false && \ | ||
60 | testing "start-stop-daemon with both -x and -a" \ | ||
61 | 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \ | ||
62 | "1\n" \ | ||
63 | -- | ||
64 | 2.34.1 | ||
65 | |||
diff --git a/meta/recipes-core/busybox/busybox/start-stop-false.patch b/meta/recipes-core/busybox/busybox/0003-start-stop-false.patch index 3aef68329c..dd5f5b8e03 100644 --- a/meta/recipes-core/busybox/busybox/start-stop-false.patch +++ b/meta/recipes-core/busybox/busybox/0003-start-stop-false.patch | |||
@@ -9,11 +9,12 @@ diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tes | |||
9 | index 0757b1288..aa6e9cc41 100755 | 9 | index 0757b1288..aa6e9cc41 100755 |
10 | --- a/testsuite/start-stop-daemon.tests | 10 | --- a/testsuite/start-stop-daemon.tests |
11 | +++ b/testsuite/start-stop-daemon.tests | 11 | +++ b/testsuite/start-stop-daemon.tests |
12 | @@ -27,10 +27,18 @@ testing "start-stop-daemon without -x and -a" \ | 12 | @@ -50,11 +50,18 @@ testing "start-stop-daemon without -x and -a" \ |
13 | # but at least it checks that pathname to exec() is correct | 13 | # but at least it checks that pathname to exec() is correct |
14 | # | 14 | # |
15 | # NB: this fails if /bin/false is a busybox symlink: | 15 | # NB: this fails if /bin/false is a busybox symlink: |
16 | -# busybox looks at argv[0] and says "qwerty: applet not found" | 16 | -# busybox looks at argv[0] and says "qwerty: applet not found" |
17 | -test ! -L /bin/false && \ | ||
17 | -testing "start-stop-daemon with both -x and -a" \ | 18 | -testing "start-stop-daemon with both -x and -a" \ |
18 | - 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \ | 19 | - 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \ |
19 | - "1\n" \ | 20 | - "1\n" \ |
@@ -21,15 +22,15 @@ index 0757b1288..aa6e9cc41 100755 | |||
21 | +# busybox looks at argv[0] and says "qwerty: applet not found", so | 22 | +# busybox looks at argv[0] and says "qwerty: applet not found", so |
22 | +# skip the test if false is busybox. | 23 | +# skip the test if false is busybox. |
23 | +case $(readlink /bin/false) in | 24 | +case $(readlink /bin/false) in |
24 | + *busybox*) | 25 | + *busybox*) |
25 | + echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)" | 26 | + echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)" |
26 | + ;; | 27 | + ;; |
27 | + *) | 28 | + *) |
28 | + testing "start-stop-daemon with both -x and -a" \ | 29 | + testing "start-stop-daemon with both -x and -a" \ |
29 | + 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \ | 30 | + 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \ |
30 | + "1\n" \ | 31 | + "1\n" \ |
31 | + "" "" | 32 | + "" "" |
32 | + ;; | 33 | + ;; |
33 | +esac | 34 | +esac |
34 | 35 | ||
35 | exit $FAILCOUNT | 36 | exit $FAILCOUNT |
diff --git a/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch b/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch new file mode 100644 index 0000000000..80cbc73fc4 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | Remove CBQ functionality from tc | ||
2 | |||
3 | 6.8+ kernel has dropped CBQ support [1], Now that OE uses 6.9 for | ||
4 | kernel-headers means we are hitting the undefined symbol | ||
5 | TCA_CBQ_MAX [2] | ||
6 | |||
7 | [1] https://github.com/torvalds/linux/commit/33241dca486264193ed68167c8eeae1fb197f3df | ||
8 | [2] https://bugs.busybox.net/show_bug.cgi?id=15934 | ||
9 | |||
10 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15931] | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | |||
13 | diff -up busybox-1.36.1/networking/tc.c.no-cbq busybox-1.36.1/networking/tc.c | ||
14 | --- busybox-1.36.1/networking/tc.c.no-cbq 2024-01-29 10:24:09.135082923 -0500 | ||
15 | +++ busybox-1.36.1/networking/tc.c 2024-01-29 10:28:12.009502552 -0500 | ||
16 | @@ -31,7 +31,7 @@ | ||
17 | //usage: "qdisc [handle QHANDLE] [root|"IF_FEATURE_TC_INGRESS("ingress|")"parent CLASSID]\n" | ||
18 | /* //usage: "[estimator INTERVAL TIME_CONSTANT]\n" */ | ||
19 | //usage: " [[QDISC_KIND] [help|OPTIONS]]\n" | ||
20 | -//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|cbq|red|etc.\n" | ||
21 | +//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|red|etc.\n" | ||
22 | //usage: "qdisc show [dev STRING]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" | ||
23 | //usage: "class [classid CLASSID] [root|parent CLASSID]\n" | ||
24 | //usage: " [[QDISC_KIND] [help|OPTIONS] ]\n" | ||
25 | @@ -230,7 +230,7 @@ static int cbq_parse_opt(int argc, char | ||
26 | { | ||
27 | return 0; | ||
28 | } | ||
29 | -#endif | ||
30 | + | ||
31 | static int cbq_print_opt(struct rtattr *opt) | ||
32 | { | ||
33 | struct rtattr *tb[TCA_CBQ_MAX+1]; | ||
34 | @@ -322,6 +322,7 @@ static int cbq_print_opt(struct rtattr * | ||
35 | done: | ||
36 | return 0; | ||
37 | } | ||
38 | +#endif | ||
39 | |||
40 | static FAST_FUNC int print_qdisc( | ||
41 | const struct sockaddr_nl *who UNUSED_PARAM, | ||
42 | @@ -373,7 +374,8 @@ static FAST_FUNC int print_qdisc( | ||
43 | if (qqq == 0) { /* pfifo_fast aka prio */ | ||
44 | prio_print_opt(tb[TCA_OPTIONS]); | ||
45 | } else if (qqq == 1) { /* class based queuing */ | ||
46 | - cbq_print_opt(tb[TCA_OPTIONS]); | ||
47 | + /* cbq_print_opt(tb[TCA_OPTIONS]); */ | ||
48 | + printf("cbq not supported"); | ||
49 | } else { | ||
50 | /* don't know how to print options for this qdisc */ | ||
51 | printf("(options for %s)", name); | ||
52 | @@ -444,7 +446,8 @@ static FAST_FUNC int print_class( | ||
53 | /* nothing. */ /*prio_print_opt(tb[TCA_OPTIONS]);*/ | ||
54 | } else if (qqq == 1) { /* class based queuing */ | ||
55 | /* cbq_print_copt() is identical to cbq_print_opt(). */ | ||
56 | - cbq_print_opt(tb[TCA_OPTIONS]); | ||
57 | + /* cbq_print_opt(tb[TCA_OPTIONS]); */ | ||
58 | + printf("cbq not supported"); | ||
59 | } else { | ||
60 | /* don't know how to print options for this class */ | ||
61 | printf("(options for %s)", name); | ||
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch deleted file mode 100644 index 948932a3e8..0000000000 --- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | From 53626cd06a3ef05ed847daea802ef0aa9661caa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anders Darander <anders@chargestorm.se> | ||
3 | Date: Thu, 3 Nov 2011 08:51:31 +0100 | ||
4 | Subject: [PATCH] busybox-udhcpc-no_deconfig.patch | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Add a new option -D to the udhcpc client that allows for | ||
9 | dhcp renewal to occur without having to down the interface | ||
10 | in the process. | ||
11 | |||
12 | Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com> | ||
13 | |||
14 | Updated to latest Busybox 1.17.3 | ||
15 | |||
16 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
17 | |||
18 | Updated to Busybox 1.18.4 | ||
19 | option spec is changed | ||
20 | |||
21 | Signed-off-by: Qing He <qing.he@intel.com> | ||
22 | |||
23 | Updated to Busybox 1.19.3 | ||
24 | |||
25 | Signed-off-by: Anders Darander <anders@chargestorm.se> | ||
26 | |||
27 | Fixed options -b, -a and -P. | ||
28 | |||
29 | Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | ||
30 | --- | ||
31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ | ||
32 | 1 file changed, 21 insertions(+), 8 deletions(-) | ||
33 | |||
34 | Index: busybox-1.34.0/networking/udhcp/dhcpc.c | ||
35 | =================================================================== | ||
36 | --- busybox-1.34.0.orig/networking/udhcp/dhcpc.c | ||
37 | +++ busybox-1.34.0/networking/udhcp/dhcpc.c | ||
38 | @@ -48,6 +48,8 @@ | ||
39 | }; | ||
40 | #endif | ||
41 | |||
42 | +/* option whether to down the interface when reconfiguring */ | ||
43 | +static int allow_deconfig = 1; | ||
44 | |||
45 | /* "struct client_data_t client_data" is in bb_common_bufsiz1 */ | ||
46 | |||
47 | @@ -100,8 +102,10 @@ | ||
48 | OPT_x = 1 << 16, | ||
49 | OPT_f = 1 << 17, | ||
50 | OPT_B = 1 << 18, | ||
51 | + OPT_D = 1 << 19, | ||
52 | /* The rest has variable bit positions, need to be clever */ | ||
53 | OPTBIT_B = 18, | ||
54 | + OPTBIT_D = 19, | ||
55 | USE_FOR_MMU( OPTBIT_b,) | ||
56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) | ||
57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) | ||
58 | @@ -587,7 +591,8 @@ | ||
59 | |||
60 | static void d4_run_script_deconfig(void) | ||
61 | { | ||
62 | - d4_run_script(NULL, "deconfig"); | ||
63 | + if (allow_deconfig) | ||
64 | + d4_run_script(NULL, "deconfig"); | ||
65 | } | ||
66 | |||
67 | /*** Sending/receiving packets ***/ | ||
68 | @@ -1244,7 +1249,7 @@ | ||
69 | /* Parse command line */ | ||
70 | opt = getopt32long(argv, "^" | ||
71 | /* O,x: list; -T,-t,-A take numeric param */ | ||
72 | - "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB" | ||
73 | + "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD" | ||
74 | USE_FOR_MMU("b") | ||
75 | IF_FEATURE_UDHCPC_ARPING("a::") | ||
76 | IF_FEATURE_UDHCP_PORT("P:") | ||
77 | @@ -1361,6 +1366,10 @@ | ||
78 | logmode |= LOGMODE_SYSLOG; | ||
79 | } | ||
80 | |||
81 | + if (opt & OPT_D) { | ||
82 | + allow_deconfig = 0; | ||
83 | + } | ||
84 | + | ||
85 | /* Create pidfile */ | ||
86 | write_pidfile(client_data.pidfile); | ||
87 | /* Goes to stdout (unless NOMMU) and possibly syslog */ | ||
diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig index f3d545dc3f..22c9dafcb3 100644 --- a/meta/recipes-core/busybox/busybox/defconfig +++ b/meta/recipes-core/busybox/busybox/defconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Busybox version: 1.36.0 | 3 | # Busybox version: 1.37.0 |
4 | # Tue Jan 3 14:17:01 2023 | ||
5 | # | 4 | # |
6 | CONFIG_HAVE_DOT_CONFIG=y | 5 | CONFIG_HAVE_DOT_CONFIG=y |
7 | 6 | ||
@@ -17,6 +16,7 @@ CONFIG_SHOW_USAGE=y | |||
17 | # CONFIG_FEATURE_VERBOSE_USAGE is not set | 16 | # CONFIG_FEATURE_VERBOSE_USAGE is not set |
18 | CONFIG_FEATURE_COMPRESS_USAGE=y | 17 | CONFIG_FEATURE_COMPRESS_USAGE=y |
19 | CONFIG_LFS=y | 18 | CONFIG_LFS=y |
19 | CONFIG_TIME64=y | ||
20 | # CONFIG_PAM is not set | 20 | # CONFIG_PAM is not set |
21 | CONFIG_FEATURE_DEVPTS=y | 21 | CONFIG_FEATURE_DEVPTS=y |
22 | CONFIG_FEATURE_UTMP=y | 22 | CONFIG_FEATURE_UTMP=y |
@@ -93,6 +93,9 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y | |||
93 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set | 93 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set |
94 | CONFIG_PASSWORD_MINLEN=6 | 94 | CONFIG_PASSWORD_MINLEN=6 |
95 | CONFIG_MD5_SMALL=1 | 95 | CONFIG_MD5_SMALL=1 |
96 | CONFIG_SHA1_SMALL=3 | ||
97 | CONFIG_SHA1_HWACCEL=y | ||
98 | CONFIG_SHA256_HWACCEL=y | ||
96 | CONFIG_SHA3_SMALL=1 | 99 | CONFIG_SHA3_SMALL=1 |
97 | CONFIG_FEATURE_NON_POSIX_CP=y | 100 | CONFIG_FEATURE_NON_POSIX_CP=y |
98 | # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set | 101 | # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set |
@@ -113,13 +116,13 @@ CONFIG_FEATURE_EDITING_FANCY_PROMPT=y | |||
113 | # CONFIG_FEATURE_EDITING_WINCH is not set | 116 | # CONFIG_FEATURE_EDITING_WINCH is not set |
114 | # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set | 117 | # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set |
115 | # CONFIG_LOCALE_SUPPORT is not set | 118 | # CONFIG_LOCALE_SUPPORT is not set |
116 | CONFIG_UNICODE_SUPPORT=y | 119 | # CONFIG_UNICODE_SUPPORT is not set |
117 | # CONFIG_UNICODE_USING_LOCALE is not set | 120 | # CONFIG_UNICODE_USING_LOCALE is not set |
118 | CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y | 121 | # CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set |
119 | CONFIG_SUBST_WCHAR=63 | 122 | CONFIG_SUBST_WCHAR=0 |
120 | CONFIG_LAST_SUPPORTED_WCHAR=767 | 123 | CONFIG_LAST_SUPPORTED_WCHAR=0 |
121 | CONFIG_UNICODE_COMBINING_WCHARS=y | 124 | # CONFIG_UNICODE_COMBINING_WCHARS is not set |
122 | CONFIG_UNICODE_WIDE_WCHARS=y | 125 | # CONFIG_UNICODE_WIDE_WCHARS is not set |
123 | # CONFIG_UNICODE_BIDI_SUPPORT is not set | 126 | # CONFIG_UNICODE_BIDI_SUPPORT is not set |
124 | # CONFIG_UNICODE_NEUTRAL_TABLE is not set | 127 | # CONFIG_UNICODE_NEUTRAL_TABLE is not set |
125 | # CONFIG_UNICODE_PRESERVE_BROKEN is not set | 128 | # CONFIG_UNICODE_PRESERVE_BROKEN is not set |
@@ -145,7 +148,7 @@ CONFIG_FEATURE_SEAMLESS_Z=y | |||
145 | # CONFIG_UNCOMPRESS is not set | 148 | # CONFIG_UNCOMPRESS is not set |
146 | CONFIG_GUNZIP=y | 149 | CONFIG_GUNZIP=y |
147 | CONFIG_ZCAT=y | 150 | CONFIG_ZCAT=y |
148 | CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y | 151 | # CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set |
149 | CONFIG_BUNZIP2=y | 152 | CONFIG_BUNZIP2=y |
150 | CONFIG_BZCAT=y | 153 | CONFIG_BZCAT=y |
151 | # CONFIG_UNLZMA is not set | 154 | # CONFIG_UNLZMA is not set |
@@ -278,8 +281,8 @@ CONFIG_FEATURE_LS_USERNAME=y | |||
278 | CONFIG_FEATURE_LS_COLOR=y | 281 | CONFIG_FEATURE_LS_COLOR=y |
279 | # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set | 282 | # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set |
280 | CONFIG_MD5SUM=y | 283 | CONFIG_MD5SUM=y |
281 | CONFIG_SHA1SUM=y | 284 | # CONFIG_SHA1SUM is not set |
282 | CONFIG_SHA256SUM=y | 285 | # CONFIG_SHA256SUM is not set |
283 | # CONFIG_SHA512SUM is not set | 286 | # CONFIG_SHA512SUM is not set |
284 | # CONFIG_SHA3SUM is not set | 287 | # CONFIG_SHA3SUM is not set |
285 | 288 | ||
@@ -383,8 +386,8 @@ CONFIG_DEFAULT_SETFONT_DIR="" | |||
383 | CONFIG_LOADKMAP=y | 386 | CONFIG_LOADKMAP=y |
384 | CONFIG_OPENVT=y | 387 | CONFIG_OPENVT=y |
385 | CONFIG_RESET=y | 388 | CONFIG_RESET=y |
386 | CONFIG_RESIZE=y | 389 | # CONFIG_RESIZE is not set |
387 | CONFIG_FEATURE_RESIZE_PRINT=y | 390 | # CONFIG_FEATURE_RESIZE_PRINT is not set |
388 | CONFIG_SETCONSOLE=y | 391 | CONFIG_SETCONSOLE=y |
389 | # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set | 392 | # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set |
390 | # CONFIG_SETKEYCODES is not set | 393 | # CONFIG_SETKEYCODES is not set |
@@ -396,10 +399,10 @@ CONFIG_SETCONSOLE=y | |||
396 | # | 399 | # |
397 | # CONFIG_PIPE_PROGRESS is not set | 400 | # CONFIG_PIPE_PROGRESS is not set |
398 | CONFIG_RUN_PARTS=y | 401 | CONFIG_RUN_PARTS=y |
399 | CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y | 402 | # CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set |
400 | # CONFIG_FEATURE_RUN_PARTS_FANCY is not set | 403 | # CONFIG_FEATURE_RUN_PARTS_FANCY is not set |
401 | CONFIG_START_STOP_DAEMON=y | 404 | CONFIG_START_STOP_DAEMON=y |
402 | CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y | 405 | # CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set |
403 | CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y | 406 | CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y |
404 | CONFIG_WHICH=y | 407 | CONFIG_WHICH=y |
405 | 408 | ||
@@ -466,6 +469,7 @@ CONFIG_FEATURE_FIND_NEWER=y | |||
466 | CONFIG_FEATURE_FIND_SAMEFILE=y | 469 | CONFIG_FEATURE_FIND_SAMEFILE=y |
467 | CONFIG_FEATURE_FIND_EXEC=y | 470 | CONFIG_FEATURE_FIND_EXEC=y |
468 | CONFIG_FEATURE_FIND_EXEC_PLUS=y | 471 | CONFIG_FEATURE_FIND_EXEC_PLUS=y |
472 | CONFIG_FEATURE_FIND_EXEC_OK=y | ||
469 | CONFIG_FEATURE_FIND_USER=y | 473 | CONFIG_FEATURE_FIND_USER=y |
470 | CONFIG_FEATURE_FIND_GROUP=y | 474 | CONFIG_FEATURE_FIND_GROUP=y |
471 | CONFIG_FEATURE_FIND_NOT=y | 475 | CONFIG_FEATURE_FIND_NOT=y |
@@ -520,41 +524,41 @@ CONFIG_INIT_TERMINAL_TYPE="" | |||
520 | # | 524 | # |
521 | # Login/Password Management Utilities | 525 | # Login/Password Management Utilities |
522 | # | 526 | # |
523 | CONFIG_FEATURE_SHADOWPASSWDS=y | 527 | # CONFIG_FEATURE_SHADOWPASSWDS is not set |
524 | # CONFIG_USE_BB_PWD_GRP is not set | 528 | # CONFIG_USE_BB_PWD_GRP is not set |
525 | # CONFIG_USE_BB_SHADOW is not set | 529 | # CONFIG_USE_BB_SHADOW is not set |
526 | CONFIG_USE_BB_CRYPT=y | 530 | CONFIG_USE_BB_CRYPT=y |
527 | # CONFIG_USE_BB_CRYPT_SHA is not set | 531 | # CONFIG_USE_BB_CRYPT_SHA is not set |
528 | # CONFIG_ADD_SHELL is not set | 532 | # CONFIG_ADD_SHELL is not set |
529 | # CONFIG_REMOVE_SHELL is not set | 533 | # CONFIG_REMOVE_SHELL is not set |
530 | CONFIG_ADDGROUP=y | 534 | # CONFIG_ADDGROUP is not set |
531 | # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set | 535 | # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set |
532 | CONFIG_ADDUSER=y | 536 | # CONFIG_ADDUSER is not set |
533 | # CONFIG_FEATURE_CHECK_NAMES is not set | 537 | # CONFIG_FEATURE_CHECK_NAMES is not set |
534 | CONFIG_LAST_ID=60000 | 538 | CONFIG_LAST_ID=0 |
535 | CONFIG_FIRST_SYSTEM_ID=100 | 539 | CONFIG_FIRST_SYSTEM_ID=0 |
536 | CONFIG_LAST_SYSTEM_ID=999 | 540 | CONFIG_LAST_SYSTEM_ID=0 |
537 | # CONFIG_CHPASSWD is not set | 541 | # CONFIG_CHPASSWD is not set |
538 | CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" | 542 | CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" |
539 | # CONFIG_CRYPTPW is not set | 543 | # CONFIG_CRYPTPW is not set |
540 | # CONFIG_MKPASSWD is not set | 544 | # CONFIG_MKPASSWD is not set |
541 | CONFIG_DELUSER=y | 545 | # CONFIG_DELUSER is not set |
542 | CONFIG_DELGROUP=y | 546 | # CONFIG_DELGROUP is not set |
543 | # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set | 547 | # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set |
544 | CONFIG_GETTY=y | 548 | # CONFIG_GETTY is not set |
545 | CONFIG_LOGIN=y | 549 | # CONFIG_LOGIN is not set |
546 | # CONFIG_LOGIN_SESSION_AS_CHILD is not set | 550 | # CONFIG_LOGIN_SESSION_AS_CHILD is not set |
547 | # CONFIG_LOGIN_SCRIPTS is not set | 551 | # CONFIG_LOGIN_SCRIPTS is not set |
548 | # CONFIG_FEATURE_NOLOGIN is not set | 552 | # CONFIG_FEATURE_NOLOGIN is not set |
549 | # CONFIG_FEATURE_SECURETTY is not set | 553 | # CONFIG_FEATURE_SECURETTY is not set |
550 | CONFIG_PASSWD=y | 554 | # CONFIG_PASSWD is not set |
551 | # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set | 555 | # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set |
552 | CONFIG_SU=y | 556 | # CONFIG_SU is not set |
553 | # CONFIG_FEATURE_SU_SYSLOG is not set | 557 | # CONFIG_FEATURE_SU_SYSLOG is not set |
554 | # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set | 558 | # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set |
555 | # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set | 559 | # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set |
556 | CONFIG_SULOGIN=y | 560 | # CONFIG_SULOGIN is not set |
557 | CONFIG_VLOCK=y | 561 | # CONFIG_VLOCK is not set |
558 | 562 | ||
559 | # | 563 | # |
560 | # Linux Ext2 FS Progs | 564 | # Linux Ext2 FS Progs |
@@ -601,8 +605,8 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" | |||
601 | # CONFIG_ACPID is not set | 605 | # CONFIG_ACPID is not set |
602 | # CONFIG_FEATURE_ACPID_COMPAT is not set | 606 | # CONFIG_FEATURE_ACPID_COMPAT is not set |
603 | # CONFIG_BLKDISCARD is not set | 607 | # CONFIG_BLKDISCARD is not set |
604 | CONFIG_BLKID=y | 608 | # CONFIG_BLKID is not set |
605 | CONFIG_FEATURE_BLKID_TYPE=y | 609 | # CONFIG_FEATURE_BLKID_TYPE is not set |
606 | # CONFIG_BLOCKDEV is not set | 610 | # CONFIG_BLOCKDEV is not set |
607 | # CONFIG_CAL is not set | 611 | # CONFIG_CAL is not set |
608 | # CONFIG_CHRT is not set | 612 | # CONFIG_CHRT is not set |
@@ -632,8 +636,8 @@ CONFIG_FLOCK=y | |||
632 | # CONFIG_FSCK_MINIX is not set | 636 | # CONFIG_FSCK_MINIX is not set |
633 | # CONFIG_FSFREEZE is not set | 637 | # CONFIG_FSFREEZE is not set |
634 | CONFIG_FSTRIM=y | 638 | CONFIG_FSTRIM=y |
635 | CONFIG_GETOPT=y | 639 | # CONFIG_GETOPT is not set |
636 | CONFIG_FEATURE_GETOPT_LONG=y | 640 | # CONFIG_FEATURE_GETOPT_LONG is not set |
637 | CONFIG_HEXDUMP=y | 641 | CONFIG_HEXDUMP=y |
638 | # CONFIG_HD is not set | 642 | # CONFIG_HD is not set |
639 | # CONFIG_XXD is not set | 643 | # CONFIG_XXD is not set |
@@ -670,7 +674,7 @@ CONFIG_MOUNT=y | |||
670 | # CONFIG_FEATURE_MOUNT_FAKE is not set | 674 | # CONFIG_FEATURE_MOUNT_FAKE is not set |
671 | # CONFIG_FEATURE_MOUNT_VERBOSE is not set | 675 | # CONFIG_FEATURE_MOUNT_VERBOSE is not set |
672 | # CONFIG_FEATURE_MOUNT_HELPERS is not set | 676 | # CONFIG_FEATURE_MOUNT_HELPERS is not set |
673 | CONFIG_FEATURE_MOUNT_LABEL=y | 677 | # CONFIG_FEATURE_MOUNT_LABEL is not set |
674 | # CONFIG_FEATURE_MOUNT_NFS is not set | 678 | # CONFIG_FEATURE_MOUNT_NFS is not set |
675 | # CONFIG_FEATURE_MOUNT_CIFS is not set | 679 | # CONFIG_FEATURE_MOUNT_CIFS is not set |
676 | CONFIG_FEATURE_MOUNT_FLAGS=y | 680 | CONFIG_FEATURE_MOUNT_FLAGS=y |
@@ -685,7 +689,7 @@ CONFIG_RDATE=y | |||
685 | # CONFIG_RDEV is not set | 689 | # CONFIG_RDEV is not set |
686 | # CONFIG_READPROFILE is not set | 690 | # CONFIG_READPROFILE is not set |
687 | CONFIG_RENICE=y | 691 | CONFIG_RENICE=y |
688 | CONFIG_REV=y | 692 | # CONFIG_REV is not set |
689 | # CONFIG_RTCWAKE is not set | 693 | # CONFIG_RTCWAKE is not set |
690 | # CONFIG_SCRIPT is not set | 694 | # CONFIG_SCRIPT is not set |
691 | # CONFIG_SCRIPTREPLAY is not set | 695 | # CONFIG_SCRIPTREPLAY is not set |
@@ -718,19 +722,15 @@ CONFIG_FEATURE_UMOUNT_ALL=y | |||
718 | CONFIG_FEATURE_MOUNT_LOOP=y | 722 | CONFIG_FEATURE_MOUNT_LOOP=y |
719 | CONFIG_FEATURE_MOUNT_LOOP_CREATE=y | 723 | CONFIG_FEATURE_MOUNT_LOOP_CREATE=y |
720 | # CONFIG_FEATURE_MTAB_SUPPORT is not set | 724 | # CONFIG_FEATURE_MTAB_SUPPORT is not set |
721 | CONFIG_VOLUMEID=y | 725 | # CONFIG_VOLUMEID is not set |
722 | |||
723 | # | ||
724 | # Filesystem/Volume identification | ||
725 | # | ||
726 | # CONFIG_FEATURE_VOLUMEID_BCACHE is not set | 726 | # CONFIG_FEATURE_VOLUMEID_BCACHE is not set |
727 | CONFIG_FEATURE_VOLUMEID_BTRFS=y | 727 | # CONFIG_FEATURE_VOLUMEID_BTRFS is not set |
728 | # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set | 728 | # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set |
729 | CONFIG_FEATURE_VOLUMEID_EROFS=y | 729 | # CONFIG_FEATURE_VOLUMEID_EROFS is not set |
730 | # CONFIG_FEATURE_VOLUMEID_EXFAT is not set | 730 | # CONFIG_FEATURE_VOLUMEID_EXFAT is not set |
731 | CONFIG_FEATURE_VOLUMEID_EXT=y | 731 | # CONFIG_FEATURE_VOLUMEID_EXT is not set |
732 | CONFIG_FEATURE_VOLUMEID_F2FS=y | 732 | # CONFIG_FEATURE_VOLUMEID_F2FS is not set |
733 | CONFIG_FEATURE_VOLUMEID_FAT=y | 733 | # CONFIG_FEATURE_VOLUMEID_FAT is not set |
734 | # CONFIG_FEATURE_VOLUMEID_HFS is not set | 734 | # CONFIG_FEATURE_VOLUMEID_HFS is not set |
735 | # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set | 735 | # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set |
736 | # CONFIG_FEATURE_VOLUMEID_JFS is not set | 736 | # CONFIG_FEATURE_VOLUMEID_JFS is not set |
@@ -744,7 +744,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y | |||
744 | # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set | 744 | # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set |
745 | # CONFIG_FEATURE_VOLUMEID_REISERFS is not set | 745 | # CONFIG_FEATURE_VOLUMEID_REISERFS is not set |
746 | # CONFIG_FEATURE_VOLUMEID_ROMFS is not set | 746 | # CONFIG_FEATURE_VOLUMEID_ROMFS is not set |
747 | CONFIG_FEATURE_VOLUMEID_SQUASHFS=y | 747 | # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set |
748 | # CONFIG_FEATURE_VOLUMEID_SYSV is not set | 748 | # CONFIG_FEATURE_VOLUMEID_SYSV is not set |
749 | # CONFIG_FEATURE_VOLUMEID_UBIFS is not set | 749 | # CONFIG_FEATURE_VOLUMEID_UBIFS is not set |
750 | # CONFIG_FEATURE_VOLUMEID_UDF is not set | 750 | # CONFIG_FEATURE_VOLUMEID_UDF is not set |
@@ -792,6 +792,7 @@ CONFIG_FEATURE_CROND_DIR="" | |||
792 | # CONFIG_FLASH_LOCK is not set | 792 | # CONFIG_FLASH_LOCK is not set |
793 | # CONFIG_FLASH_UNLOCK is not set | 793 | # CONFIG_FLASH_UNLOCK is not set |
794 | # CONFIG_FLASHCP is not set | 794 | # CONFIG_FLASHCP is not set |
795 | CONFIG_GETFATTR=y | ||
795 | # CONFIG_HDPARM is not set | 796 | # CONFIG_HDPARM is not set |
796 | # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set | 797 | # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set |
797 | # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set | 798 | # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set |
@@ -882,6 +883,7 @@ CONFIG_FEATURE_HWIB=y | |||
882 | CONFIG_HOSTNAME=y | 883 | CONFIG_HOSTNAME=y |
883 | CONFIG_DNSDOMAINNAME=y | 884 | CONFIG_DNSDOMAINNAME=y |
884 | # CONFIG_HTTPD is not set | 885 | # CONFIG_HTTPD is not set |
886 | CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 | ||
885 | # CONFIG_FEATURE_HTTPD_RANGES is not set | 887 | # CONFIG_FEATURE_HTTPD_RANGES is not set |
886 | # CONFIG_FEATURE_HTTPD_SETUID is not set | 888 | # CONFIG_FEATURE_HTTPD_SETUID is not set |
887 | # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set | 889 | # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set |
@@ -897,11 +899,11 @@ CONFIG_DNSDOMAINNAME=y | |||
897 | # CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set | 899 | # CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set |
898 | # CONFIG_FEATURE_HTTPD_DATE is not set | 900 | # CONFIG_FEATURE_HTTPD_DATE is not set |
899 | # CONFIG_FEATURE_HTTPD_ACL_IP is not set | 901 | # CONFIG_FEATURE_HTTPD_ACL_IP is not set |
900 | CONFIG_IFCONFIG=y | 902 | # CONFIG_IFCONFIG is not set |
901 | CONFIG_FEATURE_IFCONFIG_STATUS=y | 903 | # CONFIG_FEATURE_IFCONFIG_STATUS is not set |
902 | # CONFIG_FEATURE_IFCONFIG_SLIP is not set | 904 | # CONFIG_FEATURE_IFCONFIG_SLIP is not set |
903 | # CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set | 905 | # CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set |
904 | CONFIG_FEATURE_IFCONFIG_HW=y | 906 | # CONFIG_FEATURE_IFCONFIG_HW is not set |
905 | # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set | 907 | # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set |
906 | # CONFIG_IFENSLAVE is not set | 908 | # CONFIG_IFENSLAVE is not set |
907 | # CONFIG_IFPLUGD is not set | 909 | # CONFIG_IFPLUGD is not set |
@@ -929,6 +931,7 @@ CONFIG_IP=y | |||
929 | # CONFIG_IPNEIGH is not set | 931 | # CONFIG_IPNEIGH is not set |
930 | CONFIG_FEATURE_IP_ADDRESS=y | 932 | CONFIG_FEATURE_IP_ADDRESS=y |
931 | CONFIG_FEATURE_IP_LINK=y | 933 | CONFIG_FEATURE_IP_LINK=y |
934 | # CONFIG_FEATURE_IP_LINK_CAN is not set | ||
932 | CONFIG_FEATURE_IP_ROUTE=y | 935 | CONFIG_FEATURE_IP_ROUTE=y |
933 | CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" | 936 | CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" |
934 | CONFIG_FEATURE_IP_TUNNEL=y | 937 | CONFIG_FEATURE_IP_TUNNEL=y |
@@ -947,7 +950,7 @@ CONFIG_NC=y | |||
947 | # CONFIG_NC_SERVER is not set | 950 | # CONFIG_NC_SERVER is not set |
948 | # CONFIG_NC_EXTRA is not set | 951 | # CONFIG_NC_EXTRA is not set |
949 | # CONFIG_NC_110_COMPAT is not set | 952 | # CONFIG_NC_110_COMPAT is not set |
950 | CONFIG_NETSTAT=y | 953 | # CONFIG_NETSTAT is not set |
951 | # CONFIG_FEATURE_NETSTAT_WIDE is not set | 954 | # CONFIG_FEATURE_NETSTAT_WIDE is not set |
952 | # CONFIG_FEATURE_NETSTAT_PRG is not set | 955 | # CONFIG_FEATURE_NETSTAT_PRG is not set |
953 | CONFIG_NSLOOKUP=y | 956 | CONFIG_NSLOOKUP=y |
@@ -961,7 +964,7 @@ CONFIG_PING=y | |||
961 | CONFIG_PING6=y | 964 | CONFIG_PING6=y |
962 | CONFIG_FEATURE_FANCY_PING=y | 965 | CONFIG_FEATURE_FANCY_PING=y |
963 | # CONFIG_PSCAN is not set | 966 | # CONFIG_PSCAN is not set |
964 | CONFIG_ROUTE=y | 967 | # CONFIG_ROUTE is not set |
965 | # CONFIG_SLATTACH is not set | 968 | # CONFIG_SLATTACH is not set |
966 | # CONFIG_SSL_CLIENT is not set | 969 | # CONFIG_SSL_CLIENT is not set |
967 | # CONFIG_TC is not set | 970 | # CONFIG_TC is not set |
@@ -974,6 +977,7 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y | |||
974 | CONFIG_FEATURE_TELNET_WIDTH=y | 977 | CONFIG_FEATURE_TELNET_WIDTH=y |
975 | # CONFIG_TELNETD is not set | 978 | # CONFIG_TELNETD is not set |
976 | # CONFIG_FEATURE_TELNETD_STANDALONE is not set | 979 | # CONFIG_FEATURE_TELNETD_STANDALONE is not set |
980 | CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 | ||
977 | # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set | 981 | # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set |
978 | CONFIG_TFTP=y | 982 | CONFIG_TFTP=y |
979 | # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set | 983 | # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set |
@@ -983,7 +987,7 @@ CONFIG_FEATURE_TFTP_GET=y | |||
983 | CONFIG_FEATURE_TFTP_PUT=y | 987 | CONFIG_FEATURE_TFTP_PUT=y |
984 | # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set | 988 | # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set |
985 | # CONFIG_TFTP_DEBUG is not set | 989 | # CONFIG_TFTP_DEBUG is not set |
986 | CONFIG_TLS=y | 990 | # CONFIG_TLS is not set |
987 | CONFIG_TRACEROUTE=y | 991 | CONFIG_TRACEROUTE=y |
988 | # CONFIG_TRACEROUTE6 is not set | 992 | # CONFIG_TRACEROUTE6 is not set |
989 | # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set | 993 | # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set |
@@ -992,16 +996,17 @@ CONFIG_TRACEROUTE=y | |||
992 | # CONFIG_FEATURE_TUNCTL_UG is not set | 996 | # CONFIG_FEATURE_TUNCTL_UG is not set |
993 | # CONFIG_VCONFIG is not set | 997 | # CONFIG_VCONFIG is not set |
994 | CONFIG_WGET=y | 998 | CONFIG_WGET=y |
995 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y | 999 | # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set |
996 | CONFIG_FEATURE_WGET_STATUSBAR=y | 1000 | CONFIG_FEATURE_WGET_STATUSBAR=y |
997 | CONFIG_FEATURE_WGET_FTP=y | 1001 | CONFIG_FEATURE_WGET_FTP=y |
998 | CONFIG_FEATURE_WGET_AUTHENTICATION=y | 1002 | CONFIG_FEATURE_WGET_AUTHENTICATION=y |
999 | CONFIG_FEATURE_WGET_TIMEOUT=y | 1003 | CONFIG_FEATURE_WGET_TIMEOUT=y |
1000 | CONFIG_FEATURE_WGET_HTTPS=y | 1004 | # CONFIG_FEATURE_WGET_HTTPS is not set |
1001 | # CONFIG_FEATURE_WGET_OPENSSL is not set | 1005 | CONFIG_FEATURE_WGET_OPENSSL=y |
1002 | # CONFIG_WHOIS is not set | 1006 | # CONFIG_WHOIS is not set |
1003 | # CONFIG_ZCIP is not set | 1007 | # CONFIG_ZCIP is not set |
1004 | CONFIG_UDHCPD=y | 1008 | CONFIG_UDHCPD=y |
1009 | CONFIG_FEATURE_UDHCPD_BOOTP=y | ||
1005 | # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set | 1010 | # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set |
1006 | # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set | 1011 | # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set |
1007 | CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" | 1012 | CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" |
@@ -1011,6 +1016,7 @@ CONFIG_UDHCPC=y | |||
1011 | CONFIG_FEATURE_UDHCPC_ARPING=y | 1016 | CONFIG_FEATURE_UDHCPC_ARPING=y |
1012 | CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y | 1017 | CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y |
1013 | CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" | 1018 | CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" |
1019 | CONFIG_UDHCPC6_DEFAULT_SCRIPT="" | ||
1014 | # CONFIG_UDHCPC6 is not set | 1020 | # CONFIG_UDHCPC6 is not set |
1015 | # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set | 1021 | # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set |
1016 | # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set | 1022 | # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set |
@@ -1020,6 +1026,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" | |||
1020 | # | 1026 | # |
1021 | # Common options for DHCP applets | 1027 | # Common options for DHCP applets |
1022 | # | 1028 | # |
1029 | CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" | ||
1023 | # CONFIG_FEATURE_UDHCP_PORT is not set | 1030 | # CONFIG_FEATURE_UDHCP_PORT is not set |
1024 | CONFIG_UDHCP_DEBUG=0 | 1031 | CONFIG_UDHCP_DEBUG=0 |
1025 | CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 | 1032 | CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 |
@@ -1059,7 +1066,7 @@ CONFIG_KILLALL=y | |||
1059 | # CONFIG_LSOF is not set | 1066 | # CONFIG_LSOF is not set |
1060 | # CONFIG_MPSTAT is not set | 1067 | # CONFIG_MPSTAT is not set |
1061 | # CONFIG_NMETER is not set | 1068 | # CONFIG_NMETER is not set |
1062 | CONFIG_PGREP=y | 1069 | # CONFIG_PGREP is not set |
1063 | # CONFIG_PKILL is not set | 1070 | # CONFIG_PKILL is not set |
1064 | CONFIG_PIDOF=y | 1071 | CONFIG_PIDOF=y |
1065 | # CONFIG_FEATURE_PIDOF_SINGLE is not set | 1072 | # CONFIG_FEATURE_PIDOF_SINGLE is not set |
@@ -1203,21 +1210,17 @@ CONFIG_FEATURE_SH_HISTFILESIZE=y | |||
1203 | # System Logging Utilities | 1210 | # System Logging Utilities |
1204 | # | 1211 | # |
1205 | CONFIG_KLOGD=y | 1212 | CONFIG_KLOGD=y |
1206 | |||
1207 | # | ||
1208 | # klogd should not be used together with syslog to kernel printk buffer | ||
1209 | # | ||
1210 | CONFIG_FEATURE_KLOGD_KLOGCTL=y | 1213 | CONFIG_FEATURE_KLOGD_KLOGCTL=y |
1211 | CONFIG_LOGGER=y | 1214 | CONFIG_LOGGER=y |
1212 | CONFIG_LOGREAD=y | 1215 | # CONFIG_LOGREAD is not set |
1213 | CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y | 1216 | # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set |
1214 | CONFIG_SYSLOGD=y | 1217 | # CONFIG_SYSLOGD is not set |
1215 | CONFIG_FEATURE_ROTATE_LOGFILE=y | 1218 | # CONFIG_FEATURE_ROTATE_LOGFILE is not set |
1216 | CONFIG_FEATURE_REMOTE_LOG=y | 1219 | # CONFIG_FEATURE_REMOTE_LOG is not set |
1217 | CONFIG_FEATURE_SYSLOGD_DUP=y | 1220 | # CONFIG_FEATURE_SYSLOGD_DUP is not set |
1218 | CONFIG_FEATURE_SYSLOGD_CFG=y | 1221 | # CONFIG_FEATURE_SYSLOGD_CFG is not set |
1219 | # CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set | 1222 | # CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set |
1220 | CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 | 1223 | CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 |
1221 | CONFIG_FEATURE_IPC_SYSLOG=y | 1224 | # CONFIG_FEATURE_IPC_SYSLOG is not set |
1222 | CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 | 1225 | CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 |
1223 | CONFIG_FEATURE_KMSG_SYSLOG=y | 1226 | # CONFIG_FEATURE_KMSG_SYSLOG is not set |
diff --git a/meta/recipes-core/busybox/busybox/getopts.cfg b/meta/recipes-core/busybox/busybox/getopts.cfg index 8db0a4a8f2..26a2e7add9 100644 --- a/meta/recipes-core/busybox/busybox/getopts.cfg +++ b/meta/recipes-core/busybox/busybox/getopts.cfg | |||
@@ -1,3 +1 @@ | |||
1 | CONFIG_GETOPT=y | CONFIG_GETOPT=y | |
2 | CONFIG_LONG_OPTS=y | ||
3 | CONFIG_FEATURE_GETOPT_LONG=y | ||
diff --git a/meta/recipes-core/busybox/busybox/login-utilities.cfg b/meta/recipes-core/busybox/busybox/login-utilities.cfg index cc9b2db502..8a21e80619 100644 --- a/meta/recipes-core/busybox/busybox/login-utilities.cfg +++ b/meta/recipes-core/busybox/busybox/login-utilities.cfg | |||
@@ -1,5 +1,8 @@ | |||
1 | CONFIG_FEATURE_SHADOWPASSWDS=y | 1 | CONFIG_FEATURE_SHADOWPASSWDS=y |
2 | CONFIG_ADDUSER=y | 2 | CONFIG_ADDUSER=y |
3 | CONFIG_LAST_ID=60000 | ||
4 | CONFIG_FIRST_SYSTEM_ID=100 | ||
5 | CONFIG_LAST_SYSTEM_ID=999 | ||
3 | CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y | 6 | CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y |
4 | CONFIG_ADDGROUP=y | 7 | CONFIG_ADDGROUP=y |
5 | CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y | 8 | CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y |
diff --git a/meta/recipes-core/busybox/busybox/longopts.cfg b/meta/recipes-core/busybox/busybox/longopts.cfg index dcfab99919..3255608f64 100644 --- a/meta/recipes-core/busybox/busybox/longopts.cfg +++ b/meta/recipes-core/busybox/busybox/longopts.cfg | |||
@@ -13,3 +13,4 @@ CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y | |||
13 | CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y | 13 | CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y |
14 | CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y | 14 | CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y |
15 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y | 15 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y |
16 | CONFIG_FEATURE_GETOPT_LONG=y | ||
diff --git a/meta/recipes-core/busybox/busybox/mdev.cfg b/meta/recipes-core/busybox/busybox/mdev.cfg index 143e6097cb..54d23597cc 100644 --- a/meta/recipes-core/busybox/busybox/mdev.cfg +++ b/meta/recipes-core/busybox/busybox/mdev.cfg | |||
@@ -5,7 +5,6 @@ CONFIG_FEATURE_MDEV_RENAME_REGEXP=y | |||
5 | CONFIG_FEATURE_MDEV_EXEC=y | 5 | CONFIG_FEATURE_MDEV_EXEC=y |
6 | CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y | 6 | CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y |
7 | 7 | ||
8 | CONFIG_SETSID=y | ||
9 | CONFIG_CTTYHACK=y | 8 | CONFIG_CTTYHACK=y |
10 | 9 | ||
11 | CONFIG_FEATURE_SHADOWPASSWDS=y | 10 | CONFIG_FEATURE_SHADOWPASSWDS=y |
diff --git a/meta/recipes-core/busybox/busybox/mount-via-label.cfg b/meta/recipes-core/busybox/busybox/mount-via-label.cfg index 5a285de7cd..c9ae95c8c2 100644 --- a/meta/recipes-core/busybox/busybox/mount-via-label.cfg +++ b/meta/recipes-core/busybox/busybox/mount-via-label.cfg | |||
@@ -4,6 +4,7 @@ CONFIG_FEATURE_MOUNT_LABEL=y | |||
4 | CONFIG_FEATURE_SWAPONOFF_LABEL=y | 4 | CONFIG_FEATURE_SWAPONOFF_LABEL=y |
5 | CONFIG_VOLUMEID=y | 5 | CONFIG_VOLUMEID=y |
6 | CONFIG_FEATURE_VOLUMEID_BTRFS=y | 6 | CONFIG_FEATURE_VOLUMEID_BTRFS=y |
7 | CONFIG_FEATURE_VOLUMEID_EROFS=y | ||
7 | CONFIG_FEATURE_VOLUMEID_EXT=y | 8 | CONFIG_FEATURE_VOLUMEID_EXT=y |
8 | CONFIG_FEATURE_VOLUMEID_F2FS=y | 9 | CONFIG_FEATURE_VOLUMEID_F2FS=y |
9 | CONFIG_FEATURE_VOLUMEID_FAT=y | 10 | CONFIG_FEATURE_VOLUMEID_FAT=y |
diff --git a/meta/recipes-core/busybox/busybox/sha1sum.cfg b/meta/recipes-core/busybox/busybox/sha1sum.cfg index afd4da4ea1..151c447658 100644 --- a/meta/recipes-core/busybox/busybox/sha1sum.cfg +++ b/meta/recipes-core/busybox/busybox/sha1sum.cfg | |||
@@ -1,2 +1,3 @@ | |||
1 | CONFIG_SHA1SUM=y | 1 | CONFIG_SHA1SUM=y |
2 | CONFIG_SHA1_SMALL=3 | 2 | CONFIG_SHA1_SMALL=3 |
3 | # CONFIG_SHA1_HWACCEL is not set | ||
diff --git a/meta/recipes-core/busybox/busybox/sha256sum.cfg b/meta/recipes-core/busybox/busybox/sha256sum.cfg index ce652ae4c6..aa0b0b0b98 100644 --- a/meta/recipes-core/busybox/busybox/sha256sum.cfg +++ b/meta/recipes-core/busybox/busybox/sha256sum.cfg | |||
@@ -1 +1,2 @@ | |||
1 | CONFIG_SHA256SUM=y | 1 | CONFIG_SHA256SUM=y |
2 | # CONFIG_SHA256_HWACCEL is not set | ||
diff --git a/meta/recipes-core/busybox/busybox/sha_accel.cfg b/meta/recipes-core/busybox/busybox/sha_accel.cfg index 8900305a11..70038a8509 100644 --- a/meta/recipes-core/busybox/busybox/sha_accel.cfg +++ b/meta/recipes-core/busybox/busybox/sha_accel.cfg | |||
@@ -1,2 +1,2 @@ | |||
1 | # CONFIG_SHA256_HWACCEL is not set | 1 | CONFIG_SHA1_HWACCEL=y |
2 | # CONFIG_SHA1_HWACCEL is not set | 2 | CONFIG_SHA256_HWACCEL=y |
diff --git a/meta/recipes-core/busybox/busybox_1.36.1.bb b/meta/recipes-core/busybox/busybox_1.37.0.bb index 06eb9eb999..9f7ded3354 100644 --- a/meta/recipes-core/busybox/busybox_1.36.1.bb +++ b/meta/recipes-core/busybox/busybox_1.37.0.bb | |||
@@ -2,7 +2,6 @@ require busybox.inc | |||
2 | 2 | ||
3 | SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | 3 | SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ |
4 | file://0001-depmod-Ignore-.debug-directories.patch \ | 4 | file://0001-depmod-Ignore-.debug-directories.patch \ |
5 | file://busybox-udhcpc-no_deconfig.patch \ | ||
6 | file://find-touchscreen.sh \ | 5 | file://find-touchscreen.sh \ |
7 | file://busybox-cron \ | 6 | file://busybox-cron \ |
8 | file://busybox-httpd \ | 7 | file://busybox-httpd \ |
@@ -49,9 +48,14 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
49 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ | 48 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ |
50 | file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \ | 49 | file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \ |
51 | file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \ | 50 | file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \ |
52 | file://start-stop-false.patch \ | 51 | file://busybox-1.36.1-no-cbq.patch \ |
52 | file://0001-cut-Fix-s-flag-to-omit-blank-lines.patch \ | ||
53 | file://0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch \ | ||
54 | file://0002-start-stop-daemon-fix-tests.patch \ | ||
55 | file://0003-start-stop-false.patch \ | ||
56 | file://0001-archival-disallow-path-traversals-CVE-2023-39810.patch \ | ||
57 | file://0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch \ | ||
53 | " | 58 | " |
54 | SRC_URI:append:libc-musl = " file://musl.cfg " | 59 | SRC_URI:append:libc-musl = " file://musl.cfg" |
55 | # TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html | 60 | SRC_URI:append:x86-64 = " file://sha_accel.cfg" |
56 | SRC_URI:append:x86 = " file://sha_accel.cfg" | 61 | SRC_URI[tarball.sha256sum] = "3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4" |
57 | SRC_URI[tarball.sha256sum] = "b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314" | ||
diff --git a/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch b/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch deleted file mode 100644 index 97a6357ab9..0000000000 --- a/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | From 7cb2d20cfa2a27191255031d231cd41917dcffe8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Mon, 26 Dec 2016 16:10:35 +0800 | ||
4 | Subject: [PATCH] local.mk: fix cross compiling problem | ||
5 | |||
6 | We meet the following error when cross compiling. | ||
7 | | Makefile:3418: *** Recursive variable 'INSTALL' references itself (eventually). Stop. | ||
8 | This patch fixes this problem. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
13 | --- | ||
14 | src/local.mk | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/src/local.mk b/src/local.mk | ||
18 | index 96ee941..cdd47d6 100644 | ||
19 | --- a/src/local.mk | ||
20 | +++ b/src/local.mk | ||
21 | @@ -704,4 +704,4 @@ cu_install_program = @INSTALL@ | ||
22 | else | ||
23 | cu_install_program = src/ginstall | ||
24 | endif | ||
25 | -INSTALL = $(cu_install_program) -c | ||
26 | +INSTALL_PROGRAM = $(cu_install_program) | ||
diff --git a/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch b/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch new file mode 100644 index 0000000000..41be1635b5 --- /dev/null +++ b/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch | |||
@@ -0,0 +1,112 @@ | |||
1 | From 8763c305c29d0abb7e2be4695212b42917d054b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com> | ||
3 | Date: Tue, 20 May 2025 16:03:44 +0100 | ||
4 | Subject: [PATCH] sort: fix buffer under-read (CWE-127) | ||
5 | |||
6 | * src/sort.c (begfield): Check pointer adjustment | ||
7 | to avoid Out-of-range pointer offset (CWE-823). | ||
8 | (limfield): Likewise. | ||
9 | * tests/sort/sort-field-limit.sh: Add a new test, | ||
10 | which triggers with ASAN or Valgrind. | ||
11 | * tests/local.mk: Reference the new test. | ||
12 | * NEWS: Mention bug fix introduced in v7.2 (2009). | ||
13 | Fixes https://bugs.gnu.org/78507 | ||
14 | |||
15 | CVE: CVE-2025-5278 | ||
16 | |||
17 | Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=8c9602e3a145e9596dc1a63c6ed67865814b6633] | ||
18 | |||
19 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
20 | --- | ||
21 | src/sort.c | 12 ++++++++++-- | ||
22 | tests/local.mk | 1 + | ||
23 | tests/sort/sort-field-limit.sh | 35 ++++++++++++++++++++++++++++++++++ | ||
24 | 3 files changed, 46 insertions(+), 2 deletions(-) | ||
25 | create mode 100755 tests/sort/sort-field-limit.sh | ||
26 | |||
27 | diff --git a/src/sort.c b/src/sort.c | ||
28 | index b10183b6f..7af1a2512 100644 | ||
29 | --- a/src/sort.c | ||
30 | +++ b/src/sort.c | ||
31 | @@ -1644,7 +1644,11 @@ begfield (struct line const *line, struct keyfield const *key) | ||
32 | ++ptr; | ||
33 | |||
34 | /* Advance PTR by SCHAR (if possible), but no further than LIM. */ | ||
35 | - ptr = MIN (lim, ptr + schar); | ||
36 | + size_t remaining_bytes = lim - ptr; | ||
37 | + if (schar < remaining_bytes) | ||
38 | + ptr += schar; | ||
39 | + else | ||
40 | + ptr = lim; | ||
41 | |||
42 | return ptr; | ||
43 | } | ||
44 | @@ -1746,7 +1750,11 @@ limfield (struct line const *line, struct keyfield const *key) | ||
45 | ++ptr; | ||
46 | |||
47 | /* Advance PTR by ECHAR (if possible), but no further than LIM. */ | ||
48 | - ptr = MIN (lim, ptr + echar); | ||
49 | + size_t remaining_bytes = lim - ptr; | ||
50 | + if (echar < remaining_bytes) | ||
51 | + ptr += echar; | ||
52 | + else | ||
53 | + ptr = lim; | ||
54 | } | ||
55 | |||
56 | return ptr; | ||
57 | diff --git a/tests/local.mk b/tests/local.mk | ||
58 | index 4da6756ac..642d225fa 100644 | ||
59 | --- a/tests/local.mk | ||
60 | +++ b/tests/local.mk | ||
61 | @@ -388,6 +388,7 @@ all_tests = \ | ||
62 | tests/sort/sort-debug-keys.sh \ | ||
63 | tests/sort/sort-debug-warn.sh \ | ||
64 | tests/sort/sort-discrim.sh \ | ||
65 | + tests/sort/sort-field-limit.sh \ | ||
66 | tests/sort/sort-files0-from.pl \ | ||
67 | tests/sort/sort-float.sh \ | ||
68 | tests/sort/sort-h-thousands-sep.sh \ | ||
69 | diff --git a/tests/sort/sort-field-limit.sh b/tests/sort/sort-field-limit.sh | ||
70 | new file mode 100755 | ||
71 | index 000000000..52d8e1d17 | ||
72 | --- /dev/null | ||
73 | +++ b/tests/sort/sort-field-limit.sh | ||
74 | @@ -0,0 +1,35 @@ | ||
75 | +#!/bin/sh | ||
76 | +# From 7.2-9.7, this would trigger an out of bounds mem read | ||
77 | + | ||
78 | +# Copyright (C) 2025 Free Software Foundation, Inc. | ||
79 | + | ||
80 | +# This program is free software: you can redistribute it and/or modify | ||
81 | +# it under the terms of the GNU General Public License as published by | ||
82 | +# the Free Software Foundation, either version 3 of the License, or | ||
83 | +# (at your option) any later version. | ||
84 | + | ||
85 | +# This program is distributed in the hope that it will be useful, | ||
86 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
87 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
88 | +# GNU General Public License for more details. | ||
89 | + | ||
90 | +# You should have received a copy of the GNU General Public License | ||
91 | +# along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
92 | + | ||
93 | +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src | ||
94 | +print_ver_ sort | ||
95 | +getlimits_ | ||
96 | + | ||
97 | +# This issue triggers with valgrind or ASAN | ||
98 | +valgrind --error-exitcode=1 sort --version 2>/dev/null && | ||
99 | + VALGRIND='valgrind --error-exitcode=1' | ||
100 | + | ||
101 | +{ printf '%s\n' aa bb; } > in || framework_failure_ | ||
102 | + | ||
103 | +_POSIX2_VERSION=200809 $VALGRIND sort +0.${SIZE_MAX}R in > out || fail=1 | ||
104 | +compare in out || fail=1 | ||
105 | + | ||
106 | +_POSIX2_VERSION=200809 $VALGRIND sort +1 -1.${SIZE_MAX}R in > out || fail=1 | ||
107 | +compare in out || fail=1 | ||
108 | + | ||
109 | +Exit $fail | ||
110 | -- | ||
111 | 2.34.1 | ||
112 | |||
diff --git a/meta/recipes-core/coreutils/coreutils_9.5.bb b/meta/recipes-core/coreutils/coreutils_9.7.bb index 9a5f836ebe..5a6456d65e 100644 --- a/meta/recipes-core/coreutils/coreutils_9.5.bb +++ b/meta/recipes-core/coreutils/coreutils_9.7.bb | |||
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/" | |||
6 | BUGTRACKER = "http://debbugs.gnu.org/coreutils" | 6 | BUGTRACKER = "http://debbugs.gnu.org/coreutils" |
7 | LICENSE = "GPL-3.0-or-later" | 7 | LICENSE = "GPL-3.0-or-later" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \ | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \ |
9 | file://src/ls.c;beginline=1;endline=15;md5=9ac94aaed7fd46fd8df7147a9e3410cb \ | 9 | file://src/ls.c;beginline=1;endline=15;md5=824c1997414aea9f344747bd81cf5a31 \ |
10 | " | 10 | " |
11 | DEPENDS = "gmp libcap" | 11 | DEPENDS = "gmp libcap" |
12 | DEPENDS:class-native = "" | 12 | DEPENDS:class-native = "" |
@@ -15,10 +15,10 @@ inherit autotools gettext texinfo | |||
15 | 15 | ||
16 | SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ | 16 | SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ |
17 | file://remove-usr-local-lib-from-m4.patch \ | 17 | file://remove-usr-local-lib-from-m4.patch \ |
18 | file://0001-local.mk-fix-cross-compiling-problem.patch \ | 18 | file://0001-sort-fix-buffer-under-read-CWE-127.patch \ |
19 | file://run-ptest \ | 19 | file://run-ptest \ |
20 | " | 20 | " |
21 | SRC_URI[sha256sum] = "cd328edeac92f6a665de9f323c93b712af1858bc2e0d88f3f7100469470a1b8a" | 21 | SRC_URI[sha256sum] = "e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf" |
22 | 22 | ||
23 | # http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842 | 23 | # http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842 |
24 | # | 24 | # |
@@ -47,7 +47,7 @@ PACKAGECONFIG[single-binary] = "--enable-single-binary,--disable-single-binary,, | |||
47 | PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" | 47 | PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" |
48 | PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl" | 48 | PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl" |
49 | 49 | ||
50 | # [ df mktemp nice printenv base64 gets a special treatment and is not included in this | 50 | # [ base32 base64 df mktemp nice printenv get a special treatment and are not included in this |
51 | bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname du \ | 51 | bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname du \ |
52 | env expand expr factor fmt fold groups head hostid id install \ | 52 | env expand expr factor fmt fold groups head hostid id install \ |
53 | join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ | 53 | join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ |
@@ -55,11 +55,10 @@ bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname | |||
55 | sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \ | 55 | sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \ |
56 | tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" | 56 | tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" |
57 | 57 | ||
58 | # hostname gets a special treatment and is not included in this | ||
59 | base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ | 58 | base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ |
60 | mknod mv pwd rm rmdir sleep stty sync touch true uname stat" | 59 | mknod mv pwd rm rmdir sleep stty sync touch true uname stat" |
61 | 60 | ||
62 | sbindir_progs= "chroot" | 61 | sbindir_progs = "chroot" |
63 | 62 | ||
64 | # Split stdbuf into its own package, so one can include | 63 | # Split stdbuf into its own package, so one can include |
65 | # coreutils-stdbuf without getting the rest of coreutils, but make | 64 | # coreutils-stdbuf without getting the rest of coreutils, but make |
@@ -76,12 +75,6 @@ RDEPENDS:coreutils:class-target += "${@bb.utils.contains('PACKAGECONFIG', 'singl | |||
76 | # regardless of whether single-binary is in effect. | 75 | # regardless of whether single-binary is in effect. |
77 | RPROVIDES:coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}" | 76 | RPROVIDES:coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}" |
78 | 77 | ||
79 | # Let aclocal use the relative path for the m4 file rather than the | ||
80 | # absolute since coreutils has a lot of m4 files, otherwise there might | ||
81 | # be an "Argument list too long" error when it is built in a long/deep | ||
82 | # directory. | ||
83 | acpaths = "-I ./m4" | ||
84 | |||
85 | # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h | 78 | # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h |
86 | do_compile:prepend () { | 79 | do_compile:prepend () { |
87 | mkdir -p ${B}/src | 80 | mkdir -p ${B}/src |
@@ -173,12 +166,13 @@ RDEPENDS:${PN}-ptest += "bash findutils gawk make perl perl-modules python3-core | |||
173 | # may need tweaking if DEPENDS changes | 166 | # may need tweaking if DEPENDS changes |
174 | # Can't use ${PN}-dev here since flags with overrides and key expansion not supported | 167 | # Can't use ${PN}-dev here since flags with overrides and key expansion not supported |
175 | RRECOMMENDS:coreutils-dev[nodeprrecs] = "1" | 168 | RRECOMMENDS:coreutils-dev[nodeprrecs] = "1" |
176 | RRECOMMENDS:${PN}-dev += "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev" | 169 | DEVDEPS = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev" |
170 | DEVDEPS:class-native = "" | ||
171 | RRECOMMENDS:${PN}-dev += "${DEVDEPS}" | ||
177 | 172 | ||
178 | do_install_ptest () { | 173 | do_install_ptest () { |
179 | install -d ${D}${PTEST_PATH}/tests | 174 | install -d ${D}${PTEST_PATH}/tests |
180 | cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests | 175 | cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests |
181 | sed -i 's/ginstall/install/g' `grep -R ginstall ${D}${PTEST_PATH}/tests | awk -F: '{print $1}' | uniq` | ||
182 | install -d ${D}${PTEST_PATH}/build-aux | 176 | install -d ${D}${PTEST_PATH}/build-aux |
183 | install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ | 177 | install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ |
184 | install -Dm 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/config.h | 178 | install -Dm 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/config.h |
@@ -192,8 +186,8 @@ do_install_ptest () { | |||
192 | sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile | 186 | sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile |
193 | sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile | 187 | sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile |
194 | sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile | 188 | sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile |
195 | sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile | ||
196 | sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile | 189 | sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile |
190 | sed -i '/^BUILD_LDFLAGS =/d' ${D}${PTEST_PATH}/Makefile | ||
197 | chmod -R 777 ${D}${PTEST_PATH} | 191 | chmod -R 777 ${D}${PTEST_PATH} |
198 | 192 | ||
199 | # Disable subcase stty-pairs.sh, it will cause test framework hang | 193 | # Disable subcase stty-pairs.sh, it will cause test framework hang |
@@ -204,8 +198,15 @@ do_install_ptest () { | |||
204 | 198 | ||
205 | # Tweak test d_type-check to use python3 instead of python | 199 | # Tweak test d_type-check to use python3 instead of python |
206 | sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check | 200 | sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check |
201 | |||
202 | # Fix for single-binary | ||
203 | for prog in ${D}${PTEST_PATH}/src/*; do | ||
204 | if [ -f $prog ]; then | ||
205 | sed -i "1s@#!.*/src/coreutils @#!${bindir}/coreutils @" $prog | ||
206 | fi | ||
207 | done | ||
208 | |||
207 | install ${B}/src/getlimits ${D}/${bindir} | 209 | install ${B}/src/getlimits ${D}/${bindir} |
208 | |||
209 | # handle multilib | 210 | # handle multilib |
210 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest | 211 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest |
211 | } | 212 | } |
@@ -216,4 +217,8 @@ do_install_ptest:append:libc-musl () { | |||
216 | sed -i -e '/tests\/dd\/no-allocate.sh/d' ${D}${PTEST_PATH}/Makefile | 217 | sed -i -e '/tests\/dd\/no-allocate.sh/d' ${D}${PTEST_PATH}/Makefile |
217 | sed -i -e '/tests\/split\/line-bytes.sh/d' ${D}${PTEST_PATH}/Makefile | 218 | sed -i -e '/tests\/split\/line-bytes.sh/d' ${D}${PTEST_PATH}/Makefile |
218 | } | 219 | } |
220 | |||
221 | RDEPENDS:${PN}-ptest += "xz \ | ||
222 | ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'acl', '', d)} \ | ||
223 | ${@bb.utils.contains('PACKAGECONFIG', 'xattr', 'attr', '', d)}" | ||
219 | FILES:${PN}-ptest += "${bindir}/getlimits" | 224 | FILES:${PN}-ptest += "${bindir}/getlimits" |
diff --git a/meta/recipes-core/dbus-wait/dbus-wait_git.bb b/meta/recipes-core/dbus-wait/dbus-wait_git.bb index 39363b9b3a..c6a9abde63 100644 --- a/meta/recipes-core/dbus-wait/dbus-wait_git.bb +++ b/meta/recipes-core/dbus-wait/dbus-wait_git.bb | |||
@@ -13,6 +13,4 @@ PV = "0.1+git" | |||
13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" | 13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" |
14 | UPSTREAM_CHECK_COMMITS = "1" | 14 | UPSTREAM_CHECK_COMMITS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
diff --git a/meta/recipes-core/dbus/dbus-glib/no-examples.patch b/meta/recipes-core/dbus/dbus-glib/no-examples.patch index 32e7611718..3e2fa41c59 100644 --- a/meta/recipes-core/dbus/dbus-glib/no-examples.patch +++ b/meta/recipes-core/dbus/dbus-glib/no-examples.patch | |||
@@ -1,14 +1,20 @@ | |||
1 | Disable compiling examples | 1 | From 8bb06c2f0929a4b878fd9abdb63c177a7c308b9d Mon Sep 17 00:00:00 2001 |
2 | From: Kevin Tian <kevin.tian@intel.com> | ||
3 | Date: Tue, 21 Nov 2006 14:20:37 +0000 | ||
4 | Subject: [PATCH] Disable compiling examples | ||
2 | 5 | ||
3 | Upstream-Status: Inappropriate [disable feature] | 6 | Upstream-Status: Inappropriate [disable feature] |
4 | 7 | ||
5 | Signed-off-by: Kevin Tian <kevin.tian@intel.com> | 8 | Signed-off-by: Kevin Tian <kevin.tian@intel.com> |
6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | 9 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> |
10 | --- | ||
11 | dbus/Makefile.am | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
7 | 13 | ||
8 | Index: dbus-glib-0.108/dbus/Makefile.am | 14 | diff --git a/dbus/Makefile.am b/dbus/Makefile.am |
9 | =================================================================== | 15 | index 2e8cb27..a86df30 100644 |
10 | --- dbus-glib-0.108.orig/dbus/Makefile.am | 16 | --- a/dbus/Makefile.am |
11 | +++ dbus-glib-0.108/dbus/Makefile.am | 17 | +++ b/dbus/Makefile.am |
12 | @@ -1,4 +1,4 @@ | 18 | @@ -1,4 +1,4 @@ |
13 | -SUBDIRS = . examples | 19 | -SUBDIRS = . examples |
14 | +SUBDIRS = . | 20 | +SUBDIRS = . |
diff --git a/meta/recipes-core/dbus/dbus-glib/test-install-makefile.patch b/meta/recipes-core/dbus/dbus-glib/test-install-makefile.patch index 027c82b27e..0b1b712dd9 100644 --- a/meta/recipes-core/dbus/dbus-glib/test-install-makefile.patch +++ b/meta/recipes-core/dbus/dbus-glib/test-install-makefile.patch | |||
@@ -1,4 +1,8 @@ | |||
1 | Change Makefile.am to install regression tests for test package purpose. | 1 | From 4dbb1a459c281eeb716b4f0ce2fc01e8034c3e20 Mon Sep 17 00:00:00 2001 |
2 | From: Yao Zhao <yao.zhao@windriver.com> | ||
3 | Date: Tue, 17 Jul 2012 16:46:30 -0400 | ||
4 | Subject: [PATCH] Change Makefile.am to install regression tests for test | ||
5 | package purpose. | ||
2 | 6 | ||
3 | Upstream-Status: Inappropriate [test not install is for purpose from upstream] | 7 | Upstream-Status: Inappropriate [test not install is for purpose from upstream] |
4 | 8 | ||
@@ -11,7 +15,7 @@ Signed-off-by: Chong Lu <Chong.Lu@windriver.com> | |||
11 | 3 files changed, 6 insertions(+), 3 deletions(-) | 15 | 3 files changed, 6 insertions(+), 3 deletions(-) |
12 | 16 | ||
13 | diff --git a/test/Makefile.am b/test/Makefile.am | 17 | diff --git a/test/Makefile.am b/test/Makefile.am |
14 | index 379c8c3..6580927 100644 | 18 | index 7393bed..1c25d5d 100644 |
15 | --- a/test/Makefile.am | 19 | --- a/test/Makefile.am |
16 | +++ b/test/Makefile.am | 20 | +++ b/test/Makefile.am |
17 | @@ -48,7 +48,8 @@ TESTS = \ | 21 | @@ -48,7 +48,8 @@ TESTS = \ |
@@ -25,10 +29,10 @@ index 379c8c3..6580927 100644 | |||
25 | $(test_related_programs) \ | 29 | $(test_related_programs) \ |
26 | $(NULL) | 30 | $(NULL) |
27 | diff --git a/test/core/Makefile.am b/test/core/Makefile.am | 31 | diff --git a/test/core/Makefile.am b/test/core/Makefile.am |
28 | index e4bceb4..54b077d 100644 | 32 | index 35defa9..295202f 100644 |
29 | --- a/test/core/Makefile.am | 33 | --- a/test/core/Makefile.am |
30 | +++ b/test/core/Makefile.am | 34 | +++ b/test/core/Makefile.am |
31 | @@ -64,7 +64,8 @@ endif | 35 | @@ -57,7 +57,8 @@ if DBUS_BUILD_TESTS |
32 | 36 | ||
33 | ## we use noinst_PROGRAMS not check_PROGRAMS for TESTS so that we | 37 | ## we use noinst_PROGRAMS not check_PROGRAMS for TESTS so that we |
34 | ## build even when not doing "make check" | 38 | ## build even when not doing "make check" |
@@ -39,7 +43,7 @@ index e4bceb4..54b077d 100644 | |||
39 | test-error-mapping \ | 43 | test-error-mapping \ |
40 | test-service-glib \ | 44 | test-service-glib \ |
41 | diff --git a/test/interfaces/Makefile.am b/test/interfaces/Makefile.am | 45 | diff --git a/test/interfaces/Makefile.am b/test/interfaces/Makefile.am |
42 | index a94d08d..707dcac 100644 | 46 | index f3f62e4..f034b95 100644 |
43 | --- a/test/interfaces/Makefile.am | 47 | --- a/test/interfaces/Makefile.am |
44 | +++ b/test/interfaces/Makefile.am | 48 | +++ b/test/interfaces/Makefile.am |
45 | @@ -57,7 +57,8 @@ if DBUS_BUILD_TESTS | 49 | @@ -57,7 +57,8 @@ if DBUS_BUILD_TESTS |
@@ -52,6 +56,3 @@ index a94d08d..707dcac 100644 | |||
52 | 56 | ||
53 | test_service_SOURCES = \ | 57 | test_service_SOURCES = \ |
54 | test-interfaces.c \ | 58 | test-interfaces.c \ |
55 | -- | ||
56 | 1.9.1 | ||
57 | |||
diff --git a/meta/recipes-core/dbus/dbus-glib_0.112.bb b/meta/recipes-core/dbus/dbus-glib_0.114.bb index 4acf435694..28a9d4a4fc 100644 --- a/meta/recipes-core/dbus/dbus-glib_0.112.bb +++ b/meta/recipes-core/dbus/dbus-glib_0.114.bb | |||
@@ -2,9 +2,14 @@ SUMMARY = "High level language (GLib) binding for D-Bus" | |||
2 | DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ | 2 | DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ |
3 | the D-Bus library with the GLib thread abstraction and main loop." | 3 | the D-Bus library with the GLib thread abstraction and main loop." |
4 | HOMEPAGE = "https://www.freedesktop.org/Software/dbus" | 4 | HOMEPAGE = "https://www.freedesktop.org/Software/dbus" |
5 | LICENSE = "AFL-2.1 | GPL-2.0-or-later" | 5 | LICENSE = "(AFL-2.1 & LGPL-2.0-or-later & MIT) | (GPL-2.0-or-later & LGPL-2.0-or-later & MIT)" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=c31c73c1d8f5d06784b2ccd22e42d641 \ | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=267b04646da5ce3ea2df7a38a07c3f0b \ |
7 | file://dbus/dbus-glib.h;beginline=7;endline=21;md5=c374833bd817988323f3a8fda0dc7f48" | 7 | file://LICENSES/AFL-2.1.txt;md5=f3ad2f482ec639b440413665cfb9e714 \ |
8 | file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \ | ||
9 | file://LICENSES/LGPL-2.1-or-later.txt;md5=41890f71f740302b785c27661123bff5 \ | ||
10 | file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \ | ||
11 | file://dbus/dbus-glib.h;beginline=7;endline=21;md5=c374833bd817988323f3a8fda0dc7f48 \ | ||
12 | " | ||
8 | SECTION = "base" | 13 | SECTION = "base" |
9 | 14 | ||
10 | DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" | 15 | DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" |
@@ -14,8 +19,7 @@ SRC_URI = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.g | |||
14 | file://no-examples.patch \ | 19 | file://no-examples.patch \ |
15 | file://test-install-makefile.patch \ | 20 | file://test-install-makefile.patch \ |
16 | " | 21 | " |
17 | SRC_URI[md5sum] = "021e6c8a288df02c227e4aafbf7e7527" | 22 | SRC_URI[sha256sum] = "c09c5c085b2a0e391b8ee7d783a1d63fe444e96717cc1814d61b5e8fc2827a7c" |
18 | SRC_URI[sha256sum] = "7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a" | ||
19 | 23 | ||
20 | inherit autotools pkgconfig gettext bash-completion gtk-doc | 24 | inherit autotools pkgconfig gettext bash-completion gtk-doc |
21 | 25 | ||
@@ -30,10 +34,11 @@ PACKAGES += "${PN}-tests" | |||
30 | 34 | ||
31 | FILES:${PN} = "${libdir}/lib*${SOLIBS}" | 35 | FILES:${PN} = "${libdir}/lib*${SOLIBS}" |
32 | FILES:${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper" | 36 | FILES:${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper" |
37 | LICENSE:${PN}-bash-completion = "GPL-2.0-or-later" | ||
33 | FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" | 38 | FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" |
34 | FILES:${PN}-dev += "${bindir}/dbus-binding-tool" | 39 | FILES:${PN}-dev += "${bindir}/dbus-binding-tool" |
35 | 40 | ||
36 | RDEPENDS:${PN}-tests += "dbus-x11" | 41 | RDEPENDS:${PN}-tests = "${PN}" |
37 | FILES:${PN}-tests = "${datadir}/${BPN}/tests" | 42 | FILES:${PN}-tests = "${datadir}/${BPN}/tests" |
38 | 43 | ||
39 | BBCLASSEXTEND = "native" | 44 | BBCLASSEXTEND = "native" |
diff --git a/meta/recipes-core/dbus/dbus/tmpdir.patch b/meta/recipes-core/dbus/dbus/tmpdir.patch deleted file mode 100644 index bf086e1788..0000000000 --- a/meta/recipes-core/dbus/dbus/tmpdir.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From 5105fedd7fa13dadd2d0d864fb77873b83b79a4b Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Thu, 23 Jun 2011 13:52:09 +0200 | ||
4 | Subject: [PATCH] buildsys: hardcode socketdir to /tmp | ||
5 | |||
6 | the TMPDIR env var isn't always pointing to the right target path | ||
7 | |||
8 | Upstream-Status: Inappropriate [embedded] | ||
9 | |||
10 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
11 | |||
12 | Original comment: | ||
13 | |||
14 | avoid to check tmp dir at build time. instead uses hard coded /tmp here | ||
15 | comment added by Kevin Tian <kevin.tian@intel.com> | ||
16 | --- | ||
17 | configure.ac | 11 +---------- | ||
18 | 1 files changed, 1 insertions(+), 10 deletions(-) | ||
19 | |||
20 | diff --git a/configure.ac b/configure.ac | ||
21 | index 408054b..6d26180 100644 | ||
22 | --- a/configure.ac | ||
23 | +++ b/configure.ac | ||
24 | @@ -1483,16 +1483,7 @@ AC_SUBST(TEST_LAUNCH_HELPER_BINARY) | ||
25 | AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY", | ||
26 | [Full path to the launch helper test program in the builddir]) | ||
27 | |||
28 | -#### Find socket directories | ||
29 | -if ! test -z "$TMPDIR" ; then | ||
30 | - DEFAULT_SOCKET_DIR=$TMPDIR | ||
31 | -elif ! test -z "$TEMP" ; then | ||
32 | - DEFAULT_SOCKET_DIR=$TEMP | ||
33 | -elif ! test -z "$TMP" ; then | ||
34 | - DEFAULT_SOCKET_DIR=$TMP | ||
35 | -else | ||
36 | - DEFAULT_SOCKET_DIR=/tmp | ||
37 | -fi | ||
38 | +DEFAULT_SOCKET_DIR=/tmp | ||
39 | |||
40 | DEFAULT_SOCKET_DIR=`echo $DEFAULT_SOCKET_DIR | sed 's/+/%2B/g'` | ||
41 | |||
42 | -- | ||
43 | 1.6.6.1 | ||
44 | |||
diff --git a/meta/recipes-core/dbus/dbus_1.14.10.bb b/meta/recipes-core/dbus/dbus_1.16.2.bb index 4fe7af7512..65f7028b4f 100644 --- a/meta/recipes-core/dbus/dbus_1.14.10.bb +++ b/meta/recipes-core/dbus/dbus_1.16.2.bb | |||
@@ -3,43 +3,44 @@ DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to t | |||
3 | HOMEPAGE = "https://dbus.freedesktop.org" | 3 | HOMEPAGE = "https://dbus.freedesktop.org" |
4 | SECTION = "base" | 4 | SECTION = "base" |
5 | 5 | ||
6 | inherit autotools pkgconfig gettext upstream-version-is-even ptest-gnome | 6 | inherit meson pkgconfig gettext upstream-version-is-even ptest-gnome |
7 | 7 | ||
8 | LICENSE = "AFL-2.1 | GPL-2.0-or-later" | 8 | LICENSE = "AFL-2.1 | GPL-2.0-or-later" |
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=6423dcd74d7be9715b0db247fd889da3 \ | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb0ffc69a965797a3d6686baa153ef05 \ |
10 | file://dbus/dbus.h;beginline=6;endline=20;md5=866739837ccd835350af94dccd6457d8 \ | 10 | file://dbus/dbus.h;beginline=6;endline=22;md5=df4251a6c6e15e6a9e3c77b2ac30065d \ |
11 | " | 11 | " |
12 | 12 | ||
13 | SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.xz \ | 13 | SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.xz \ |
14 | file://run-ptest \ | 14 | file://run-ptest \ |
15 | file://tmpdir.patch \ | ||
16 | file://dbus-1.init \ | 15 | file://dbus-1.init \ |
17 | " | 16 | " |
18 | 17 | ||
19 | SRC_URI[sha256sum] = "ba1f21d2bd9d339da2d4aa8780c09df32fea87998b73da24f49ab9df1e36a50f" | 18 | SRC_URI[sha256sum] = "0ba2a1a4b16afe7bceb2c07e9ce99a8c2c3508e5dec290dbb643384bd6beb7e2" |
20 | 19 | ||
21 | EXTRA_OECONF = "--disable-xml-docs \ | 20 | EXTRA_OEMESON = "-Dxml_docs=disabled \ |
22 | --disable-doxygen-docs \ | 21 | -Ddoxygen_docs=disabled \ |
23 | --enable-largefile \ | 22 | -Dsystem_socket=/run/dbus/system_bus_socket \ |
24 | --with-system-socket=/run/dbus/system_bus_socket \ | 23 | -Dmodular_tests=enabled \ |
25 | --enable-modular-tests \ | 24 | -Dchecks=true \ |
26 | --enable-checks \ | 25 | -Druntime_dir=${runtimedir} \ |
27 | --runstatedir=/run \ | 26 | -Dtest_socket_dir=/tmp \ |
27 | -Dsession_socket_dir=/tmp \ | ||
28 | " | 28 | " |
29 | EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl" | ||
30 | 29 | ||
31 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ | 30 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ |
32 | user-session \ | 31 | user-session \ |
32 | ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ | ||
33 | " | 33 | " |
34 | PACKAGECONFIG:class-native = "" | 34 | PACKAGECONFIG:class-native = "" |
35 | PACKAGECONFIG:class-nativesdk = "" | 35 | PACKAGECONFIG:class-nativesdk = "" |
36 | 36 | ||
37 | PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" | 37 | PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd_system_unitdir=${systemd_system_unitdir},-Dsystemd=disabled,systemd" |
38 | PACKAGECONFIG[x11] = "--enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" | 38 | PACKAGECONFIG[x11] = "-Dx11_autolaunch=enabled,-Dx11_autolaunch=disabled, virtual/libx11 libsm" |
39 | PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" | 39 | PACKAGECONFIG[user-session] = "-Duser_session=true -Dsystemd_user_unitdir=${systemd_user_unitdir},-Duser_session=false" |
40 | PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,," | 40 | PACKAGECONFIG[verbose-mode] = "-Dverbose_mode=true,-Dverbose_mode=false,," |
41 | PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit" | 41 | PACKAGECONFIG[audit] = "-Dlibaudit=enabled,-Dlibaudit=disabled,audit" |
42 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" | 42 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" |
43 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" | ||
43 | 44 | ||
44 | DEPENDS = "expat virtual/libintl autoconf-archive-native glib-2.0" | 45 | DEPENDS = "expat virtual/libintl autoconf-archive-native glib-2.0" |
45 | RDEPENDS:${PN} += "${PN}-common ${PN}-tools" | 46 | RDEPENDS:${PN} += "${PN}-common ${PN}-tools" |
@@ -66,13 +67,6 @@ CONFFILES:${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session | |||
66 | 67 | ||
67 | DEBIANNAME:${PN} = "dbus-1" | 68 | DEBIANNAME:${PN} = "dbus-1" |
68 | 69 | ||
69 | OLDPKGNAME = "dbus-x11" | ||
70 | OLDPKGNAME:class-nativesdk = "" | ||
71 | |||
72 | # for compatibility | ||
73 | RPROVIDES:${PN} = "${OLDPKGNAME}" | ||
74 | RREPLACES:${PN} += "${OLDPKGNAME}" | ||
75 | |||
76 | FILES:${PN} = "${bindir}/dbus-daemon* \ | 70 | FILES:${PN} = "${bindir}/dbus-daemon* \ |
77 | ${bindir}/dbus-cleanup-sockets \ | 71 | ${bindir}/dbus-cleanup-sockets \ |
78 | ${bindir}/dbus-launch \ | 72 | ${bindir}/dbus-launch \ |
@@ -104,6 +98,7 @@ FILES:${PN}-tools = "${bindir}/dbus-uuidgen \ | |||
104 | " | 98 | " |
105 | FILES:${PN}-lib = "${libdir}/lib*.so.*" | 99 | FILES:${PN}-lib = "${libdir}/lib*.so.*" |
106 | RRECOMMENDS:${PN}-lib = "${PN}" | 100 | RRECOMMENDS:${PN}-lib = "${PN}" |
101 | RRECOMMENDS:${PN}-lib:class-target = "${VIRTUAL-RUNTIME_dbus}" | ||
107 | FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1" | 102 | FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1" |
108 | 103 | ||
109 | RDEPENDS:${PN}-ptest += "bash make dbus" | 104 | RDEPENDS:${PN}-ptest += "bash make dbus" |
@@ -123,14 +118,22 @@ pkg_postinst:dbus() { | |||
123 | fi | 118 | fi |
124 | } | 119 | } |
125 | 120 | ||
121 | # dbus uses find_program() to find systemctl, which results in a build path in the | ||
122 | # user dbus.socket | ||
123 | EXTRA_OEMESON:append:class-target = " --cross-file=${WORKDIR}/dbus.cross" | ||
126 | 124 | ||
127 | do_install() { | 125 | do_configure:prepend:class-target() { |
128 | autotools_do_install | 126 | cat >${WORKDIR}/dbus.cross <<EOF |
127 | [binaries] | ||
128 | systemctl = '${bindir}/systemctl' | ||
129 | EOF | ||
130 | } | ||
129 | 131 | ||
132 | do_install:append:class-target() { | ||
130 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 133 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
131 | install -d ${D}${sysconfdir}/init.d | 134 | install -d ${D}${sysconfdir}/init.d |
132 | sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh | 135 | sed 's:@bindir@:${bindir}:' < ${UNPACKDIR}/dbus-1.init > ${S}/dbus-1.init.sh |
133 | install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 | 136 | install -m 0755 ${S}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 |
134 | install -d ${D}${sysconfdir}/default/volatiles | 137 | install -d ${D}${sysconfdir}/default/volatiles |
135 | echo "d messagebus messagebus 0755 /run/dbus none" \ | 138 | echo "d messagebus messagebus 0755 /run/dbus none" \ |
136 | > ${D}${sysconfdir}/default/volatiles/99_dbus | 139 | > ${D}${sysconfdir}/default/volatiles/99_dbus |
@@ -145,7 +148,6 @@ do_install() { | |||
145 | ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service | 148 | ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service |
146 | fi | 149 | fi |
147 | 150 | ||
148 | |||
149 | mkdir -p ${D}${localstatedir}/lib/dbus | 151 | mkdir -p ${D}${localstatedir}/lib/dbus |
150 | 152 | ||
151 | chown messagebus:messagebus ${D}${localstatedir}/lib/dbus | 153 | chown messagebus:messagebus ${D}${localstatedir}/lib/dbus |
@@ -159,27 +161,23 @@ do_install() { | |||
159 | # Remove empty testexec directory as we don't build tests | 161 | # Remove empty testexec directory as we don't build tests |
160 | rm -rf ${D}${libdir}/dbus-1.0/test | 162 | rm -rf ${D}${libdir}/dbus-1.0/test |
161 | 163 | ||
162 | # Remove /var/run as it is created on startup | 164 | # Remove /run as it is created on startup |
163 | rm -rf ${D}${localstatedir}/run | 165 | rm -rf ${D}${runtimedir} |
164 | } | 166 | } |
165 | 167 | ||
166 | do_install:class-native() { | 168 | do_install:append:class-native() { |
167 | autotools_do_install | ||
168 | |||
169 | # dbus-launch has no X support so lets not install it in case the host | 169 | # dbus-launch has no X support so lets not install it in case the host |
170 | # has a more featured and useful version | 170 | # has a more featured and useful version |
171 | rm -f ${D}${bindir}/dbus-launch | 171 | rm -f ${D}${bindir}/dbus-launch |
172 | } | 172 | } |
173 | 173 | ||
174 | do_install:class-nativesdk() { | 174 | do_install:append:class-nativesdk() { |
175 | autotools_do_install | ||
176 | |||
177 | # dbus-launch has no X support so lets not install it in case the host | 175 | # dbus-launch has no X support so lets not install it in case the host |
178 | # has a more featured and useful version | 176 | # has a more featured and useful version |
179 | rm -f ${D}${bindir}/dbus-launch | 177 | rm -f ${D}${bindir}/dbus-launch |
180 | 178 | ||
181 | # Remove /var/run to avoid QA error | 179 | # Remove /run to avoid QA error |
182 | rm -rf ${D}${localstatedir}/run | 180 | rm -rf ${D}${runtimedir} |
183 | } | 181 | } |
184 | BBCLASSEXTEND = "native nativesdk" | 182 | BBCLASSEXTEND = "native nativesdk" |
185 | 183 | ||
diff --git a/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch b/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch new file mode 100644 index 0000000000..967b66322f --- /dev/null +++ b/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch | |||
@@ -0,0 +1,74 @@ | |||
1 | From 5cc0127000db5f7567b54d0495fb91a8e452fe09 Mon Sep 17 00:00:00 2001 | ||
2 | From: Konstantin Demin <rockdrilla@gmail.com> | ||
3 | Date: Fri, 9 May 2025 22:39:35 +0300 | ||
4 | Subject: [PATCH] Fix proxycmd without netcat | ||
5 | |||
6 | fixes e5a0ef27c2 "Execute multihop commands directly, no shell" | ||
7 | |||
8 | Signed-off-by: Konstantin Demin <rockdrilla@gmail.com> | ||
9 | |||
10 | Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/5cc0127000db5f7567b54d0495fb91a8e452fe09] | ||
11 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
12 | --- | ||
13 | src/cli-main.c | 12 +++++++++++- | ||
14 | 1 file changed, 11 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/src/cli-main.c b/src/cli-main.c | ||
17 | index 2fafa88..0a052a3 100644 | ||
18 | --- a/src/cli-main.c | ||
19 | +++ b/src/cli-main.c | ||
20 | @@ -77,7 +77,11 @@ int main(int argc, char ** argv) { | ||
21 | } | ||
22 | |||
23 | #if DROPBEAR_CLI_PROXYCMD | ||
24 | - if (cli_opts.proxycmd || cli_opts.proxyexec) { | ||
25 | + if (cli_opts.proxycmd | ||
26 | +#if DROPBEAR_CLI_MULTIHOP | ||
27 | + || cli_opts.proxyexec | ||
28 | +#endif | ||
29 | + ) { | ||
30 | cli_proxy_cmd(&sock_in, &sock_out, &proxy_cmd_pid); | ||
31 | if (signal(SIGINT, kill_proxy_sighandler) == SIG_ERR || | ||
32 | signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR || | ||
33 | @@ -110,11 +114,13 @@ static void shell_proxy_cmd(const void *user_data_cmd) { | ||
34 | dropbear_exit("Failed to run '%s'\n", cmd); | ||
35 | } | ||
36 | |||
37 | +#if DROPBEAR_CLI_MULTIHOP | ||
38 | static void exec_proxy_cmd(const void *unused) { | ||
39 | (void)unused; | ||
40 | run_command(cli_opts.proxyexec[0], cli_opts.proxyexec, ses.maxfd); | ||
41 | dropbear_exit("Failed to run '%s'\n", cli_opts.proxyexec[0]); | ||
42 | } | ||
43 | +#endif | ||
44 | |||
45 | static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { | ||
46 | char * cmd_arg = NULL; | ||
47 | @@ -145,9 +151,11 @@ static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { | ||
48 | cmd_arg = m_malloc(shell_cmdlen); | ||
49 | snprintf(cmd_arg, shell_cmdlen, "exec %s", cli_opts.proxycmd); | ||
50 | exec_fn = shell_proxy_cmd; | ||
51 | +#if DROPBEAR_CLI_MULTIHOP | ||
52 | } else { | ||
53 | /* No shell */ | ||
54 | exec_fn = exec_proxy_cmd; | ||
55 | +#endif | ||
56 | } | ||
57 | |||
58 | ret = spawn_command(exec_fn, cmd_arg, sock_out, sock_in, NULL, pid_out); | ||
59 | @@ -159,6 +167,7 @@ static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { | ||
60 | cleanup: | ||
61 | m_free(cli_opts.proxycmd); | ||
62 | m_free(cmd_arg); | ||
63 | +#if DROPBEAR_CLI_MULTIHOP | ||
64 | if (cli_opts.proxyexec) { | ||
65 | char **a = NULL; | ||
66 | for (a = cli_opts.proxyexec; *a; a++) { | ||
67 | @@ -166,6 +175,7 @@ cleanup: | ||
68 | } | ||
69 | m_free(cli_opts.proxyexec); | ||
70 | } | ||
71 | +#endif | ||
72 | } | ||
73 | |||
74 | static void kill_proxy_sighandler(int UNUSED(signo)) { | ||
diff --git a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch index 99adcfd770..0687e5dab1 100644 --- a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch +++ b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch | |||
@@ -1,15 +1,18 @@ | |||
1 | Subject: [PATCH 1/6] urandom-xauth-changes-to-options.h | 1 | From cdc6a4a57a86d8116a92a5d905993e65cf723556 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard@openedhand.com> | ||
3 | Date: Wed, 31 Aug 2005 10:45:47 +0000 | ||
4 | Subject: [PATCH] urandom-xauth-changes-to-options.h | ||
2 | 5 | ||
3 | Upstream-Status: Inappropriate [configuration] | 6 | Upstream-Status: Inappropriate [configuration] |
4 | --- | 7 | --- |
5 | default_options.h | 2 +- | 8 | src/default_options.h | 2 +- |
6 | 1 file changed, 1 insertion(+), 1 deletion(-) | 9 | 1 file changed, 1 insertion(+), 1 deletion(-) |
7 | 10 | ||
8 | diff --git a/default_options.h b/default_options.h | 11 | diff --git a/src/default_options.h b/src/default_options.h |
9 | index 349338c..5ffac25 100644 | 12 | index 6e970bb..ccc8b47 100644 |
10 | --- a/default_options.h | 13 | --- a/src/default_options.h |
11 | +++ b/default_options.h | 14 | +++ b/src/default_options.h |
12 | @@ -289,7 +289,7 @@ group1 in Dropbear server too */ | 15 | @@ -317,7 +317,7 @@ group1 in Dropbear server too */ |
13 | 16 | ||
14 | /* The command to invoke for xauth when using X11 forwarding. | 17 | /* The command to invoke for xauth when using X11 forwarding. |
15 | * "-q" for quiet */ | 18 | * "-q" for quiet */ |
@@ -18,6 +21,3 @@ index 349338c..5ffac25 100644 | |||
18 | 21 | ||
19 | 22 | ||
20 | /* If you want to enable running an sftp server (such as the one included with | 23 | /* If you want to enable running an sftp server (such as the one included with |
21 | -- | ||
22 | 2.25.1 | ||
23 | |||
diff --git a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch index 32c3ea5f08..6743f506e9 100644 --- a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch +++ b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b8cece92ba19aa77ac013ea161bfe4c7147747c9 Mon Sep 17 00:00:00 2001 | 1 | From 253ca01f0fc50dbaeb2ff8bcece0c34256eba94f Mon Sep 17 00:00:00 2001 |
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
3 | Date: Wed, 2 Dec 2015 11:36:02 +0200 | 3 | Date: Wed, 2 Dec 2015 11:36:02 +0200 |
4 | Subject: Enable pam | 4 | Subject: [PATCH] Enable pam |
5 | 5 | ||
6 | We need modify file default_options.h besides enabling pam in | 6 | We need modify file default_options.h besides enabling pam in |
7 | configure if we want dropbear to support pam. | 7 | configure if we want dropbear to support pam. |
@@ -11,14 +11,14 @@ Upstream-Status: Pending | |||
11 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> | 11 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> |
12 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | 12 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> |
13 | --- | 13 | --- |
14 | default_options.h | 4 ++-- | 14 | src/default_options.h | 4 ++-- |
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | 15 | 1 file changed, 2 insertions(+), 2 deletions(-) |
16 | 16 | ||
17 | diff --git a/default_options.h b/default_options.h | 17 | diff --git a/src/default_options.h b/src/default_options.h |
18 | index 0e3d027..349338c 100644 | 18 | index ccc8b47..12768d1 100644 |
19 | --- a/default_options.h | 19 | --- a/src/default_options.h |
20 | +++ b/default_options.h | 20 | +++ b/src/default_options.h |
21 | @@ -210,7 +210,7 @@ group1 in Dropbear server too */ | 21 | @@ -228,7 +228,7 @@ group1 in Dropbear server too */ |
22 | 22 | ||
23 | /* Authentication Types - at least one required. | 23 | /* Authentication Types - at least one required. |
24 | RFC Draft requires pubkey auth, and recommends password */ | 24 | RFC Draft requires pubkey auth, and recommends password */ |
@@ -27,7 +27,7 @@ index 0e3d027..349338c 100644 | |||
27 | 27 | ||
28 | /* Note: PAM auth is quite simple and only works for PAM modules which just do | 28 | /* Note: PAM auth is quite simple and only works for PAM modules which just do |
29 | * a simple "Login: " "Password: " (you can edit the strings in svr-authpam.c). | 29 | * a simple "Login: " "Password: " (you can edit the strings in svr-authpam.c). |
30 | @@ -218,7 +218,7 @@ group1 in Dropbear server too */ | 30 | @@ -236,7 +236,7 @@ group1 in Dropbear server too */ |
31 | * but there's an interface via a PAM module. It won't work for more complex | 31 | * but there's an interface via a PAM module. It won't work for more complex |
32 | * PAM challenge/response. | 32 | * PAM challenge/response. |
33 | * You can't enable both PASSWORD and PAM. */ | 33 | * You can't enable both PASSWORD and PAM. */ |
@@ -36,6 +36,3 @@ index 0e3d027..349338c 100644 | |||
36 | 36 | ||
37 | /* ~/.ssh/authorized_keys authentication. | 37 | /* ~/.ssh/authorized_keys authentication. |
38 | * You must define DROPBEAR_SVR_PUBKEY_AUTH in order to use plugins. */ | 38 | * You must define DROPBEAR_SVR_PUBKEY_AUTH in order to use plugins. */ |
39 | -- | ||
40 | 2.25.1 | ||
41 | |||
diff --git a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch index deed78ffb9..44861088cc 100644 --- a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch +++ b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From e3a5db1b6d3f6382a15b2266458c26c645a10f18 Mon Sep 17 00:00:00 2001 | 1 | From 16b147f97f0938cddb55ec1c90bc919c13f26fc0 Mon Sep 17 00:00:00 2001 |
2 | From: Mingli Yu <Mingli.Yu@windriver.com> | 2 | From: Mingli Yu <Mingli.Yu@windriver.com> |
3 | Date: Thu, 6 Sep 2018 15:54:00 +0800 | 3 | Date: Thu, 6 Sep 2018 15:54:00 +0800 |
4 | Subject: [PATCH] dropbear configuration file | 4 | Subject: [PATCH] dropbear configuration file |
@@ -12,14 +12,14 @@ Signed-off-by: Maxin B. John <maxin.john@enea.com> | |||
12 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> | 12 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> |
13 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> | 13 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> |
14 | --- | 14 | --- |
15 | svr-authpam.c | 2 +- | 15 | src/svr-authpam.c | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 16 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/svr-authpam.c b/svr-authpam.c | 18 | diff --git a/src/svr-authpam.c b/src/svr-authpam.c |
19 | index d201bc9..165ec5c 100644 | 19 | index ec14632..026102f 100644 |
20 | --- a/svr-authpam.c | 20 | --- a/src/svr-authpam.c |
21 | +++ b/svr-authpam.c | 21 | +++ b/src/svr-authpam.c |
22 | @@ -223,7 +223,7 @@ void svr_auth_pam(int valid_user) { | 22 | @@ -224,7 +224,7 @@ void svr_auth_pam(int valid_user) { |
23 | } | 23 | } |
24 | 24 | ||
25 | /* Init pam */ | 25 | /* Init pam */ |
@@ -28,6 +28,3 @@ index d201bc9..165ec5c 100644 | |||
28 | dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s", | 28 | dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s", |
29 | rc, pam_strerror(pamHandlep, rc)); | 29 | rc, pam_strerror(pamHandlep, rc)); |
30 | goto cleanup; | 30 | goto cleanup; |
31 | -- | ||
32 | 2.7.4 | ||
33 | |||
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch b/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch deleted file mode 100644 index ec50d69816..0000000000 --- a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch +++ /dev/null | |||
@@ -1,144 +0,0 @@ | |||
1 | From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: czurnieden <czurnieden@gmx.de> | ||
3 | Date: Fri, 8 Sep 2023 10:07:32 +0000 | ||
4 | Subject: [PATCH] Fix possible integer overflow | ||
5 | |||
6 | CVE: CVE-2023-36328 | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/libtom/libtommath/commit/beba892bc0d4e4ded4d667ab1d2a94f4d75109a9] | ||
9 | |||
10 | Signed-off-by: Yogita Urade <yogita.urade@windriver.com> | ||
11 | --- | ||
12 | libtommath/bn_mp_2expt.c | 4 ++++ | ||
13 | libtommath/bn_mp_grow.c | 4 ++++ | ||
14 | libtommath/bn_mp_init_size.c | 5 +++++ | ||
15 | libtommath/bn_mp_mul_2d.c | 4 ++++ | ||
16 | libtommath/bn_s_mp_mul_digs.c | 4 ++++ | ||
17 | libtommath/bn_s_mp_mul_digs_fast.c | 4 ++++ | ||
18 | libtommath/bn_s_mp_mul_high_digs.c | 4 ++++ | ||
19 | libtommath/bn_s_mp_mul_high_digs_fast.c | 4 ++++ | ||
20 | 8 files changed, 33 insertions(+) | ||
21 | |||
22 | diff --git a/libtommath/bn_mp_2expt.c b/libtommath/bn_mp_2expt.c | ||
23 | index 0ae3df1..ca6fbc3 100644 | ||
24 | --- a/libtommath/bn_mp_2expt.c | ||
25 | +++ b/libtommath/bn_mp_2expt.c | ||
26 | @@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b) | ||
27 | { | ||
28 | mp_err err; | ||
29 | |||
30 | + if (b < 0) { | ||
31 | + return MP_VAL; | ||
32 | + } | ||
33 | + | ||
34 | /* zero a as per default */ | ||
35 | mp_zero(a); | ||
36 | |||
37 | diff --git a/libtommath/bn_mp_grow.c b/libtommath/bn_mp_grow.c | ||
38 | index 9e904c5..2b16826 100644 | ||
39 | --- a/libtommath/bn_mp_grow.c | ||
40 | +++ b/libtommath/bn_mp_grow.c | ||
41 | @@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size) | ||
42 | int i; | ||
43 | mp_digit *tmp; | ||
44 | |||
45 | + if (size < 0) { | ||
46 | + return MP_VAL; | ||
47 | + } | ||
48 | + | ||
49 | /* if the alloc size is smaller alloc more ram */ | ||
50 | if (a->alloc < size) { | ||
51 | /* reallocate the array a->dp | ||
52 | diff --git a/libtommath/bn_mp_init_size.c b/libtommath/bn_mp_init_size.c | ||
53 | index d622687..5fefa96 100644 | ||
54 | --- a/libtommath/bn_mp_init_size.c | ||
55 | +++ b/libtommath/bn_mp_init_size.c | ||
56 | @@ -6,6 +6,11 @@ | ||
57 | /* init an mp_init for a given size */ | ||
58 | mp_err mp_init_size(mp_int *a, int size) | ||
59 | { | ||
60 | + | ||
61 | + if (size < 0) { | ||
62 | + return MP_VAL; | ||
63 | + } | ||
64 | + | ||
65 | size = MP_MAX(MP_MIN_PREC, size); | ||
66 | |||
67 | /* alloc mem */ | ||
68 | diff --git a/libtommath/bn_mp_mul_2d.c b/libtommath/bn_mp_mul_2d.c | ||
69 | index 87354de..2744163 100644 | ||
70 | --- a/libtommath/bn_mp_mul_2d.c | ||
71 | +++ b/libtommath/bn_mp_mul_2d.c | ||
72 | @@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c) | ||
73 | mp_digit d; | ||
74 | mp_err err; | ||
75 | |||
76 | + if (b < 0) { | ||
77 | + return MP_VAL; | ||
78 | + } | ||
79 | + | ||
80 | /* copy */ | ||
81 | if (a != c) { | ||
82 | if ((err = mp_copy(a, c)) != MP_OKAY) { | ||
83 | diff --git a/libtommath/bn_s_mp_mul_digs.c b/libtommath/bn_s_mp_mul_digs.c | ||
84 | index 64509d4..2d2f5b0 100644 | ||
85 | --- a/libtommath/bn_s_mp_mul_digs.c | ||
86 | +++ b/libtommath/bn_s_mp_mul_digs.c | ||
87 | @@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
88 | mp_word r; | ||
89 | mp_digit tmpx, *tmpt, *tmpy; | ||
90 | |||
91 | + if (digs < 0) { | ||
92 | + return MP_VAL; | ||
93 | + } | ||
94 | + | ||
95 | /* can we use the fast multiplier? */ | ||
96 | if ((digs < MP_WARRAY) && | ||
97 | (MP_MIN(a->used, b->used) < MP_MAXFAST)) { | ||
98 | diff --git a/libtommath/bn_s_mp_mul_digs_fast.c b/libtommath/bn_s_mp_mul_digs_fast.c | ||
99 | index b2a287b..d6dd3cc 100644 | ||
100 | --- a/libtommath/bn_s_mp_mul_digs_fast.c | ||
101 | +++ b/libtommath/bn_s_mp_mul_digs_fast.c | ||
102 | @@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
103 | mp_digit W[MP_WARRAY]; | ||
104 | mp_word _W; | ||
105 | |||
106 | + if (digs < 0) { | ||
107 | + return MP_VAL; | ||
108 | + } | ||
109 | + | ||
110 | /* grow the destination as required */ | ||
111 | if (c->alloc < digs) { | ||
112 | if ((err = mp_grow(c, digs)) != MP_OKAY) { | ||
113 | diff --git a/libtommath/bn_s_mp_mul_high_digs.c b/libtommath/bn_s_mp_mul_high_digs.c | ||
114 | index 2bb2a50..c9dd355 100644 | ||
115 | --- a/libtommath/bn_s_mp_mul_high_digs.c | ||
116 | +++ b/libtommath/bn_s_mp_mul_high_digs.c | ||
117 | @@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
118 | mp_word r; | ||
119 | mp_digit tmpx, *tmpt, *tmpy; | ||
120 | |||
121 | + if (digs < 0) { | ||
122 | + return MP_VAL; | ||
123 | + } | ||
124 | + | ||
125 | /* can we use the fast multiplier? */ | ||
126 | if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST) | ||
127 | && ((a->used + b->used + 1) < MP_WARRAY) | ||
128 | diff --git a/libtommath/bn_s_mp_mul_high_digs_fast.c b/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
129 | index a2c4fb6..afe3e4b 100644 | ||
130 | --- a/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
131 | +++ b/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
132 | @@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int | ||
133 | mp_digit W[MP_WARRAY]; | ||
134 | mp_word _W; | ||
135 | |||
136 | + if (digs < 0) { | ||
137 | + return MP_VAL; | ||
138 | + } | ||
139 | + | ||
140 | /* grow the destination as required */ | ||
141 | pa = a->used + b->used; | ||
142 | if (c->alloc < pa) { | ||
143 | -- | ||
144 | 2.35.5 | ||
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch deleted file mode 100644 index 5c60868ed8..0000000000 --- a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From c347ece05a7fdbf50d76cb136b9ed45caed333f6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Joseph Reynolds <joseph.reynolds1@ibm.com> | ||
3 | Date: Thu, 20 Jun 2019 16:29:15 -0500 | ||
4 | Subject: [PATCH] dropbear: new feature: disable-weak-ciphers | ||
5 | |||
6 | This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers | ||
7 | in the dropbear ssh server and client since they're considered weak ciphers | ||
8 | and we want to support the stong algorithms. | ||
9 | |||
10 | Upstream-Status: Inappropriate [configuration] | ||
11 | Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com> | ||
12 | --- | ||
13 | default_options.h | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/default_options.h b/default_options.h | ||
17 | index d417588..bc5200f 100644 | ||
18 | --- a/default_options.h | ||
19 | +++ b/default_options.h | ||
20 | @@ -180,7 +180,7 @@ IMPORTANT: Some options will require "make clean" after changes */ | ||
21 | * Small systems should generally include either curve25519 or ecdh for performance. | ||
22 | * curve25519 is less widely supported but is faster | ||
23 | */ | ||
24 | -#define DROPBEAR_DH_GROUP14_SHA1 1 | ||
25 | +#define DROPBEAR_DH_GROUP14_SHA1 0 | ||
26 | #define DROPBEAR_DH_GROUP14_SHA256 1 | ||
27 | #define DROPBEAR_DH_GROUP16 0 | ||
28 | #define DROPBEAR_CURVE25519 1 | ||
29 | -- | ||
30 | 2.25.1 | ||
31 | |||
diff --git a/meta/recipes-core/dropbear/dropbear/dropbearkey.service b/meta/recipes-core/dropbear/dropbear/dropbearkey.service index 71a12a6110..501e47124f 100644 --- a/meta/recipes-core/dropbear/dropbear/dropbearkey.service +++ b/meta/recipes-core/dropbear/dropbear/dropbearkey.service | |||
@@ -9,6 +9,6 @@ Environment="DROPBEAR_RSAKEY_DIR=/etc/dropbear" | |||
9 | EnvironmentFile=-/etc/default/dropbear | 9 | EnvironmentFile=-/etc/default/dropbear |
10 | Type=oneshot | 10 | Type=oneshot |
11 | ExecStart=@BASE_BINDIR@/mkdir -p ${DROPBEAR_RSAKEY_DIR} | 11 | ExecStart=@BASE_BINDIR@/mkdir -p ${DROPBEAR_RSAKEY_DIR} |
12 | ExecStart=@SBINDIR@/dropbearkey -t rsa -f ${DROPBEAR_RSAKEY_DIR}/dropbear_rsa_host_key | 12 | ExecStart=@SBINDIR@/dropbearkey -t rsa -f ${DROPBEAR_RSAKEY_DIR}/dropbear_rsa_host_key $DROPBEAR_RSAKEY_ARGS |
13 | RemainAfterExit=yes | 13 | RemainAfterExit=yes |
14 | Nice=10 | 14 | Nice=10 |
diff --git a/meta/recipes-core/dropbear/dropbear_2022.83.bb b/meta/recipes-core/dropbear/dropbear_2025.88.bb index 528eff1a10..72a886d907 100644 --- a/meta/recipes-core/dropbear/dropbear_2022.83.bb +++ b/meta/recipes-core/dropbear/dropbear_2025.88.bb | |||
@@ -19,12 +19,12 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \ | |||
19 | file://dropbear@.service \ | 19 | file://dropbear@.service \ |
20 | file://dropbear.socket \ | 20 | file://dropbear.socket \ |
21 | file://dropbear.default \ | 21 | file://dropbear.default \ |
22 | file://0001-Fix-proxycmd-without-netcat.patch \ | ||
22 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ | 23 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ |
23 | ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \ | ||
24 | file://CVE-2023-36328.patch \ | ||
25 | " | 24 | " |
26 | 25 | ||
27 | SRC_URI[sha256sum] = "bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b" | 26 | SRC_URI[sha256sum] = "783f50ea27b17c16da89578fafdb6decfa44bb8f6590e5698a4e4d3672dc53d4" |
27 | MIRRORS += "http://matt.ucc.asn.au/dropbear/releases/ https://dropbear.nl/mirror/releases/" | ||
28 | 28 | ||
29 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ | 29 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ |
30 | file://0006-dropbear-configuration-file.patch \ | 30 | file://0006-dropbear-configuration-file.patch \ |
@@ -48,11 +48,10 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert" | |||
48 | BINCOMMANDS = "dbclient ssh scp" | 48 | BINCOMMANDS = "dbclient ssh scp" |
49 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' | 49 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' |
50 | 50 | ||
51 | PACKAGECONFIG ?= "disable-weak-ciphers ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" | 51 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam x11', d)}" |
52 | PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}" | 52 | PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}" |
53 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" | 53 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" |
54 | PACKAGECONFIG[disable-weak-ciphers] = "" | 54 | PACKAGECONFIG[x11] = ",,,,xauth" |
55 | PACKAGECONFIG[enable-x11-forwarding] = "" | ||
56 | 55 | ||
57 | # This option appends to CFLAGS and LDFLAGS from OE | 56 | # This option appends to CFLAGS and LDFLAGS from OE |
58 | # This is causing [textrel] QA warning | 57 | # This is causing [textrel] QA warning |
@@ -63,7 +62,7 @@ EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog" | |||
63 | 62 | ||
64 | do_configure:append() { | 63 | do_configure:append() { |
65 | echo "/* Dropbear features */" > ${B}/localoptions.h | 64 | echo "/* Dropbear features */" > ${B}/localoptions.h |
66 | if ${@bb.utils.contains('PACKAGECONFIG', 'enable-x11-forwarding', 'true', 'false', d)}; then | 65 | if ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'true', 'false', d)}; then |
67 | echo "#define DROPBEAR_X11FWD 1" >> ${B}/localoptions.h | 66 | echo "#define DROPBEAR_X11FWD 1" >> ${B}/localoptions.h |
68 | fi | 67 | fi |
69 | } | 68 | } |
@@ -77,7 +76,7 @@ do_install() { | |||
77 | ${D}${sbindir} \ | 76 | ${D}${sbindir} \ |
78 | ${D}${localstatedir} | 77 | ${D}${localstatedir} |
79 | 78 | ||
80 | install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear | 79 | install -m 0644 ${UNPACKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear |
81 | 80 | ||
82 | install -m 0755 dropbearmulti ${D}${sbindir}/ | 81 | install -m 0755 dropbearmulti ${D}${sbindir}/ |
83 | 82 | ||
@@ -95,18 +94,18 @@ do_install() { | |||
95 | -e 's,/usr/sbin,${sbindir},g' \ | 94 | -e 's,/usr/sbin,${sbindir},g' \ |
96 | -e 's,/var,${localstatedir},g' \ | 95 | -e 's,/var,${localstatedir},g' \ |
97 | -e 's,/usr/bin,${bindir},g' \ | 96 | -e 's,/usr/bin,${bindir},g' \ |
98 | -e 's,/usr,${prefix},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/dropbear | 97 | -e 's,/usr,${prefix},g' ${UNPACKDIR}/init > ${D}${sysconfdir}/init.d/dropbear |
99 | chmod 755 ${D}${sysconfdir}/init.d/dropbear | 98 | chmod 755 ${D}${sysconfdir}/init.d/dropbear |
100 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 99 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
101 | install -d ${D}${sysconfdir}/pam.d | 100 | install -d ${D}${sysconfdir}/pam.d |
102 | install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/ | 101 | install -m 0644 ${UNPACKDIR}/dropbear ${D}${sysconfdir}/pam.d/ |
103 | fi | 102 | fi |
104 | 103 | ||
105 | # deal with systemd unit files | 104 | # deal with systemd unit files |
106 | install -d ${D}${systemd_system_unitdir} | 105 | install -d ${D}${systemd_system_unitdir} |
107 | install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir} | 106 | install -m 0644 ${UNPACKDIR}/dropbearkey.service ${D}${systemd_system_unitdir} |
108 | install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir} | 107 | install -m 0644 ${UNPACKDIR}/dropbear@.service ${D}${systemd_system_unitdir} |
109 | install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir} | 108 | install -m 0644 ${UNPACKDIR}/dropbear.socket ${D}${systemd_system_unitdir} |
110 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 109 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
111 | -e 's,@BINDIR@,${bindir},g' \ | 110 | -e 's,@BINDIR@,${bindir},g' \ |
112 | -e 's,@SBINDIR@,${sbindir},g' \ | 111 | -e 's,@SBINDIR@,${sbindir},g' \ |
@@ -130,3 +129,5 @@ pkg_postrm:${PN} () { | |||
130 | } | 129 | } |
131 | 130 | ||
132 | CONFFILES:${PN} = "${sysconfdir}/default/dropbear" | 131 | CONFFILES:${PN} = "${sysconfdir}/default/dropbear" |
132 | |||
133 | FILES:${PN} += "${systemd_system_unitdir}/dropbearkey.service" | ||
diff --git a/meta/recipes-core/ell/ell_0.64.bb b/meta/recipes-core/ell/ell_0.76.bb index c4f16905fd..fcc56e02f7 100644 --- a/meta/recipes-core/ell/ell_0.64.bb +++ b/meta/recipes-core/ell/ell_0.76.bb | |||
@@ -15,8 +15,4 @@ DEPENDS = "dbus" | |||
15 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
16 | 16 | ||
17 | SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" | 17 | SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" |
18 | SRC_URI[sha256sum] = "760f3901078409f66cadf1bb24c8bdc60f13d53f6dd66b88631221d2494f8405" | 18 | SRC_URI[sha256sum] = "a0bf2b5a78450c0c167e3f65c18452ffe4c0f179d48c2a3661e6afaca8017ef9" |
19 | |||
20 | do_configure:prepend () { | ||
21 | mkdir -p ${S}/build-aux | ||
22 | } | ||
diff --git a/meta/recipes-core/expat/expat_2.6.2.bb b/meta/recipes-core/expat/expat_2.7.1.bb index 6c9db91bef..2da1532922 100644 --- a/meta/recipes-core/expat/expat_2.6.2.bb +++ b/meta/recipes-core/expat/expat_2.7.1.bb | |||
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/libexpat/libexpat" | |||
4 | SECTION = "libs" | 4 | SECTION = "libs" |
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | 6 | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=7b3b078238d0901d3b339289117cb7fb" | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=f4fedd6116da0e171f7cb4d2923d7ac2" |
8 | 8 | ||
9 | VERSION_TAG = "${@d.getVar('PV').replace('.', '_')}" | 9 | VERSION_TAG = "${@d.getVar('PV').replace('.', '_')}" |
10 | 10 | ||
@@ -15,7 +15,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \ | |||
15 | GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/" | 15 | GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/" |
16 | UPSTREAM_CHECK_REGEX = "releases/tag/R_(?P<pver>.+)" | 16 | UPSTREAM_CHECK_REGEX = "releases/tag/R_(?P<pver>.+)" |
17 | 17 | ||
18 | SRC_URI[sha256sum] = "9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0" | 18 | SRC_URI[sha256sum] = "45c98ae1e9b5127325d25186cf8c511fa814078e9efeae7987a574b482b79b3d" |
19 | 19 | ||
20 | EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF" | 20 | EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF" |
21 | 21 | ||
diff --git a/meta/recipes-core/fts/fts_1.2.7.bb b/meta/recipes-core/fts/fts_1.2.7.bb index 10103830af..699dc5ddd3 100644 --- a/meta/recipes-core/fts/fts_1.2.7.bb +++ b/meta/recipes-core/fts/fts_1.2.7.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472" | |||
12 | 12 | ||
13 | SRC_URI = "git://github.com/pullmoll/musl-fts.git;branch=master;protocol=https" | 13 | SRC_URI = "git://github.com/pullmoll/musl-fts.git;branch=master;protocol=https" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
18 | # | 16 | # |
19 | # We will skip parsing for non-musl systems | 17 | # We will skip parsing for non-musl systems |
diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb b/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb index db1bbb7e68..941896ec48 100644 --- a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb +++ b/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb | |||
@@ -13,11 +13,11 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
13 | INHIBIT_AUTOTOOLS_DEPS = "1" | 13 | INHIBIT_AUTOTOOLS_DEPS = "1" |
14 | 14 | ||
15 | LICENSE = "FSF-Unlimited" | 15 | LICENSE = "FSF-Unlimited" |
16 | LIC_FILES_CHKSUM = "file://../COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91" | 16 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91" |
17 | 17 | ||
18 | inherit native | 18 | inherit native |
19 | 19 | ||
20 | S = "${WORKDIR}/gettext-${PV}" | 20 | S = "${UNPACKDIR}/gettext-${PV}" |
21 | 21 | ||
22 | python get_aclocal_files() { | 22 | python get_aclocal_files() { |
23 | fpath = oe.path.join(d.getVar("S"), "/gettext-tools/m4/Makefile.am") | 23 | fpath = oe.path.join(d.getVar("S"), "/gettext-tools/m4/Makefile.am") |
@@ -42,5 +42,5 @@ do_install () { | |||
42 | install -d ${D}${datadir}/gettext/po/ | 42 | install -d ${D}${datadir}/gettext/po/ |
43 | cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/ | 43 | cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/ |
44 | cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/ | 44 | cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/ |
45 | cp ${S}/gettext-runtime/po/remove-potcdate.sin ${D}${datadir}/gettext/po/ | 45 | cp ${S}/gettext-runtime/po/remove-potcdate.sed ${D}${datadir}/gettext/po/ |
46 | } | 46 | } |
diff --git a/meta/recipes-core/gettext/gettext-sources.inc b/meta/recipes-core/gettext/gettext-sources.inc index fd05837528..5d90d81b58 100644 --- a/meta/recipes-core/gettext/gettext-sources.inc +++ b/meta/recipes-core/gettext/gettext-sources.inc | |||
@@ -1,4 +1,4 @@ | |||
1 | HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html" | 1 | HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html" |
2 | SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ | 2 | SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ |
3 | " | 3 | " |
4 | SRC_URI[sha256sum] = "ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0" | 4 | SRC_URI[sha256sum] = "52a578960fe308742367d75cd1dff8552c5797bd0beba7639e12bdcda28c0e49" |
diff --git a/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch b/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch index 33d45a038c..e59c73fb7d 100644 --- a/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch +++ b/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c58c503c532d20883a93ef778327c86dd6de24f6 Mon Sep 17 00:00:00 2001 | 1 | From 9d36ff90d3a488caa8cd7b3351e5a3bdc4229b1b Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 6 Mar 2020 21:04:05 +0000 | 3 | Date: Fri, 6 Mar 2020 21:04:05 +0000 |
4 | Subject: [PATCH] init-env.in: do not add C/CXX parameters | 4 | Subject: [PATCH] init-env.in: do not add C/CXX parameters |
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
13 | 1 file changed, 4 deletions(-) | 13 | 1 file changed, 4 deletions(-) |
14 | 14 | ||
15 | diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in | 15 | diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in |
16 | index cc84ffd..b69c990 100644 | 16 | index 0968388..3d9a8a5 100644 |
17 | --- a/gettext-tools/tests/init-env.in | 17 | --- a/gettext-tools/tests/init-env.in |
18 | +++ b/gettext-tools/tests/init-env.in | 18 | +++ b/gettext-tools/tests/init-env.in |
19 | @@ -3,10 +3,6 @@ top_builddir=../.. | 19 | @@ -3,10 +3,6 @@ top_builddir=../.. |
@@ -24,6 +24,6 @@ index cc84ffd..b69c990 100644 | |||
24 | -CFLAGS="@CFLAGS@" | 24 | -CFLAGS="@CFLAGS@" |
25 | -CXX="@CXX@" | 25 | -CXX="@CXX@" |
26 | -CXXFLAGS="@CXXFLAGS@" | 26 | -CXXFLAGS="@CXXFLAGS@" |
27 | OBJC="@OBJC@" | ||
28 | OBJCFLAGS="@OBJCFLAGS@" | ||
27 | CPPFLAGS="@CPPFLAGS@" | 29 | CPPFLAGS="@CPPFLAGS@" |
28 | LDFLAGS="@LDFLAGS@" | ||
29 | LTLIBINTL="@LTLIBINTL@" | ||
diff --git a/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch b/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch index 94afb255c3..a8f6684bd7 100644 --- a/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch +++ b/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7006142d199af13628edc687847a9a5bac48b45d Mon Sep 17 00:00:00 2001 | 1 | From 4e9ea45803fe8dfc41ec5c51a65048addd985765 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Tue, 7 Jan 2020 16:44:38 +0100 | 3 | Date: Tue, 7 Jan 2020 16:44:38 +0100 |
4 | Subject: [PATCH] tests/autopoint-3: unset MAKEFLAGS | 4 | Subject: [PATCH] tests/autopoint-3: unset MAKEFLAGS |
@@ -13,13 +13,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
13 | 1 file changed, 1 insertion(+) | 13 | 1 file changed, 1 insertion(+) |
14 | 14 | ||
15 | diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3 | 15 | diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3 |
16 | index bd3fbf3..380eaac 100755 | 16 | index af2e17f..46cf3f7 100755 |
17 | --- a/gettext-tools/tests/autopoint-3 | 17 | --- a/gettext-tools/tests/autopoint-3 |
18 | +++ b/gettext-tools/tests/autopoint-3 | 18 | +++ b/gettext-tools/tests/autopoint-3 |
19 | @@ -131,6 +131,7 @@ test $? = 0 || { cat autopoint.err; Exit 1; } | 19 | @@ -137,6 +137,7 @@ ${CONFIG_SHELL} ./configure >/dev/null 2>autopoint.err |
20 | ${CONFIG_SHELL} ./configure >/dev/null 2>autpoint.err | ||
21 | test $? = 0 || { cat autopoint.err; Exit 1; } | 20 | test $? = 0 || { cat autopoint.err; Exit 1; } |
22 | 21 | ||
22 | : ${MAKE=make} | ||
23 | +unset MAKEFLAGS | 23 | +unset MAKEFLAGS |
24 | ${MAKE} >/dev/null 2>autopoint.err | 24 | ${MAKE} >/dev/null 2>autopoint.err |
25 | test $? = 0 || { cat autopoint.err; Exit 1; } | 25 | test $? = 0 || { cat autopoint.err; Exit 1; } |
diff --git a/meta/recipes-core/gettext/gettext/parallel.patch b/meta/recipes-core/gettext/gettext/parallel.patch deleted file mode 100644 index 8ecba46fd0..0000000000 --- a/meta/recipes-core/gettext/gettext/parallel.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 83333bc873c2655ff1de161f6b7db930f22f1cea Mon Sep 17 00:00:00 2001 | ||
2 | From: Joe Slater <jslater@windriver.com> | ||
3 | Date: Thu, 7 Jun 2012 16:37:01 -0700 | ||
4 | Subject: [PATCH] instal libgettextlib.a before removing it | ||
5 | |||
6 | In a multiple job build, Makefile can simultaneously | ||
7 | be installing and removing libgettextlib.a. We serialize | ||
8 | the operations. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Joe Slater <jslater@windriver.com> | ||
13 | --- | ||
14 | gettext-tools/gnulib-lib/Makefile.am | 4 ++++ | ||
15 | 1 file changed, 4 insertions(+) | ||
16 | |||
17 | diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am | ||
18 | index ab729cd..a0d713e 100644 | ||
19 | --- a/gettext-tools/gnulib-lib/Makefile.am | ||
20 | +++ b/gettext-tools/gnulib-lib/Makefile.am | ||
21 | @@ -58,6 +58,10 @@ AM_CFLAGS = @WARN_CFLAGS@ | ||
22 | # Rules generated and collected by gnulib-tool. | ||
23 | include Makefile.gnulib | ||
24 | |||
25 | +# defined in Makefile.gnulib but missing this dependency | ||
26 | +# | ||
27 | +install-exec-clean: install-libLTLIBRARIES | ||
28 | + | ||
29 | # OS/2 does not support a DLL name longer than 8 characters. | ||
30 | if OS2 | ||
31 | libgettextlib_la_LDFLAGS += -os2dllname gtlib | ||
diff --git a/meta/recipes-core/gettext/gettext/serial-tests-config.patch b/meta/recipes-core/gettext/gettext/serial-tests-config.patch index 7d39d6086a..3baf549795 100644 --- a/meta/recipes-core/gettext/gettext/serial-tests-config.patch +++ b/meta/recipes-core/gettext/gettext/serial-tests-config.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From aa8dfe0aafd0b53a6c5bac61b356ca92e1430a36 Mon Sep 17 00:00:00 2001 | 1 | From 33fd16b0b2c69ec1118bb605384e7e3b1a94eee0 Mon Sep 17 00:00:00 2001 |
2 | From: "Hongjun.Yang" <hongjun.yang@windriver.com> | 2 | From: "Hongjun.Yang" <hongjun.yang@windriver.com> |
3 | Date: Thu, 28 Jul 2016 12:36:15 +0800 | 3 | Date: Thu, 28 Jul 2016 12:36:15 +0800 |
4 | Subject: [PATCH] fix for ptest | 4 | Subject: [PATCH] fix for ptest |
@@ -15,7 +15,7 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> | |||
15 | 3 files changed, 3 insertions(+), 3 deletions(-) | 15 | 3 files changed, 3 insertions(+), 3 deletions(-) |
16 | 16 | ||
17 | diff --git a/configure.ac b/configure.ac | 17 | diff --git a/configure.ac b/configure.ac |
18 | index f4e54ea..a47ff14 100644 | 18 | index 5106676..3114998 100644 |
19 | --- a/configure.ac | 19 | --- a/configure.ac |
20 | +++ b/configure.ac | 20 | +++ b/configure.ac |
21 | @@ -22,7 +22,7 @@ AC_INIT([gettext], | 21 | @@ -22,7 +22,7 @@ AC_INIT([gettext], |
@@ -28,7 +28,7 @@ index f4e54ea..a47ff14 100644 | |||
28 | dnl Override automake's tar command used for creating distributions. | 28 | dnl Override automake's tar command used for creating distributions. |
29 | am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"' | 29 | am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"' |
30 | diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac | 30 | diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac |
31 | index 126d069..aa23232 100644 | 31 | index e128f5b..9f7447c 100644 |
32 | --- a/gettext-runtime/configure.ac | 32 | --- a/gettext-runtime/configure.ac |
33 | +++ b/gettext-runtime/configure.ac | 33 | +++ b/gettext-runtime/configure.ac |
34 | @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime], | 34 | @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime], |
@@ -41,7 +41,7 @@ index 126d069..aa23232 100644 | |||
41 | 41 | ||
42 | dnl Installation directories. | 42 | dnl Installation directories. |
43 | diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac | 43 | diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac |
44 | index 3610ee3..6f56a23 100644 | 44 | index 3b1f461..14510a9 100644 |
45 | --- a/gettext-tools/configure.ac | 45 | --- a/gettext-tools/configure.ac |
46 | +++ b/gettext-tools/configure.ac | 46 | +++ b/gettext-tools/configure.ac |
47 | @@ -22,7 +22,7 @@ AC_INIT([gettext-tools], | 47 | @@ -22,7 +22,7 @@ AC_INIT([gettext-tools], |
diff --git a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch index ceb1856118..9774c4cce0 100644 --- a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch +++ b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6aa1338b916fe72c200b6f160b934be15b6ff590 Mon Sep 17 00:00:00 2001 | 1 | From 7302a77e08e62fc3b00f75d8aa143c5565c3f680 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Tue, 23 Jan 2018 00:54:13 +0000 | 3 | Date: Tue, 23 Jan 2018 00:54:13 +0000 |
4 | Subject: [PATCH] gettext: beat library detection into shape | 4 | Subject: [PATCH] gettext: beat library detection into shape |
@@ -19,10 +19,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com> | |||
19 | 3 files changed, 31 insertions(+), 286 deletions(-) | 19 | 3 files changed, 31 insertions(+), 286 deletions(-) |
20 | 20 | ||
21 | diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 | 21 | diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 |
22 | index 0340490..0355388 100644 | 22 | index c7160d7..8e46cc7 100644 |
23 | --- a/gettext-tools/gnulib-m4/libxml.m4 | 23 | --- a/gettext-tools/gnulib-m4/libxml.m4 |
24 | +++ b/gettext-tools/gnulib-m4/libxml.m4 | 24 | +++ b/gettext-tools/gnulib-m4/libxml.m4 |
25 | @@ -13,6 +13,7 @@ dnl gl_LIBXML(FORCE-INCLUDED) | 25 | @@ -14,6 +14,7 @@ dnl gl_LIBXML(FORCE-INCLUDED) |
26 | dnl forces the use of the included or an external libxml. | 26 | dnl forces the use of the included or an external libxml. |
27 | AC_DEFUN([gl_LIBXML], | 27 | AC_DEFUN([gl_LIBXML], |
28 | [ | 28 | [ |
@@ -30,7 +30,7 @@ index 0340490..0355388 100644 | |||
30 | AC_REQUIRE([AM_ICONV_LINK]) | 30 | AC_REQUIRE([AM_ICONV_LINK]) |
31 | 31 | ||
32 | ifelse([$1], , [ | 32 | ifelse([$1], , [ |
33 | @@ -30,106 +31,10 @@ AC_DEFUN([gl_LIBXML], | 33 | @@ -31,106 +32,10 @@ AC_DEFUN([gl_LIBXML], |
34 | INCXML= | 34 | INCXML= |
35 | ifelse([$1], [yes], , [ | 35 | ifelse([$1], [yes], , [ |
36 | if test "$gl_cv_libxml_use_included" != yes; then | 36 | if test "$gl_cv_libxml_use_included" != yes; then |
@@ -142,10 +142,10 @@ index 0340490..0355388 100644 | |||
142 | ]) | 142 | ]) |
143 | AC_SUBST([LIBXML]) | 143 | AC_SUBST([LIBXML]) |
144 | diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 | 144 | diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 |
145 | index dbc9eb8..136e512 100644 | 145 | index baa2cf4..b287c5b 100644 |
146 | --- a/libtextstyle/gnulib-local/m4/libglib.m4 | 146 | --- a/libtextstyle/gnulib-local/m4/libglib.m4 |
147 | +++ b/libtextstyle/gnulib-local/m4/libglib.m4 | 147 | +++ b/libtextstyle/gnulib-local/m4/libglib.m4 |
148 | @@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved. | 148 | @@ -7,106 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. |
149 | 149 | ||
150 | dnl From Bruno Haible. | 150 | dnl From Bruno Haible. |
151 | 151 | ||
@@ -266,10 +266,10 @@ index dbc9eb8..136e512 100644 | |||
266 | AC_SUBST([LTLIBGLIB]) | 266 | AC_SUBST([LTLIBGLIB]) |
267 | AC_SUBST([INCGLIB]) | 267 | AC_SUBST([INCGLIB]) |
268 | diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 | 268 | diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 |
269 | index dbc9eb8..136e512 100644 | 269 | index baa2cf4..b287c5b 100644 |
270 | --- a/libtextstyle/gnulib-m4/libglib.m4 | 270 | --- a/libtextstyle/gnulib-m4/libglib.m4 |
271 | +++ b/libtextstyle/gnulib-m4/libglib.m4 | 271 | +++ b/libtextstyle/gnulib-m4/libglib.m4 |
272 | @@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved. | 272 | @@ -7,106 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. |
273 | 273 | ||
274 | dnl From Bruno Haible. | 274 | dnl From Bruno Haible. |
275 | 275 | ||
diff --git a/meta/recipes-core/gettext/gettext_0.22.5.bb b/meta/recipes-core/gettext/gettext_0.23.1.bb index 1a66d37916..c704a3b6d7 100644 --- a/meta/recipes-core/gettext/gettext_0.22.5.bb +++ b/meta/recipes-core/gettext/gettext_0.23.1.bb | |||
@@ -13,7 +13,6 @@ LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', | |||
13 | # without glib in PACKAGECONFIG vendor copy of the lib will be used | 13 | # without glib in PACKAGECONFIG vendor copy of the lib will be used |
14 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" | 14 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" |
15 | 15 | ||
16 | |||
17 | DEPENDS = "gettext-native virtual/libiconv" | 16 | DEPENDS = "gettext-native virtual/libiconv" |
18 | DEPENDS:class-native = "gettext-minimal-native" | 17 | DEPENDS:class-native = "gettext-minimal-native" |
19 | PROVIDES = "virtual/libintl virtual/gettext" | 18 | PROVIDES = "virtual/libintl virtual/gettext" |
@@ -22,7 +21,6 @@ RCONFLICTS:${PN} = "proxy-libintl" | |||
22 | 21 | ||
23 | require gettext-sources.inc | 22 | require gettext-sources.inc |
24 | SRC_URI += " \ | 23 | SRC_URI += " \ |
25 | file://parallel.patch \ | ||
26 | file://use-pkgconfig.patch \ | 24 | file://use-pkgconfig.patch \ |
27 | file://run-ptest \ | 25 | file://run-ptest \ |
28 | file://serial-tests-config.patch \ | 26 | file://serial-tests-config.patch \ |
@@ -64,9 +62,6 @@ PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml | |||
64 | PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring" | 62 | PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring" |
65 | PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses," | 63 | PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses," |
66 | 64 | ||
67 | acpaths = '-I ${S}/gettext-runtime/m4 \ | ||
68 | -I ${S}/gettext-tools/m4' | ||
69 | |||
70 | do_install:append:libc-musl () { | 65 | do_install:append:libc-musl () { |
71 | rm -f ${D}${libdir}/charset.alias | 66 | rm -f ${D}${libdir}/charset.alias |
72 | rm -f ${D}${includedir}/libintl.h | 67 | rm -f ${D}${includedir}/libintl.h |
@@ -89,7 +84,7 @@ FILES:libgettextsrc = "${libdir}/libgettextsrc-*.so*" | |||
89 | 84 | ||
90 | PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc" | 85 | PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc" |
91 | 86 | ||
92 | FILES:${PN} += "${libdir}/${BPN}/*" | 87 | FILES:${PN} += "${libdir}/${BPN}/" |
93 | 88 | ||
94 | # The its/Makefile.am has defined: | 89 | # The its/Makefile.am has defined: |
95 | # itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its | 90 | # itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its |
@@ -129,7 +124,7 @@ do_install:append:class-native () { | |||
129 | rm ${D}${datadir}/aclocal/* | 124 | rm ${D}${datadir}/aclocal/* |
130 | rm ${D}${datadir}/gettext/config.rpath | 125 | rm ${D}${datadir}/gettext/config.rpath |
131 | rm ${D}${datadir}/gettext/po/Makefile.in.in | 126 | rm ${D}${datadir}/gettext/po/Makefile.in.in |
132 | rm ${D}${datadir}/gettext/po/remove-potcdate.sin | 127 | rm ${D}${datadir}/gettext/po/remove-potcdate.sed |
133 | 128 | ||
134 | create_wrapper ${D}${bindir}/msgfmt \ | 129 | create_wrapper ${D}${bindir}/msgfmt \ |
135 | GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-${PV}/" | 130 | GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-${PV}/" |
@@ -144,7 +139,6 @@ do_compile_ptest() { | |||
144 | } | 139 | } |
145 | 140 | ||
146 | do_install_ptest() { | 141 | do_install_ptest() { |
147 | if [ ${PTEST_ENABLED} = "1" ]; then | ||
148 | mkdir -p ${D}${PTEST_PATH}/tests | 142 | mkdir -p ${D}${PTEST_PATH}/tests |
149 | mkdir -p ${D}${PTEST_PATH}/src | 143 | mkdir -p ${D}${PTEST_PATH}/src |
150 | mkdir -p ${D}${PTEST_PATH}/po | 144 | mkdir -p ${D}${PTEST_PATH}/po |
@@ -175,9 +169,9 @@ do_install_ptest() { | |||
175 | install ${B}/gettext-tools/misc/* ${D}${PTEST_PATH}/misc | 169 | install ${B}/gettext-tools/misc/* ${D}${PTEST_PATH}/misc |
176 | find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \; | 170 | find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \; |
177 | chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \ | 171 | chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \ |
178 | ${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6 | 172 | ${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6 \ |
173 | ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9 | ||
179 | sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env | 174 | sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env |
180 | fi | ||
181 | } | 175 | } |
182 | 176 | ||
183 | RDEPENDS:${PN}-ptest += "make xz bash gawk autoconf locale-base-de-de locale-base-fr-fr" | 177 | RDEPENDS:${PN}-ptest += "make xz bash gawk autoconf locale-base-de-de locale-base-fr-fr" |
@@ -207,7 +201,4 @@ RRECOMMENDS:${PN}-ptest:append:libc-glibc = "\ | |||
207 | locale-base-fr-fr.iso-8859-1 \ | 201 | locale-base-fr-fr.iso-8859-1 \ |
208 | " | 202 | " |
209 | 203 | ||
210 | INSANE_SKIP:${PN}-ptest += "ldflags" | ||
211 | INSANE_SKIP:${PN}-ptest += "rpaths" | ||
212 | |||
213 | BBCLASSEXTEND = "native nativesdk" | 204 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch index 8e6598fbef..c394ab3277 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch | |||
@@ -1,26 +1,30 @@ | |||
1 | From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 | 1 | From 8981db5d775e04b72fb68b6a4553c87fdaedee65 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 15 Feb 2019 11:17:27 +0100 | 3 | Date: Fri, 15 Feb 2019 11:17:27 +0100 |
4 | Subject: [PATCH] Do not write $bindir into pkg-config files | 4 | Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files |
5 | 5 | ||
6 | This would otherwise break when using the files to build other target | 6 | This would otherwise break when using the executables to build other target |
7 | components (we need to rely on PATH containing the paths to utilities, | 7 | components (we need to rely on PATH containing the paths to utilities, |
8 | rather than use target paths). | 8 | rather than use target paths). |
9 | 9 | ||
10 | Upstream-Status: Inappropriate [upstream wants the paths in .pc files] | 10 | Upstream-Status: Inappropriate [upstream wants the paths in .pc files] |
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
12 | --- | 12 | --- |
13 | gio/meson.build | 16 ++++++++-------- | 13 | gio/meson.build | 17 +++++++++-------- |
14 | glib/meson.build | 6 +++--- | 14 | glib/meson.build | 7 ++++--- |
15 | 2 files changed, 11 insertions(+), 11 deletions(-) | 15 | 2 files changed, 13 insertions(+), 11 deletions(-) |
16 | 16 | ||
17 | diff --git a/gio/meson.build b/gio/meson.build | 17 | diff --git a/gio/meson.build b/gio/meson.build |
18 | index 5f91586..1a95f4f 100644 | 18 | index 5d91b89..1a8da12 100644 |
19 | --- a/gio/meson.build | 19 | --- a/gio/meson.build |
20 | +++ b/gio/meson.build | 20 | +++ b/gio/meson.build |
21 | @@ -884,14 +884,14 @@ pkg.generate(libgio, | 21 | @@ -901,17 +901,18 @@ libgio_dep = declare_dependency(link_with : libgio, |
22 | pkg.generate(libgio, | ||
23 | requires : ['glib-2.0', 'gobject-2.0'], | ||
24 | variables : [ | ||
25 | + 'bindir=' + '${prefix}' / get_option('bindir'), | ||
26 | 'schemasdir=' + '${datadir}' / schemas_subdir, | ||
22 | 'dtdsdir=' + '${datadir}' / dtds_subdir, | 27 | 'dtdsdir=' + '${datadir}' / dtds_subdir, |
23 | 'bindir=' + '${prefix}' / get_option('bindir'), | ||
24 | 'giomoduledir=' + pkgconfig_giomodulesdir, | 28 | 'giomoduledir=' + pkgconfig_giomodulesdir, |
25 | - 'gio=' + '${bindir}' / 'gio', | 29 | - 'gio=' + '${bindir}' / 'gio', |
26 | - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', | 30 | - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', |
@@ -39,19 +43,20 @@ index 5f91586..1a95f4f 100644 | |||
39 | + 'gresource=gresource', | 43 | + 'gresource=gresource', |
40 | + 'gsettings=gsettings', | 44 | + 'gsettings=gsettings', |
41 | ], | 45 | ], |
42 | version : glib_version, | 46 | uninstalled_variables : [ |
43 | install_dir : glib_pkgconfigreldir, | 47 | 'gio=${prefix}/gio/gio', |
44 | diff --git a/glib/meson.build b/glib/meson.build | 48 | diff --git a/glib/meson.build b/glib/meson.build |
45 | index c26a35e..1d8ca6b 100644 | 49 | index 837960d..97d4af0 100644 |
46 | --- a/glib/meson.build | 50 | --- a/glib/meson.build |
47 | +++ b/glib/meson.build | 51 | +++ b/glib/meson.build |
48 | @@ -447,9 +447,9 @@ pkg.generate(libglib, | 52 | @@ -443,9 +443,10 @@ pkg.generate(libglib, |
53 | subdirs : ['glib-2.0'], | ||
54 | extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, | ||
49 | variables : [ | 55 | variables : [ |
50 | 'bindir=' + '${prefix}' / get_option('bindir'), | ||
51 | 'datadir=' + '${prefix}' / get_option('datadir'), | ||
52 | - 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', | 56 | - 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', |
53 | - 'gobject_query=' + '${bindir}' / 'gobject-query', | 57 | - 'gobject_query=' + '${bindir}' / 'gobject-query', |
54 | - 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', | 58 | - 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', |
59 | + 'bindir=' + '${prefix}' / get_option('bindir'), | ||
55 | + 'glib_genmarshal=glib-genmarshal', | 60 | + 'glib_genmarshal=glib-genmarshal', |
56 | + 'gobject_query=gobject-query', | 61 | + 'gobject_query=gobject-query', |
57 | + 'glib_mkenums=glib-mkenums', | 62 | + 'glib_mkenums=glib-mkenums', |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch index eb9dfdbcf9..19fffbdc5f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 | 1 | From 48bfc87e9f757cf65ad967520860bfd7526c36f2 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 15 Mar 2014 22:42:29 -0700 | 3 | Date: Sat, 15 Mar 2014 22:42:29 -0700 |
4 | Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux | 4 | Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index ad69f7ec65..89ba10ff6d 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 | 1 | From b8dcbf03b315d31759176e9d4fd389e8fda6ffcd Mon Sep 17 00:00:00 2001 |
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 | 3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 |
4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM | 4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM |
@@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific] | |||
13 | 1 file changed, 1 insertion(+) | 13 | 1 file changed, 1 insertion(+) |
14 | 14 | ||
15 | diff --git a/gio/meson.build b/gio/meson.build | 15 | diff --git a/gio/meson.build b/gio/meson.build |
16 | index f9fdf6e..5f91586 100644 | 16 | index 854b95a..5d91b89 100644 |
17 | --- a/gio/meson.build | 17 | --- a/gio/meson.build |
18 | +++ b/gio/meson.build | 18 | +++ b/gio/meson.build |
19 | @@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu | 19 | @@ -1038,6 +1038,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu |
20 | c_args : gio_c_args, | 20 | c_args : gio_c_args, |
21 | # intl.lib is not compatible with SAFESEH | 21 | # intl.lib is not compatible with SAFESEH |
22 | link_args : noseh_link_args, | 22 | link_args : noseh_link_args, |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch index 0e3a62af6a..ebdf957272 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 Mon Sep 17 00:00:00 2001 | 1 | From bdb2772d672e95584585e902689936559c5db05d Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 12 Jun 2015 17:08:46 +0300 | 3 | Date: Fri, 12 Jun 2015 17:08:46 +0300 |
4 | Subject: [PATCH] Remove the warning about deprecated paths in schemas | 4 | Subject: [PATCH] Remove the warning about deprecated paths in schemas |
@@ -14,7 +14,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
14 | 1 file changed, 13 deletions(-) | 14 | 1 file changed, 13 deletions(-) |
15 | 15 | ||
16 | diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c | 16 | diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c |
17 | index 04ef404..e791ce2 100644 | 17 | index 81e675f..1a10a8d 100644 |
18 | --- a/gio/glib-compile-schemas.c | 18 | --- a/gio/glib-compile-schemas.c |
19 | +++ b/gio/glib-compile-schemas.c | 19 | +++ b/gio/glib-compile-schemas.c |
20 | @@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, | 20 | @@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch index aee2986033..771b03e66d 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch +++ b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 | 1 | From 8cb75d3bc368ee108a4b14bc57a92bd0c0b2e10e Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Wed, 8 Jan 2020 18:22:46 +0100 | 3 | Date: Wed, 8 Jan 2020 18:22:46 +0100 |
4 | Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test | 4 | Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test |
@@ -13,10 +13,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | 13 | 1 file changed, 1 insertion(+), 1 deletion(-) |
14 | 14 | ||
15 | diff --git a/gio/tests/resources.c b/gio/tests/resources.c | 15 | diff --git a/gio/tests/resources.c b/gio/tests/resources.c |
16 | index f567914..b21b616 100644 | 16 | index ee9cee4..ff844c1 100644 |
17 | --- a/gio/tests/resources.c | 17 | --- a/gio/tests/resources.c |
18 | +++ b/gio/tests/resources.c | 18 | +++ b/gio/tests/resources.c |
19 | @@ -1068,7 +1068,7 @@ main (int argc, | 19 | @@ -1196,7 +1196,7 @@ main (int argc, |
20 | g_test_add_func ("/resource/automatic", test_resource_automatic); | 20 | g_test_add_func ("/resource/automatic", test_resource_automatic); |
21 | /* This only uses automatic resources too, so it tests the constructors and destructors */ | 21 | /* This only uses automatic resources too, so it tests the constructors and destructors */ |
22 | g_test_add_func ("/resource/module", test_resource_module); | 22 | g_test_add_func ("/resource/module", test_resource_module); |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch index 0b10269114..e5878a1428 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch +++ b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 | 1 | From 502984fe340a76c92e2c04235f43fdcb47728806 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 12 Oct 2019 17:46:26 -0700 | 3 | Date: Sat, 12 Oct 2019 17:46:26 -0700 |
4 | Subject: [PATCH] meson: Run atomics test on clang as well | 4 | Subject: [PATCH] meson: Run atomics test on clang as well |
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/meson.build b/meson.build | 16 | diff --git a/meson.build b/meson.build |
17 | index 6ee775e..8bc5fa7 100644 | 17 | index a8bcadc..041b68e 100644 |
18 | --- a/meson.build | 18 | --- a/meson.build |
19 | +++ b/meson.build | 19 | +++ b/meson.build |
20 | @@ -1938,7 +1938,7 @@ atomicdefine = ''' | 20 | @@ -2075,7 +2075,7 @@ atomicdefine = ''' |
21 | # We know that we can always use real ("lock free") atomic operations with MSVC | 21 | # We know that we can always use real ("lock free") atomic operations with MSVC |
22 | if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') | 22 | if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') |
23 | have_atomic_lock_free = true | 23 | have_atomic_lock_free = true |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch index 14dcb278e0..e512940e34 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch +++ b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 | 1 | From d5e566c45a9ab4d7e51104ab176e6eb5f705f91d Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex@linutronix.de> | 2 | From: Alexander Kanavin <alex@linutronix.de> |
3 | Date: Sat, 16 Sep 2023 22:28:27 +0200 | 3 | Date: Sat, 16 Sep 2023 22:28:27 +0200 |
4 | Subject: [PATCH] meson.build: do not enable pidfd features on native glib | 4 | Subject: [PATCH] meson.build: do not enable pidfd features on native glib |
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> | |||
14 | 1 file changed, 2 insertions(+), 1 deletion(-) | 14 | 1 file changed, 2 insertions(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/meson.build b/meson.build | 16 | diff --git a/meson.build b/meson.build |
17 | index 8bc5fa7..df1fa60 100644 | 17 | index 041b68e..155bfd4 100644 |
18 | --- a/meson.build | 18 | --- a/meson.build |
19 | +++ b/meson.build | 19 | +++ b/meson.build |
20 | @@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> | 20 | @@ -1073,7 +1073,8 @@ if cc.links('''#include <sys/syscall.h> |
21 | waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); | 21 | waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); |
22 | return 0; | 22 | return 0; |
23 | }''', name : 'pidfd_open(2) system call') | 23 | }''', name : 'pidfd_open(2) system call') |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch index 6dff5179c7..d26f944d51 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch +++ b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 50636758c73e5e61212a8f801c6c602b8aab5ba7 Mon Sep 17 00:00:00 2001 | 1 | From 211927d2caa4a81e1131c2210e1db838104a1fb9 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Tue, 3 Oct 2017 10:45:55 +0300 | 3 | Date: Tue, 3 Oct 2017 10:45:55 +0300 |
4 | Subject: [PATCH] Do not hardcode python path into various tools | 4 | Subject: [PATCH] Do not hardcode python path into various tools |
@@ -12,31 +12,31 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
12 | 3 files changed, 3 insertions(+), 3 deletions(-) | 12 | 3 files changed, 3 insertions(+), 3 deletions(-) |
13 | 13 | ||
14 | diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in | 14 | diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in |
15 | index 67d3675..4e92a7a 100755 | 15 | index 877505e..49a1e8c 100755 |
16 | --- a/gio/gdbus-2.0/codegen/gdbus-codegen.in | 16 | --- a/gio/gdbus-2.0/codegen/gdbus-codegen.in |
17 | +++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in | 17 | +++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in |
18 | @@ -1,4 +1,4 @@ | 18 | @@ -1,4 +1,4 @@ |
19 | -#!/usr/bin/env @PYTHON@ | 19 | -#!@PYTHON@ |
20 | +#!/usr/bin/env python3 | 20 | +#!/usr/bin/env python3 |
21 | 21 | ||
22 | # GDBus - GLib D-Bus Library | 22 | # GDBus - GLib D-Bus Library |
23 | # | 23 | # |
24 | diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in | 24 | diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in |
25 | index aa5af43..56e8e2e 100755 | 25 | index 0578b74..56e8e2e 100755 |
26 | --- a/gobject/glib-genmarshal.in | 26 | --- a/gobject/glib-genmarshal.in |
27 | +++ b/gobject/glib-genmarshal.in | 27 | +++ b/gobject/glib-genmarshal.in |
28 | @@ -1,4 +1,4 @@ | 28 | @@ -1,4 +1,4 @@ |
29 | -#!/usr/bin/env @PYTHON@ | 29 | -#!@PYTHON@ |
30 | +#!/usr/bin/env python3 | 30 | +#!/usr/bin/env python3 |
31 | 31 | ||
32 | # pylint: disable=too-many-lines, missing-docstring, invalid-name | 32 | # pylint: disable=too-many-lines, missing-docstring, invalid-name |
33 | 33 | ||
34 | diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in | 34 | diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in |
35 | index 353e53a..8ed6c39 100755 | 35 | index 7e794e9..4b619f8 100755 |
36 | --- a/gobject/glib-mkenums.in | 36 | --- a/gobject/glib-mkenums.in |
37 | +++ b/gobject/glib-mkenums.in | 37 | +++ b/gobject/glib-mkenums.in |
38 | @@ -1,4 +1,4 @@ | 38 | @@ -1,4 +1,4 @@ |
39 | -#!/usr/bin/env @PYTHON@ | 39 | -#!@PYTHON@ |
40 | +#!/usr/bin/env python3 | 40 | +#!/usr/bin/env python3 |
41 | 41 | ||
42 | # If the code below looks horrible and unpythonic, do not panic. | 42 | # If the code below looks horrible and unpythonic, do not panic. |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common index 0d7c5fa3f8..0d7c5fa3f8 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc index 3049e5116e..3049e5116e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux index adad7e62ee..adad7e62ee 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw index 75f911ba1e..75f911ba1e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl index 3049e5116e..3049e5116e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch index 3e79bbf679..ddf464526c 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 | 1 | From 456bac53f19d3094aa2007054c87d86c9d65b423 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 | 3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 |
4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds | 4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds |
@@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | |||
18 | 1 file changed, 7 deletions(-) | 18 | 1 file changed, 7 deletions(-) |
19 | 19 | ||
20 | diff --git a/gio/giomodule.c b/gio/giomodule.c | 20 | diff --git a/gio/giomodule.c b/gio/giomodule.c |
21 | index 17fabe6..8021208 100644 | 21 | index 76c2028..6deba7c 100644 |
22 | --- a/gio/giomodule.c | 22 | --- a/gio/giomodule.c |
23 | +++ b/gio/giomodule.c | 23 | +++ b/gio/giomodule.c |
24 | @@ -1271,11 +1271,6 @@ get_gio_module_dir (void) | 24 | @@ -1260,11 +1260,6 @@ get_gio_module_dir (void) |
25 | g_free (install_dir); | 25 | g_free (install_dir); |
26 | #else | 26 | #else |
27 | module_dir = g_strdup (GIO_MODULE_DIR); | 27 | module_dir = g_strdup (GIO_MODULE_DIR); |
@@ -33,7 +33,7 @@ index 17fabe6..8021208 100644 | |||
33 | #include <dlfcn.h> | 33 | #include <dlfcn.h> |
34 | { | 34 | { |
35 | g_autofree gchar *path = NULL; | 35 | g_autofree gchar *path = NULL; |
36 | @@ -1294,8 +1289,6 @@ get_gio_module_dir (void) | 36 | @@ -1283,8 +1278,6 @@ get_gio_module_dir (void) |
37 | } | 37 | } |
38 | } | 38 | } |
39 | } | 39 | } |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest index 831bc3b91f..831bc3b91f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ b/meta/recipes-core/glib-2.0/files/run-ptest | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch index cd5ac287c3..138e970553 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 | 1 | From 51bfcab0b60bd57f4d3463c479fdf47e645cd6fe Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@arm.com> | 2 | From: Ross Burton <ross.burton@arm.com> |
3 | Date: Thu, 28 Mar 2024 16:27:09 +0000 | 3 | Date: Thu, 28 Mar 2024 16:27:09 +0000 |
4 | Subject: [PATCH] Skip /timeout/rounding test | 4 | Subject: [PATCH] Skip /timeout/rounding test |
@@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> | |||
16 | 1 file changed, 1 deletion(-) | 16 | 1 file changed, 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c | 18 | diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c |
19 | index 1ae3f3a34..85a715b0f 100644 | 19 | index 1ae3f3a..85a715b 100644 |
20 | --- a/glib/tests/timeout.c | 20 | --- a/glib/tests/timeout.c |
21 | +++ b/glib/tests/timeout.c | 21 | +++ b/glib/tests/timeout.c |
22 | @@ -214,7 +214,6 @@ main (int argc, char *argv[]) | 22 | @@ -214,7 +214,6 @@ main (int argc, char *argv[]) |
@@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644 | |||
27 | 27 | ||
28 | return g_test_run (); | 28 | return g_test_run (); |
29 | } | 29 | } |
30 | -- | ||
31 | 2.34.1 | ||
32 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-initial_2.84.2.bb b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.84.2.bb new file mode 100644 index 0000000000..acec7e9676 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.84.2.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require glib.inc | ||
2 | PACKAGES = "" | ||
3 | PACKAGECONFIG = "" | ||
4 | |||
5 | inherit nopackages | ||
6 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch deleted file mode 100644 index 32b4cea409..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ /dev/null | |||
@@ -1,80 +0,0 @@ | |||
1 | From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 13 Feb 2019 15:32:05 +0100 | ||
4 | Subject: [PATCH] Set host_machine correctly when building with mingw32 | ||
5 | |||
6 | Upstream-Status: Inappropriate [oe-core specific] | ||
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
8 | --- | ||
9 | gio/tests/meson.build | 8 ++++---- | ||
10 | glib/tests/meson.build | 2 +- | ||
11 | meson.build | 3 +++ | ||
12 | 3 files changed, 8 insertions(+), 5 deletions(-) | ||
13 | |||
14 | diff --git a/gio/tests/meson.build b/gio/tests/meson.build | ||
15 | index 4ef3343..e498e7e 100644 | ||
16 | --- a/gio/tests/meson.build | ||
17 | +++ b/gio/tests/meson.build | ||
18 | @@ -29,7 +29,7 @@ endif | ||
19 | |||
20 | test_cpp_args = test_c_args | ||
21 | |||
22 | -if host_machine.system() == 'windows' | ||
23 | +if host_system == 'windows' | ||
24 | common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] | ||
25 | endif | ||
26 | |||
27 | @@ -230,7 +230,7 @@ if have_dbus_daemon | ||
28 | endif | ||
29 | |||
30 | # Test programs buildable on UNIX only | ||
31 | -if host_machine.system() != 'windows' | ||
32 | +if host_system != 'windows' | ||
33 | gio_tests += { | ||
34 | 'file' : {}, | ||
35 | 'gdbus-peer-object-manager' : {}, | ||
36 | @@ -562,7 +562,7 @@ if host_machine.system() != 'windows' | ||
37 | endif # unix | ||
38 | |||
39 | # Test programs buildable on Windows only | ||
40 | -if host_machine.system() == 'windows' | ||
41 | +if host_system == 'windows' | ||
42 | gio_tests += {'win32-streams' : {}} | ||
43 | endif | ||
44 | |||
45 | @@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' | ||
46 | } | ||
47 | endif | ||
48 | |||
49 | -if host_machine.system() != 'windows' | ||
50 | +if host_system != 'windows' | ||
51 | test_extra_programs += { | ||
52 | 'gdbus-example-unix-fd-client' : { | ||
53 | 'install' : false, | ||
54 | diff --git a/glib/tests/meson.build b/glib/tests/meson.build | ||
55 | index d80c86e..5329cda 100644 | ||
56 | --- a/glib/tests/meson.build | ||
57 | +++ b/glib/tests/meson.build | ||
58 | @@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') | ||
59 | } | ||
60 | endif | ||
61 | |||
62 | -if host_machine.system() == 'windows' | ||
63 | +if host_system == 'windows' | ||
64 | if winsock2.found() | ||
65 | glib_tests += { | ||
66 | 'gpoll' : { | ||
67 | diff --git a/meson.build b/meson.build | ||
68 | index 813c9b7..6ee775e 100644 | ||
69 | --- a/meson.build | ||
70 | +++ b/meson.build | ||
71 | @@ -54,6 +54,9 @@ else | ||
72 | endif | ||
73 | |||
74 | host_system = host_machine.system() | ||
75 | +if host_system == 'mingw32' | ||
76 | + host_system = 'windows' | ||
77 | +endif | ||
78 | |||
79 | if host_system == 'darwin' | ||
80 | ios_test_code = '''#include <TargetConditionals.h> | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch deleted file mode 100644 index b11c283e6d..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jordan Williams <jordan@jwillikers.com> | ||
3 | Date: Fri, 1 Dec 2023 09:53:50 -0600 | ||
4 | Subject: [PATCH] Switch from the deprecated distutils module to the packaging | ||
5 | module | ||
6 | |||
7 | The distutils module was removed in Python 3.12. | ||
8 | |||
9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] | ||
10 | |||
11 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
12 | --- | ||
13 | gio/gdbus-2.0/codegen/utils.py | 4 ++-- | ||
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py | ||
17 | index 0204610..08f1ba9 100644 | ||
18 | --- a/gio/gdbus-2.0/codegen/utils.py | ||
19 | +++ b/gio/gdbus-2.0/codegen/utils.py | ||
20 | @@ -19,7 +19,7 @@ | ||
21 | # | ||
22 | # Author: David Zeuthen <davidz@redhat.com> | ||
23 | |||
24 | -import distutils.version | ||
25 | +import packaging.version | ||
26 | import os | ||
27 | import sys | ||
28 | |||
29 | @@ -166,4 +166,4 @@ def version_cmp_key(key): | ||
30 | v = str(key[0]) | ||
31 | else: | ||
32 | v = "0" | ||
33 | - return (distutils.version.LooseVersion(v), key[1]) | ||
34 | + return (packaging.version.Version(v), key[1]) | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch deleted file mode 100644 index bdfbd55899..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Withnall <pwithnall@gnome.org> | ||
3 | Date: Mon, 26 Feb 2024 16:55:44 +0000 | ||
4 | Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | PCRE2 10.43 has now introduced support for variable-length lookbehind, | ||
10 | so these tests now fail if GLib is built against PCRE2 10.43 or higher. | ||
11 | |||
12 | See | ||
13 | https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. | ||
14 | |||
15 | Rather than making the tests conditional on the version of PCRE2 in use, | ||
16 | just remove them. They are mostly testing the PCRE2 code rather than | ||
17 | any code in GLib, so don’t have much value. | ||
18 | |||
19 | This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 | ||
20 | days ago. | ||
21 | |||
22 | Signed-off-by: Philip Withnall <pwithnall@gnome.org> | ||
23 | |||
24 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6] | ||
25 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
26 | --- | ||
27 | glib/tests/regex.c | 10 ---------- | ||
28 | 1 file changed, 10 deletions(-) | ||
29 | |||
30 | diff --git a/glib/tests/regex.c b/glib/tests/regex.c | ||
31 | index 1082526292..d7a698ec67 100644 | ||
32 | --- a/glib/tests/regex.c | ||
33 | +++ b/glib/tests/regex.c | ||
34 | @@ -1885,16 +1885,6 @@ test_lookbehind (void) | ||
35 | g_match_info_free (match); | ||
36 | g_regex_unref (regex); | ||
37 | |||
38 | - regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
39 | - g_assert (regex == NULL); | ||
40 | - g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); | ||
41 | - g_clear_error (&error); | ||
42 | - | ||
43 | - regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
44 | - g_assert (regex == NULL); | ||
45 | - g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); | ||
46 | - g_clear_error (&error); | ||
47 | - | ||
48 | regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
49 | g_assert (regex); | ||
50 | g_assert_no_error (error); | ||
51 | -- | ||
52 | GitLab | ||
53 | |||
54 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch deleted file mode 100644 index 4f38509da6..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch +++ /dev/null | |||
@@ -1,361 +0,0 @@ | |||
1 | From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Withnall <philip@tecnocode.co.uk> | ||
3 | Date: Tue, 23 Jan 2024 11:16:52 +0000 | ||
4 | Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main' | ||
5 | |||
6 | tests: Fix race condition in memory-monitor-dbus.test | ||
7 | |||
8 | Closes #2887 | ||
9 | |||
10 | See merge request GNOME/glib!3844 | ||
11 | |||
12 | Hopefully these commits fix the occasional failures we've been seeing: | ||
13 | https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362 | ||
14 | |||
15 | Upstream-Status: Backport | ||
16 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
17 | --- | ||
18 | gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++------- | ||
19 | gio/tests/memory-monitor-portal.py.in | 54 ++++++++++------- | ||
20 | gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++----- | ||
21 | gio/tests/power-profile-monitor-portal.py.in | 34 ++++++----- | ||
22 | 4 files changed, 113 insertions(+), 74 deletions(-) | ||
23 | |||
24 | diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in | ||
25 | index bf32918..7aae01e 100755 | ||
26 | --- a/gio/tests/memory-monitor-dbus.py.in | ||
27 | +++ b/gio/tests/memory-monitor-dbus.py.in | ||
28 | @@ -16,7 +16,6 @@ import sys | ||
29 | import subprocess | ||
30 | import fcntl | ||
31 | import os | ||
32 | -import time | ||
33 | |||
34 | import taptestrunner | ||
35 | |||
36 | @@ -57,53 +56,74 @@ try: | ||
37 | fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) | ||
38 | self.last_warning = -1 | ||
39 | self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE) | ||
40 | + | ||
41 | + try: | ||
42 | + self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor', | ||
43 | + '/org/freedesktop/LowMemoryMonitor', | ||
44 | + system_bus=True) | ||
45 | + except: | ||
46 | + raise | ||
47 | + | ||
48 | self.memory_monitor = Gio.MemoryMonitor.dup_default() | ||
49 | + assert("GMemoryMonitorDBus" in str(self.memory_monitor)) | ||
50 | self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb) | ||
51 | self.mainloop = GLib.MainLoop() | ||
52 | self.main_context = self.mainloop.get_context() | ||
53 | |||
54 | + # The LowMemoryMonitor API is stateless: it doesn’t expose any | ||
55 | + # properties, just a warning signal. Emit the signal in a loop until | ||
56 | + # the GMemoryMonitor instance has initialised and synchronised to | ||
57 | + # the right state. | ||
58 | + def emit_warning(level): | ||
59 | + self.dbusmock.EmitWarning(level) | ||
60 | + return GLib.SOURCE_CONTINUE | ||
61 | + | ||
62 | + idle_id = GLib.idle_add(emit_warning, 0) | ||
63 | + while self.last_warning != 0: | ||
64 | + self.main_context.iteration(True) | ||
65 | + GLib.source_remove(idle_id) | ||
66 | + | ||
67 | def tearDown(self): | ||
68 | self.p_mock.terminate() | ||
69 | self.p_mock.wait() | ||
70 | |||
71 | - def assertEventually(self, condition, message=None, timeout=50): | ||
72 | + def assertEventually(self, condition, message=None, timeout=5): | ||
73 | '''Assert that condition function eventually returns True. | ||
74 | |||
75 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
76 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
77 | printed on failure. | ||
78 | ''' | ||
79 | - while timeout >= 0: | ||
80 | - context = GLib.MainContext.default() | ||
81 | - while context.iteration(False): | ||
82 | - pass | ||
83 | - if condition(): | ||
84 | - break | ||
85 | - timeout -= 1 | ||
86 | - time.sleep(0.1) | ||
87 | - else: | ||
88 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
89 | + if not message: | ||
90 | + message = 'timed out waiting for ' + str(condition) | ||
91 | + | ||
92 | + def timed_out_cb(message): | ||
93 | + self.fail(message) | ||
94 | + return GLib.SOURCE_REMOVE | ||
95 | + | ||
96 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
97 | + timeout_source.set_callback(timed_out_cb, message) | ||
98 | + timeout_source.attach(self.main_context) | ||
99 | + | ||
100 | + while not condition(): | ||
101 | + self.main_context.iteration(True) | ||
102 | + | ||
103 | + timeout_source.destroy() | ||
104 | |||
105 | def memory_warning_cb(self, monitor, level): | ||
106 | + print("Received memory warning signal, level", level) | ||
107 | self.last_warning = level | ||
108 | self.main_context.wakeup() | ||
109 | |||
110 | def test_low_memory_warning_signal(self): | ||
111 | '''LowMemoryWarning signal''' | ||
112 | |||
113 | - # Wait 2 seconds | ||
114 | - timeout = 2 | ||
115 | - while timeout > 0: | ||
116 | - time.sleep(0.5) | ||
117 | - timeout -= 0.5 | ||
118 | - self.main_context.iteration(False) | ||
119 | - | ||
120 | self.dbusmock.EmitWarning(100) | ||
121 | # Wait 2 seconds or until warning | ||
122 | - self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) | ||
123 | + self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) | ||
124 | |||
125 | self.dbusmock.EmitWarning(255) | ||
126 | # Wait 2 seconds or until warning | ||
127 | - self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) | ||
128 | + self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) | ||
129 | |||
130 | except ImportError as e: | ||
131 | @unittest.skip("Cannot import %s" % e.name) | ||
132 | diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in | ||
133 | index 748cee8..f570508 100755 | ||
134 | --- a/gio/tests/memory-monitor-portal.py.in | ||
135 | +++ b/gio/tests/memory-monitor-portal.py.in | ||
136 | @@ -16,7 +16,6 @@ import sys | ||
137 | import subprocess | ||
138 | import fcntl | ||
139 | import os | ||
140 | -import time | ||
141 | |||
142 | import taptestrunner | ||
143 | |||
144 | @@ -80,26 +79,44 @@ try: | ||
145 | self.mainloop = GLib.MainLoop() | ||
146 | self.main_context = self.mainloop.get_context() | ||
147 | |||
148 | + # The LowMemoryMonitor API is stateless: it doesn’t expose any | ||
149 | + # properties, just a warning signal. Emit the signal in a loop until | ||
150 | + # the GMemoryMonitor instance has initialised and synchronised to | ||
151 | + # the right state. | ||
152 | + def emit_warning(level): | ||
153 | + self.dbusmock.EmitWarning(level) | ||
154 | + return GLib.SOURCE_CONTINUE | ||
155 | + | ||
156 | + idle_id = GLib.idle_add(self.emit_warning, 0) | ||
157 | + while self.last_warning != 0: | ||
158 | + self.main_context.iteration(True) | ||
159 | + GLib.source_remove(idle_id) | ||
160 | + | ||
161 | def tearDown(self): | ||
162 | self.p_mock.terminate() | ||
163 | self.p_mock.wait() | ||
164 | |||
165 | - def assertEventually(self, condition, message=None, timeout=50): | ||
166 | + def assertEventually(self, condition, message=None, timeout=5): | ||
167 | '''Assert that condition function eventually returns True. | ||
168 | |||
169 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
170 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
171 | printed on failure. | ||
172 | ''' | ||
173 | - while timeout >= 0: | ||
174 | - context = GLib.MainContext.default() | ||
175 | - while context.iteration(False): | ||
176 | - pass | ||
177 | - if condition(): | ||
178 | - break | ||
179 | - timeout -= 1 | ||
180 | - time.sleep(0.1) | ||
181 | - else: | ||
182 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
183 | + if not message: | ||
184 | + message = 'timed out waiting for ' + str(condition) | ||
185 | + | ||
186 | + def timed_out_cb(message): | ||
187 | + self.fail(message) | ||
188 | + return GLib.SOURCE_REMOVE | ||
189 | + | ||
190 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
191 | + timeout_source.set_callback(timed_out_cb, message) | ||
192 | + timeout_source.attach(self.main_context) | ||
193 | + | ||
194 | + while not condition(): | ||
195 | + self.main_context.iteration(True) | ||
196 | + | ||
197 | + timeout_source.destroy() | ||
198 | |||
199 | def portal_memory_warning_cb(self, monitor, level): | ||
200 | self.last_warning = level | ||
201 | @@ -108,20 +125,13 @@ try: | ||
202 | def test_low_memory_warning_portal_signal(self): | ||
203 | '''LowMemoryWarning signal''' | ||
204 | |||
205 | - # Wait 2 seconds | ||
206 | - timeout = 2 | ||
207 | - while timeout > 0: | ||
208 | - time.sleep(0.5) | ||
209 | - timeout -= 0.5 | ||
210 | - self.main_context.iteration(False) | ||
211 | - | ||
212 | self.dbusmock.EmitWarning(100) | ||
213 | # Wait 2 seconds or until warning | ||
214 | - self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) | ||
215 | + self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) | ||
216 | |||
217 | self.dbusmock.EmitWarning(255) | ||
218 | # Wait 2 seconds or until warning | ||
219 | - self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) | ||
220 | + self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) | ||
221 | |||
222 | except ImportError as e: | ||
223 | @unittest.skip("Cannot import %s" % e.name) | ||
224 | diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in | ||
225 | index 06e594f..f955afc 100755 | ||
226 | --- a/gio/tests/power-profile-monitor-dbus.py.in | ||
227 | +++ b/gio/tests/power-profile-monitor-dbus.py.in | ||
228 | @@ -16,7 +16,6 @@ import sys | ||
229 | import subprocess | ||
230 | import fcntl | ||
231 | import os | ||
232 | -import time | ||
233 | |||
234 | import taptestrunner | ||
235 | |||
236 | @@ -58,6 +57,7 @@ try: | ||
237 | self.power_saver_enabled = False | ||
238 | self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE) | ||
239 | self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default() | ||
240 | + assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor)) | ||
241 | self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb) | ||
242 | self.mainloop = GLib.MainLoop() | ||
243 | self.main_context = self.mainloop.get_context() | ||
244 | @@ -66,22 +66,27 @@ try: | ||
245 | self.p_mock.terminate() | ||
246 | self.p_mock.wait() | ||
247 | |||
248 | - def assertEventually(self, condition, message=None, timeout=50): | ||
249 | + def assertEventually(self, condition, message=None, timeout=5): | ||
250 | '''Assert that condition function eventually returns True. | ||
251 | |||
252 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
253 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
254 | printed on failure. | ||
255 | ''' | ||
256 | - while timeout >= 0: | ||
257 | - context = GLib.MainContext.default() | ||
258 | - while context.iteration(False): | ||
259 | - pass | ||
260 | - if condition(): | ||
261 | - break | ||
262 | - timeout -= 1 | ||
263 | - time.sleep(0.1) | ||
264 | - else: | ||
265 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
266 | + if not message: | ||
267 | + message = 'timed out waiting for ' + str(condition) | ||
268 | + | ||
269 | + def timed_out_cb(message): | ||
270 | + self.fail(message) | ||
271 | + return GLib.SOURCE_REMOVE | ||
272 | + | ||
273 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
274 | + timeout_source.set_callback(timed_out_cb, message) | ||
275 | + timeout_source.attach(self.main_context) | ||
276 | + | ||
277 | + while not condition(): | ||
278 | + self.main_context.iteration(True) | ||
279 | + | ||
280 | + timeout_source.destroy() | ||
281 | |||
282 | def power_saver_enabled_cb(self, spec, data): | ||
283 | self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() | ||
284 | @@ -92,10 +97,10 @@ try: | ||
285 | |||
286 | self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) | ||
287 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) | ||
288 | - self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) | ||
289 | + self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) | ||
290 | |||
291 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) | ||
292 | - self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) | ||
293 | + self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) | ||
294 | |||
295 | except ImportError as e: | ||
296 | @unittest.skip("Cannot import %s" % e.name) | ||
297 | diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in | ||
298 | index 09e9a45..ad2abf6 100755 | ||
299 | --- a/gio/tests/power-profile-monitor-portal.py.in | ||
300 | +++ b/gio/tests/power-profile-monitor-portal.py.in | ||
301 | @@ -16,7 +16,6 @@ import sys | ||
302 | import subprocess | ||
303 | import fcntl | ||
304 | import os | ||
305 | -import time | ||
306 | |||
307 | import taptestrunner | ||
308 | |||
309 | @@ -90,22 +89,27 @@ try: | ||
310 | self.p_mock.terminate() | ||
311 | self.p_mock.wait() | ||
312 | |||
313 | - def assertEventually(self, condition, message=None, timeout=50): | ||
314 | + def assertEventually(self, condition, message=None, timeout=5): | ||
315 | '''Assert that condition function eventually returns True. | ||
316 | |||
317 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
318 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
319 | printed on failure. | ||
320 | ''' | ||
321 | - while timeout >= 0: | ||
322 | - context = GLib.MainContext.default() | ||
323 | - while context.iteration(False): | ||
324 | - pass | ||
325 | - if condition(): | ||
326 | - break | ||
327 | - timeout -= 1 | ||
328 | - time.sleep(0.1) | ||
329 | - else: | ||
330 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
331 | + if not message: | ||
332 | + message = 'timed out waiting for ' + str(condition) | ||
333 | + | ||
334 | + def timed_out_cb(message): | ||
335 | + self.fail(message) | ||
336 | + return GLib.SOURCE_REMOVE | ||
337 | + | ||
338 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
339 | + timeout_source.set_callback(timed_out_cb, message) | ||
340 | + timeout_source.attach(self.main_context) | ||
341 | + | ||
342 | + while not condition(): | ||
343 | + self.main_context.iteration(True) | ||
344 | + | ||
345 | + timeout_source.destroy() | ||
346 | |||
347 | def power_saver_enabled_cb(self, spec, data): | ||
348 | self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() | ||
349 | @@ -116,10 +120,10 @@ try: | ||
350 | |||
351 | self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) | ||
352 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) | ||
353 | - self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) | ||
354 | + self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) | ||
355 | |||
356 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) | ||
357 | - self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) | ||
358 | + self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) | ||
359 | |||
360 | def test_power_profile_power_saver_enabled_portal_default(self): | ||
361 | '''power-saver-enabled property default value''' | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb deleted file mode 100644 index b1669ead75..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | require glib.inc | ||
2 | |||
3 | PE = "1" | ||
4 | |||
5 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | ||
6 | |||
7 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | ||
8 | file://run-ptest \ | ||
9 | file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ | ||
10 | file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ | ||
11 | file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ | ||
12 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ | ||
13 | file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ | ||
14 | file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ | ||
15 | file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ | ||
16 | file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ | ||
17 | file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ | ||
18 | file://memory-monitor.patch \ | ||
19 | file://fix-regex.patch \ | ||
20 | file://skip-timeout.patch \ | ||
21 | " | ||
22 | SRC_URI:append:class-native = " file://relocate-modules.patch \ | ||
23 | file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ | ||
24 | " | ||
25 | |||
26 | SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63" | ||
27 | |||
28 | # Find any meson cross files in FILESPATH that are relevant for the current | ||
29 | # build (using siteinfo) and add them to EXTRA_OEMESON. | ||
30 | inherit siteinfo | ||
31 | def find_meson_cross_files(d): | ||
32 | if bb.data.inherits_class('native', d): | ||
33 | return "" | ||
34 | |||
35 | thisdir = os.path.normpath(d.getVar("THISDIR")) | ||
36 | import collections | ||
37 | sitedata = siteinfo_data(d) | ||
38 | # filename -> found | ||
39 | files = collections.OrderedDict() | ||
40 | for path in d.getVar("FILESPATH").split(":"): | ||
41 | for element in sitedata: | ||
42 | filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) | ||
43 | sanitized_path = filename.replace(thisdir, "${THISDIR}") | ||
44 | if sanitized_path == filename: | ||
45 | if os.path.exists(filename): | ||
46 | bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) | ||
47 | continue | ||
48 | files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) | ||
49 | |||
50 | items = ["--cross-file=" + k for k,v in files.items() if v] | ||
51 | d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) | ||
52 | items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] | ||
53 | d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) | ||
54 | |||
55 | python () { | ||
56 | find_meson_cross_files(d) | ||
57 | } | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.84.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.84.2.bb new file mode 100644 index 0000000000..ef80cc47cf --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.84.2.bb | |||
@@ -0,0 +1,2 @@ | |||
1 | require glib.inc | ||
2 | |||
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index fac8875d84..ba7763c841 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc | |||
@@ -28,21 +28,27 @@ PACKAGES += "${PN}-codegen ${PN}-utils" | |||
28 | 28 | ||
29 | LEAD_SONAME = "libglib-2.0.*" | 29 | LEAD_SONAME = "libglib-2.0.*" |
30 | 30 | ||
31 | inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data | 31 | inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data |
32 | 32 | ||
33 | GTKDOC_MESON_OPTION = "gtk_doc" | 33 | S = "${UNPACKDIR}/glib-${PV}" |
34 | 34 | ||
35 | S = "${WORKDIR}/glib-${PV}" | 35 | GIDOCGEN_MESON_OPTION = "documentation" |
36 | 36 | ||
37 | PACKAGECONFIG ??= "libmount \ | 37 | PACKAGECONFIG ??= "libmount \ |
38 | ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ | ||
38 | ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 39 | ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
40 | PACKAGECONFIG:class-native = "" | ||
41 | |||
39 | PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" | 42 | PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" |
40 | PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" | 43 | PACKAGECONFIG[manpages] = "-Dman-pages=enabled, -Dman-pages=disabled, python3-docutils-native" |
41 | PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" | 44 | PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" |
42 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," | 45 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false," |
43 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" | 46 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" |
47 | PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,gobject-introspection-native gobject-introspection glib-2.0-initial" | ||
48 | |||
49 | EXTRA_OEMESON = "-Ddtrace=disabled -Dsystemtap=disabled -Dsysprof=disabled" | ||
44 | 50 | ||
45 | EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" | 51 | EXTRA_OEMESON:append:class-target = " ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''}" |
46 | 52 | ||
47 | do_configure:prepend() { | 53 | do_configure:prepend() { |
48 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in | 54 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in |
@@ -53,14 +59,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \ | |||
53 | ${libexecdir}/*gio-querymodules \ | 59 | ${libexecdir}/*gio-querymodules \ |
54 | ${libexecdir}/*gio-launch-desktop \ | 60 | ${libexecdir}/*gio-launch-desktop \ |
55 | ${datadir}/glib-2.0/dtds \ | 61 | ${datadir}/glib-2.0/dtds \ |
56 | ${datadir}/glib-2.0/schemas" | 62 | ${datadir}/glib-2.0/schemas \ |
57 | 63 | ${libdir}/girepository-*/*.typelib \ | |
64 | " | ||
58 | FILES:${PN}-dev += "${libdir}/glib-2.0/include \ | 65 | FILES:${PN}-dev += "${libdir}/glib-2.0/include \ |
59 | ${libdir}/gio/modules/lib*${SOLIBSDEV} \ | 66 | ${libdir}/gio/modules/lib*${SOLIBSDEV} \ |
60 | ${libdir}/gio/modules/*.la \ | 67 | ${libdir}/gio/modules/*.la \ |
61 | ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ | 68 | ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ |
62 | ${datadir}/glib-2.0/schemas/gschema.dtd \ | 69 | ${datadir}/glib-2.0/schemas/gschema.dtd \ |
63 | ${datadir}/glib-2.0/valgrind/glib.supp \ | 70 | ${datadir}/glib-2.0/valgrind/glib.supp \ |
71 | ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir \ | ||
64 | ${datadir}/gettext/its" | 72 | ${datadir}/gettext/its" |
65 | FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" | 73 | FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" |
66 | FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ | 74 | FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ |
@@ -149,12 +157,10 @@ CODEGEN_PYTHON_RDEPENDS:mingw32 = "" | |||
149 | 157 | ||
150 | RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" | 158 | RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" |
151 | 159 | ||
152 | RDEPENDS:${PN}-ptest += "${PN}-utils" | ||
153 | |||
154 | RDEPENDS:${PN}-ptest += "\ | 160 | RDEPENDS:${PN}-ptest += "\ |
155 | coreutils \ | 161 | coreutils \ |
156 | libgcc \ | 162 | libgcc \ |
157 | dbus \ | 163 | ${VIRTUAL-RUNTIME_dbus} \ |
158 | desktop-file-utils \ | 164 | desktop-file-utils \ |
159 | gnome-desktop-testing \ | 165 | gnome-desktop-testing \ |
160 | tzdata \ | 166 | tzdata \ |
@@ -163,6 +169,7 @@ RDEPENDS:${PN}-ptest += "\ | |||
163 | tzdata-europe \ | 169 | tzdata-europe \ |
164 | tzdata-posix \ | 170 | tzdata-posix \ |
165 | shared-mime-info \ | 171 | shared-mime-info \ |
172 | ${PN}-dev \ | ||
166 | ${PN}-locale-ja \ | 173 | ${PN}-locale-ja \ |
167 | ${PN}-locale-fr \ | 174 | ${PN}-locale-fr \ |
168 | ${PN}-locale-el \ | 175 | ${PN}-locale-el \ |
@@ -171,6 +178,7 @@ RDEPENDS:${PN}-ptest += "\ | |||
171 | ${PN}-locale-pl \ | 178 | ${PN}-locale-pl \ |
172 | ${PN}-locale-ru \ | 179 | ${PN}-locale-ru \ |
173 | ${PN}-locale-th \ | 180 | ${PN}-locale-th \ |
181 | ${PN}-utils \ | ||
174 | python3-core \ | 182 | python3-core \ |
175 | python3-modules \ | 183 | python3-modules \ |
176 | ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ | 184 | ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ |
@@ -182,6 +190,7 @@ RDEPENDS:${PN}-ptest += "\ | |||
182 | locale-base-fr-fr \ | 190 | locale-base-fr-fr \ |
183 | locale-base-ru-ru \ | 191 | locale-base-ru-ru \ |
184 | " | 192 | " |
193 | INSANE_SKIP:${PN}-ptest = "dev-deps" | ||
185 | 194 | ||
186 | RDEPENDS:${PN}-ptest:append:libc-glibc = "\ | 195 | RDEPENDS:${PN}-ptest:append:libc-glibc = "\ |
187 | glibc-gconv-utf-16 \ | 196 | glibc-gconv-utf-16 \ |
@@ -195,6 +204,7 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ | |||
195 | glibc-gconv-iso8859-15 \ | 204 | glibc-gconv-iso8859-15 \ |
196 | glibc-charmap-invariant \ | 205 | glibc-charmap-invariant \ |
197 | glibc-localedata-translit-cjk-variants \ | 206 | glibc-localedata-translit-cjk-variants \ |
207 | locale-base-c \ | ||
198 | locale-base-lt-lt \ | 208 | locale-base-lt-lt \ |
199 | locale-base-ja-jp.euc-jp \ | 209 | locale-base-ja-jp.euc-jp \ |
200 | locale-base-fa-ir \ | 210 | locale-base-fa-ir \ |
@@ -204,3 +214,55 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ | |||
204 | locale-base-pl-pl.iso-8859-2 \ | 214 | locale-base-pl-pl.iso-8859-2 \ |
205 | locale-base-tr-tr \ | 215 | locale-base-tr-tr \ |
206 | " | 216 | " |
217 | |||
218 | PE = "1" | ||
219 | |||
220 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | ||
221 | |||
222 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | ||
223 | file://run-ptest \ | ||
224 | file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ | ||
225 | file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ | ||
226 | file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ | ||
227 | file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ | ||
228 | file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ | ||
229 | file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ | ||
230 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ | ||
231 | file://skip-timeout.patch \ | ||
232 | " | ||
233 | SRC_URI:append:class-native = " file://relocate-modules.patch \ | ||
234 | file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ | ||
235 | " | ||
236 | |||
237 | SRC_URI[sha256sum] = "88e960dd937057407d61fcb3b45a860704b25923c37ae2478b85f2ecb5a4021f" | ||
238 | |||
239 | # Find any meson cross files in FILESPATH that are relevant for the current | ||
240 | # build (using siteinfo) and add them to EXTRA_OEMESON. | ||
241 | inherit siteinfo | ||
242 | def find_meson_cross_files(d): | ||
243 | if bb.data.inherits_class('native', d): | ||
244 | return "" | ||
245 | |||
246 | thisdir = os.path.normpath(d.getVar("THISDIR")) | ||
247 | import collections | ||
248 | sitedata = siteinfo_data(d) | ||
249 | # filename -> found | ||
250 | files = collections.OrderedDict() | ||
251 | for path in d.getVar("FILESPATH").split(":"): | ||
252 | for element in sitedata: | ||
253 | filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) | ||
254 | sanitized_path = filename.replace(thisdir, "${THISDIR}") | ||
255 | if sanitized_path == filename: | ||
256 | if os.path.exists(filename): | ||
257 | bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) | ||
258 | continue | ||
259 | files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) | ||
260 | |||
261 | items = ["--cross-file=" + k for k,v in files.items() if v] | ||
262 | d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) | ||
263 | items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] | ||
264 | d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) | ||
265 | |||
266 | python () { | ||
267 | find_meson_cross_files(d) | ||
268 | } | ||
diff --git a/meta/recipes-core/glib-networking/glib-networking/eagain.patch b/meta/recipes-core/glib-networking/glib-networking/eagain.patch index 6c2e3c634b..98974aa4e7 100644 --- a/meta/recipes-core/glib-networking/glib-networking/eagain.patch +++ b/meta/recipes-core/glib-networking/glib-networking/eagain.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 5604707bed4b4a4bc4658c7158a18c1774775775 Mon Sep 17 00:00:00 2001 | 1 | From f917ef5579257007bc02850e79769fe5ec48b2b7 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Sat, 6 May 2023 12:18:50 +0100 | 3 | Date: Sat, 6 May 2023 12:18:50 +0100 |
4 | Subject: [PATCH] In autobuilder testing we regularly see glib-networking ptest | 4 | Subject: [PATCH] In autobuilder testing we regularly see glib-networking ptest |
@@ -12,7 +12,7 @@ FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6) | |||
12 | 12 | ||
13 | The test should probably retry in this situation so test a patch which does this. | 13 | The test should probably retry in this situation so test a patch which does this. |
14 | 14 | ||
15 | Upstream-Status: Pending [testing to see if patch resolves the issue] | 15 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/253] |
16 | 16 | ||
17 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | 17 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
18 | --- | 18 | --- |
diff --git a/meta/recipes-core/glib-networking/glib-networking_2.78.1.bb b/meta/recipes-core/glib-networking/glib-networking_2.80.0.bb index 5060d9fd7a..b080285b6e 100644 --- a/meta/recipes-core/glib-networking/glib-networking_2.78.1.bb +++ b/meta/recipes-core/glib-networking/glib-networking_2.80.0.bb | |||
@@ -14,14 +14,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | |||
14 | SECTION = "libs" | 14 | SECTION = "libs" |
15 | DEPENDS = "glib-2.0-native glib-2.0" | 15 | DEPENDS = "glib-2.0-native glib-2.0" |
16 | 16 | ||
17 | SRC_URI[archive.sha256sum] = "e48f2ddbb049832cbb09230529c5e45daca9f0df0eda325f832f7379859bf09f" | 17 | SRC_URI[archive.sha256sum] = "d8f4f1aab213179ae3351617b59dab5de6bcc9e785021eee178998ebd4bb3acf" |
18 | 18 | ||
19 | # Upstream note that for the openssl backend, half the tests where this backend don't return | 19 | # Upstream note that for the openssl backend, half the tests where this backend don't return |
20 | # the expected error code or don't work as expected so default to gnutls | 20 | # the expected error code or don't work as expected so default to gnutls |
21 | PACKAGECONFIG ??= "gnutls environment ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 21 | PACKAGECONFIG ??= "gnutls environment ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
22 | 22 | ||
23 | PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" | 23 | PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls,ca-certificates" |
24 | PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" | 24 | PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl,ca-certificates" |
25 | PACKAGECONFIG[environment] = "-Denvironment_proxy=enabled,-Denvironment_proxy=disabled" | 25 | PACKAGECONFIG[environment] = "-Denvironment_proxy=enabled,-Denvironment_proxy=disabled" |
26 | PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" | 26 | PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" |
27 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" | 27 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" |
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.39.bb b/meta/recipes-core/glibc/cross-localedef-native_2.41.bb index fed6e4ea97..95acb3fc56 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.39.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.41.bb | |||
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" | |||
3 | SECTION = "libs" | 3 | SECTION = "libs" |
4 | LICENSE = "LGPL-2.1-only" | 4 | LICENSE = "LGPL-2.1-only" |
5 | 5 | ||
6 | LIC_FILES_CHKSUM = "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ | 6 | LIC_FILES_CHKSUM = "file://LICENSES;md5=df6e0948b55669789c30764c5fd9bc41 \ |
7 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 7 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
8 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ | 8 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ |
9 | file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | 9 | file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" |
@@ -20,7 +20,7 @@ inherit native | |||
20 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" | 20 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" |
21 | 21 | ||
22 | SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | 22 | SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ |
23 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef;protocol=https \ | 23 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/localedef;protocol=https \ |
24 | \ | 24 | \ |
25 | file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ | 25 | file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ |
26 | file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ | 26 | file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ |
@@ -37,8 +37,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
37 | # | 37 | # |
38 | SRCREV_FORMAT = "glibc_localedef" | 38 | SRCREV_FORMAT = "glibc_localedef" |
39 | 39 | ||
40 | S = "${WORKDIR}/git" | ||
41 | |||
42 | EXTRA_OECONF = "--with-glibc=${S}" | 40 | EXTRA_OECONF = "--with-glibc=${S}" |
43 | 41 | ||
44 | # We do not need bash to run tzselect script, the default is to use | 42 | # We do not need bash to run tzselect script, the default is to use |
diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index b9516e77f0..fb62a4af94 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc | |||
@@ -2,9 +2,9 @@ SUMMARY = "GLIBC (GNU C Library)" | |||
2 | DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel." | 2 | DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel." |
3 | HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" | 3 | HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" |
4 | SECTION = "libs" | 4 | SECTION = "libs" |
5 | LICENSE = "GPL-2.0-only & LGPL-2.1-only" | 5 | LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" |
6 | 6 | ||
7 | LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ | 7 | LIC_FILES_CHKSUM ?= "file://LICENSES;md5=df6e0948b55669789c30764c5fd9bc41 \ |
8 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 8 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
9 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ | 9 | file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ |
10 | file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | 10 | file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" |
@@ -22,4 +22,6 @@ ARM_INSTRUCTION_SET:armv6 = "arm" | |||
22 | # | 22 | # |
23 | COMPATIBLE_HOST:libc-musl:class-target = "null" | 23 | COMPATIBLE_HOST:libc-musl:class-target = "null" |
24 | 24 | ||
25 | PV = "2.39+git" | 25 | PV = "2.41+git" |
26 | |||
27 | TOOLCHAIN = "gcc" | ||
diff --git a/meta/recipes-core/glibc/glibc-locale.inc b/meta/recipes-core/glibc/glibc-locale.inc index c63c9edd76..90248bbc0f 100644 --- a/meta/recipes-core/glibc/glibc-locale.inc +++ b/meta/recipes-core/glibc/glibc-locale.inc | |||
@@ -65,6 +65,8 @@ FILES:${LOCALEBASEPN}-locale-alias = "${datadir}/locale/locale.alias" | |||
65 | 65 | ||
66 | LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale" | 66 | LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale" |
67 | 67 | ||
68 | PSEUDO_INCLUDE_PATHS .= ",${WORKDIR}/locale-tree" | ||
69 | |||
68 | copy_locale_files() { | 70 | copy_locale_files() { |
69 | local dir=$1 mode=$2 | 71 | local dir=$1 mode=$2 |
70 | 72 | ||
diff --git a/meta/recipes-core/glibc/glibc-locale_2.39.bb b/meta/recipes-core/glibc/glibc-locale_2.41.bb index f7702e0358..f7702e0358 100644 --- a/meta/recipes-core/glibc/glibc-locale_2.39.bb +++ b/meta/recipes-core/glibc/glibc-locale_2.41.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.39.bb b/meta/recipes-core/glibc/glibc-mtrace_2.41.bb index 0b69bad46a..0b69bad46a 100644 --- a/meta/recipes-core/glibc/glibc-mtrace_2.39.bb +++ b/meta/recipes-core/glibc/glibc-mtrace_2.41.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 1ef987be0a..21f2200d19 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc | |||
@@ -26,6 +26,7 @@ INSANE_SKIP:${PN}-dev += "staticdev" | |||
26 | INSANE_SKIP:${MLPREFIX}ldso:append = " dev-so libdir" | 26 | INSANE_SKIP:${MLPREFIX}ldso:append = " dev-so libdir" |
27 | 27 | ||
28 | FILES:${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf" | 28 | FILES:${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf" |
29 | CONFFILES:${PN} = "${sysconfdir}/ld.so.conf" | ||
29 | RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" | 30 | RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" |
30 | FILES:ldconfig = "${base_sbindir}/ldconfig" | 31 | FILES:ldconfig = "${base_sbindir}/ldconfig" |
31 | FILES:ldd = "${bindir}/ldd" | 32 | FILES:ldd = "${bindir}/ldd" |
@@ -39,7 +40,7 @@ FILES:sln = "${base_sbindir}/sln" | |||
39 | FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" | 40 | FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" |
40 | FILES:libsotruss = "${libdir}/audit/sotruss-lib.so" | 41 | FILES:libsotruss = "${libdir}/audit/sotruss-lib.so" |
41 | FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" | 42 | FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" |
42 | FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" | 43 | FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal ${libdir}/gcc/${TARGET_SYS}/*/finclude" |
43 | RDEPENDS:${PN}-dev = "linux-libc-headers-dev" | 44 | RDEPENDS:${PN}-dev = "linux-libc-headers-dev" |
44 | FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" | 45 | FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" |
45 | FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${nonarch_libdir}/tmpfiles.d/nscd.conf \ | 46 | FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${nonarch_libdir}/tmpfiles.d/nscd.conf \ |
@@ -69,9 +70,9 @@ inherit multilib_header | |||
69 | 70 | ||
70 | do_install() { | 71 | do_install() { |
71 | oe_runmake install_root=${D} install | 72 | oe_runmake install_root=${D} install |
72 | install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf | 73 | install -Dm 0644 ${UNPACKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf |
73 | install -d ${D}${localedir} | 74 | install -d ${D}${localedir} |
74 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" | 75 | make -f ${UNPACKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" |
75 | # get rid of some broken files... | 76 | # get rid of some broken files... |
76 | for i in ${GLIBC_BROKEN_LOCALES}; do | 77 | for i in ${GLIBC_BROKEN_LOCALES}; do |
77 | sed -i "/$i/d" ${WORKDIR}/SUPPORTED | 78 | sed -i "/$i/d" ${WORKDIR}/SUPPORTED |
@@ -87,7 +88,7 @@ do_install() { | |||
87 | rmdir --ignore-fail-on-non-empty ${D}${libexecdir} | 88 | rmdir --ignore-fail-on-non-empty ${D}${libexecdir} |
88 | fi | 89 | fi |
89 | 90 | ||
90 | oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h | 91 | oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h bits/indirect-return.h |
91 | 92 | ||
92 | if [ -f ${D}${bindir}/mtrace ]; then | 93 | if [ -f ${D}${bindir}/mtrace ]; then |
93 | sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace | 94 | sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace |
@@ -101,7 +102,7 @@ do_install() { | |||
101 | install -d ${D}${localstatedir}/db/nscd | 102 | install -d ${D}${localstatedir}/db/nscd |
102 | install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd | 103 | install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd |
103 | install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf | 104 | install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf |
104 | install -m 0755 ${WORKDIR}/makedbs.sh ${D}${localstatedir}/db | 105 | install -m 0755 ${UNPACKDIR}/makedbs.sh ${D}${localstatedir}/db |
105 | sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd | 106 | sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd |
106 | sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf | 107 | sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf |
107 | 108 | ||
@@ -169,6 +170,12 @@ do_install_armmultilib () { | |||
169 | oe_multilib_header sys/elf.h sys/procfs.h sys/ptrace.h sys/ucontext.h sys/user.h | 170 | oe_multilib_header sys/elf.h sys/procfs.h sys/ptrace.h sys/ucontext.h sys/user.h |
170 | } | 171 | } |
171 | 172 | ||
173 | do_install_armmultilib:append:class-target() { | ||
174 | gcc_version=$($CC -dumpversion) | ||
175 | mkdir -p ${D}${libdir}/gcc/${TARGET_SYS}/${gcc_version}/finclude | ||
176 | mv ${D}${includedir}/finclude/math-vector-fortran.h ${D}${libdir}/gcc/${TARGET_SYS}/${gcc_version}/finclude/ | ||
177 | rmdir --ignore-fail-on-non-empty ${D}${includedir}/finclude | ||
178 | } | ||
172 | 179 | ||
173 | LOCALESTASH = "${WORKDIR}/stashed-locale" | 180 | LOCALESTASH = "${WORKDIR}/stashed-locale" |
174 | bashscripts = "mtrace sotruss xtrace" | 181 | bashscripts = "mtrace sotruss xtrace" |
@@ -286,7 +293,7 @@ pkg_postinst:nscd () { | |||
286 | fi | 293 | fi |
287 | fi | 294 | fi |
288 | } | 295 | } |
289 | CONFFILES:nscd="${sysconfdir}/nscd.conf" | 296 | CONFFILES:nscd = "${sysconfdir}/nscd.conf" |
290 | 297 | ||
291 | SYSTEMD_PACKAGES = "nscd" | 298 | SYSTEMD_PACKAGES = "nscd" |
292 | SYSTEMD_SERVICE:nscd = "nscd.service" | 299 | SYSTEMD_SERVICE:nscd = "nscd.service" |
diff --git a/meta/recipes-core/glibc/glibc-scripts_2.39.bb b/meta/recipes-core/glibc/glibc-scripts_2.41.bb index 5a89bd8022..5a89bd8022 100644 --- a/meta/recipes-core/glibc/glibc-scripts_2.39.bb +++ b/meta/recipes-core/glibc/glibc-scripts_2.41.bb | |||
diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb b/meta/recipes-core/glibc/glibc-testsuite_2.41.bb index 2e076f4b0f..3a2764e40b 100644 --- a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb +++ b/meta/recipes-core/glibc/glibc-testsuite_2.41.bb | |||
@@ -18,7 +18,7 @@ TOOLCHAIN_TEST_HOST_PORT ??= "2222" | |||
18 | do_check[nostamp] = "1" | 18 | do_check[nostamp] = "1" |
19 | do_check[network] = "1" | 19 | do_check[network] = "1" |
20 | do_check:append () { | 20 | do_check:append () { |
21 | chmod 0755 ${WORKDIR}/check-test-wrapper | 21 | chmod 0755 ${UNPACKDIR}/check-test-wrapper |
22 | 22 | ||
23 | oe_runmake -i \ | 23 | oe_runmake -i \ |
24 | QEMU_SYSROOT="${RECIPE_SYSROOT}" \ | 24 | QEMU_SYSROOT="${RECIPE_SYSROOT}" \ |
@@ -26,7 +26,7 @@ do_check:append () { | |||
26 | SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ | 26 | SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ |
27 | SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ | 27 | SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ |
28 | SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ | 28 | SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ |
29 | test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ | 29 | test-wrapper="${UNPACKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ |
30 | check | 30 | check |
31 | } | 31 | } |
32 | 32 | ||
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index 618a574566..2d31131e03 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc | |||
@@ -1,10 +1,8 @@ | |||
1 | SRCBRANCH ?= "release/2.39/master" | 1 | SRCBRANCH ?= "release/2.41/master" |
2 | PV = "2.39+git" | 2 | PV = "2.41+git" |
3 | SRCREV_glibc ?= "1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c" | 3 | SRCREV_glibc ?= "0c76c951620f9e12df2a89b2c684878b55bb6795" |
4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" | 4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" |
5 | 5 | ||
6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" | 6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" |
7 | 7 | ||
8 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)" | 8 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)" |
9 | |||
10 | CVE_STATUS[CVE-2023-4911] = "fixed-version: Fixed in stable branch updates" | ||
diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb deleted file mode 100644 index be49ca4cb7..0000000000 --- a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb +++ /dev/null | |||
@@ -1,119 +0,0 @@ | |||
1 | require glibc_${PV}.bb | ||
2 | require glibc-tests.inc | ||
3 | |||
4 | inherit ptest features_check | ||
5 | REQUIRED_DISTRO_FEATURES = "ptest" | ||
6 | |||
7 | SRC_URI += "\ | ||
8 | file://run-ptest \ | ||
9 | " | ||
10 | |||
11 | SUMMARY = "glibc tests using time32/time64 interfaces to be run with ptest for the purpose of checking y2038 compatiblity" | ||
12 | |||
13 | # Erase some variables already set by glibc_${PV} | ||
14 | python __anonymous() { | ||
15 | # Remove packages provided by glibc build, we only need a subset of them | ||
16 | d.setVar("PACKAGES", "${PN} ${PN}-ptest") | ||
17 | |||
18 | d.setVar("PROVIDES", "${PN} ${PN}-ptest") | ||
19 | |||
20 | bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip() | ||
21 | d.setVar("BBCLASSEXTEND", bbclassextend) | ||
22 | d.setVar("RRECOMMENDS", "") | ||
23 | d.setVar("SYSTEMD_SERVICE:nscd", "") | ||
24 | d.setVar("SYSTEMD_PACKAGES", "") | ||
25 | } | ||
26 | |||
27 | # Remove any leftovers from original glibc recipe | ||
28 | RPROVIDES:${PN} = "${PN}" | ||
29 | RRECOMMENDS:${PN} = "" | ||
30 | RDEPENDS:${PN} = "glibc libgcc sed bash" | ||
31 | RDEPENDS:${PN}-ptest = "${PN}" | ||
32 | DEPENDS += "sed" | ||
33 | |||
34 | export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/" | ||
35 | |||
36 | # Just build tests for target - do not run them | ||
37 | do_check:append () { | ||
38 | oe_runmake -i check run-built-tests=no | ||
39 | } | ||
40 | addtask do_check after do_compile before do_install_ptest_base | ||
41 | |||
42 | glibc_strip_build_directory () { | ||
43 | # Delete all non executable files from build directory | ||
44 | find ${B} ! -executable -type f -delete | ||
45 | |||
46 | # Remove build dynamic libraries and links to them as | ||
47 | # those are already installed in the target device | ||
48 | find ${B} -type f -name "*.so" -delete | ||
49 | find ${B} -type l -name "*.so*" -delete | ||
50 | |||
51 | # Remove headers (installed with glibc) | ||
52 | find ${B} -type f -name "*.h" -delete | ||
53 | |||
54 | find ${B} -type f -name "isomac" -delete | ||
55 | find ${B} -type f -name "annexc" -delete | ||
56 | } | ||
57 | |||
58 | do_install_ptest_base () { | ||
59 | glibc_strip_build_directory | ||
60 | |||
61 | ls -r ${B}/*/*-time64 > ${B}/tst_time64 | ||
62 | |||
63 | # Remove '-time64' suffix - those tests are also time related | ||
64 | sed -e "s/-time64$//" ${B}/tst_time64 > ${B}/tst_time_tmp | ||
65 | tst_time=$(cat ${B}/tst_time_tmp ${B}/tst_time64) | ||
66 | |||
67 | rm ${B}/tst_time_tmp ${B}/tst_time64 | ||
68 | echo "${tst_time}" | ||
69 | |||
70 | # Install build test programs to the image | ||
71 | install -d ${D}${PTEST_PATH}/tests/glibc-ptest/ | ||
72 | |||
73 | for f in "${tst_time}" | ||
74 | do | ||
75 | cp -r ${f} ${D}${PTEST_PATH}/tests/glibc-ptest/ | ||
76 | done | ||
77 | |||
78 | install -d ${D}${PTEST_PATH} | ||
79 | cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/ | ||
80 | |||
81 | } | ||
82 | |||
83 | # The datadir directory is required to allow core (and reused) | ||
84 | # glibc cleanup function to finish correctly, as this directory | ||
85 | # is not created for ptests | ||
86 | stash_locale_package_cleanup:prepend () { | ||
87 | mkdir -p ${PKGD}${datadir} | ||
88 | } | ||
89 | |||
90 | stash_locale_sysroot_cleanup:prepend () { | ||
91 | mkdir -p ${SYSROOT_DESTDIR}${datadir} | ||
92 | } | ||
93 | |||
94 | # Prevent the do_package() task to set 'libc6' prefix | ||
95 | # for glibc tests related packages | ||
96 | python populate_packages:prepend () { | ||
97 | if d.getVar('DEBIAN_NAMES'): | ||
98 | d.setVar('DEBIAN_NAMES', '') | ||
99 | } | ||
100 | |||
101 | FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*" | ||
102 | |||
103 | EXCLUDE_FROM_SHLIBS = "1" | ||
104 | |||
105 | # Install debug data in .debug and sources in /usr/src/debug | ||
106 | # It is more handy to have _all_ the sources and symbols in one | ||
107 | # place (package) as this recipe will be used for validation and | ||
108 | # debugging. | ||
109 | PACKAGE_DEBUG_SPLIT_STYLE = ".debug" | ||
110 | |||
111 | # glibc test cases violate by default some Yocto/OE checks (staticdev, | ||
112 | # textrel) | ||
113 | # 'debug-files' - add everything (including debug) into one package | ||
114 | # (no need to install/build *-src package) | ||
115 | INSANE_SKIP:${PN} += "staticdev textrel debug-files rpaths" | ||
116 | |||
117 | deltask do_stash_locale | ||
118 | do_install[noexec] = "1" | ||
119 | do_populate_sysroot[noexec] = "1" | ||
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index b08a70aa46..d8f20c87dd 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc | |||
@@ -1,7 +1,7 @@ | |||
1 | require glibc-common.inc | 1 | require glibc-common.inc |
2 | require glibc-ld.inc | 2 | require glibc-ld.inc |
3 | 3 | ||
4 | DEPENDS = "virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils libgcc-initial linux-libc-headers" | 4 | DEPENDS = "virtual/cross-cc virtual/cross-binutils libgcc-initial linux-libc-headers" |
5 | 5 | ||
6 | PROVIDES = "virtual/libc" | 6 | PROVIDES = "virtual/libc" |
7 | PROVIDES += "virtual/libintl virtual/libiconv" | 7 | PROVIDES += "virtual/libintl virtual/libiconv" |
diff --git a/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch b/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch new file mode 100644 index 0000000000..b42b186418 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | From 603e50d6b8ccadb32d59b0497f76629665c1794b Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 16 Apr 2025 19:51:01 -0700 | ||
4 | Subject: [PATCH] Propagate -ffile-prefix-map from CFLAGS to ASFLAGS. | ||
5 | |||
6 | Upstream-Status: Submitted [https://sourceware.org/pipermail/libc-alpha/2025-April/165969.html] | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | Makeconfig | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/Makeconfig b/Makeconfig | ||
13 | index e35c5cfe4e..7a19c731c6 100644 | ||
14 | --- a/Makeconfig | ||
15 | +++ b/Makeconfig | ||
16 | @@ -1172,7 +1172,7 @@ endif | ||
17 | |||
18 | # The assembler can generate debug information too. | ||
19 | ifndef ASFLAGS | ||
20 | -ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS)) | ||
21 | +ASFLAGS := $(filter -g% -fdebug-prefix-map=% -ffile-prefix-map=%,$(CFLAGS)) | ||
22 | endif | ||
23 | override ASFLAGS += -Werror=undef $(ASFLAGS-config) $(asflags-cpu) | ||
24 | |||
diff --git a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch index 4f919078dd..dbe3ce8c32 100644 --- a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch +++ b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 544d23dea91b2be793c805b9e4bce8cd1d28121f Mon Sep 17 00:00:00 2001 | 1 | From cecd20fa2ff3ee2bd887b1d427088f32678cc04f Mon Sep 17 00:00:00 2001 |
2 | From: Jason Wessel <jason.wessel@windriver.com> | 2 | From: Jason Wessel <jason.wessel@windriver.com> |
3 | Date: Sat, 7 Dec 2019 09:59:22 -0800 | 3 | Date: Sat, 7 Dec 2019 09:59:22 -0800 |
4 | Subject: [PATCH] localedef: Add hardlink resolver from util-linux | 4 | Subject: [PATCH] localedef: Add hardlink resolver from util-linux |
diff --git a/meta/recipes-core/glibc/glibc/0001-stdlib-Add-single-threaded-fast-path-to-rand.patch b/meta/recipes-core/glibc/glibc/0001-stdlib-Add-single-threaded-fast-path-to-rand.patch new file mode 100644 index 0000000000..736fc51f38 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-stdlib-Add-single-threaded-fast-path-to-rand.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 4f54b0dfc16dbe0df86afccb90e447df5f7f571e Mon Sep 17 00:00:00 2001 | ||
2 | From: Wilco Dijkstra <wilco.dijkstra@arm.com> | ||
3 | Date: Mon, 18 Mar 2024 15:18:20 +0000 | ||
4 | Subject: [PATCH] stdlib: Add single-threaded fast path to rand() | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Improve performance of rand() and __random() by adding a single-threaded | ||
10 | fast path. Bench-random-lock shows about 5x speedup on Neoverse V1. | ||
11 | |||
12 | Upstream-Status: Backport [be0cfd848d9ad7378800d6302bc11467cf2b514f] | ||
13 | |||
14 | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> | ||
15 | Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> | ||
16 | --- | ||
17 | stdlib/random.c | 7 +++++++ | ||
18 | 1 file changed, 7 insertions(+) | ||
19 | |||
20 | diff --git a/stdlib/random.c b/stdlib/random.c | ||
21 | index 17cc61ba8f55..5d482a857065 100644 | ||
22 | --- a/stdlib/random.c | ||
23 | +++ b/stdlib/random.c | ||
24 | @@ -51,6 +51,7 @@ | ||
25 | SUCH DAMAGE.*/ | ||
26 | |||
27 | #include <libc-lock.h> | ||
28 | +#include <sys/single_threaded.h> | ||
29 | #include <limits.h> | ||
30 | #include <stddef.h> | ||
31 | #include <stdlib.h> | ||
32 | @@ -288,6 +289,12 @@ __random (void) | ||
33 | { | ||
34 | int32_t retval; | ||
35 | |||
36 | + if (SINGLE_THREAD_P) | ||
37 | + { | ||
38 | + (void) __random_r (&unsafe_state, &retval); | ||
39 | + return retval; | ||
40 | + } | ||
41 | + | ||
42 | __libc_lock_lock (lock); | ||
43 | |||
44 | (void) __random_r (&unsafe_state, &retval); | ||
45 | -- | ||
46 | 2.34.1 | ||
47 | |||
diff --git a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch index 7c8fa973ec..59d71a0d8b 100644 --- a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch +++ b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ebb1e37285ab541135005cfe945b7a58e4b95040 Mon Sep 17 00:00:00 2001 | 1 | From e31f032ae87ba38645c66dd7d2dfaa8606602e70 Mon Sep 17 00:00:00 2001 |
2 | From: Jason Wessel <jason.wessel@windriver.com> | 2 | From: Jason Wessel <jason.wessel@windriver.com> |
3 | Date: Sat, 7 Dec 2019 10:01:37 -0800 | 3 | Date: Sat, 7 Dec 2019 10:01:37 -0800 |
4 | Subject: [PATCH] localedef: fix-ups hardlink to make it compile | 4 | Subject: [PATCH] localedef: fix-ups hardlink to make it compile |
diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index bd4b5aa98b..0f7db0d500 100644 --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | From 9770abfda8e85fe027f95871bc03450d05b1e2c8 Mon Sep 17 00:00:00 2001 | 1 | From f794ec18764a59ad45e242092e2ae6f5e3b19761 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 01:48:24 +0000 | 3 | Date: Sat, 3 Feb 2024 13:54:16 -0800 |
4 | Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well | 4 | Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [embedded specific] | 6 | Upstream-Status: Inappropriate [embedded specific] |
@@ -30,25 +30,25 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
30 | 1 file changed, 8 insertions(+), 8 deletions(-) | 30 | 1 file changed, 8 insertions(+), 8 deletions(-) |
31 | 31 | ||
32 | diff --git a/elf/dl-load.c b/elf/dl-load.c | 32 | diff --git a/elf/dl-load.c b/elf/dl-load.c |
33 | index ce8fdea302..1f502eb026 100644 | 33 | index f905578a65..d4dd0fbc2a 100644 |
34 | --- a/elf/dl-load.c | 34 | --- a/elf/dl-load.c |
35 | +++ b/elf/dl-load.c | 35 | +++ b/elf/dl-load.c |
36 | @@ -2105,6 +2105,14 @@ _dl_map_object (struct link_map *loader, const char *name, | 36 | @@ -2038,6 +2038,14 @@ _dl_map_object (struct link_map *loader, const char *name, |
37 | } | 37 | &loader->l_runpath_dirs, &realname, &fb, loader, |
38 | } | 38 | LA_SER_RUNPATH, &found_other_class); |
39 | 39 | ||
40 | + /* try the default path. */ | 40 | + /* Try the default path. */ |
41 | + if (fd == -1 | 41 | + if (fd == -1 |
42 | + && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL | 42 | + && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL |
43 | + || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) | 43 | + || __glibc_likely (!(l->l_flags_1 & DF_1_NODEFLIB))) |
44 | + && __rtld_search_dirs.dirs != (void *) -1) | 44 | + && __rtld_search_dirs.dirs != (void *) -1) |
45 | + fd = open_path (name, namelen, mode & __RTLD_SECURE, &__rtld_search_dirs, | 45 | + fd = open_path (name, namelen, mode, &__rtld_search_dirs, |
46 | + &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); | 46 | + &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); |
47 | + /* Finally try ld.so.cache */ | 47 | + /* Finally try ld.so.cache */ |
48 | #ifdef USE_LDCONFIG | 48 | #ifdef USE_LDCONFIG |
49 | if (fd == -1 | 49 | if (fd == -1 |
50 | && (__glibc_likely ((mode & __RTLD_SECURE) == 0) | 50 | && (__glibc_likely ((mode & __RTLD_SECURE) == 0) |
51 | @@ -2163,14 +2171,6 @@ _dl_map_object (struct link_map *loader, const char *name, | 51 | @@ -2096,14 +2104,6 @@ _dl_map_object (struct link_map *loader, const char *name, |
52 | } | 52 | } |
53 | #endif | 53 | #endif |
54 | 54 | ||
diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index 19fc561a06..d9731a6fb7 100644 --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 587b92ff99e6d8f59c461ee8beecae39d8818f7e Mon Sep 17 00:00:00 2001 | 1 | From e8af7c91033875cfaf419c840d3283d71eb72d50 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 01:50:00 +0000 | 3 | Date: Wed, 18 Mar 2015 01:50:00 +0000 |
4 | Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK | 4 | Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK |
@@ -21,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
21 | 1 file changed, 12 insertions(+) | 21 | 1 file changed, 12 insertions(+) |
22 | 22 | ||
23 | diff --git a/elf/dl-load.c b/elf/dl-load.c | 23 | diff --git a/elf/dl-load.c b/elf/dl-load.c |
24 | index 1f502eb026..c4a543fb00 100644 | 24 | index d4dd0fbc2a..0cd5221d6a 100644 |
25 | --- a/elf/dl-load.c | 25 | --- a/elf/dl-load.c |
26 | +++ b/elf/dl-load.c | 26 | +++ b/elf/dl-load.c |
27 | @@ -1802,7 +1802,19 @@ open_path (const char *name, size_t namelen, int mode, | 27 | @@ -1749,7 +1749,19 @@ open_path (const char *name, size_t namelen, int mode, |
28 | given on the command line when rtld is run directly. */ | 28 | given on the command line when rtld is run directly. */ |
29 | return -1; | 29 | return -1; |
30 | 30 | ||
diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 55892417f4..0ee03c95d8 100644 --- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 49caf586b80ba030a0ee4af9f6128ff2979ea636 Mon Sep 17 00:00:00 2001 | 1 | From d7c4488ff48992631e14a53c27252790eaefe928 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 01:51:38 +0000 | 3 | Date: Wed, 18 Mar 2015 01:51:38 +0000 |
4 | Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths | 4 | Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths |
@@ -26,10 +26,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
26 | 8 files changed, 15 insertions(+), 10 deletions(-) | 26 | 8 files changed, 15 insertions(+), 10 deletions(-) |
27 | 27 | ||
28 | diff --git a/elf/dl-cache.c b/elf/dl-cache.c | 28 | diff --git a/elf/dl-cache.c b/elf/dl-cache.c |
29 | index 85f3f179ed..cc55887c56 100644 | 29 | index 300aa1b6dd..6df873e08b 100644 |
30 | --- a/elf/dl-cache.c | 30 | --- a/elf/dl-cache.c |
31 | +++ b/elf/dl-cache.c | 31 | +++ b/elf/dl-cache.c |
32 | @@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size, | 32 | @@ -336,6 +336,10 @@ search_cache (const char *string_table, uint32_t string_table_size, |
33 | return best; | 33 | return best; |
34 | } | 34 | } |
35 | 35 | ||
@@ -41,10 +41,10 @@ index 85f3f179ed..cc55887c56 100644 | |||
41 | _dl_cache_libcmp (const char *p1, const char *p2) | 41 | _dl_cache_libcmp (const char *p1, const char *p2) |
42 | { | 42 | { |
43 | diff --git a/elf/dl-load.c b/elf/dl-load.c | 43 | diff --git a/elf/dl-load.c b/elf/dl-load.c |
44 | index c4a543fb00..27fb70f09b 100644 | 44 | index 0cd5221d6a..9b9593f8d8 100644 |
45 | --- a/elf/dl-load.c | 45 | --- a/elf/dl-load.c |
46 | +++ b/elf/dl-load.c | 46 | +++ b/elf/dl-load.c |
47 | @@ -117,8 +117,8 @@ enum { ncapstr = 1, max_capstrlen = 0 }; | 47 | @@ -107,8 +107,8 @@ enum { ncapstr = 1, max_capstrlen = 0 }; |
48 | gen-trusted-dirs.awk. */ | 48 | gen-trusted-dirs.awk. */ |
49 | #include "trusted-dirs.h" | 49 | #include "trusted-dirs.h" |
50 | 50 | ||
@@ -56,7 +56,7 @@ index c4a543fb00..27fb70f09b 100644 | |||
56 | SYSTEM_DIRS_LEN | 56 | SYSTEM_DIRS_LEN |
57 | }; | 57 | }; |
58 | diff --git a/elf/dl-usage.c b/elf/dl-usage.c | 58 | diff --git a/elf/dl-usage.c b/elf/dl-usage.c |
59 | index 5baac4ba8e..60097ad0e2 100644 | 59 | index c6d13ac2ee..1dac82102d 100644 |
60 | --- a/elf/dl-usage.c | 60 | --- a/elf/dl-usage.c |
61 | +++ b/elf/dl-usage.c | 61 | +++ b/elf/dl-usage.c |
62 | @@ -25,6 +25,8 @@ | 62 | @@ -25,6 +25,8 @@ |
@@ -87,7 +87,7 @@ index 5baac4ba8e..60097ad0e2 100644 | |||
87 | print_hwcaps_subdirectories (state); | 87 | print_hwcaps_subdirectories (state); |
88 | _exit (EXIT_SUCCESS); | 88 | _exit (EXIT_SUCCESS); |
89 | diff --git a/elf/interp.c b/elf/interp.c | 89 | diff --git a/elf/interp.c b/elf/interp.c |
90 | index 8b705824bf..7d094829f3 100644 | 90 | index cc49e13c86..394c1ce0c5 100644 |
91 | --- a/elf/interp.c | 91 | --- a/elf/interp.c |
92 | +++ b/elf/interp.c | 92 | +++ b/elf/interp.c |
93 | @@ -18,5 +18,5 @@ | 93 | @@ -18,5 +18,5 @@ |
@@ -98,10 +98,10 @@ index 8b705824bf..7d094829f3 100644 | |||
98 | +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) | 98 | +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) |
99 | = RUNTIME_LINKER; | 99 | = RUNTIME_LINKER; |
100 | diff --git a/elf/ldconfig.c b/elf/ldconfig.c | 100 | diff --git a/elf/ldconfig.c b/elf/ldconfig.c |
101 | index b64c54b53e..caf7001745 100644 | 101 | index 1432187e9b..0654e02389 100644 |
102 | --- a/elf/ldconfig.c | 102 | --- a/elf/ldconfig.c |
103 | +++ b/elf/ldconfig.c | 103 | +++ b/elf/ldconfig.c |
104 | @@ -150,6 +150,8 @@ static struct argp argp = | 104 | @@ -151,6 +151,8 @@ static struct argp argp = |
105 | options, parse_opt, NULL, doc, NULL, more_help, NULL | 105 | options, parse_opt, NULL, doc, NULL, more_help, NULL |
106 | }; | 106 | }; |
107 | 107 | ||
@@ -111,7 +111,7 @@ index b64c54b53e..caf7001745 100644 | |||
111 | static error_t | 111 | static error_t |
112 | parse_opt (int key, char *arg, struct argp_state *state) | 112 | parse_opt (int key, char *arg, struct argp_state *state) |
113 | diff --git a/elf/rtld.c b/elf/rtld.c | 113 | diff --git a/elf/rtld.c b/elf/rtld.c |
114 | index 4f494b792e..d1c1252188 100644 | 114 | index f32058bba6..434ea6d0c5 100644 |
115 | --- a/elf/rtld.c | 115 | --- a/elf/rtld.c |
116 | +++ b/elf/rtld.c | 116 | +++ b/elf/rtld.c |
117 | @@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p) | 117 | @@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p) |
@@ -123,7 +123,7 @@ index 4f494b792e..d1c1252188 100644 | |||
123 | static void | 123 | static void |
124 | audit_list_init (struct audit_list *list) | 124 | audit_list_init (struct audit_list *list) |
125 | diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c | 125 | diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c |
126 | index 1063c31a2b..57fa832e52 100644 | 126 | index 41ab0768c9..7c48c2b328 100644 |
127 | --- a/iconv/gconv_conf.c | 127 | --- a/iconv/gconv_conf.c |
128 | +++ b/iconv/gconv_conf.c | 128 | +++ b/iconv/gconv_conf.c |
129 | @@ -35,7 +35,7 @@ | 129 | @@ -35,7 +35,7 @@ |
@@ -136,7 +136,7 @@ index 1063c31a2b..57fa832e52 100644 | |||
136 | /* Type to represent search path. */ | 136 | /* Type to represent search path. */ |
137 | struct path_elem | 137 | struct path_elem |
138 | diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h | 138 | diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h |
139 | index 919e49ffc8..cd3f8ba94b 100644 | 139 | index 0ee6571315..792308c0ab 100644 |
140 | --- a/sysdeps/generic/dl-cache.h | 140 | --- a/sysdeps/generic/dl-cache.h |
141 | +++ b/sysdeps/generic/dl-cache.h | 141 | +++ b/sysdeps/generic/dl-cache.h |
142 | @@ -34,10 +34,6 @@ | 142 | @@ -34,10 +34,6 @@ |
diff --git a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index 56eaaed4b7..597923e792 100644 --- a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 3a94365c730d174a3c30c6d9282e6ca12d9ad091 Mon Sep 17 00:00:00 2001 | 1 | From 9b408439eb042c4fc5cb33c8929dea419bf25b41 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 31 Dec 2015 14:35:35 -0800 | 3 | Date: Thu, 31 Dec 2015 14:35:35 -0800 |
4 | Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 | 4 | Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 |
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 1 file changed, 1 insertion(+), 6 deletions(-) | 17 | 1 file changed, 1 insertion(+), 6 deletions(-) |
18 | 18 | ||
19 | diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h | 19 | diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h |
20 | index cfd395087b..28a937c468 100644 | 20 | index 5452716d22..8c7408feb4 100644 |
21 | --- a/sysdeps/x86/atomic-machine.h | 21 | --- a/sysdeps/x86/atomic-machine.h |
22 | +++ b/sysdeps/x86/atomic-machine.h | 22 | +++ b/sysdeps/x86/atomic-machine.h |
23 | @@ -26,19 +26,14 @@ | 23 | @@ -26,19 +26,14 @@ |
diff --git a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 54c085a714..2886d461c8 100644 --- a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 296bdde0683aa55cdea0fd0cab05ff8fbc462b17 Mon Sep 17 00:00:00 2001 | 1 | From 1a57ab6f7d602401396a18b0270498ff9228cf64 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 3 Aug 2018 09:55:12 -0700 | 3 | Date: Fri, 3 Aug 2018 09:55:12 -0700 |
4 | Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales | 4 | Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales |
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
19 | 4 files changed, 8 insertions(+), 7 deletions(-) | 19 | 4 files changed, 8 insertions(+), 7 deletions(-) |
20 | 20 | ||
21 | diff --git a/locale/findlocale.c b/locale/findlocale.c | 21 | diff --git a/locale/findlocale.c b/locale/findlocale.c |
22 | index 8d6e4e33e3..bfe74f241d 100644 | 22 | index e5e2bd3974..bdd9b79f83 100644 |
23 | --- a/locale/findlocale.c | 23 | --- a/locale/findlocale.c |
24 | +++ b/locale/findlocale.c | 24 | +++ b/locale/findlocale.c |
25 | @@ -55,7 +55,7 @@ struct __locale_data *const _nl_C[] attribute_hidden = | 25 | @@ -55,7 +55,7 @@ struct __locale_data *const _nl_C[] attribute_hidden = |
@@ -41,7 +41,7 @@ index 8d6e4e33e3..bfe74f241d 100644 | |||
41 | else | 41 | else |
42 | /* We really have to load some data. First see whether the name is | 42 | /* We really have to load some data. First see whether the name is |
43 | diff --git a/locale/loadarchive.c b/locale/loadarchive.c | 43 | diff --git a/locale/loadarchive.c b/locale/loadarchive.c |
44 | index 452e3eb6e3..c7467aec42 100644 | 44 | index 058a467cde..af62f3c304 100644 |
45 | --- a/locale/loadarchive.c | 45 | --- a/locale/loadarchive.c |
46 | +++ b/locale/loadarchive.c | 46 | +++ b/locale/loadarchive.c |
47 | @@ -42,7 +42,7 @@ | 47 | @@ -42,7 +42,7 @@ |
@@ -54,7 +54,7 @@ index 452e3eb6e3..c7467aec42 100644 | |||
54 | /* Size of initial mapping window, optimal if large enough to | 54 | /* Size of initial mapping window, optimal if large enough to |
55 | cover the header plus the initial locale. */ | 55 | cover the header plus the initial locale. */ |
56 | diff --git a/locale/localeinfo.h b/locale/localeinfo.h | 56 | diff --git a/locale/localeinfo.h b/locale/localeinfo.h |
57 | index ed698faef1..f7efc288a5 100644 | 57 | index ab1b5e5659..92aef8d58e 100644 |
58 | --- a/locale/localeinfo.h | 58 | --- a/locale/localeinfo.h |
59 | +++ b/locale/localeinfo.h | 59 | +++ b/locale/localeinfo.h |
60 | @@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item) | 60 | @@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item) |
@@ -67,7 +67,7 @@ index ed698faef1..f7efc288a5 100644 | |||
67 | /* Load the locale data for CATEGORY from the file specified by *NAME. | 67 | /* Load the locale data for CATEGORY from the file specified by *NAME. |
68 | If *NAME is "", use environment variables as specified by POSIX, and | 68 | If *NAME is "", use environment variables as specified by POSIX, and |
69 | diff --git a/locale/programs/locale.c b/locale/programs/locale.c | 69 | diff --git a/locale/programs/locale.c b/locale/programs/locale.c |
70 | index c7ee1874e8..8281e32236 100644 | 70 | index 7e8832dc3b..7fa484f092 100644 |
71 | --- a/locale/programs/locale.c | 71 | --- a/locale/programs/locale.c |
72 | +++ b/locale/programs/locale.c | 72 | +++ b/locale/programs/locale.c |
73 | @@ -631,6 +631,7 @@ nameentcmp (const void *a, const void *b) | 73 | @@ -631,6 +631,7 @@ nameentcmp (const void *a, const void *b) |
diff --git a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch index 096764009a..025ad153d6 100644 --- a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch +++ b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 70da806febac8b2eead6ddc32451bbc1787a1d7d Mon Sep 17 00:00:00 2001 | 1 | From 789083eea1feb1249ec5817710552dc31653b36e Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 6 Mar 2021 14:48:56 -0800 | 3 | Date: Sat, 6 Mar 2021 14:48:56 -0800 |
4 | Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns | 4 | Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns |
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 5 insertions(+), 1 deletion(-) | 14 | 1 file changed, 5 insertions(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c | 16 | diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c |
17 | index 2fa57fd63d..4d0d5ff0c4 100644 | 17 | index edb22ebce6..b67684a3ba 100644 |
18 | --- a/sysdeps/unix/sysv/linux/faccessat.c | 18 | --- a/sysdeps/unix/sysv/linux/faccessat.c |
19 | +++ b/sysdeps/unix/sysv/linux/faccessat.c | 19 | +++ b/sysdeps/unix/sysv/linux/faccessat.c |
20 | @@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag) | 20 | @@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag) |
diff --git a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch index 364e5cfde8..dbb6d674d5 100644 --- a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch +++ b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 2192588942c5bc3b5fa10fc6d7433923f42e9ba0 Mon Sep 17 00:00:00 2001 | 1 | From 4a1ff3c313645aa425a0a87459c907dad1b9ca4b Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 00:31:06 +0000 | 3 | Date: Wed, 18 Mar 2015 00:31:06 +0000 |
4 | Subject: [PATCH] 'yes' within the path sets wrong config variables | 4 | Subject: [PATCH] 'yes' within the path sets wrong config variables |
@@ -20,20 +20,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
20 | sysdeps/arm/configure.ac | 4 ++-- | 20 | sysdeps/arm/configure.ac | 4 ++-- |
21 | sysdeps/mips/configure | 4 ++-- | 21 | sysdeps/mips/configure | 4 ++-- |
22 | sysdeps/mips/configure.ac | 4 ++-- | 22 | sysdeps/mips/configure.ac | 4 ++-- |
23 | sysdeps/nios2/configure | 4 ++-- | ||
24 | sysdeps/nios2/configure.ac | 4 ++-- | ||
25 | sysdeps/unix/sysv/linux/mips/configure | 4 ++-- | 23 | sysdeps/unix/sysv/linux/mips/configure | 4 ++-- |
26 | sysdeps/unix/sysv/linux/mips/configure.ac | 4 ++-- | 24 | sysdeps/unix/sysv/linux/mips/configure.ac | 4 ++-- |
27 | sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 8 ++++---- | 25 | sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 8 ++++---- |
28 | sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 8 ++++---- | 26 | sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 8 ++++---- |
29 | 12 files changed, 28 insertions(+), 28 deletions(-) | 27 | 10 files changed, 24 insertions(+), 24 deletions(-) |
28 | mode change 100644 => 100755 sysdeps/arm/configure | ||
29 | mode change 100644 => 100755 sysdeps/mips/configure | ||
30 | mode change 100644 => 100755 sysdeps/unix/sysv/linux/mips/configure | ||
31 | mode change 100644 => 100755 sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | ||
30 | 32 | ||
31 | diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure | 33 | diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure |
32 | index ca57edce47..5e91fab023 100644 | 34 | index 4bd5496a4a..6c051369fb 100755 |
33 | --- a/sysdeps/aarch64/configure | 35 | --- a/sysdeps/aarch64/configure |
34 | +++ b/sysdeps/aarch64/configure | 36 | +++ b/sysdeps/aarch64/configure |
35 | @@ -165,12 +165,12 @@ else $as_nop | 37 | @@ -157,12 +157,12 @@ else case e in #( |
36 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 38 | e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
37 | /* end confdefs.h. */ | 39 | /* end confdefs.h. */ |
38 | #ifdef __AARCH64EB__ | 40 | #ifdef __AARCH64EB__ |
39 | - yes | 41 | - yes |
@@ -42,13 +44,13 @@ index ca57edce47..5e91fab023 100644 | |||
42 | 44 | ||
43 | _ACEOF | 45 | _ACEOF |
44 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 46 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
45 | - $EGREP "yes" >/dev/null 2>&1 | 47 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
46 | + $EGREP "is_aarch64_be" >/dev/null 2>&1 | 48 | + $EGREP_TRADITIONAL "is_aarch64_be" >/dev/null 2>&1 |
47 | then : | 49 | then : |
48 | libc_cv_aarch64_be=yes | 50 | libc_cv_aarch64_be=yes |
49 | else $as_nop | 51 | else case e in #( |
50 | diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac | 52 | diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac |
51 | index 27874eceb4..8a708f2ef4 100644 | 53 | index 56d12d661d..80fca20873 100644 |
52 | --- a/sysdeps/aarch64/configure.ac | 54 | --- a/sysdeps/aarch64/configure.ac |
53 | +++ b/sysdeps/aarch64/configure.ac | 55 | +++ b/sysdeps/aarch64/configure.ac |
54 | @@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) | 56 | @@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) |
@@ -63,11 +65,13 @@ index 27874eceb4..8a708f2ef4 100644 | |||
63 | ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) | 65 | ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) |
64 | if test $libc_cv_aarch64_be = yes; then | 66 | if test $libc_cv_aarch64_be = yes; then |
65 | diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure | 67 | diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure |
66 | index 35e2918922..94d7fbe8bb 100644 | 68 | old mode 100644 |
69 | new mode 100755 | ||
70 | index 935e022c74..9f7c98bcd3 | ||
67 | --- a/sysdeps/arm/configure | 71 | --- a/sysdeps/arm/configure |
68 | +++ b/sysdeps/arm/configure | 72 | +++ b/sysdeps/arm/configure |
69 | @@ -161,12 +161,12 @@ else $as_nop | 73 | @@ -153,12 +153,12 @@ else case e in #( |
70 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 74 | e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
71 | /* end confdefs.h. */ | 75 | /* end confdefs.h. */ |
72 | #ifdef __ARM_PCS_VFP | 76 | #ifdef __ARM_PCS_VFP |
73 | - yes | 77 | - yes |
@@ -76,13 +80,13 @@ index 35e2918922..94d7fbe8bb 100644 | |||
76 | 80 | ||
77 | _ACEOF | 81 | _ACEOF |
78 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 82 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
79 | - $EGREP "yes" >/dev/null 2>&1 | 83 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
80 | + $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1 | 84 | + $EGREP_TRADITIONAL "use_arm_pcs_vfp" >/dev/null 2>&1 |
81 | then : | 85 | then : |
82 | libc_cv_arm_pcs_vfp=yes | 86 | libc_cv_arm_pcs_vfp=yes |
83 | else $as_nop | 87 | else case e in #( |
84 | diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac | 88 | diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac |
85 | index 5172e30bbe..f06dedd7c5 100644 | 89 | index cd00ddc9d9..d3831867ac 100644 |
86 | --- a/sysdeps/arm/configure.ac | 90 | --- a/sysdeps/arm/configure.ac |
87 | +++ b/sysdeps/arm/configure.ac | 91 | +++ b/sysdeps/arm/configure.ac |
88 | @@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. | 92 | @@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. |
@@ -97,10 +101,12 @@ index 5172e30bbe..f06dedd7c5 100644 | |||
97 | ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) | 101 | ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) |
98 | if test $libc_cv_arm_pcs_vfp = yes; then | 102 | if test $libc_cv_arm_pcs_vfp = yes; then |
99 | diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure | 103 | diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure |
100 | index 1e8c6711e6..ae52ccd929 100644 | 104 | old mode 100644 |
105 | new mode 100755 | ||
106 | index 60dbd947e2..e3d10d7b96 | ||
101 | --- a/sysdeps/mips/configure | 107 | --- a/sysdeps/mips/configure |
102 | +++ b/sysdeps/mips/configure | 108 | +++ b/sysdeps/mips/configure |
103 | @@ -158,11 +158,11 @@ else $as_nop | 109 | @@ -150,11 +150,11 @@ else case e in #( |
104 | /* end confdefs.h. */ | 110 | /* end confdefs.h. */ |
105 | dnl | 111 | dnl |
106 | #ifdef __mips_nan2008 | 112 | #ifdef __mips_nan2008 |
@@ -109,11 +115,11 @@ index 1e8c6711e6..ae52ccd929 100644 | |||
109 | #endif | 115 | #endif |
110 | _ACEOF | 116 | _ACEOF |
111 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 117 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
112 | - $EGREP "yes" >/dev/null 2>&1 | 118 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
113 | + $EGREP "use_mips_nan2008" >/dev/null 2>&1 | 119 | + $EGREP_TRADITIONAL "use_mips_nan2008" >/dev/null 2>&1 |
114 | then : | 120 | then : |
115 | libc_cv_mips_nan2008=yes | 121 | libc_cv_mips_nan2008=yes |
116 | else $as_nop | 122 | else case e in #( |
117 | diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac | 123 | diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac |
118 | index d3cd780d78..250223d206 100644 | 124 | index d3cd780d78..250223d206 100644 |
119 | --- a/sysdeps/mips/configure.ac | 125 | --- a/sysdeps/mips/configure.ac |
@@ -130,45 +136,13 @@ index d3cd780d78..250223d206 100644 | |||
130 | #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) | 136 | #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)]) |
131 | if test x$libc_cv_mips_nan2008 = xyes; then | 137 | if test x$libc_cv_mips_nan2008 = xyes; then |
132 | AC_DEFINE(HAVE_MIPS_NAN2008) | 138 | AC_DEFINE(HAVE_MIPS_NAN2008) |
133 | diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure | ||
134 | index 2fb230cbaa..1959d0a444 100644 | ||
135 | --- a/sysdeps/nios2/configure | ||
136 | +++ b/sysdeps/nios2/configure | ||
137 | @@ -155,12 +155,12 @@ else $as_nop | ||
138 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
139 | /* end confdefs.h. */ | ||
140 | #ifdef __nios2_big_endian__ | ||
141 | - yes | ||
142 | + is_nios2_be | ||
143 | #endif | ||
144 | |||
145 | _ACEOF | ||
146 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
147 | - $EGREP "yes" >/dev/null 2>&1 | ||
148 | + $EGREP "is_nios2_be" >/dev/null 2>&1 | ||
149 | then : | ||
150 | libc_cv_nios2_be=yes | ||
151 | else $as_nop | ||
152 | diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac | ||
153 | index f738e9a7ed..4085851cbc 100644 | ||
154 | --- a/sysdeps/nios2/configure.ac | ||
155 | +++ b/sysdeps/nios2/configure.ac | ||
156 | @@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. | ||
157 | # Nios II big endian is not yet supported. | ||
158 | AC_CACHE_CHECK([for big endian], | ||
159 | [libc_cv_nios2_be], | ||
160 | - [AC_EGREP_CPP(yes,[#ifdef __nios2_big_endian__ | ||
161 | - yes | ||
162 | + [AC_EGREP_CPP(is_nios2_be,[#ifdef __nios2_big_endian__ | ||
163 | + is_nios2_be | ||
164 | #endif | ||
165 | ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) | ||
166 | if test $libc_cv_nios2_be = yes; then | ||
167 | diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure | 139 | diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure |
168 | index a060901de4..0ac7019438 100644 | 140 | old mode 100644 |
141 | new mode 100755 | ||
142 | index 6e3402c111..a23f24ef8e | ||
169 | --- a/sysdeps/unix/sysv/linux/mips/configure | 143 | --- a/sysdeps/unix/sysv/linux/mips/configure |
170 | +++ b/sysdeps/unix/sysv/linux/mips/configure | 144 | +++ b/sysdeps/unix/sysv/linux/mips/configure |
171 | @@ -441,11 +441,11 @@ else $as_nop | 145 | @@ -443,11 +443,11 @@ else case e in #( |
172 | /* end confdefs.h. */ | 146 | /* end confdefs.h. */ |
173 | dnl | 147 | dnl |
174 | #ifdef __mips_nan2008 | 148 | #ifdef __mips_nan2008 |
@@ -177,11 +151,11 @@ index a060901de4..0ac7019438 100644 | |||
177 | #endif | 151 | #endif |
178 | _ACEOF | 152 | _ACEOF |
179 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 153 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
180 | - $EGREP "yes" >/dev/null 2>&1 | 154 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
181 | + $EGREP "use_mips_nan2008" >/dev/null 2>&1 | 155 | + $EGREP_TRADITIONAL "use_mips_nan2008" >/dev/null 2>&1 |
182 | then : | 156 | then : |
183 | libc_cv_mips_nan2008=yes | 157 | libc_cv_mips_nan2008=yes |
184 | else $as_nop | 158 | else case e in #( |
185 | diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac | 159 | diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac |
186 | index 049a0f4bdf..005526d4e8 100644 | 160 | index 049a0f4bdf..005526d4e8 100644 |
187 | --- a/sysdeps/unix/sysv/linux/mips/configure.ac | 161 | --- a/sysdeps/unix/sysv/linux/mips/configure.ac |
@@ -199,11 +173,13 @@ index 049a0f4bdf..005526d4e8 100644 | |||
199 | 173 | ||
200 | libc_mips_nan= | 174 | libc_mips_nan= |
201 | diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 175 | diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure |
202 | index cf1b70c745..0dccf6cd76 100644 | 176 | old mode 100644 |
177 | new mode 100755 | ||
178 | index 5dd70689fc..7d6c2322d3 | ||
203 | --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 179 | --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure |
204 | +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 180 | +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure |
205 | @@ -168,12 +168,12 @@ else $as_nop | 181 | @@ -160,12 +160,12 @@ else case e in #( |
206 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 182 | e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
207 | /* end confdefs.h. */ | 183 | /* end confdefs.h. */ |
208 | #if _CALL_ELF == 2 | 184 | #if _CALL_ELF == 2 |
209 | - yes | 185 | - yes |
@@ -212,13 +188,13 @@ index cf1b70c745..0dccf6cd76 100644 | |||
212 | 188 | ||
213 | _ACEOF | 189 | _ACEOF |
214 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 190 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
215 | - $EGREP "yes" >/dev/null 2>&1 | 191 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
216 | + $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1 | 192 | + $EGREP_TRADITIONAL "use_ppc_elfv2_abi" >/dev/null 2>&1 |
217 | then : | 193 | then : |
218 | libc_cv_ppc64_elfv2_abi=yes | 194 | libc_cv_ppc64_elfv2_abi=yes |
219 | else $as_nop | 195 | else case e in #( |
220 | @@ -203,12 +203,12 @@ else $as_nop | 196 | @@ -197,12 +197,12 @@ else case e in #( |
221 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 197 | e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
222 | /* end confdefs.h. */ | 198 | /* end confdefs.h. */ |
223 | #ifdef _CALL_ELF | 199 | #ifdef _CALL_ELF |
224 | - yes | 200 | - yes |
@@ -227,11 +203,11 @@ index cf1b70c745..0dccf6cd76 100644 | |||
227 | 203 | ||
228 | _ACEOF | 204 | _ACEOF |
229 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 205 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
230 | - $EGREP "yes" >/dev/null 2>&1 | 206 | - $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 |
231 | + $EGREP "is_def_call_elf" >/dev/null 2>&1 | 207 | + $EGREP_TRADITIONAL "is_def_call_elf" >/dev/null 2>&1 |
232 | then : | 208 | then : |
233 | libc_cv_ppc64_def_call_elf=yes | 209 | libc_cv_ppc64_def_call_elf=yes |
234 | else $as_nop | 210 | else case e in #( |
235 | diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 211 | diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac |
236 | index f9cba6e15d..b21f72f1e4 100644 | 212 | index f9cba6e15d..b21f72f1e4 100644 |
237 | --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 213 | --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac |
diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch index d7f15c1cfa..b1bed71f2b 100644 --- a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch +++ b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ce8b13bdf488058754fce573754cea0b022c37e2 Mon Sep 17 00:00:00 2001 | 1 | From 7d158af5750b351b3b08e78bb6c5fe80e7cb36ba Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 00:42:58 +0000 | 3 | Date: Wed, 18 Mar 2015 00:42:58 +0000 |
4 | Subject: [PATCH] eglibc: Cross building and testing instructions | 4 | Subject: [PATCH] eglibc: Cross building and testing instructions |
diff --git a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch index 82a3292655..13190125eb 100644 --- a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 65b79161b9e2848a174d3519a03348884f182975 Mon Sep 17 00:00:00 2001 | 1 | From 435b57e8327555b273a52df672b2611050a8c579 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 00:49:28 +0000 | 3 | Date: Wed, 18 Mar 2015 00:49:28 +0000 |
4 | Subject: [PATCH] eglibc: Help bootstrap cross toolchain | 4 | Subject: [PATCH] eglibc: Help bootstrap cross toolchain |
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
29 | create mode 100644 include/stubs-bootstrap.h | 29 | create mode 100644 include/stubs-bootstrap.h |
30 | 30 | ||
31 | diff --git a/Makefile b/Makefile | 31 | diff --git a/Makefile b/Makefile |
32 | index 7052b46df8..46073abaa8 100644 | 32 | index 97b4328af8..5c20ed3cff 100644 |
33 | --- a/Makefile | 33 | --- a/Makefile |
34 | +++ b/Makefile | 34 | +++ b/Makefile |
35 | @@ -79,9 +79,18 @@ subdir-dirs = include | 35 | @@ -79,9 +79,18 @@ subdir-dirs = include |
diff --git a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch index e726a9e76f..780aff1e7d 100644 --- a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 07a5fa22a9a8bbd43982c1b35132f8c2d5276bfe Mon Sep 17 00:00:00 2001 | 1 | From 46937c30c52cf186609bee1ec927464d395afb30 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 00:55:53 +0000 | 3 | Date: Wed, 18 Mar 2015 00:55:53 +0000 |
4 | Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 | 4 | Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 |
@@ -33,7 +33,7 @@ index 3ad702e165..931985b5d6 100644 | |||
33 | # a* | 33 | # a* |
34 | alphasort64; | 34 | alphasort64; |
35 | diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S | 35 | diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S |
36 | index d5d8c5e033..f356d02077 100644 | 36 | index db898e9e39..6e2972e814 100644 |
37 | --- a/sysdeps/unix/sysv/linux/sh/sysdep.S | 37 | --- a/sysdeps/unix/sysv/linux/sh/sysdep.S |
38 | +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S | 38 | +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S |
39 | @@ -30,3 +30,14 @@ ENTRY (__syscall_error) | 39 | @@ -30,3 +30,14 @@ ENTRY (__syscall_error) |
diff --git a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch index f36b7f6f4c..8f9bbb6cf3 100644 --- a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 33e9867758e830e19d181d5a0aa7f2f3cc4a08b3 Mon Sep 17 00:00:00 2001 | 1 | From 68dcae2527a64a4448334fdfe27c7b6014589aae Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 01:33:49 +0000 | 3 | Date: Wed, 18 Mar 2015 01:33:49 +0000 |
4 | Subject: [PATCH] eglibc: Forward port cross locale generation support | 4 | Subject: [PATCH] eglibc: Forward port cross locale generation support |
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
23 | create mode 100644 locale/catnames.c | 23 | create mode 100644 locale/catnames.c |
24 | 24 | ||
25 | diff --git a/locale/Makefile b/locale/Makefile | 25 | diff --git a/locale/Makefile b/locale/Makefile |
26 | index 2810f28605..05f847f9a6 100644 | 26 | index 9d9c1a7691..bf271fd0a8 100644 |
27 | --- a/locale/Makefile | 27 | --- a/locale/Makefile |
28 | +++ b/locale/Makefile | 28 | +++ b/locale/Makefile |
29 | @@ -30,6 +30,7 @@ headers = \ | 29 | @@ -30,6 +30,7 @@ headers = \ |
@@ -87,7 +87,7 @@ index 0000000000..538f3f5edb | |||
87 | + [LC_ALL] = sizeof ("LC_ALL") - 1 | 87 | + [LC_ALL] = sizeof ("LC_ALL") - 1 |
88 | + }; | 88 | + }; |
89 | diff --git a/locale/localeinfo.h b/locale/localeinfo.h | 89 | diff --git a/locale/localeinfo.h b/locale/localeinfo.h |
90 | index f7efc288a5..6ef082eb25 100644 | 90 | index 92aef8d58e..ae23b2f7fe 100644 |
91 | --- a/locale/localeinfo.h | 91 | --- a/locale/localeinfo.h |
92 | +++ b/locale/localeinfo.h | 92 | +++ b/locale/localeinfo.h |
93 | @@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) | 93 | @@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) |
@@ -100,7 +100,7 @@ index f7efc288a5..6ef082eb25 100644 | |||
100 | # define NL_CURRENT_INDIRECT 1 | 100 | # define NL_CURRENT_INDIRECT 1 |
101 | #endif | 101 | #endif |
102 | diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c | 102 | diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c |
103 | index 36504f238d..56ee97e61b 100644 | 103 | index e635a01ede..10e34a6da9 100644 |
104 | --- a/locale/programs/charmap-dir.c | 104 | --- a/locale/programs/charmap-dir.c |
105 | +++ b/locale/programs/charmap-dir.c | 105 | +++ b/locale/programs/charmap-dir.c |
106 | @@ -18,7 +18,9 @@ | 106 | @@ -18,7 +18,9 @@ |
@@ -146,7 +146,7 @@ index 36504f238d..56ee97e61b 100644 | |||
146 | return NULL; | 146 | return NULL; |
147 | } | 147 | } |
148 | diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c | 148 | diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c |
149 | index 5048adbd9f..4232834ead 100644 | 149 | index 7de3ba064d..3256427d21 100644 |
150 | --- a/locale/programs/ld-collate.c | 150 | --- a/locale/programs/ld-collate.c |
151 | +++ b/locale/programs/ld-collate.c | 151 | +++ b/locale/programs/ld-collate.c |
152 | @@ -352,7 +352,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, | 152 | @@ -352,7 +352,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, |
@@ -195,7 +195,7 @@ index 5048adbd9f..4232834ead 100644 | |||
195 | == runp->wcnext->wcs[runp->nwcs - 1] + 1)); | 195 | == runp->wcnext->wcs[runp->nwcs - 1] + 1)); |
196 | 196 | ||
197 | diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c | 197 | diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c |
198 | index eb6e7e145c..14736d1cac 100644 | 198 | index 15fd39c637..d4c5e0c9e7 100644 |
199 | --- a/locale/programs/ld-ctype.c | 199 | --- a/locale/programs/ld-ctype.c |
200 | +++ b/locale/programs/ld-ctype.c | 200 | +++ b/locale/programs/ld-ctype.c |
201 | @@ -914,7 +914,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, | 201 | @@ -914,7 +914,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, |
@@ -277,7 +277,7 @@ index eb6e7e145c..14736d1cac 100644 | |||
277 | srunp = srunp->next; | 277 | srunp = srunp->next; |
278 | } | 278 | } |
279 | diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c | 279 | diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c |
280 | index 1abff3cf53..8a2f2b820a 100644 | 280 | index 9529d7945a..554454b9c1 100644 |
281 | --- a/locale/programs/ld-time.c | 281 | --- a/locale/programs/ld-time.c |
282 | +++ b/locale/programs/ld-time.c | 282 | +++ b/locale/programs/ld-time.c |
283 | @@ -219,8 +219,10 @@ No definition for %s category found"), "LC_TIME"); | 283 | @@ -219,8 +219,10 @@ No definition for %s category found"), "LC_TIME"); |
@@ -346,7 +346,7 @@ index 1abff3cf53..8a2f2b820a 100644 | |||
346 | 346 | ||
347 | 347 | ||
348 | diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c | 348 | diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c |
349 | index 61373d2657..7ec5726377 100644 | 349 | index 6f40ecf77a..573d051d0a 100644 |
350 | --- a/locale/programs/linereader.c | 350 | --- a/locale/programs/linereader.c |
351 | +++ b/locale/programs/linereader.c | 351 | +++ b/locale/programs/linereader.c |
352 | @@ -776,7 +776,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, | 352 | @@ -776,7 +776,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, |
@@ -359,7 +359,7 @@ index 61373d2657..7ec5726377 100644 | |||
359 | lr_buffer_init (&lrb); | 359 | lr_buffer_init (&lrb); |
360 | 360 | ||
361 | diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c | 361 | diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c |
362 | index 907bb5fb25..3106529043 100644 | 362 | index 7b66cd279c..dd0c3f1562 100644 |
363 | --- a/locale/programs/localedef.c | 363 | --- a/locale/programs/localedef.c |
364 | +++ b/locale/programs/localedef.c | 364 | +++ b/locale/programs/localedef.c |
365 | @@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; | 365 | @@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; |
@@ -405,7 +405,7 @@ index 907bb5fb25..3106529043 100644 | |||
405 | force_output = 1; | 405 | force_output = 1; |
406 | break; | 406 | break; |
407 | diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c | 407 | diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c |
408 | index 6c6ebf2dd6..cc02ab82bf 100644 | 408 | index b54fcbbceb..6110c7b369 100644 |
409 | --- a/locale/programs/locfile.c | 409 | --- a/locale/programs/locfile.c |
410 | +++ b/locale/programs/locfile.c | 410 | +++ b/locale/programs/locfile.c |
411 | @@ -543,6 +543,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, | 411 | @@ -543,6 +543,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, |
@@ -428,7 +428,7 @@ index 6c6ebf2dd6..cc02ab82bf 100644 | |||
428 | 428 | ||
429 | /* Record that FILE's next element is the 32-bit integer VALUE. */ | 429 | /* Record that FILE's next element is the 32-bit integer VALUE. */ |
430 | diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h | 430 | diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h |
431 | index 3afb0a8d29..46785374e8 100644 | 431 | index 9103fade14..ecd878563d 100644 |
432 | --- a/locale/programs/locfile.h | 432 | --- a/locale/programs/locfile.h |
433 | +++ b/locale/programs/locfile.h | 433 | +++ b/locale/programs/locfile.h |
434 | @@ -70,6 +70,8 @@ extern void write_all_categories (struct localedef_t *definitions, | 434 | @@ -70,6 +70,8 @@ extern void write_all_categories (struct localedef_t *definitions, |
@@ -517,7 +517,7 @@ index 3afb0a8d29..46785374e8 100644 | |||
517 | + | 517 | + |
518 | #endif /* locfile.h */ | 518 | #endif /* locfile.h */ |
519 | diff --git a/locale/setlocale.c b/locale/setlocale.c | 519 | diff --git a/locale/setlocale.c b/locale/setlocale.c |
520 | index 7bd27e5398..2f194bad7c 100644 | 520 | index c04740ca19..12deadeb24 100644 |
521 | --- a/locale/setlocale.c | 521 | --- a/locale/setlocale.c |
522 | +++ b/locale/setlocale.c | 522 | +++ b/locale/setlocale.c |
523 | @@ -63,35 +63,6 @@ static char *const _nl_current_used[] = | 523 | @@ -63,35 +63,6 @@ static char *const _nl_current_used[] = |
diff --git a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch index daeff7b065..9448f360ef 100644 --- a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch +++ b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f4b1d6429298c0f8a2aa29ff559eb2093ea0188f Mon Sep 17 00:00:00 2001 | 1 | From 194e83794369783287956fb12c7f8469e6b7d110 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 3 Aug 2018 09:42:06 -0700 | 3 | Date: Fri, 3 Aug 2018 09:42:06 -0700 |
4 | Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path | 4 | Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path |
@@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
18 | 1 file changed, 25 insertions(+), 10 deletions(-) | 18 | 1 file changed, 25 insertions(+), 10 deletions(-) |
19 | 19 | ||
20 | diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c | 20 | diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c |
21 | index 8d79a1b6d1..6dc7ecd4e7 100644 | 21 | index 2c19f4fd29..b8495848c3 100644 |
22 | --- a/locale/programs/locarchive.c | 22 | --- a/locale/programs/locarchive.c |
23 | +++ b/locale/programs/locarchive.c | 23 | +++ b/locale/programs/locarchive.c |
24 | @@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) | 24 | @@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) |
diff --git a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch index 8dd1f0a656..0e00c04659 100644 --- a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch +++ b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 2d064c0c1243ea0bf405909285d7cddca92cf097 Mon Sep 17 00:00:00 2001 | 1 | From 7d7f6fcd4f4b6664bff75addc92bc7b8a86dc22d Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 7 Aug 2020 14:31:16 -0700 | 3 | Date: Fri, 7 Aug 2020 14:31:16 -0700 |
4 | Subject: [PATCH] powerpc: Do not ask compiler for finding arch | 4 | Subject: [PATCH] powerpc: Do not ask compiler for finding arch |
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 2 files changed, 2 insertions(+), 8 deletions(-) | 15 | 2 files changed, 2 insertions(+), 8 deletions(-) |
16 | 16 | ||
17 | diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure | 17 | diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure |
18 | index 4de94089a3..428ad7b162 100644 | 18 | index 48b9c9b65a..7eb260fc78 100644 |
19 | --- a/sysdeps/powerpc/preconfigure | 19 | --- a/sysdeps/powerpc/preconfigure |
20 | +++ b/sysdeps/powerpc/preconfigure | 20 | +++ b/sysdeps/powerpc/preconfigure |
21 | @@ -29,10 +29,7 @@ esac | 21 | @@ -29,10 +29,7 @@ esac |
@@ -31,7 +31,7 @@ index 4de94089a3..428ad7b162 100644 | |||
31 | # directory exists in sysdeps/powerpc. Likewise, if we find a | 31 | # directory exists in sysdeps/powerpc. Likewise, if we find a |
32 | # cpu, don't let the generic configure append extra compiler options. | 32 | # cpu, don't let the generic configure append extra compiler options. |
33 | diff --git a/sysdeps/powerpc/preconfigure.ac b/sysdeps/powerpc/preconfigure.ac | 33 | diff --git a/sysdeps/powerpc/preconfigure.ac b/sysdeps/powerpc/preconfigure.ac |
34 | index 6c63bd8257..3e925f1d48 100644 | 34 | index 14b6dafd4a..1acc6a457c 100644 |
35 | --- a/sysdeps/powerpc/preconfigure.ac | 35 | --- a/sysdeps/powerpc/preconfigure.ac |
36 | +++ b/sysdeps/powerpc/preconfigure.ac | 36 | +++ b/sysdeps/powerpc/preconfigure.ac |
37 | @@ -29,10 +29,7 @@ esac | 37 | @@ -29,10 +29,7 @@ esac |
diff --git a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch index 066c3b1ea2..f40a8eff07 100644 --- a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch +++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b1c374f7ede81a98f2d02def2c7ca17f1001f7cb Mon Sep 17 00:00:00 2001 | 1 | From 2bd0ea2c8f9595414741ed523c6ca07630a4fc96 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 15 May 2020 17:05:45 -0700 | 3 | Date: Fri, 15 May 2020 17:05:45 -0700 |
4 | Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64 | 4 | Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64 |
@@ -11,16 +11,16 @@ Upstream-Status: Inappropriate [ OE-Specific ] | |||
11 | 11 | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
13 | --- | 13 | --- |
14 | sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- | 14 | sysdeps/aarch64/bits/wordsize.h | 11 +++++++++-- |
15 | sysdeps/arm/bits/wordsize.h | 1 + | 15 | sysdeps/arm/bits/wordsize.h | 22 +--------------------- |
16 | 2 files changed, 7 insertions(+), 2 deletions(-) | 16 | 2 files changed, 10 insertions(+), 23 deletions(-) |
17 | create mode 120000 sysdeps/arm/bits/wordsize.h | 17 | mode change 100644 => 120000 sysdeps/arm/bits/wordsize.h |
18 | 18 | ||
19 | diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h | 19 | diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h |
20 | index 118e59172d..b4b0692eb5 100644 | 20 | index f56260c2de..391d79d5a8 100644 |
21 | --- a/sysdeps/aarch64/bits/wordsize.h | 21 | --- a/sysdeps/aarch64/bits/wordsize.h |
22 | +++ b/sysdeps/aarch64/bits/wordsize.h | 22 | +++ b/sysdeps/aarch64/bits/wordsize.h |
23 | @@ -17,12 +17,16 @@ | 23 | @@ -17,12 +17,19 @@ |
24 | License along with the GNU C Library; if not, see | 24 | License along with the GNU C Library; if not, see |
25 | <https://www.gnu.org/licenses/>. */ | 25 | <https://www.gnu.org/licenses/>. */ |
26 | 26 | ||
@@ -34,11 +34,41 @@ index 118e59172d..b4b0692eb5 100644 | |||
34 | # define __WORDSIZE32_PTRDIFF_LONG 1 | 34 | # define __WORDSIZE32_PTRDIFF_LONG 1 |
35 | +#else | 35 | +#else |
36 | +# define __WORDSIZE 32 | 36 | +# define __WORDSIZE 32 |
37 | +# define __WORDSIZE_TIME64_COMPAT32 1 | ||
37 | +# define __WORDSIZE32_SIZE_ULONG 0 | 38 | +# define __WORDSIZE32_SIZE_ULONG 0 |
38 | +# define __WORDSIZE32_PTRDIFF_LONG 0 | 39 | +# define __WORDSIZE32_PTRDIFF_LONG 0 |
39 | #endif | 40 | #endif |
40 | 41 | ||
42 | +#ifdef __aarch64__ | ||
41 | #define __WORDSIZE_TIME64_COMPAT32 0 | 43 | #define __WORDSIZE_TIME64_COMPAT32 0 |
44 | +#endif | ||
45 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h | ||
46 | deleted file mode 100644 | ||
47 | index be457d84d3..0000000000 | ||
48 | --- a/sysdeps/arm/bits/wordsize.h | ||
49 | +++ /dev/null | ||
50 | @@ -1,21 +0,0 @@ | ||
51 | -/* Copyright (C) 1999-2025 Free Software Foundation, Inc. | ||
52 | - This file is part of the GNU C Library. | ||
53 | - | ||
54 | - The GNU C Library is free software; you can redistribute it and/or | ||
55 | - modify it under the terms of the GNU Lesser General Public | ||
56 | - License as published by the Free Software Foundation; either | ||
57 | - version 2.1 of the License, or (at your option) any later version. | ||
58 | - | ||
59 | - The GNU C Library is distributed in the hope that it will be useful, | ||
60 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
61 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
62 | - Lesser General Public License for more details. | ||
63 | - | ||
64 | - You should have received a copy of the GNU Lesser General Public | ||
65 | - License along with the GNU C Library; if not, see | ||
66 | - <https://www.gnu.org/licenses/>. */ | ||
67 | - | ||
68 | -#define __WORDSIZE 32 | ||
69 | -#define __WORDSIZE_TIME64_COMPAT32 1 | ||
70 | -#define __WORDSIZE32_SIZE_ULONG 0 | ||
71 | -#define __WORDSIZE32_PTRDIFF_LONG 0 | ||
42 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h | 72 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h |
43 | new file mode 120000 | 73 | new file mode 120000 |
44 | index 0000000000..4c4a788ec2 | 74 | index 0000000000..4c4a788ec2 |
diff --git a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch index d8c0b1b4ad..2af39799be 100644 --- a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch +++ b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0aac3b8ee5b13e289b6969da51de384443286a5b Mon Sep 17 00:00:00 2001 | 1 | From 7ef9358bbb184026914fb4d9ff479361b82bf6c9 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 31 Dec 2015 14:33:02 -0800 | 3 | Date: Thu, 31 Dec 2015 14:33:02 -0800 |
4 | Subject: [PATCH] Replace echo with printf builtin in nscd init script | 4 | Subject: [PATCH] Replace echo with printf builtin in nscd init script |
diff --git a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch index c81f82f433..ca30edd91c 100644 --- a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch +++ b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7a25d4796411f22f824742092a4c2a08df99752d Mon Sep 17 00:00:00 2001 | 1 | From c43c1758baddaff1fb82afc118f7dba23af12540 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 18 Mar 2015 00:27:10 +0000 | 3 | Date: Wed, 18 Mar 2015 00:27:10 +0000 |
4 | Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its | 4 | Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its |
diff --git a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch index d724c3e968..2e4c6ced9e 100644 --- a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch +++ b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6aa1b835d95482287851e02abd3a406cbd0ef8c7 Mon Sep 17 00:00:00 2001 | 1 | From a2179a1a5e0f6ded889d2c88cabb23c92b5a4b1e Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 9 Dec 2021 15:14:42 -0800 | 3 | Date: Thu, 9 Dec 2021 15:14:42 -0800 |
4 | Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh | 4 | Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh |
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 2 files changed, 10 insertions(+) | 14 | 2 files changed, 10 insertions(+) |
15 | 15 | ||
16 | diff --git a/Makeconfig b/Makeconfig | 16 | diff --git a/Makeconfig b/Makeconfig |
17 | index 85e00cef94..643724108a 100644 | 17 | index d0108d2caa..75887b1334 100644 |
18 | --- a/Makeconfig | 18 | --- a/Makeconfig |
19 | +++ b/Makeconfig | 19 | +++ b/Makeconfig |
20 | @@ -309,6 +309,15 @@ ifndef sysincludedir | 20 | @@ -309,6 +309,15 @@ ifndef sysincludedir |
@@ -34,10 +34,10 @@ index 85e00cef94..643724108a 100644 | |||
34 | # Commands to install files. | 34 | # Commands to install files. |
35 | ifndef INSTALL_DATA | 35 | ifndef INSTALL_DATA |
36 | diff --git a/timezone/Makefile b/timezone/Makefile | 36 | diff --git a/timezone/Makefile b/timezone/Makefile |
37 | index d7acb387ba..ec79326f66 100644 | 37 | index ebe5cf73a1..b5fa38f4d7 100644 |
38 | --- a/timezone/Makefile | 38 | --- a/timezone/Makefile |
39 | +++ b/timezone/Makefile | 39 | +++ b/timezone/Makefile |
40 | @@ -136,6 +136,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make | 40 | @@ -143,6 +143,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make |
41 | -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ | 41 | -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ |
42 | -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ | 42 | -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ |
43 | -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ | 43 | -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ |
diff --git a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch index 08c60a271b..e68e37b125 100644 --- a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch +++ b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ef47e6199986c4951e681ed74f064042db1ae2e1 Mon Sep 17 00:00:00 2001 | 1 | From c86de3e8b739f20fd7211b66dc3c69b61d28d611 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 15 Dec 2021 21:47:53 -0800 | 3 | Date: Wed, 15 Dec 2021 21:47:53 -0800 |
4 | Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter | 4 | Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter |
@@ -16,7 +16,7 @@ Cc: Paul Eggert <eggert@cs.ucla.edu> | |||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 16 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh | 18 | diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh |
19 | index 18fce27e24..cc08efb0fb 100755 | 19 | index ca3d82c6aa..1be42814fe 100755 |
20 | --- a/timezone/tzselect.ksh | 20 | --- a/timezone/tzselect.ksh |
21 | +++ b/timezone/tzselect.ksh | 21 | +++ b/timezone/tzselect.ksh |
22 | @@ -1,4 +1,4 @@ | 22 | @@ -1,4 +1,4 @@ |
diff --git a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch index d57dce125c..f1391a095c 100644 --- a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch +++ b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7254706544be5100843fc0a332e836fccffc9ef1 Mon Sep 17 00:00:00 2001 | 1 | From 06dd2eec0d57e1e2702069ee4c970c68fc4d3bcb Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Sun, 29 Aug 2021 20:49:16 +0800 | 3 | Date: Sun, 29 Aug 2021 20:49:16 +0800 |
4 | Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287] | 4 | Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287] |
@@ -72,7 +72,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
72 | 1 file changed, 1 insertion(+), 1 deletion(-) | 72 | 1 file changed, 1 insertion(+), 1 deletion(-) |
73 | 73 | ||
74 | diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c | 74 | diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c |
75 | index 40ef30303f..f97b1f6900 100644 | 75 | index 9a1f27d017..9a48340055 100644 |
76 | --- a/sysdeps/unix/sysv/linux/clone-internal.c | 76 | --- a/sysdeps/unix/sysv/linux/clone-internal.c |
77 | +++ b/sysdeps/unix/sysv/linux/clone-internal.c | 77 | +++ b/sysdeps/unix/sysv/linux/clone-internal.c |
78 | @@ -98,7 +98,7 @@ __clone_internal (struct clone_args *cl_args, | 78 | @@ -98,7 +98,7 @@ __clone_internal (struct clone_args *cl_args, |
diff --git a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch index b527ddffc8..a90814c63a 100644 --- a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch +++ b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From d39779afc72d34f87f052097592008cc38e20615 Mon Sep 17 00:00:00 2001 | 1 | From cd66a5301c4d84e3dbc4e30fdb9e32b341e66b3d Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Sun, 24 Jul 2022 07:07:29 -0700 | 3 | Date: Sun, 24 Jul 2022 07:07:29 -0700 |
4 | Subject: [PATCH] Avoid hardcoded build time paths in the output binaries | 4 | Subject: [PATCH] Avoid hardcoded build time paths in the output binaries |
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 3 insertions(+), 3 deletions(-) | 14 | 1 file changed, 3 insertions(+), 3 deletions(-) |
15 | 15 | ||
16 | diff --git a/support/Makefile b/support/Makefile | 16 | diff --git a/support/Makefile b/support/Makefile |
17 | index 362a51f882..56d2b37058 100644 | 17 | index 59a9974539..c3f7302bcb 100644 |
18 | --- a/support/Makefile | 18 | --- a/support/Makefile |
19 | +++ b/support/Makefile | 19 | +++ b/support/Makefile |
20 | @@ -228,9 +228,9 @@ libsupport-inhibit-o += .o | 20 | @@ -238,9 +238,9 @@ libsupport-inhibit-o += .o |
21 | endif | 21 | endif |
22 | 22 | ||
23 | CFLAGS-support_paths.c = \ | 23 | CFLAGS-support_paths.c = \ |
diff --git a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch deleted file mode 100644 index f6523c5498..0000000000 --- a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82 Mon Sep 17 00:00:00 2001 | ||
2 | From: Szabolcs Nagy <szabolcs.nagy@arm.com> | ||
3 | Date: Wed, 13 Mar 2024 14:34:14 +0000 | ||
4 | Subject: [PATCH] aarch64: fix check for SVE support in assembler | ||
5 | |||
6 | Due to GCC bug 110901 -mcpu can override -march setting when compiling | ||
7 | asm code and thus a compiler targetting a specific cpu can fail the | ||
8 | configure check even when binutils gas supports SVE. | ||
9 | |||
10 | The workaround is that explicit .arch directive overrides both -mcpu | ||
11 | and -march, and since that's what the actual SVE memcpy uses the | ||
12 | configure check should use that too even if the GCC issue is fixed | ||
13 | independently. | ||
14 | |||
15 | Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=73c26018ed0ecd9c807bb363cc2c2ab4aca66a82] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | Reviewed-by: Florian Weimer <fweimer@redhat.com> | ||
18 | --- | ||
19 | sysdeps/aarch64/configure | 5 +++-- | ||
20 | sysdeps/aarch64/configure.ac | 5 +++-- | ||
21 | 2 files changed, 6 insertions(+), 4 deletions(-) | ||
22 | mode change 100644 => 100755 sysdeps/aarch64/configure | ||
23 | |||
24 | diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure | ||
25 | old mode 100644 | ||
26 | new mode 100755 | ||
27 | index ca57edce47..9606137e8d | ||
28 | --- a/sysdeps/aarch64/configure | ||
29 | +++ b/sysdeps/aarch64/configure | ||
30 | @@ -325,9 +325,10 @@ then : | ||
31 | printf %s "(cached) " >&6 | ||
32 | else $as_nop | ||
33 | cat > conftest.s <<\EOF | ||
34 | - ptrue p0.b | ||
35 | + .arch armv8.2-a+sve | ||
36 | + ptrue p0.b | ||
37 | EOF | ||
38 | -if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5' | ||
39 | +if { ac_try='${CC-cc} -c conftest.s 1>&5' | ||
40 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | ||
41 | (eval $ac_try) 2>&5 | ||
42 | ac_status=$? | ||
43 | diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac | ||
44 | index 27874eceb4..56d12d661d 100644 | ||
45 | --- a/sysdeps/aarch64/configure.ac | ||
46 | +++ b/sysdeps/aarch64/configure.ac | ||
47 | @@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs]) | ||
48 | # Check if asm support armv8.2-a+sve | ||
49 | AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl | ||
50 | cat > conftest.s <<\EOF | ||
51 | - ptrue p0.b | ||
52 | + .arch armv8.2-a+sve | ||
53 | + ptrue p0.b | ||
54 | EOF | ||
55 | -if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then | ||
56 | +if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then | ||
57 | libc_cv_aarch64_sve_asm=yes | ||
58 | else | ||
59 | libc_cv_aarch64_sve_asm=no | ||
60 | -- | ||
61 | 2.44.0 | ||
62 | |||
diff --git a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch b/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch index c0a467fcec..50d80ed577 100644 --- a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch +++ b/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch | |||
@@ -1,4 +1,7 @@ | |||
1 | glibc: Skip 2 qemu tests that can hang in oe-selftest | 1 | From 5395ccff4478d42fab7f2bd6ba7f7188bec09ddf Mon Sep 17 00:00:00 2001 |
2 | From: Yash Shinde <Yash.Shinde@windriver.com> | ||
3 | Date: Fri, 5 Apr 2024 08:24:36 -0700 | ||
4 | Subject: [PATCH] tests: Skip 2 qemu tests that can hang in oe-selftest | ||
2 | 5 | ||
3 | qemumips and qemuppc were leaving stale processes behind after | 6 | qemumips and qemuppc were leaving stale processes behind after |
4 | running glibc oe-selftest. During analysis, it was found that | 7 | running glibc oe-selftest. During analysis, it was found that |
@@ -9,29 +12,35 @@ Disable them so that there are no stale processes left behind. | |||
9 | https://bugzilla.yoctoproject.org/show_bug.cgi?id=15423 | 12 | https://bugzilla.yoctoproject.org/show_bug.cgi?id=15423 |
10 | 13 | ||
11 | Upstream-Status: Inappropriate [oe-core specific] | 14 | Upstream-Status: Inappropriate [oe-core specific] |
15 | |||
12 | Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> | 16 | Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> |
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | 18 | --- |
14 | diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile | 19 | sysdeps/unix/sysv/linux/Makefile | 6 ++++-- |
15 | --- a/sysdeps/unix/sysv/linux/Makefile 2024-03-18 01:15:49.019202881 -0700 | 20 | 1 file changed, 4 insertions(+), 2 deletions(-) |
16 | +++ b/sysdeps/unix/sysv/linux/Makefile 2024-03-14 06:26:18.581404107 -0700 | 21 | |
17 | @@ -222,7 +222,6 @@ | 22 | diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile |
18 | tst-process_mrelease \ | 23 | index 8a755293b3..22dafcaad1 100644 |
19 | tst-quota \ | 24 | --- a/sysdeps/unix/sysv/linux/Makefile |
25 | +++ b/sysdeps/unix/sysv/linux/Makefile | ||
26 | @@ -228,7 +228,6 @@ tests += \ | ||
20 | tst-rlimit-infinity \ | 27 | tst-rlimit-infinity \ |
28 | tst-sched-affinity-inheritance \ | ||
29 | tst-sched_setattr \ | ||
21 | - tst-scm_rights \ | 30 | - tst-scm_rights \ |
22 | tst-sigtimedwait \ | 31 | tst-sigtimedwait \ |
23 | tst-sync_file_range \ | 32 | tst-sync_file_range \ |
24 | tst-sysconf-iov_max \ | 33 | tst-syscall-restart \ |
25 | @@ -233,6 +232,8 @@ | 34 | @@ -240,6 +239,8 @@ tests += \ |
26 | tst-timerfd \ | 35 | tst-timerfd \ |
27 | tst-ttyname-direct \ | 36 | tst-ttyname-direct \ |
28 | tst-ttyname-namespace \ | 37 | tst-ttyname-namespace \ |
29 | + # Skip this test to avoid stale qemu process | 38 | + # Skip this test to avoid stale qemu process |
30 | + # tst-scm_rights \ | 39 | + # tst-scm_rights \ |
31 | # tests | 40 | # tests |
32 | 41 | ||
33 | # process_madvise requires CAP_SYS_ADMIN. | 42 | # process_madvise requires CAP_SYS_ADMIN. |
34 | @@ -270,9 +271,10 @@ | 43 | @@ -282,9 +283,10 @@ tests-time64 += \ |
35 | tst-ntp_gettimex-time64 \ | 44 | tst-ntp_gettimex-time64 \ |
36 | tst-ppoll-time64 \ | 45 | tst-ppoll-time64 \ |
37 | tst-prctl-time64 \ | 46 | tst-prctl-time64 \ |
@@ -41,5 +50,5 @@ diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefil | |||
41 | + # Skip this test to avoid stale qemu process | 50 | + # Skip this test to avoid stale qemu process |
42 | + # tst-scm_rights-time64 \ | 51 | + # tst-scm_rights-time64 \ |
43 | # tests-time64 | 52 | # tests-time64 |
44 | 53 | ||
45 | tests-clone-internal = \ | 54 | tests-clone-internal = \ |
diff --git a/meta/recipes-core/glibc/glibc/run-ptest b/meta/recipes-core/glibc/glibc/run-ptest deleted file mode 100755 index cb71c75682..0000000000 --- a/meta/recipes-core/glibc/glibc/run-ptest +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | # ptest script for glibc - to run time related tests to | ||
3 | # facilitate Y2038 validation | ||
4 | # Run with 'ptest-runner glibc-tests' | ||
5 | |||
6 | output() { | ||
7 | retcode=$? | ||
8 | if [ $retcode -eq 0 ] | ||
9 | then echo "PASS: $i" | ||
10 | elif [ $retcode -eq 77 ] | ||
11 | then echo "SKIP: $i" | ||
12 | else echo "FAIL: $i" | ||
13 | fi | ||
14 | } | ||
15 | |||
16 | # Allow altering time on the target | ||
17 | export GLIBC_TEST_ALLOW_TIME_SETTING="1" | ||
18 | |||
19 | tst_time64=$(ls -r ${PWD}/tests/glibc-ptest/*-time64) | ||
20 | |||
21 | # Remove '-time64' suffix - those tests are also time | ||
22 | # related | ||
23 | tst_time_tmp=$(sed -e "s/-time64$//" <<< ${tst_time64}) | ||
24 | |||
25 | # Do not run tests supporting only 32 bit time | ||
26 | #for i in ${tst_time_tmp} | ||
27 | #do | ||
28 | # $i >/dev/null 2>&1 | ||
29 | # output | ||
30 | #done | ||
31 | |||
32 | # Run tests supporting only 64 bit time | ||
33 | for i in ${tst_time64} | ||
34 | do | ||
35 | $i >/dev/null 2>&1 | ||
36 | output | ||
37 | done | ||
diff --git a/meta/recipes-core/glibc/glibc_2.39.bb b/meta/recipes-core/glibc/glibc_2.41.bb index 9122472689..7771fac041 100644 --- a/meta/recipes-core/glibc/glibc_2.39.bb +++ b/meta/recipes-core/glibc/glibc_2.41.bb | |||
@@ -16,6 +16,10 @@ CVE_STATUS[CVE-2019-1010025] = "disputed: \ | |||
16 | Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ | 16 | Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ |
17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" | 17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" |
18 | 18 | ||
19 | CVE_STATUS_GROUPS += "CVE_STATUS_STABLE_BACKPORTS" | ||
20 | CVE_STATUS_STABLE_BACKPORTS = "CVE-2025-4802 CVE-2025-5702 CVE-2025-5745" | ||
21 | CVE_STATUS_STABLE_BACKPORTS[status] = "cpe-stable-backport: fix available in used git hash" | ||
22 | |||
19 | DEPENDS += "gperf-native bison-native" | 23 | DEPENDS += "gperf-native bison-native" |
20 | 24 | ||
21 | NATIVESDKFIXES ?= "" | 25 | NATIVESDKFIXES ?= "" |
@@ -48,10 +52,10 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
48 | file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ | 52 | file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ |
49 | file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ | 53 | file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ |
50 | file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ | 54 | file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ |
51 | file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \ | 55 | file://0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch \ |
52 | file://0024-qemu-stale-process.patch \ | 56 | file://0001-stdlib-Add-single-threaded-fast-path-to-rand.patch \ |
57 | file://0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch \ | ||
53 | " | 58 | " |
54 | S = "${WORKDIR}/git" | ||
55 | B = "${WORKDIR}/build-${TARGET_SYS}" | 59 | B = "${WORKDIR}/build-${TARGET_SYS}" |
56 | 60 | ||
57 | PACKAGES_DYNAMIC = "" | 61 | PACKAGES_DYNAMIC = "" |
@@ -76,7 +80,6 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ | |||
76 | --with-default-link \ | 80 | --with-default-link \ |
77 | --disable-werror \ | 81 | --disable-werror \ |
78 | --enable-fortify-source \ | 82 | --enable-fortify-source \ |
79 | ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ | ||
80 | ${GLIBCPIE} \ | 83 | ${GLIBCPIE} \ |
81 | ${GLIBC_EXTRA_OECONF}" | 84 | ${GLIBC_EXTRA_OECONF}" |
82 | 85 | ||
@@ -125,4 +128,15 @@ do_compile () { | |||
125 | 128 | ||
126 | require glibc-package.inc | 129 | require glibc-package.inc |
127 | 130 | ||
131 | # When upgrading glibc it's important to know if there are any new symbols | ||
132 | # that pseudo needs to wrap. In the future a generalised ABI comparison tool | ||
133 | # would be good, but to solve the immediate need we can simply list the | ||
134 | # exported symbols to files in WORKDIR. | ||
135 | do_symlist() { | ||
136 | for LIB in ${D}${base_libdir}/lib*.so.*; do | ||
137 | ${NM} --dynamic $LIB | awk --source '$2 == "T" { print $3 }' | sort > ${WORKDIR}/$(basename $LIB)-${PV}.symbols | ||
138 | done | ||
139 | } | ||
140 | addtask symlist after do_install | ||
141 | |||
128 | BBCLASSEXTEND = "nativesdk" | 142 | BBCLASSEXTEND = "nativesdk" |
diff --git a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb index 9ca95d1e52..1c475eeb8a 100644 --- a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb +++ b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb | |||
@@ -19,12 +19,11 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \ | |||
19 | file://ldconfig-handle-.dynstr-located-in-separate-segment.patch \ | 19 | file://ldconfig-handle-.dynstr-located-in-separate-segment.patch \ |
20 | " | 20 | " |
21 | 21 | ||
22 | |||
23 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" | 22 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" |
24 | 23 | ||
25 | inherit native | 24 | inherit native |
26 | 25 | ||
27 | S = "${WORKDIR}/${PN}-${PV}" | 26 | S = "${UNPACKDIR}/${PN}-${PV}" |
28 | 27 | ||
29 | do_compile () { | 28 | do_compile () { |
30 | $CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c -I. dl-cache.c -o ldconfig | 29 | $CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c -I. dl-cache.c -o ldconfig |
diff --git a/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch b/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch index 6c4ed526bf..83fb706be0 100644 --- a/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch +++ b/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8dfbcf02e424ba1fdef587d81c9e08a37ab8c1b6 Mon Sep 17 00:00:00 2001 | 1 | From 97b196efe9671d0185d22710371acb52bb7130e2 Mon Sep 17 00:00:00 2001 |
2 | From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> | 2 | From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> |
3 | Date: Tue, 2 Jul 2019 20:10:42 +0200 | 3 | Date: Tue, 2 Jul 2019 20:10:42 +0200 |
4 | Subject: [PATCH] Define FNM_EXTMATCH for musl | 4 | Subject: [PATCH] Define FNM_EXTMATCH for musl |
@@ -24,7 +24,6 @@ function); did you mean 'FNM_NOMATCH'? | |||
24 | Upstream-Status: Submitted [https://salsa.debian.org/debian/ifupdown/merge_requests/5] | 24 | Upstream-Status: Submitted [https://salsa.debian.org/debian/ifupdown/merge_requests/5] |
25 | 25 | ||
26 | Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> | 26 | Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> |
27 | |||
28 | --- | 27 | --- |
29 | archcommon.h | 4 ++++ | 28 | archcommon.h | 4 ++++ |
30 | 1 file changed, 4 insertions(+) | 29 | 1 file changed, 4 insertions(+) |
diff --git a/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch b/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch index 6e15a25224..f84a0a1311 100644 --- a/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch +++ b/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch | |||
@@ -1,17 +1,16 @@ | |||
1 | From 7fe516cbaf9fda09d99dcb54d4645367cffc8a4d Mon Sep 17 00:00:00 2001 | 1 | From 4922e2011a0132c122df4f0cf4d66d565c749060 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Thu, 9 Jan 2020 15:38:06 +0100 | 3 | Date: Thu, 9 Jan 2020 15:38:06 +0100 |
4 | Subject: [PATCH] Makefile: do not use dpkg for determining OS type | 4 | Subject: [PATCH] Makefile: do not use dpkg for determining OS type |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [oe-core specific] | 6 | Upstream-Status: Inappropriate [oe-core specific] |
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
8 | |||
9 | --- | 8 | --- |
10 | Makefile | 2 +- | 9 | Makefile | 2 +- |
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
12 | 11 | ||
13 | diff --git a/Makefile b/Makefile | 12 | diff --git a/Makefile b/Makefile |
14 | index 0ce2fa3..739aef2 100644 | 13 | index 9cd758b..58b4173 100644 |
15 | --- a/Makefile | 14 | --- a/Makefile |
16 | +++ b/Makefile | 15 | +++ b/Makefile |
17 | @@ -1,6 +1,6 @@ | 16 | @@ -1,6 +1,6 @@ |
@@ -21,4 +20,4 @@ index 0ce2fa3..739aef2 100644 | |||
21 | +ARCH := linux | 20 | +ARCH := linux |
22 | 21 | ||
23 | BASEDIR ?= $(DESTDIR) | 22 | BASEDIR ?= $(DESTDIR) |
24 | 23 | PKGLIBDIR ?= /lib/ifupdown | |
diff --git a/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch b/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch index 9ae24da51e..8aa227c8ec 100644 --- a/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch +++ b/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 782d8a869c266820d0f34974436f244f67afaea7 Mon Sep 17 00:00:00 2001 | 1 | From ea48a9816643482d438e4bb276c90cd6f02847e4 Mon Sep 17 00:00:00 2001 |
2 | From: Zqiang <qiang.zhang@windriver.com> | 2 | From: Zqiang <qiang.zhang@windriver.com> |
3 | Date: Mon, 19 Apr 2021 14:15:45 +0800 | 3 | Date: Mon, 19 Apr 2021 14:15:45 +0800 |
4 | Subject: [PATCH] ifupdown: skip wrong test case | 4 | Subject: [PATCH] ifupdown: skip wrong test case |
@@ -10,7 +10,6 @@ and are skipped directly. | |||
10 | Upstream-Status: Inappropriate [oe-core specific] | 10 | Upstream-Status: Inappropriate [oe-core specific] |
11 | 11 | ||
12 | Signed-off-by: Zqiang <qiang.zhang@windriver.com> | 12 | Signed-off-by: Zqiang <qiang.zhang@windriver.com> |
13 | |||
14 | --- | 13 | --- |
15 | tests/testbuild-linux | 2 +- | 14 | tests/testbuild-linux | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
diff --git a/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch b/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch index 7b4b761e6a..d47c50f2d5 100644 --- a/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch +++ b/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From fc8e8d4cb19ff30e69aa1855332544f1017f974c Mon Sep 17 00:00:00 2001 | 1 | From 68b64a5c9d466352b0c161019bd7255e31db9a4c Mon Sep 17 00:00:00 2001 |
2 | From: Paul Gortmaker <paul.gortmaker@windriver.com> | 2 | From: Paul Gortmaker <paul.gortmaker@windriver.com> |
3 | Date: Wed, 6 Aug 2014 14:54:12 -0400 | 3 | Date: Wed, 6 Aug 2014 14:54:12 -0400 |
4 | Subject: [PATCH] defn2[c|man]: don't rely on dpkg-architecture to set arch | 4 | Subject: [PATCH] defn2[c|man]: don't rely on dpkg-architecture to set arch |
@@ -12,8 +12,7 @@ arch specific methods, and the end result will be strangeness | |||
12 | like the loopback device not being configured/enabled. | 12 | like the loopback device not being configured/enabled. |
13 | 13 | ||
14 | Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> | 14 | Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
15 | Upstream-Status: Pending | 15 | Upstream-Status: Inappropriate [avoiding debian-isms] |
16 | |||
17 | --- | 16 | --- |
18 | defn2c.pl | 6 +++--- | 17 | defn2c.pl | 6 +++--- |
19 | defn2man.pl | 6 +++--- | 18 | defn2man.pl | 6 +++--- |
diff --git a/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch b/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch index fa6bb84df3..c1953f0691 100644 --- a/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch +++ b/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From a6bb2ac5f521c678abbbdb1960d28f750f4357a6 Mon Sep 17 00:00:00 2001 | 1 | From 5eede8950e35404b109cc3cf6a53bf3c84b31cfb Mon Sep 17 00:00:00 2001 |
2 | From: Kai Kang <kai.kang@windriver.com> | 2 | From: Kai Kang <kai.kang@windriver.com> |
3 | Date: Mon, 3 Feb 2020 17:33:11 +0800 | 3 | Date: Mon, 3 Feb 2020 17:33:11 +0800 |
4 | Subject: [PATCH] Tweak tests of ifupdown to make it work with oe-core ptest | 4 | Subject: [PATCH] Tweak tests of ifupdown to make it work with oe-core ptest |
@@ -7,7 +7,6 @@ Subject: [PATCH] Tweak tests of ifupdown to make it work with oe-core ptest | |||
7 | Upstream-Status: Inappropriate [oe-core specific] | 7 | Upstream-Status: Inappropriate [oe-core specific] |
8 | 8 | ||
9 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | 9 | Signed-off-by: Kai Kang <kai.kang@windriver.com> |
10 | |||
11 | --- | 10 | --- |
12 | tests/testbuild-linux | 11 ++++++----- | 11 | tests/testbuild-linux | 11 ++++++----- |
13 | 1 file changed, 6 insertions(+), 5 deletions(-) | 12 | 1 file changed, 6 insertions(+), 5 deletions(-) |
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb b/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb index 16425ea9e4..8a8f477361 100644 --- a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb +++ b/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb | |||
@@ -16,16 +16,13 @@ SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https;branch=mast | |||
16 | file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \ | 16 | file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \ |
17 | file://tweak-ptest-script.patch \ | 17 | file://tweak-ptest-script.patch \ |
18 | " | 18 | " |
19 | SRCREV = "369d9d3c13a0c56ad09fd4f13b4a80eb9a94e270" | 19 | SRCREV = "7d44f9ce6717a4a496fd46f28c52e12dbf5bafdd" |
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | 20 | ||
24 | inherit ptest update-alternatives | 21 | inherit ptest update-alternatives |
25 | 22 | ||
26 | do_compile () { | 23 | do_compile () { |
27 | chmod a+rx *.pl *.sh | 24 | chmod a+rx *.pl *.sh |
28 | oe_runmake 'CC=${CC}' "CFLAGS=${CFLAGS} -Wall -W -D'IFUPDOWN_VERSION=\"${PV}\"'" | 25 | oe_runmake 'CC=${CC}' "-Wall -W -D'IFUPDOWN_VERSION=\"${PV}\"'" |
29 | } | 26 | } |
30 | 27 | ||
31 | do_install () { | 28 | do_install () { |
@@ -35,7 +32,7 @@ do_install () { | |||
35 | 32 | ||
36 | # If volatiles are used, then we'll also need /run/network there too. | 33 | # If volatiles are used, then we'll also need /run/network there too. |
37 | install -d ${D}/etc/default/volatiles | 34 | install -d ${D}/etc/default/volatiles |
38 | install -m 0644 ${WORKDIR}/99_network ${D}/etc/default/volatiles | 35 | install -m 0644 ${UNPACKDIR}/99_network ${D}/etc/default/volatiles |
39 | 36 | ||
40 | install -m 0755 ifup ${D}${base_sbindir}/ | 37 | install -m 0755 ifup ${D}${base_sbindir}/ |
41 | ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown | 38 | ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown |
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 4cf55519cc..4daedfb43c 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb | |||
@@ -26,8 +26,8 @@ inherit core-image setuptools3 features_check | |||
26 | 26 | ||
27 | REQUIRED_DISTRO_FEATURES += "xattr" | 27 | REQUIRED_DISTRO_FEATURES += "xattr" |
28 | 28 | ||
29 | SRCREV ?= "17723c6e34096a53fb186cc70cfc604bb30da8b9" | 29 | SRCREV ?= "b1b3318eff36d4d9b2d3a935dee607c4f012f992" |
30 | SRC_URI = "git://git.yoctoproject.org/poky;branch=master \ | 30 | SRC_URI = "git://git.yoctoproject.org/poky;branch=master;destsuffix=poky \ |
31 | file://Yocto_Build_Appliance.vmx \ | 31 | file://Yocto_Build_Appliance.vmx \ |
32 | file://Yocto_Build_Appliance.vmxf \ | 32 | file://Yocto_Build_Appliance.vmxf \ |
33 | file://README_VirtualBox_Guest_Additions.txt \ | 33 | file://README_VirtualBox_Guest_Additions.txt \ |
@@ -44,10 +44,10 @@ IMAGE_CMD:ext4:append () { | |||
44 | fakeroot do_populate_poky_src () { | 44 | fakeroot do_populate_poky_src () { |
45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo | 45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo |
46 | # will become invalid in the target. | 46 | # will become invalid in the target. |
47 | rm -rf ${WORKDIR}/git/.git | 47 | rm -rf ${UNPACKDIR}/poky/.git |
48 | rm -f ${WORKDIR}/git/.gitignore | 48 | rm -f ${UNPACKDIR}/poky/.gitignore |
49 | 49 | ||
50 | cp -R ${WORKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky | 50 | cp -R ${UNPACKDIR}/poky ${IMAGE_ROOTFS}/home/builder/poky |
51 | 51 | ||
52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf | 52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf |
53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads | 53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads |
@@ -58,10 +58,10 @@ fakeroot do_populate_poky_src () { | |||
58 | fi | 58 | fi |
59 | 59 | ||
60 | # Place the README_VirtualBox_Guest_Additions file in builders home folder. | 60 | # Place the README_VirtualBox_Guest_Additions file in builders home folder. |
61 | cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ | 61 | cp ${UNPACKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ |
62 | 62 | ||
63 | # Place the README_VirtualBox_Toaster file in builders home folder. | 63 | # Place the README_VirtualBox_Toaster file in builders home folder. |
64 | cp ${WORKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/ | 64 | cp ${UNPACKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/ |
65 | 65 | ||
66 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf | 66 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf |
67 | echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc | 67 | echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc |
@@ -129,10 +129,15 @@ python () { | |||
129 | d.delVarFlag("do_unpack", "noexec") | 129 | d.delVarFlag("do_unpack", "noexec") |
130 | } | 130 | } |
131 | 131 | ||
132 | # ${S} doesn't exist for us | ||
133 | do_qa_unpack() { | ||
134 | return | ||
135 | } | ||
136 | |||
132 | create_bundle_files () { | 137 | create_bundle_files () { |
133 | cd ${WORKDIR} | 138 | cd ${WORKDIR} |
134 | mkdir -p Yocto_Build_Appliance | 139 | mkdir -p Yocto_Build_Appliance |
135 | cp *.vmx* Yocto_Build_Appliance | 140 | cp ${UNPACKDIR}/*.vmx* Yocto_Build_Appliance |
136 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk | 141 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk |
137 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx | 142 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx |
138 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd | 143 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd |
diff --git a/meta/recipes-core/images/core-image-minimal-initramfs.bb b/meta/recipes-core/images/core-image-minimal-initramfs.bb index 36e8771c4a..4e210d1bf3 100644 --- a/meta/recipes-core/images/core-image-minimal-initramfs.bb +++ b/meta/recipes-core/images/core-image-minimal-initramfs.bb | |||
@@ -32,4 +32,4 @@ IMAGE_ROOTFS_SIZE = "8192" | |||
32 | IMAGE_ROOTFS_EXTRA_SPACE = "0" | 32 | IMAGE_ROOTFS_EXTRA_SPACE = "0" |
33 | 33 | ||
34 | # Use the same restriction as initramfs-module-install | 34 | # Use the same restriction as initramfs-module-install |
35 | COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)' | 35 | COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' |
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb index 72081f938d..017f05f81b 100644 --- a/meta/recipes-core/images/core-image-ptest.bb +++ b/meta/recipes-core/images/core-image-ptest.bb | |||
@@ -23,15 +23,21 @@ IMAGE_ROOTFS_EXTRA_SPACE = "324288" | |||
23 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288" | 23 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288" |
24 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1524288" | 24 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1524288" |
25 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288" | 25 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288" |
26 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-util-linux = "1524288" | ||
26 | 27 | ||
27 | # tar-ptest in particular needs more space | 28 | # tar-ptest in particular needs more space |
28 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288" | 29 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288" |
29 | 30 | ||
31 | # python3-numpy-ptest requires a lot of extra space | ||
32 | IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-python3-numpy = "3048576" | ||
33 | |||
30 | # ptests need more memory than standard to avoid the OOM killer | 34 | # ptests need more memory than standard to avoid the OOM killer |
31 | QB_MEM = "-m 1024" | 35 | QB_MEM = "-m 1024" |
32 | QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" | 36 | QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" |
33 | QB_MEM:virtclass-mcextend-python3 = "-m 2048" | 37 | QB_MEM:virtclass-mcextend-python3 = "-m 2048" |
34 | QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100" | 38 | QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100" |
39 | QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096" | ||
40 | QB_MEM:virtclass-mcextend-tcl = "-m 5100" | ||
35 | 41 | ||
36 | TEST_SUITES = "ping ssh parselogs ptest" | 42 | TEST_SUITES = "ping ssh parselogs ptest" |
37 | 43 | ||
diff --git a/meta/recipes-core/images/core-image-tiny-initramfs.bb b/meta/recipes-core/images/core-image-tiny-initramfs.bb index 7a71d55b1e..c2aa68c788 100644 --- a/meta/recipes-core/images/core-image-tiny-initramfs.bb +++ b/meta/recipes-core/images/core-image-tiny-initramfs.bb | |||
@@ -6,6 +6,9 @@ first 'init' program more efficiently. core-image-tiny-initramfs doesn't \ | |||
6 | actually generate an image but rather generates boot and rootfs artifacts \ | 6 | actually generate an image but rather generates boot and rootfs artifacts \ |
7 | that can subsequently be picked up by external image generation tools such as wic." | 7 | that can subsequently be picked up by external image generation tools such as wic." |
8 | 8 | ||
9 | # if distro does not override VIRTUAL-RUNTIME_dev_manager and default in different, busybox is compiled without mdev support | ||
10 | # however this keeps the image small by not installing heavy-weight manager and in initramfs it may not even be necessary | ||
11 | # override in distro if needed | ||
9 | VIRTUAL-RUNTIME_dev_manager ?= "busybox-mdev" | 12 | VIRTUAL-RUNTIME_dev_manager ?= "busybox-mdev" |
10 | 13 | ||
11 | PACKAGE_INSTALL = "initramfs-live-boot-tiny packagegroup-core-boot dropbear ${VIRTUAL-RUNTIME_base-utils} ${VIRTUAL-RUNTIME_dev_manager} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" | 14 | PACKAGE_INSTALL = "initramfs-live-boot-tiny packagegroup-core-boot dropbear ${VIRTUAL-RUNTIME_base-utils} ${VIRTUAL-RUNTIME_dev_manager} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" |
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb index 409b1c0403..da594d00b7 100644 --- a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb | |||
@@ -3,7 +3,7 @@ DESCRIPTION = "This package provides high level tools to configure network inter | |||
3 | HOMEPAGE = "http://packages.debian.org/ifupdown" | 3 | HOMEPAGE = "http://packages.debian.org/ifupdown" |
4 | SECTION = "base" | 4 | SECTION = "base" |
5 | LICENSE = "GPL-2.0-only" | 5 | LICENSE = "GPL-2.0-only" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab" | 6 | LIC_FILES_CHKSUM = "file://${S}/copyright;md5=3dd6192d306f582dee7687da3d8748ab" |
7 | 7 | ||
8 | inherit update-rc.d | 8 | inherit update-rc.d |
9 | 9 | ||
@@ -15,7 +15,7 @@ SRC_URI = "file://copyright \ | |||
15 | file://interfaces \ | 15 | file://interfaces \ |
16 | file://nfsroot" | 16 | file://nfsroot" |
17 | 17 | ||
18 | S = "${WORKDIR}" | 18 | S = "${UNPACKDIR}" |
19 | 19 | ||
20 | do_install () { | 20 | do_install () { |
21 | install -d ${D}${sysconfdir}/init.d \ | 21 | install -d ${D}${sysconfdir}/init.d \ |
@@ -23,9 +23,9 @@ do_install () { | |||
23 | ${D}${sysconfdir}/network/if-up.d \ | 23 | ${D}${sysconfdir}/network/if-up.d \ |
24 | ${D}${sysconfdir}/network/if-down.d \ | 24 | ${D}${sysconfdir}/network/if-down.d \ |
25 | ${D}${sysconfdir}/network/if-post-down.d | 25 | ${D}${sysconfdir}/network/if-post-down.d |
26 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking | 26 | install -m 0755 ${S}/init ${D}${sysconfdir}/init.d/networking |
27 | install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces | 27 | install -m 0644 ${S}/interfaces ${D}${sysconfdir}/network/interfaces |
28 | install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d | 28 | install -m 0755 ${S}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d |
29 | } | 29 | } |
30 | 30 | ||
31 | do_install:append:qemuall () { | 31 | do_install:append:qemuall () { |
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb index 198459f2b2..e0a6319ccf 100644 --- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb | |||
@@ -3,11 +3,10 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-boot.sh" | 4 | SRC_URI = "file://init-boot.sh" |
5 | 5 | ||
6 | 6 | S = "${UNPACKDIR}" | |
7 | S = "${WORKDIR}" | ||
8 | 7 | ||
9 | do_install() { | 8 | do_install() { |
10 | install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init | 9 | install -m 0755 ${S}/init-boot.sh ${D}/init |
11 | 10 | ||
12 | # Create device nodes expected by some kernels in initramfs | 11 | # Create device nodes expected by some kernels in initramfs |
13 | # before even executing /init. | 12 | # before even executing /init. |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/finish b/meta/recipes-core/initrdscripts/initramfs-framework/finish index ac0de9f996..716c2f44af 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/finish +++ b/meta/recipes-core/initrdscripts/initramfs-framework/finish | |||
@@ -41,7 +41,7 @@ finish_run() { | |||
41 | mount --move /sys $ROOTFS_DIR/sys | 41 | mount --move /sys $ROOTFS_DIR/sys |
42 | 42 | ||
43 | cd $ROOTFS_DIR | 43 | cd $ROOTFS_DIR |
44 | exec switch_root -c /dev/console $ROOTFS_DIR ${bootparam_init:-/sbin/init} | 44 | exec switch_root $ROOTFS_DIR ${bootparam_init:-/sbin/init} |
45 | else | 45 | else |
46 | debug "No rootfs has been set" | 46 | debug "No rootfs has been set" |
47 | fi | 47 | fi |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init index 567694aff7..a48b77e95e 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/init +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init | |||
@@ -54,20 +54,23 @@ debug() { | |||
54 | } | 54 | } |
55 | 55 | ||
56 | # Prints a message and start a endless loop | 56 | # Prints a message and start a endless loop |
57 | # Force reboot if init_fatal_reboot bootparam is set | ||
57 | fatal() { | 58 | fatal() { |
58 | echo $1 >/dev/console | 59 | echo $1 >/dev/console |
59 | echo >/dev/console | 60 | echo >/dev/console |
60 | 61 | ||
61 | if [ -n "$bootparam_init_fatal_sh" ]; then | 62 | if [ -n "$bootparam_init_fatal_reboot" ]; then |
62 | sh | 63 | reboot -f |
63 | else | 64 | elif [ -n "$bootparam_init_fatal_sh" ]; then |
64 | while [ "true" ]; do | 65 | sh |
65 | sleep 3600 | 66 | else |
66 | done | 67 | while [ "true" ]; do |
67 | fi | 68 | sleep 3600 |
69 | done | ||
70 | fi | ||
68 | } | 71 | } |
69 | 72 | ||
70 | # Variables shared amoung modules | 73 | # Variables shared among modules |
71 | ROOTFS_DIR="/rootfs" # where to do the switch root | 74 | ROOTFS_DIR="/rootfs" # where to do the switch root |
72 | MODULE_PRE_HOOKS="" # functions to call before running each module | 75 | MODULE_PRE_HOOKS="" # functions to call before running each module |
73 | MODULE_POST_HOOKS="" # functions to call after running each module | 76 | MODULE_POST_HOOKS="" # functions to call after running each module |
@@ -117,7 +120,7 @@ if grep -q devtmpfs /proc/filesystems; then | |||
117 | mount -t devtmpfs devtmpfs /dev | 120 | mount -t devtmpfs devtmpfs /dev |
118 | else | 121 | else |
119 | if [ ! -d /dev ]; then | 122 | if [ ! -d /dev ]; then |
120 | fatal "ERROR: /dev doesn't exist and kernel doesn't has devtmpfs enabled." | 123 | fatal "ERROR: /dev doesn't exist and kernel doesn't have devtmpfs enabled." |
121 | fi | 124 | fi |
122 | fi | 125 | fi |
123 | 126 | ||
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs b/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs index e67ee4c25d..30555aef55 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs +++ b/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | nfsrootfs_enabled() { | 3 | nfsrootfs_enabled() { |
4 | if [ ${bootparam_root} != "/dev/nfs" ] || [ -z ${bootparam_nfsroot} ]; then | 4 | if [ "${bootparam_root}" != "/dev/nfs" ] || [ -z ${bootparam_nfsroot} ]; then |
5 | return 1 | 5 | return 1 |
6 | fi | 6 | fi |
7 | return 0 | 7 | return 0 |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs index e0efbe6ebe..df0cbfb091 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs +++ b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs | |||
@@ -33,9 +33,11 @@ rootfs_run() { | |||
33 | elif [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then | 33 | elif [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then |
34 | root_label=`echo $bootparam_root | cut -c7-` | 34 | root_label=`echo $bootparam_root | cut -c7-` |
35 | bootparam_root="/dev/disk/by-label/$root_label" | 35 | bootparam_root="/dev/disk/by-label/$root_label" |
36 | elif echo "${bootparam_root}" | grep -q '^ubi[0-9]\+:'; then | ||
37 | bootparam_rootfstype="ubifs" | ||
36 | fi | 38 | fi |
37 | 39 | ||
38 | if [ -e "$bootparam_root" ]; then | 40 | if [ -e "$bootparam_root" ] || [ -n "$bootparam_rootfstype" ]; then |
39 | flags="" | 41 | flags="" |
40 | if [ -n "$bootparam_ro" ] && ! echo "$bootparam_rootflags" | grep -w -q "ro"; then | 42 | if [ -n "$bootparam_ro" ] && ! echo "$bootparam_rootflags" | grep -w -q "ro"; then |
41 | if [ -n "$bootparam_rootflags" ]; then | 43 | if [ -n "$bootparam_rootflags" ]; then |
@@ -49,6 +51,7 @@ rootfs_run() { | |||
49 | if [ -n "$bootparam_rootfstype" ]; then | 51 | if [ -n "$bootparam_rootfstype" ]; then |
50 | flags="$flags -t$bootparam_rootfstype" | 52 | flags="$flags -t$bootparam_rootfstype" |
51 | fi | 53 | fi |
54 | debug "mount $flags $bootparam_root $ROOTFS_DIR" | ||
52 | mount $flags $bootparam_root $ROOTFS_DIR | 55 | mount $flags $bootparam_root $ROOTFS_DIR |
53 | if mountpoint -q $ROOTFS_DIR; then | 56 | if mountpoint -q $ROOTFS_DIR; then |
54 | break | 57 | break |
@@ -59,7 +62,7 @@ rootfs_run() { | |||
59 | fi | 62 | fi |
60 | fi | 63 | fi |
61 | fi | 64 | fi |
62 | debug "Sleeping for $delay second(s) to wait root to settle..." | 65 | debug "Sleeping for $delay second(s) to wait for root to settle..." |
63 | sleep $delay | 66 | sleep $delay |
64 | C=$(( $C + 1 )) | 67 | C=$(( $C + 1 )) |
65 | done | 68 | done |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 39ea51ccbd..2ec03bc34c 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | |||
@@ -4,7 +4,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
4 | RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" | 4 | RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" |
5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
6 | 6 | ||
7 | |||
8 | inherit allarch | 7 | inherit allarch |
9 | 8 | ||
10 | SRC_URI = "file://init \ | 9 | SRC_URI = "file://init \ |
@@ -20,37 +19,37 @@ SRC_URI = "file://init \ | |||
20 | file://overlayroot \ | 19 | file://overlayroot \ |
21 | " | 20 | " |
22 | 21 | ||
23 | S = "${WORKDIR}" | 22 | S = "${UNPACKDIR}" |
24 | 23 | ||
25 | do_install() { | 24 | do_install() { |
26 | install -d ${D}/init.d | 25 | install -d ${D}/init.d |
27 | 26 | ||
28 | # base | 27 | # base |
29 | install -m 0755 ${WORKDIR}/init ${D}/init | 28 | install -m 0755 ${S}/init ${D}/init |
30 | install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs | 29 | install -m 0755 ${S}/nfsrootfs ${D}/init.d/85-nfsrootfs |
31 | install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs | 30 | install -m 0755 ${S}/rootfs ${D}/init.d/90-rootfs |
32 | install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish | 31 | install -m 0755 ${S}/finish ${D}/init.d/99-finish |
33 | 32 | ||
34 | # exec | 33 | # exec |
35 | install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec | 34 | install -m 0755 ${S}/exec ${D}/init.d/89-exec |
36 | 35 | ||
37 | # mdev | 36 | # mdev |
38 | install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev | 37 | install -m 0755 ${S}/mdev ${D}/init.d/01-mdev |
39 | 38 | ||
40 | # udev | 39 | # udev |
41 | install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev | 40 | install -m 0755 ${S}/udev ${D}/init.d/01-udev |
42 | 41 | ||
43 | # e2fs | 42 | # e2fs |
44 | install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs | 43 | install -m 0755 ${S}/e2fs ${D}/init.d/10-e2fs |
45 | 44 | ||
46 | # debug | 45 | # debug |
47 | install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug | 46 | install -m 0755 ${S}/debug ${D}/init.d/00-debug |
48 | 47 | ||
49 | # lvm | 48 | # lvm |
50 | install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm | 49 | install -m 0755 ${S}/lvm ${D}/init.d/09-lvm |
51 | 50 | ||
52 | # overlayroot needs to run after rootfs module but before finish | 51 | # overlayroot needs to run after rootfs module but before finish |
53 | install -m 0755 ${WORKDIR}/overlayroot ${D}/init.d/91-overlayroot | 52 | install -m 0755 ${S}/overlayroot ${D}/init.d/91-overlayroot |
54 | 53 | ||
55 | # Create device nodes expected by some kernels in initramfs | 54 | # Create device nodes expected by some kernels in initramfs |
56 | # before even executing /init. | 55 | # before even executing /init. |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb index 847dbc0472..6b99ab1843 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb | |||
@@ -5,11 +5,10 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "busybox-mdev" | 5 | RDEPENDS:${PN} = "busybox-mdev" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | 8 | S = "${UNPACKDIR}" | |
9 | S = "${WORKDIR}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${WORKDIR}/init-live.sh ${D}/init | 11 | install -m 0755 ${S}/init-live.sh ${D}/init |
13 | install -d ${D}/dev | 12 | install -d ${D}/dev |
14 | mknod -m 622 ${D}/dev/console c 5 1 | 13 | mknod -m 622 ${D}/dev/console c 5 1 |
15 | } | 14 | } |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb index b3b991b8fd..8c8355a53e 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | |||
@@ -5,11 +5,10 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "udev udev-extraconf" | 5 | RDEPENDS:${PN} = "udev udev-extraconf" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | 8 | S = "${UNPACKDIR}" | |
9 | S = "${WORKDIR}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${WORKDIR}/init-live.sh ${D}/init | 11 | install -m 0755 ${S}/init-live.sh ${D}/init |
13 | install -d ${D}/dev | 12 | install -d ${D}/dev |
14 | mknod -m 622 ${D}/dev/console c 5 1 | 13 | mknod -m 622 ${D}/dev/console c 5 1 |
15 | } | 14 | } |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb index 495eccbeda..e308727320 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb | |||
@@ -5,10 +5,10 @@ SRC_URI = "file://init-install-efi-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${UNPACKDIR}" |
9 | 9 | ||
10 | do_install() { | 10 | do_install() { |
11 | install -m 0755 ${WORKDIR}/init-install-efi-testfs.sh ${D}/install-efi.sh | 11 | install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh |
12 | } | 12 | } |
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb index e10faadfbe..77462f4425 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb | |||
@@ -3,14 +3,13 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-install-efi.sh" | 4 | SRC_URI = "file://init-install-efi.sh" |
5 | 5 | ||
6 | |||
7 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
8 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 7 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
9 | 8 | ||
10 | S = "${WORKDIR}" | 9 | S = "${UNPACKDIR}" |
11 | 10 | ||
12 | do_install() { | 11 | do_install() { |
13 | install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/install-efi.sh | 12 | install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh |
14 | } | 13 | } |
15 | 14 | ||
16 | # While this package maybe an allarch due to it being a | 15 | # While this package maybe an allarch due to it being a |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb index d347e323b3..05f92203cd 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb | |||
@@ -5,10 +5,10 @@ SRC_URI = "file://init-install-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" | 6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${UNPACKDIR}" |
9 | 9 | ||
10 | do_install() { | 10 | do_install() { |
11 | install -m 0755 ${WORKDIR}/init-install-testfs.sh ${D}/install.sh | 11 | install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh |
12 | } | 12 | } |
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb index 9046d06c02..791bd57171 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb | |||
@@ -3,14 +3,13 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-install.sh" | 4 | SRC_URI = "file://init-install.sh" |
5 | 5 | ||
6 | 6 | S = "${UNPACKDIR}" | |
7 | S = "${WORKDIR}" | ||
8 | 7 | ||
9 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 8 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
10 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 9 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
11 | 10 | ||
12 | do_install() { | 11 | do_install() { |
13 | install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh | 12 | install -m 0755 ${S}/init-install.sh ${D}/install.sh |
14 | } | 13 | } |
15 | 14 | ||
16 | # While this package maybe an allarch due to it being a | 15 | # While this package maybe an allarch due to it being a |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb index b7499644f0..0283149899 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb | |||
@@ -4,14 +4,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
4 | RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 4 | RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
6 | 6 | ||
7 | |||
8 | SRC_URI = "file://init-install-efi.sh" | 7 | SRC_URI = "file://init-install-efi.sh" |
9 | 8 | ||
10 | S = "${WORKDIR}" | 9 | S = "${UNPACKDIR}" |
11 | 10 | ||
12 | do_install() { | 11 | do_install() { |
13 | install -d ${D}/init.d | 12 | install -d ${D}/init.d |
14 | install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/init.d/install-efi.sh | 13 | install -m 0755 ${S}/init-install-efi.sh ${D}/init.d/install-efi.sh |
15 | } | 14 | } |
16 | 15 | ||
17 | FILES:${PN} = "/init.d/install-efi.sh" | 16 | FILES:${PN} = "/init.d/install-efi.sh" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb index 11db7124af..f44c753da0 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb | |||
@@ -5,18 +5,17 @@ RDEPENDS:${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-lin | |||
5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
6 | 6 | ||
7 | # The same restriction as grub | 7 | # The same restriction as grub |
8 | COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)' | 8 | COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' |
9 | COMPATIBLE_HOST:armv7a = 'null' | 9 | COMPATIBLE_HOST:armv7a = 'null' |
10 | COMPATIBLE_HOST:armv7ve = 'null' | 10 | COMPATIBLE_HOST:armv7ve = 'null' |
11 | 11 | ||
12 | |||
13 | SRC_URI = "file://init-install.sh" | 12 | SRC_URI = "file://init-install.sh" |
14 | 13 | ||
15 | S = "${WORKDIR}" | 14 | S = "${UNPACKDIR}" |
16 | 15 | ||
17 | do_install() { | 16 | do_install() { |
18 | install -d ${D}/init.d | 17 | install -d ${D}/init.d |
19 | install -m 0755 ${WORKDIR}/init-install.sh ${D}/init.d/install.sh | 18 | install -m 0755 ${S}/init-install.sh ${D}/init.d/install.sh |
20 | } | 19 | } |
21 | 20 | ||
22 | FILES:${PN} = "/init.d/install.sh" | 21 | FILES:${PN} = "/init.d/install.sh" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb index 48a779e9aa..3afbd5d47d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb | |||
@@ -3,17 +3,16 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf" | 4 | RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf" |
5 | 5 | ||
6 | |||
7 | inherit allarch | 6 | inherit allarch |
8 | 7 | ||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" | 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" |
10 | SRC_URI = "file://setup-live" | 9 | SRC_URI = "file://setup-live" |
11 | 10 | ||
12 | S = "${WORKDIR}" | 11 | S = "${UNPACKDIR}" |
13 | 12 | ||
14 | do_install() { | 13 | do_install() { |
15 | install -d ${D}/init.d | 14 | install -d ${D}/init.d |
16 | install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live | 15 | install -m 0755 ${S}/setup-live ${D}/init.d/80-setup-live |
17 | } | 16 | } |
18 | 17 | ||
19 | FILES:${PN} = "/init.d/80-setup-live" | 18 | FILES:${PN} = "/init.d/80-setup-live" |
diff --git a/meta/recipes-core/initscripts/init-system-helpers_1.66.bb b/meta/recipes-core/initscripts/init-system-helpers_1.68.bb index 64e08aae68..48ac7792d3 100644 --- a/meta/recipes-core/initscripts/init-system-helpers_1.66.bb +++ b/meta/recipes-core/initscripts/init-system-helpers_1.68.bb | |||
@@ -16,12 +16,10 @@ SECTION = "base" | |||
16 | LICENSE = "BSD-3-Clause & GPL-2.0-only" | 16 | LICENSE = "BSD-3-Clause & GPL-2.0-only" |
17 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae" | 17 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae" |
18 | 18 | ||
19 | SRCREV = "a5439f465dc1d1d4e12329208dc321fb806009f4" | 19 | SRCREV = "78486a4a2a305170b66ce4d907bedadbaed10daf" |
20 | SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" | 20 | SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" |
21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)" | 21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)" |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | do_configure[noexec] = "1" | 23 | do_configure[noexec] = "1" |
26 | do_compile[noexec] = "1" | 24 | do_compile[noexec] = "1" |
27 | 25 | ||
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/functions b/meta/recipes-core/initscripts/initscripts-1.0/functions index 35aebd4a55..7fc19c808b 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/functions +++ b/meta/recipes-core/initscripts/initscripts-1.0/functions | |||
@@ -92,3 +92,24 @@ passed() { | |||
92 | echo -n -e "${BRACKET}[${SUCCESS} PASS ${BRACKET}]${NORMAL}" | 92 | echo -n -e "${BRACKET}[${SUCCESS} PASS ${BRACKET}]${NORMAL}" |
93 | return $rc | 93 | return $rc |
94 | } | 94 | } |
95 | |||
96 | log_success_msg() | ||
97 | { | ||
98 | echo -n $@ | ||
99 | success | ||
100 | echo | ||
101 | } | ||
102 | |||
103 | log_failure_msg() | ||
104 | { | ||
105 | echo -n $@ | ||
106 | failure | ||
107 | echo | ||
108 | } | ||
109 | |||
110 | log_warning_msg() | ||
111 | { | ||
112 | echo -n $@ | ||
113 | warning | ||
114 | echo | ||
115 | } | ||
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index e61ac554f3..c984257c5c 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb | |||
@@ -35,7 +35,7 @@ SRC_URI = "file://functions \ | |||
35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ | 35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ |
36 | " | 36 | " |
37 | 37 | ||
38 | S = "${WORKDIR}" | 38 | S = "${UNPACKDIR}" |
39 | 39 | ||
40 | SRC_URI:append:arm = " file://alignment.sh" | 40 | SRC_URI:append:arm = " file://alignment.sh" |
41 | SRC_URI:append:armeb = " file://alignment.sh" | 41 | SRC_URI:append:armeb = " file://alignment.sh" |
@@ -53,7 +53,6 @@ RDEPENDS:${PN} = "initd-functions \ | |||
53 | # Recommend pn-functions so that it will be a preferred default provider for initd-functions | 53 | # Recommend pn-functions so that it will be a preferred default provider for initd-functions |
54 | RRECOMMENDS:${PN} = "${PN}-functions" | 54 | RRECOMMENDS:${PN} = "${PN}-functions" |
55 | RPROVIDES:${PN}-functions = "initd-functions" | 55 | RPROVIDES:${PN}-functions = "initd-functions" |
56 | RCONFLICTS:${PN}-functions = "lsbinitscripts" | ||
57 | FILES:${PN}-functions = "${sysconfdir}/init.d/functions*" | 56 | FILES:${PN}-functions = "${sysconfdir}/init.d/functions*" |
58 | FILES:${PN}-sushell = "${base_sbindir}/sushell" | 57 | FILES:${PN}-sushell = "${base_sbindir}/sushell" |
59 | 58 | ||
@@ -61,9 +60,9 @@ HALTARGS ?= "-d -f" | |||
61 | VARLIBMOUNTARGS ?= "" | 60 | VARLIBMOUNTARGS ?= "" |
62 | 61 | ||
63 | do_configure() { | 62 | do_configure() { |
64 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/halt | 63 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/halt |
65 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/reboot | 64 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/reboot |
66 | sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${WORKDIR}/read-only-rootfs-hook.sh | 65 | sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${S}/read-only-rootfs-hook.sh |
67 | } | 66 | } |
68 | 67 | ||
69 | do_install () { | 68 | do_install () { |
@@ -84,50 +83,50 @@ do_install () { | |||
84 | # Holds state information pertaining to urandom | 83 | # Holds state information pertaining to urandom |
85 | install -d ${D}${localstatedir}/lib/urandom | 84 | install -d ${D}${localstatedir}/lib/urandom |
86 | 85 | ||
87 | install -m 0644 ${WORKDIR}/functions ${D}${sysconfdir}/init.d | 86 | install -m 0644 ${S}/functions ${D}${sysconfdir}/init.d |
88 | install -m 0755 ${WORKDIR}/bootmisc.sh ${D}${sysconfdir}/init.d | 87 | install -m 0755 ${S}/bootmisc.sh ${D}${sysconfdir}/init.d |
89 | install -m 0755 ${WORKDIR}/checkroot.sh ${D}${sysconfdir}/init.d | 88 | install -m 0755 ${S}/checkroot.sh ${D}${sysconfdir}/init.d |
90 | install -m 0755 ${WORKDIR}/halt ${D}${sysconfdir}/init.d | 89 | install -m 0755 ${S}/halt ${D}${sysconfdir}/init.d |
91 | install -m 0755 ${WORKDIR}/hostname.sh ${D}${sysconfdir}/init.d | 90 | install -m 0755 ${S}/hostname.sh ${D}${sysconfdir}/init.d |
92 | install -m 0755 ${WORKDIR}/mountall.sh ${D}${sysconfdir}/init.d | 91 | install -m 0755 ${S}/mountall.sh ${D}${sysconfdir}/init.d |
93 | install -m 0755 ${WORKDIR}/mountnfs.sh ${D}${sysconfdir}/init.d | 92 | install -m 0755 ${S}/mountnfs.sh ${D}${sysconfdir}/init.d |
94 | install -m 0755 ${WORKDIR}/reboot ${D}${sysconfdir}/init.d | 93 | install -m 0755 ${S}/reboot ${D}${sysconfdir}/init.d |
95 | install -m 0755 ${WORKDIR}/rmnologin.sh ${D}${sysconfdir}/init.d | 94 | install -m 0755 ${S}/rmnologin.sh ${D}${sysconfdir}/init.d |
96 | install -m 0755 ${WORKDIR}/sendsigs ${D}${sysconfdir}/init.d | 95 | install -m 0755 ${S}/sendsigs ${D}${sysconfdir}/init.d |
97 | install -m 0755 ${WORKDIR}/single ${D}${sysconfdir}/init.d | 96 | install -m 0755 ${S}/single ${D}${sysconfdir}/init.d |
98 | install -m 0755 ${WORKDIR}/umountnfs.sh ${D}${sysconfdir}/init.d | 97 | install -m 0755 ${S}/umountnfs.sh ${D}${sysconfdir}/init.d |
99 | install -m 0755 ${WORKDIR}/urandom ${D}${sysconfdir}/init.d | 98 | install -m 0755 ${S}/urandom ${D}${sysconfdir}/init.d |
100 | sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g' | 99 | sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g' |
101 | install -m 0755 ${WORKDIR}/devpts.sh ${D}${sysconfdir}/init.d | 100 | install -m 0755 ${S}/devpts.sh ${D}${sysconfdir}/init.d |
102 | install -m 0755 ${WORKDIR}/devpts ${D}${sysconfdir}/default | 101 | install -m 0755 ${S}/devpts ${D}${sysconfdir}/default |
103 | install -m 0755 ${WORKDIR}/sysfs.sh ${D}${sysconfdir}/init.d | 102 | install -m 0755 ${S}/sysfs.sh ${D}${sysconfdir}/init.d |
104 | install -m 0755 ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d | 103 | install -m 0755 ${S}/populate-volatile.sh ${D}${sysconfdir}/init.d |
105 | install -m 0755 ${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d | 104 | install -m 0755 ${S}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d |
106 | install -m 0755 ${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d | 105 | install -m 0755 ${S}/save-rtc.sh ${D}${sysconfdir}/init.d |
107 | install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core | 106 | install -m 0644 ${S}/volatiles ${D}${sysconfdir}/default/volatiles/00_core |
108 | if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then | 107 | if ${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-log.txt', 'true', 'false', d)}; then |
109 | sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \ | 108 | sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \ |
110 | ${D}${sysconfdir}/default/volatiles/00_core | 109 | ${D}${sysconfdir}/default/volatiles/00_core |
111 | fi | 110 | fi |
112 | if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then | 111 | if ! ${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-tmp.txt', 'true', 'false', d)}; then |
113 | sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core | 112 | sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core |
114 | fi | 113 | fi |
115 | install -m 0755 ${WORKDIR}/dmesg.sh ${D}${sysconfdir}/init.d | 114 | install -m 0755 ${S}/dmesg.sh ${D}${sysconfdir}/init.d |
116 | install -m 0644 ${WORKDIR}/logrotate-dmesg.conf ${D}${sysconfdir}/ | 115 | install -m 0644 ${S}/logrotate-dmesg.conf ${D}${sysconfdir}/ |
117 | 116 | ||
118 | if [ "${TARGET_ARCH}" = "arm" ]; then | 117 | if [ "${TARGET_ARCH}" = "arm" ]; then |
119 | install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d | 118 | install -m 0755 ${S}/alignment.sh ${D}${sysconfdir}/init.d |
120 | fi | 119 | fi |
121 | 120 | ||
122 | if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then | 121 | if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then |
123 | install -d ${D}/${base_sbindir} | 122 | install -d ${D}/${base_sbindir} |
124 | install -m 0755 ${WORKDIR}/sushell ${D}/${base_sbindir} | 123 | install -m 0755 ${S}/sushell ${D}/${base_sbindir} |
125 | fi | 124 | fi |
126 | # | 125 | # |
127 | # Install device dependent scripts | 126 | # Install device dependent scripts |
128 | # | 127 | # |
129 | install -m 0755 ${WORKDIR}/banner.sh ${D}${sysconfdir}/init.d/banner.sh | 128 | install -m 0755 ${S}/banner.sh ${D}${sysconfdir}/init.d/banner.sh |
130 | install -m 0755 ${WORKDIR}/umountfs ${D}${sysconfdir}/init.d/umountfs | 129 | install -m 0755 ${S}/umountfs ${D}${sysconfdir}/init.d/umountfs |
131 | # | 130 | # |
132 | # Create runlevel links | 131 | # Create runlevel links |
133 | # | 132 | # |
diff --git a/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch b/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch deleted file mode 100644 index de279b55f9..0000000000 --- a/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch +++ /dev/null | |||
@@ -1,73 +0,0 @@ | |||
1 | From b757e6842f9631757f0d1a6b3833aabffa9ffeee Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexey Gladkov <legion@kernel.org> | ||
3 | Date: Thu, 29 Feb 2024 17:38:37 +0100 | ||
4 | Subject: [PATCH] Remove non-free Agafari fonts | ||
5 | |||
6 | Based on legal analysis, we are removing non-free fonts for now. If we | ||
7 | can change the license of these fonts, we will return them back. | ||
8 | |||
9 | From: Stanislav Brabec <sbrabec@suse.com> | ||
10 | Date: Wed, 28 Feb 2024 16:47:54 +0100 | ||
11 | Subject: kbd: Legal problems of Agafari fonts | ||
12 | |||
13 | The data/consolefonts/README.Ethiopic contains a notice: | ||
14 | Agafari: | ||
15 | Donated by the Ethiopian Science and Technology Commission | ||
16 | <ncic@padis.gn.apc.org> or <ncic@telecom.net.et> and may be redistributed | ||
17 | for non-commercial use under Unix environments only. | ||
18 | |||
19 | According to our legal review, it makes impossible to distribute these | ||
20 | fonts as part of any commercial products, and even makes it impossible to | ||
21 | distribute kbd sources as part of any commercial product services. | ||
22 | |||
23 | Additionally, it makes the whole kbd package incompatible with GPL, so the | ||
24 | COPYING file (created during build of the tarball) cannot declare GPL | ||
25 | version 2. It also violates section 6 of GPL (no further restrictions). | ||
26 | |||
27 | That is why several GNU/Linux distributions exclude Agafari from the | ||
28 | release. To be on a safe side, SUSE even decided to repack any source | ||
29 | tarballs before putting it to their servers. | ||
30 | |||
31 | This was probably reported to the former kbd maintainer about 20 years ago, | ||
32 | but nothing changed over years. | ||
33 | |||
34 | That is why I recommend removing Agafari fonts and removing the reference | ||
35 | to them from README.Ethiopic. Alternatively, you can ask the Ethiopian | ||
36 | Science and Technology Commission for re-licensing. | ||
37 | |||
38 | Signed-off-by: Alexey Gladkov <legion@kernel.org> | ||
39 | |||
40 | Upstream-Status: Backport [https://github.com/legionus/kbd/commit/b757e6842f9631757f0d1a6b3833aabffa9ffeee] | ||
41 | |||
42 | [do_configure prepend added to remove binary files] | ||
43 | |||
44 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
45 | --- | ||
46 | data/consolefonts/Agafari-12.psfu | Bin 7989 -> 0 bytes | ||
47 | data/consolefonts/Agafari-14.psfu | Bin 9013 -> 0 bytes | ||
48 | data/consolefonts/Agafari-16.psfu | Bin 10037 -> 0 bytes | ||
49 | data/consolefonts/README.Ethiopic | 5 ----- | ||
50 | 4 files changed, 5 deletions(-) | ||
51 | delete mode 100644 data/consolefonts/Agafari-12.psfu | ||
52 | delete mode 100644 data/consolefonts/Agafari-14.psfu | ||
53 | delete mode 100644 data/consolefonts/Agafari-16.psfu | ||
54 | |||
55 | diff --git a/data/consolefonts/README.Ethiopic b/data/consolefonts/README.Ethiopic | ||
56 | index 7502722..2810797 100644 | ||
57 | --- a/data/consolefonts/README.Ethiopic | ||
58 | +++ b/data/consolefonts/README.Ethiopic | ||
59 | @@ -14,11 +14,6 @@ Ethiopic fonts: | ||
60 | restrictions below: | ||
61 | |||
62 | |||
63 | -Agafari: | ||
64 | - Donated by the Ethiopian Science and Technology Commission | ||
65 | - <ncic@padis.gn.apc.org> or <ncic@telecom.net.et> and may be redistributed | ||
66 | - for non-commercial use under Unix environments only. | ||
67 | - | ||
68 | Goha and GohaClassic: | ||
69 | Donated by Yitna Firdyiwek <ybf2u@virgina.edu> of GohaTibeb Associates | ||
70 | and may be redistributed without restriction under the GNU GPL 2.0. | ||
71 | -- | ||
72 | 2.30.2 | ||
73 | |||
diff --git a/meta/recipes-core/kbd/kbd_2.6.4.bb b/meta/recipes-core/kbd/kbd_2.8.0.bb index 2331b51e59..ababa09918 100644 --- a/meta/recipes-core/kbd/kbd_2.6.4.bb +++ b/meta/recipes-core/kbd/kbd_2.8.0.bb | |||
@@ -1,6 +1,6 @@ | |||
1 | SUMMARY = "Keytable files and keyboard utilities" | 1 | SUMMARY = "Keytable files and keyboard utilities" |
2 | HOMEPAGE = "http://www.kbd-project.org/" | 2 | HOMEPAGE = "http://www.kbd-project.org/" |
3 | DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps." | 3 | DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) - mainly, what they do is loading console fonts and keyboard maps." |
4 | 4 | ||
5 | # consolefonts and keymaps contain also some public domain and author notice licenses | 5 | # consolefonts and keymaps contain also some public domain and author notice licenses |
6 | LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & GPL-3.0-or-later" | 6 | LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & GPL-3.0-or-later" |
@@ -24,12 +24,12 @@ RPROVIDES:${PN} = "console-tools" | |||
24 | RCONFLICTS:${PN} = "console-tools" | 24 | RCONFLICTS:${PN} = "console-tools" |
25 | 25 | ||
26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \ | 26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \ |
27 | file://0001-Remove-non-free-Agafari-fonts.patch \ | ||
28 | " | 27 | " |
29 | 28 | ||
30 | SRC_URI[sha256sum] = "519f8d087aecca7e0a33cd084bef92c066eb19731666653dcc70c9d71aa40926" | 29 | SRC_URI[sha256sum] = "01f5806da7d1d34f594b7b2a6ae1ab23215344cf1064e8edcd3a90fef9776a11" |
31 | 30 | ||
32 | EXTRA_OECONF = "--disable-tests" | 31 | # 'gzip -n' is set due to https://github.com/legionus/kbd/issues/124 |
32 | EXTRA_OECONF = "--disable-tests --enable-compress='gzip -n'" | ||
33 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ | 33 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ |
34 | " | 34 | " |
35 | 35 | ||
@@ -45,12 +45,6 @@ FILES:${PN}-unimaps = "${datadir}/unimaps" | |||
45 | 45 | ||
46 | RRECOMMENDS:${PN}-keymaps = "${PN}-keymaps-pine" | 46 | RRECOMMENDS:${PN}-keymaps = "${PN}-keymaps-pine" |
47 | 47 | ||
48 | # remove this when upgrading to newer version which has integrated | ||
49 | # https://github.com/legionus/kbd/commit/b757e6842f9631757f0d1a6b3833aabffa9ffeee | ||
50 | do_configure:prepend() { | ||
51 | rm -rf ${S}/data/consolefonts/Agafari-1* | ||
52 | } | ||
53 | |||
54 | do_install:append () { | 48 | do_install:append () { |
55 | if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)}" = "yes" ] \ | 49 | if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)}" = "yes" ] \ |
56 | && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then | 50 | && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then |
diff --git a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb b/meta/recipes-core/libcgroup/libcgroup_3.2.0.bb index 4b4f19e36f..28562a5b37 100644 --- a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb +++ b/meta/recipes-core/libcgroup/libcgroup_3.2.0.bb | |||
@@ -12,11 +12,10 @@ inherit autotools pkgconfig github-releases | |||
12 | DEPENDS = "bison-native flex-native" | 12 | DEPENDS = "bison-native flex-native" |
13 | DEPENDS:append:libc-musl = " fts" | 13 | DEPENDS:append:libc-musl = " fts" |
14 | 14 | ||
15 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ | 15 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz" |
16 | " | ||
17 | UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" | 16 | UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" |
18 | 17 | ||
19 | SRC_URI[sha256sum] = "976ec4b1e03c0498308cfd28f1b256b40858f636abc8d1f9db24f0a7ea9e1258" | 18 | SRC_URI[sha256sum] = "9a0fc2d6c377215c3e0d849f9189ecd91fd075f1da0a24b73f56c8892e86bdfe" |
20 | 19 | ||
21 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" | 20 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" |
22 | PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam" | 21 | PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam" |
diff --git a/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch b/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch deleted file mode 100644 index 94aa3fed49..0000000000 --- a/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From 7b2a0cdc281d94a5782c37ef87040c341447b4b4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Fri, 30 Apr 2021 10:35:02 +0100 | ||
4 | Subject: [PATCH] libxcrypt: Update to 4.4.19 release and fix symbol version | ||
5 | |||
6 | If you pass CFLAGS with a leading space, " " gets passed to popen and convinces | ||
7 | gcc to try and open a file called " ". This results in a confusing error message | ||
8 | like: | ||
9 | |||
10 | x86_64-pokysdk-linux-gcc: error: : No such file or directory | ||
11 | |||
12 | Avoid this by stripping empty elements out of CFLAGS. | ||
13 | |||
14 | Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/126] | ||
15 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
16 | |||
17 | --- | ||
18 | build-aux/scripts/compute-symver-floor | 2 ++ | ||
19 | 1 file changed, 2 insertions(+) | ||
20 | |||
21 | diff --git a/build-aux/scripts/compute-symver-floor b/build-aux/scripts/compute-symver-floor | ||
22 | index 4ec82e1..8117342 100644 | ||
23 | --- a/build-aux/scripts/compute-symver-floor | ||
24 | +++ b/build-aux/scripts/compute-symver-floor | ||
25 | @@ -36,6 +36,8 @@ sub preprocessor_check { | ||
26 | die "C compiler not available\n" unless @CC; | ||
27 | |||
28 | @CFLAGS = sh_split($ENV{CFLAGS} // q{}); | ||
29 | + # Remove empty elements, particularly leading ones which cause issues with popen below | ||
30 | + @CFLAGS = grep {$_} @CFLAGS; | ||
31 | |||
32 | # Remove empty elements, particularly leading ones which | ||
33 | # cause issues with popen below. | ||
diff --git a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.38.bb index d5546ce9ba..bb4e2032dd 100644 --- a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb +++ b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.38.bb | |||
@@ -1,5 +1,5 @@ | |||
1 | # | 1 | # |
2 | # This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular | 2 | # This provides libcrypt.so.1 which contains obsolete APIs, needed for uninative in particular |
3 | # | 3 | # |
4 | 4 | ||
5 | require libxcrypt.inc | 5 | require libxcrypt.inc |
@@ -16,3 +16,4 @@ do_install:append () { | |||
16 | rm -rf ${D}${libdir}/libcrypt.so | 16 | rm -rf ${D}${libdir}/libcrypt.so |
17 | rm -rf ${D}${datadir} | 17 | rm -rf ${D}${datadir} |
18 | } | 18 | } |
19 | |||
diff --git a/meta/recipes-core/libxcrypt/libxcrypt.inc b/meta/recipes-core/libxcrypt/libxcrypt.inc index ba93d91aef..77fec83234 100644 --- a/meta/recipes-core/libxcrypt/libxcrypt.inc +++ b/meta/recipes-core/libxcrypt/libxcrypt.inc | |||
@@ -9,16 +9,13 @@ LIC_FILES_CHKSUM = "file://LICENSING;md5=c0a30e2b1502c55a7f37e412cd6c6a4b \ | |||
9 | 9 | ||
10 | inherit autotools pkgconfig | 10 | inherit autotools pkgconfig |
11 | 11 | ||
12 | SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https" | 12 | SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https \ |
13 | SRCREV = "f531a36aa916a22ef2ce7d270ba381e264250cbf" | 13 | " |
14 | SRCREV = "55ea777e8d567e5e86ffac917c28815ac54cc341" | ||
14 | SRCBRANCH ?= "master" | 15 | SRCBRANCH ?= "master" |
15 | 16 | ||
16 | SRC_URI += "file://fix_cflags_handling.patch" | ||
17 | |||
18 | PROVIDES = "virtual/crypt" | 17 | PROVIDES = "virtual/crypt" |
19 | 18 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" | 19 | BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" |
23 | TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error" | 20 | TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error" |
24 | CPPFLAGS:append:class-nativesdk = " -Wno-error" | 21 | CPPFLAGS:append:class-nativesdk = " -Wno-error" |
diff --git a/meta/recipes-core/libxcrypt/libxcrypt_4.4.36.bb b/meta/recipes-core/libxcrypt/libxcrypt_4.4.38.bb index 79dba2f6dc..79dba2f6dc 100644 --- a/meta/recipes-core/libxcrypt/libxcrypt_4.4.36.bb +++ b/meta/recipes-core/libxcrypt/libxcrypt_4.4.38.bb | |||
diff --git a/meta/recipes-core/libxml/libxml2/0001-Revert-cmake-Fix-installation-directories-in-libxml2.patch b/meta/recipes-core/libxml/libxml2/0001-Revert-cmake-Fix-installation-directories-in-libxml2.patch new file mode 100644 index 0000000000..6ea5adafa2 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/0001-Revert-cmake-Fix-installation-directories-in-libxml2.patch | |||
@@ -0,0 +1,81 @@ | |||
1 | From 55ed199fdb55a1a600616ba14ad0feedcf828d86 Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Marko <peter.marko@siemens.com> | ||
3 | Date: Mon, 26 May 2025 21:11:14 +0200 | ||
4 | Subject: [PATCH] Revert "cmake: Fix installation directories in | ||
5 | libxml2-config.cmake" | ||
6 | |||
7 | This reverts commit 75dde50b20215a2a3a445b62f36a67c8ed337cab. | ||
8 | |||
9 | Upstream-Status: Inappropriate [upstream ticket https://gitlab.gnome.org/GNOME/libxml2/-/issues/898#note_2452864] | ||
10 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
11 | --- | ||
12 | configure.ac | 11 ----------- | ||
13 | libxml2-config.cmake.in | 11 +++++++---- | ||
14 | meson.build | 3 --- | ||
15 | 3 files changed, 7 insertions(+), 18 deletions(-) | ||
16 | |||
17 | diff --git a/configure.ac b/configure.ac | ||
18 | index 40e75151..d21ebfe5 100644 | ||
19 | --- a/configure.ac | ||
20 | +++ b/configure.ac | ||
21 | @@ -1061,17 +1061,6 @@ AC_SUBST(XML_PRIVATE_LIBS) | ||
22 | AC_SUBST(XML_PRIVATE_CFLAGS) | ||
23 | AC_SUBST(XML_INCLUDEDIR) | ||
24 | |||
25 | -# for libxml2-config.cmake.in | ||
26 | -AX_RECURSIVE_EVAL(["$bindir"], [INSTALL_BINDIR]) | ||
27 | -AX_RECURSIVE_EVAL(["$includedir"], [INSTALL_INCLUDEDIR]) | ||
28 | -AX_RECURSIVE_EVAL(["$libdir"], [INSTALL_LIBDIR]) | ||
29 | -AC_SUBST(INSTALL_BINDIR) | ||
30 | -AC_SUBST(INSTALL_INCLUDEDIR) | ||
31 | -AC_SUBST(INSTALL_LIBDIR) | ||
32 | -AM_SUBST_NOTMAKE(INSTALL_BINDIR) | ||
33 | -AM_SUBST_NOTMAKE(INSTALL_INCLUDEDIR) | ||
34 | -AM_SUBST_NOTMAKE(INSTALL_LIBDIR) | ||
35 | - | ||
36 | AX_RECURSIVE_EVAL(["$sysconfdir"], [XML_SYSCONFDIR]) | ||
37 | AC_DEFINE_UNQUOTED([XML_SYSCONFDIR], ["$XML_SYSCONFDIR"], | ||
38 | [System configuration directory (/etc)]) | ||
39 | diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in | ||
40 | index 4945dda4..31036805 100644 | ||
41 | --- a/libxml2-config.cmake.in | ||
42 | +++ b/libxml2-config.cmake.in | ||
43 | @@ -24,17 +24,20 @@ | ||
44 | # LibXml2::LibXml2 - the LibXml2 library | ||
45 | # LibXml2::xmllint - the xmllint command-line executable | ||
46 | |||
47 | +get_filename_component(_libxml2_rootdir ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE) | ||
48 | + | ||
49 | set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@) | ||
50 | set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@) | ||
51 | set(LIBXML2_VERSION_MICRO @LIBXML_MICRO_VERSION@) | ||
52 | set(LIBXML2_VERSION_STRING "@VERSION@") | ||
53 | set(LIBXML2_DEFINITIONS "@XML_CFLAGS@") | ||
54 | -set(LIBXML2_INCLUDE_DIR @INSTALL_INCLUDEDIR@/libxml2) | ||
55 | -set(LIBXML2_LIBRARY_DIR @INSTALL_LIBDIR@) | ||
56 | +set(LIBXML2_INSTALL_PREFIX ${_libxml2_rootdir}) | ||
57 | +set(LIBXML2_INCLUDE_DIR ${_libxml2_rootdir}/include/libxml2) | ||
58 | +set(LIBXML2_LIBRARY_DIR ${_libxml2_rootdir}/lib) | ||
59 | |||
60 | find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH) | ||
61 | -find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH) | ||
62 | -find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS @INSTALL_BINDIR@ NO_DEFAULT_PATH) | ||
63 | +find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH) | ||
64 | +find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH) | ||
65 | |||
66 | set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY}) | ||
67 | set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR}) | ||
68 | diff --git a/meson.build b/meson.build | ||
69 | index 4c59211d..3e5f25d3 100644 | ||
70 | --- a/meson.build | ||
71 | +++ b/meson.build | ||
72 | @@ -599,9 +599,6 @@ config_cmake = configuration_data() | ||
73 | config_cmake.set('LIBXML_MAJOR_VERSION', v_maj) | ||
74 | config_cmake.set('LIBXML_MINOR_VERSION', v_min) | ||
75 | config_cmake.set('LIBXML_MICRO_VERSION', v_mic) | ||
76 | -config_cmake.set('INSTALL_BINDIR', dir_bin) | ||
77 | -config_cmake.set('INSTALL_INCLUDEDIR', dir_include) | ||
78 | -config_cmake.set('INSTALL_LIBDIR', dir_lib) | ||
79 | config_cmake.set('VERSION', meson.project_version()) | ||
80 | config_cmake.set('WITH_HTTP', want_http.to_int().to_string()) | ||
81 | config_cmake.set('WITH_ICONV', want_iconv.to_int().to_string()) | ||
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2025-6021.patch b/meta/recipes-core/libxml/libxml2/CVE-2025-6021.patch new file mode 100644 index 0000000000..157486848b --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/CVE-2025-6021.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | From 33d7969baf541326a35e2fbe31943c46af8c71db Mon Sep 17 00:00:00 2001 | ||
2 | From: Nick Wellnhofer <wellnhofer@aevum.de> | ||
3 | Date: Tue, 27 May 2025 12:53:17 +0200 | ||
4 | Subject: [PATCH] tree: Fix integer overflow in xmlBuildQName | ||
5 | |||
6 | This issue affects memory safety and might receive a CVE ID later. | ||
7 | |||
8 | Fixes #926. | ||
9 | |||
10 | Signed-off-by: Nick Wellnhofer <wellnhofer@aevum.de> | ||
11 | |||
12 | Add '#include <stdint.h>' to assure the definition of SIZE_MAX | ||
13 | CVE: CVE-2025-6021 | ||
14 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/acbbeef9f5dcdcc901c5f3fa14d583ef8cfd22f0] | ||
15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
16 | --- | ||
17 | tree.c | 9 ++++++--- | ||
18 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/tree.c b/tree.c | ||
21 | index 7454b07..22ec11c 100644 | ||
22 | --- a/tree.c | ||
23 | +++ b/tree.c | ||
24 | @@ -23,6 +23,7 @@ | ||
25 | #include <limits.h> | ||
26 | #include <ctype.h> | ||
27 | #include <stdlib.h> | ||
28 | +#include <stdint.h> | ||
29 | |||
30 | #ifdef LIBXML_ZLIB_ENABLED | ||
31 | #include <zlib.h> | ||
32 | @@ -168,10 +169,10 @@ xmlGetParameterEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) { | ||
33 | xmlChar * | ||
34 | xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix, | ||
35 | xmlChar *memory, int len) { | ||
36 | - int lenn, lenp; | ||
37 | + size_t lenn, lenp; | ||
38 | xmlChar *ret; | ||
39 | |||
40 | - if (ncname == NULL) return(NULL); | ||
41 | + if ((ncname == NULL) || (len < 0)) return(NULL); | ||
42 | if (prefix == NULL) return((xmlChar *) ncname); | ||
43 | |||
44 | #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION | ||
45 | @@ -182,8 +183,10 @@ xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix, | ||
46 | |||
47 | lenn = strlen((char *) ncname); | ||
48 | lenp = strlen((char *) prefix); | ||
49 | + if (lenn >= SIZE_MAX - lenp - 1) | ||
50 | + return(NULL); | ||
51 | |||
52 | - if ((memory == NULL) || (len < lenn + lenp + 2)) { | ||
53 | + if ((memory == NULL) || ((size_t) len < lenn + lenp + 2)) { | ||
54 | ret = xmlMalloc(lenn + lenp + 2); | ||
55 | if (ret == NULL) | ||
56 | return(NULL); | ||
57 | -- | ||
58 | 2.34.1 | ||
59 | |||
diff --git a/meta/recipes-core/libxml/libxml2/install-tests.patch b/meta/recipes-core/libxml/libxml2/install-tests.patch index 478eeea81b..789aeca119 100644 --- a/meta/recipes-core/libxml/libxml2/install-tests.patch +++ b/meta/recipes-core/libxml/libxml2/install-tests.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0779511838a8cbd1e0f431c22f28f286a2a37b1b Mon Sep 17 00:00:00 2001 | 1 | From 8c1054eacb430472068f21e4840749c384e8e866 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@arm.com> | 2 | From: Ross Burton <ross.burton@arm.com> |
3 | Date: Mon, 5 Dec 2022 17:02:32 +0000 | 3 | Date: Mon, 5 Dec 2022 17:02:32 +0000 |
4 | Subject: [PATCH] add yocto-specific install-ptest target | 4 | Subject: [PATCH] add yocto-specific install-ptest target |
@@ -12,10 +12,10 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> | |||
12 | 1 file changed, 10 insertions(+) | 12 | 1 file changed, 10 insertions(+) |
13 | 13 | ||
14 | diff --git a/Makefile.am b/Makefile.am | 14 | diff --git a/Makefile.am b/Makefile.am |
15 | index 0a49d37..1097c63 100644 | 15 | index 4cb9a5c..8adcd7e 100644 |
16 | --- a/Makefile.am | 16 | --- a/Makefile.am |
17 | +++ b/Makefile.am | 17 | +++ b/Makefile.am |
18 | @@ -27,6 +27,16 @@ check_PROGRAMS = \ | 18 | @@ -26,6 +26,16 @@ check_PROGRAMS = \ |
19 | testparser \ | 19 | testparser \ |
20 | testrecurse | 20 | testrecurse |
21 | 21 | ||
@@ -29,6 +29,6 @@ index 0a49d37..1097c63 100644 | |||
29 | + cp -r $(srcdir)/result $(DESTDIR)$(ptestdir) | 29 | + cp -r $(srcdir)/result $(DESTDIR)$(ptestdir) |
30 | + cp -r $(srcdir)/python/tests $(DESTDIR)$(ptestdir)/python | 30 | + cp -r $(srcdir)/python/tests $(DESTDIR)$(ptestdir)/python |
31 | + | 31 | + |
32 | bin_PROGRAMS = xmllint xmlcatalog | 32 | bin_PROGRAMS = xmllint |
33 | 33 | ||
34 | bin_SCRIPTS = xml2-config | 34 | bin_SCRIPTS = xml2-config |
diff --git a/meta/recipes-core/libxml/libxml2/run-ptest b/meta/recipes-core/libxml/libxml2/run-ptest index f252a78f17..cbbdd5592f 100755 --- a/meta/recipes-core/libxml/libxml2/run-ptest +++ b/meta/recipes-core/libxml/libxml2/run-ptest | |||
@@ -5,7 +5,7 @@ set -e | |||
5 | export LC_ALL=en_US.UTF-8 | 5 | export LC_ALL=en_US.UTF-8 |
6 | 6 | ||
7 | # testModule isn't that useful and hard-codes buildtree, so we don't run that | 7 | # testModule isn't that useful and hard-codes buildtree, so we don't run that |
8 | TESTS="runtest runsuite testrecurse testchar testdict testThreads runxmlconf testapi" | 8 | TESTS="runtest runsuite testrecurse testchar testdict runxmlconf testapi testlimits testparser" |
9 | 9 | ||
10 | for T in $TESTS; do | 10 | for T in $TESTS; do |
11 | echo Running $T | 11 | echo Running $T |
diff --git a/meta/recipes-core/libxml/libxml2_2.12.6.bb b/meta/recipes-core/libxml/libxml2_2.14.3.bb index 14fcff7fa4..4baab59186 100644 --- a/meta/recipes-core/libxml/libxml2_2.12.6.bb +++ b/meta/recipes-core/libxml/libxml2_2.14.3.bb | |||
@@ -4,10 +4,9 @@ HOMEPAGE = "https://gitlab.gnome.org/GNOME/libxml2" | |||
4 | BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2" | 4 | BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2" |
5 | SECTION = "libs" | 5 | SECTION = "libs" |
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | LIC_FILES_CHKSUM = "file://Copyright;md5=fec7ecfe714722b2bb0aaff7d200c701 \ | 7 | LIC_FILES_CHKSUM = "file://Copyright;md5=5873615e8a9ecbf5c8857c4312ee05d6 \ |
8 | file://dict.c;beginline=6;endline=15;md5=2b4b7b827d2d8b080372433c4c9c85b6 \ | 8 | file://dict.c;beginline=6;endline=15;md5=2b4b7b827d2d8b080372433c4c9c85b6 \ |
9 | file://list.c;beginline=4;endline=13;md5=b9c25b021ccaf287e50060602d20f3a7 \ | 9 | file://list.c;beginline=4;endline=13;md5=b9c25b021ccaf287e50060602d20f3a7 \ |
10 | file://trio.c;beginline=5;endline=14;md5=cd4f61e27f88c1d43df112966b1cd28f \ | ||
11 | " | 10 | " |
12 | 11 | ||
13 | DEPENDS = "zlib virtual/libiconv" | 12 | DEPENDS = "zlib virtual/libiconv" |
@@ -18,9 +17,11 @@ inherit gnomebase | |||
18 | SRC_URI += "http://www.w3.org/XML/Test/xmlts20130923.tar;subdir=${BP};name=testtar \ | 17 | SRC_URI += "http://www.w3.org/XML/Test/xmlts20130923.tar;subdir=${BP};name=testtar \ |
19 | file://run-ptest \ | 18 | file://run-ptest \ |
20 | file://install-tests.patch \ | 19 | file://install-tests.patch \ |
20 | file://0001-Revert-cmake-Fix-installation-directories-in-libxml2.patch \ | ||
21 | file://CVE-2025-6021.patch \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | SRC_URI[archive.sha256sum] = "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb" | 24 | SRC_URI[archive.sha256sum] = "6de55cacc8c2bc758f2ef6f93c313cb30e4dd5d84ac5d3c7ccbd9344d8cc6833" |
24 | SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273" | 25 | SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273" |
25 | 26 | ||
26 | # Disputed as a security issue, but fixed in d39f780 | 27 | # Disputed as a security issue, but fixed in d39f780 |
@@ -28,11 +29,8 @@ CVE_STATUS[CVE-2023-45322] = "disputed: issue requires memory allocation to fail | |||
28 | 29 | ||
29 | BINCONFIG = "${bindir}/xml2-config" | 30 | BINCONFIG = "${bindir}/xml2-config" |
30 | 31 | ||
31 | PACKAGECONFIG ??= "python \ | 32 | PACKAGECONFIG ??= "python" |
32 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ | ||
33 | " | ||
34 | PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3" | 33 | PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3" |
35 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," | ||
36 | 34 | ||
37 | inherit autotools pkgconfig binconfig-disabled ptest | 35 | inherit autotools pkgconfig binconfig-disabled ptest |
38 | 36 | ||
@@ -52,7 +50,7 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-ebcdic-us \ | |||
52 | " | 50 | " |
53 | 51 | ||
54 | # WARNING: zlib is required for RPM use | 52 | # WARNING: zlib is required for RPM use |
55 | EXTRA_OECONF = "--without-debug --without-legacy --with-catalog --with-c14n --without-lzma --with-fexceptions" | 53 | EXTRA_OECONF = "--without-debug --without-legacy --with-catalog --with-c14n --without-lzma" |
56 | EXTRA_OECONF:class-native = "--without-legacy --with-c14n --without-lzma --with-zlib" | 54 | EXTRA_OECONF:class-native = "--without-legacy --with-c14n --without-lzma --with-zlib" |
57 | EXTRA_OECONF:class-nativesdk = "--without-legacy --with-c14n --without-lzma --with-zlib" | 55 | EXTRA_OECONF:class-nativesdk = "--without-legacy --with-c14n --without-lzma --with-zlib" |
58 | EXTRA_OECONF:linuxstdbase = "--with-debug --with-legacy --with-c14n --without-lzma --with-zlib" | 56 | EXTRA_OECONF:linuxstdbase = "--with-debug --with-legacy --with-c14n --without-lzma --with-zlib" |
diff --git a/meta/recipes-core/meta/build-sysroots.bb b/meta/recipes-core/meta/build-sysroots.bb index db05c111ab..b0b8fb3c79 100644 --- a/meta/recipes-core/meta/build-sysroots.bb +++ b/meta/recipes-core/meta/build-sysroots.bb | |||
@@ -7,7 +7,7 @@ STANDALONE_SYSROOT_NATIVE = "${STAGING_DIR}/${BUILD_ARCH}" | |||
7 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
8 | EXCLUDE_FROM_WORLD = "1" | 8 | EXCLUDE_FROM_WORLD = "1" |
9 | 9 | ||
10 | inherit nopackages | 10 | inherit nopackages nospdx |
11 | deltask fetch | 11 | deltask fetch |
12 | deltask unpack | 12 | deltask unpack |
13 | deltask patch | 13 | deltask patch |
@@ -17,9 +17,6 @@ deltask configure | |||
17 | deltask compile | 17 | deltask compile |
18 | deltask install | 18 | deltask install |
19 | deltask populate_sysroot | 19 | deltask populate_sysroot |
20 | deltask create_spdx | ||
21 | deltask collect_spdx_deps | ||
22 | deltask create_runtime_spdx | ||
23 | deltask recipe_qa | 20 | deltask recipe_qa |
24 | 21 | ||
25 | do_build_warn () { | 22 | do_build_warn () { |
diff --git a/meta/recipes-core/meta/buildtools-docs-tarball.bb b/meta/recipes-core/meta/buildtools-docs-tarball.bb index 72648e3b1c..98d47f7b71 100644 --- a/meta/recipes-core/meta/buildtools-docs-tarball.bb +++ b/meta/recipes-core/meta/buildtools-docs-tarball.bb | |||
@@ -7,12 +7,16 @@ LICENSE = "MIT" | |||
7 | # Add nativesdk equivalent of build-essentials | 7 | # Add nativesdk equivalent of build-essentials |
8 | TOOLCHAIN_HOST_TASK += "\ | 8 | TOOLCHAIN_HOST_TASK += "\ |
9 | nativesdk-python3-sphinx \ | 9 | nativesdk-python3-sphinx \ |
10 | nativesdk-python3-sphinx-argparse \ | ||
11 | nativesdk-python3-sphinx-copybutton \ | ||
10 | nativesdk-python3-sphinx-rtd-theme \ | 12 | nativesdk-python3-sphinx-rtd-theme \ |
11 | nativesdk-python3-pyyaml \ | 13 | nativesdk-python3-pyyaml \ |
14 | nativesdk-rsvg \ | ||
12 | " | 15 | " |
13 | 16 | ||
14 | TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-docs-nativesdk-standalone-${DISTRO_VERSION}" | 17 | TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-docs-nativesdk-standalone-${DISTRO_VERSION}" |
15 | 18 | ||
16 | SDK_TITLE = "Docs Build tools tarball" | 19 | SDK_TITLE = "Docs Build tools tarball" |
17 | 20 | ||
18 | TESTSDK_CASES = "buildtools-docs-cases" | 21 | # Directory that contains testcases |
22 | TESTSDK_CASE_DIRS = "buildtools-docs" \ No newline at end of file | ||
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index dc075763e6..02117ab84d 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb | |||
@@ -11,6 +11,7 @@ TOOLCHAIN_HOST_TASK ?= "\ | |||
11 | nativesdk-python3-git \ | 11 | nativesdk-python3-git \ |
12 | nativesdk-python3-jinja2 \ | 12 | nativesdk-python3-jinja2 \ |
13 | nativesdk-python3-testtools \ | 13 | nativesdk-python3-testtools \ |
14 | nativesdk-python3-pip \ | ||
14 | nativesdk-python3-setuptools \ | 15 | nativesdk-python3-setuptools \ |
15 | nativesdk-python3-subunit \ | 16 | nativesdk-python3-subunit \ |
16 | nativesdk-python3-pyyaml \ | 17 | nativesdk-python3-pyyaml \ |
@@ -72,12 +73,6 @@ create_sdk_files:append () { | |||
72 | touch $script | 73 | touch $script |
73 | echo 'export PATH="${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH"' >> $script | 74 | echo 'export PATH="${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH"' >> $script |
74 | echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script | 75 | echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script |
75 | if [ -e "${SDK_OUTPUT}${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt" ]; then | ||
76 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | ||
77 | echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | ||
78 | echo 'export REQUESTS_CA_BUNDLE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | ||
79 | echo 'export CURL_CA_BUNDLE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | ||
80 | fi | ||
81 | echo 'HOST_PKG_PATH=$(command -p pkg-config --variable=pc_path pkg-config 2>/dev/null)' >>$script | 76 | echo 'HOST_PKG_PATH=$(command -p pkg-config --variable=pc_path pkg-config 2>/dev/null)' >>$script |
82 | echo 'export PKG_CONFIG_LIBDIR=${SDKPATHNATIVE}/${libdir}/pkgconfig:${SDKPATHNATIVE}/${datadir}/pkgconfig:${HOST_PKG_PATH:-/usr/lib/pkgconfig:/usr/share/pkgconfig}' >>$script | 77 | echo 'export PKG_CONFIG_LIBDIR=${SDKPATHNATIVE}/${libdir}/pkgconfig:${SDKPATHNATIVE}/${datadir}/pkgconfig:${HOST_PKG_PATH:-/usr/lib/pkgconfig:/usr/share/pkgconfig}' >>$script |
83 | echo 'unset HOST_PKG_PATH' | 78 | echo 'unset HOST_PKG_PATH' |
@@ -85,14 +80,35 @@ create_sdk_files:append () { | |||
85 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} | 80 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} |
86 | 81 | ||
87 | cat >> $script <<EOF | 82 | cat >> $script <<EOF |
83 | # Detect host ca file/path, export for envfile to use | ||
84 | # /etc/ssl/certs/ca-certificates.crt Debian systems | ||
85 | # /etc/pki/tls/certs/ca-bundle.crt Fedora systems | ||
86 | # /etc/ssl/ca-bundle.pem Suse systems | ||
87 | export CAFILE | ||
88 | export CAPATH | ||
89 | for a in /etc/ssl/certs/ca-certificates.crt \ | ||
90 | /etc/pki/tls/certs/ca-bundle.crt \ | ||
91 | /etc/ssl/ca-bundle.pem ; do | ||
92 | if test -f "\$a"; then | ||
93 | CAFILE="\$a" | ||
94 | break | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | a="/etc/ssl/certs" | ||
99 | if test -d "\$a" && ls "\$a"/[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].0 >/dev/null 2>/dev/null; then | ||
100 | CAPATH="\$a" | ||
101 | fi | ||
102 | |||
88 | if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then | 103 | if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then |
89 | for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do | 104 | for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do |
90 | . \$envfile | 105 | . \$envfile |
91 | done | 106 | done |
92 | fi | 107 | fi |
108 | |||
93 | # We have to unset this else it can confuse oe-selftest and other tools | 109 | # We have to unset this else it can confuse oe-selftest and other tools |
94 | # which may also use the overlapping namespace. | 110 | # which may also use the overlapping namespace. |
95 | unset OECORE_NATIVE_SYSROOT | 111 | unset OECORE_NATIVE_SYSROOT CAFILE CAPATH |
96 | EOF | 112 | EOF |
97 | 113 | ||
98 | if [ "${SDKMACHINE}" = "i686" ]; then | 114 | if [ "${SDKMACHINE}" = "i686" ]; then |
@@ -108,19 +124,7 @@ TOOLCHAIN_NEED_CONFIGSITE_CACHE = "" | |||
108 | # The recipe doesn't need any default deps | 124 | # The recipe doesn't need any default deps |
109 | INHIBIT_DEFAULT_DEPS = "1" | 125 | INHIBIT_DEFAULT_DEPS = "1" |
110 | 126 | ||
111 | # Directory in testsdk that contains testcases | 127 | inherit testsdk |
112 | TESTSDK_CASES = "buildtools-cases" | ||
113 | 128 | ||
114 | python do_testsdk() { | 129 | # Directory that contains testcases |
115 | import oeqa.sdk.testsdk | 130 | TESTSDK_CASE_DIRS = "buildtools" \ No newline at end of file |
116 | testsdk = oeqa.sdk.testsdk.TestSDK() | ||
117 | |||
118 | cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), d.getVar("TESTSDK_CASES")) | ||
119 | testsdk.context_executor_class.default_cases = cases_path | ||
120 | |||
121 | testsdk.run(d) | ||
122 | } | ||
123 | addtask testsdk | ||
124 | do_testsdk[nostamp] = "1" | ||
125 | do_testsdk[network] = "1" | ||
126 | do_testsdk[depends] += "xz-native:do_populate_sysroot" | ||
diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb new file mode 100644 index 0000000000..86cd1a1a21 --- /dev/null +++ b/meta/recipes-core/meta/cve-update-db-native.bb | |||
@@ -0,0 +1,404 @@ | |||
1 | SUMMARY = "Updates the NVD CVE database" | ||
2 | LICENSE = "MIT" | ||
3 | |||
4 | INHIBIT_DEFAULT_DEPS = "1" | ||
5 | |||
6 | inherit native | ||
7 | |||
8 | deltask do_patch | ||
9 | deltask do_configure | ||
10 | deltask do_compile | ||
11 | deltask do_install | ||
12 | deltask do_populate_sysroot | ||
13 | |||
14 | NVDCVE_URL ?= "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-" | ||
15 | FKIE_URL ?= "https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest/download/CVE-" | ||
16 | |||
17 | # CVE database update interval, in seconds. By default: once a day (24*60*60). | ||
18 | # Use 0 to force the update | ||
19 | # Use a negative value to skip the update | ||
20 | CVE_DB_UPDATE_INTERVAL ?= "86400" | ||
21 | |||
22 | # Timeout for blocking socket operations, such as the connection attempt. | ||
23 | CVE_SOCKET_TIMEOUT ?= "60" | ||
24 | |||
25 | CVE_CHECK_DB_DLDIR_FILE ?= "${DL_DIR}/CVE_CHECK2/${CVE_CHECK_DB_FILENAME}" | ||
26 | CVE_CHECK_DB_DLDIR_LOCK ?= "${CVE_CHECK_DB_DLDIR_FILE}.lock" | ||
27 | |||
28 | CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DLDIR_FILE}.tmp" | ||
29 | |||
30 | python () { | ||
31 | if not bb.data.inherits_class("cve-check", d): | ||
32 | raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.") | ||
33 | } | ||
34 | |||
35 | python do_fetch() { | ||
36 | """ | ||
37 | Update NVD database with json data feed | ||
38 | """ | ||
39 | import bb.utils | ||
40 | import bb.progress | ||
41 | import shutil | ||
42 | |||
43 | bb.utils.export_proxies(d) | ||
44 | |||
45 | db_file = d.getVar("CVE_CHECK_DB_DLDIR_FILE") | ||
46 | db_dir = os.path.dirname(db_file) | ||
47 | db_tmp_file = d.getVar("CVE_DB_TEMP_FILE") | ||
48 | |||
49 | cleanup_db_download(db_file, db_tmp_file) | ||
50 | |||
51 | # The NVD database changes once a day, so no need to update more frequently | ||
52 | # Allow the user to force-update | ||
53 | try: | ||
54 | import time | ||
55 | update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL")) | ||
56 | if update_interval < 0: | ||
57 | bb.note("CVE database update skipped") | ||
58 | return | ||
59 | if time.time() - os.path.getmtime(db_file) < update_interval: | ||
60 | bb.debug(2, "Recently updated, skipping") | ||
61 | return | ||
62 | |||
63 | except OSError: | ||
64 | pass | ||
65 | |||
66 | bb.utils.mkdirhier(db_dir) | ||
67 | if os.path.exists(db_file): | ||
68 | shutil.copy2(db_file, db_tmp_file) | ||
69 | |||
70 | if update_db_file(db_tmp_file, d) == True: | ||
71 | # Update downloaded correctly, can swap files | ||
72 | shutil.move(db_tmp_file, db_file) | ||
73 | else: | ||
74 | # Update failed, do not modify the database | ||
75 | bb.note("CVE database update failed") | ||
76 | os.remove(db_tmp_file) | ||
77 | } | ||
78 | |||
79 | do_fetch[lockfiles] += "${CVE_CHECK_DB_DLDIR_LOCK}" | ||
80 | do_fetch[file-checksums] = "" | ||
81 | do_fetch[vardeps] = "" | ||
82 | |||
83 | python do_unpack() { | ||
84 | import shutil | ||
85 | shutil.copyfile(d.getVar("CVE_CHECK_DB_DLDIR_FILE"), d.getVar("CVE_CHECK_DB_FILE")) | ||
86 | } | ||
87 | do_unpack[lockfiles] += "${CVE_CHECK_DB_DLDIR_LOCK} ${CVE_CHECK_DB_FILE_LOCK}" | ||
88 | |||
89 | def cleanup_db_download(db_file, db_tmp_file): | ||
90 | """ | ||
91 | Cleanup the download space from possible failed downloads | ||
92 | """ | ||
93 | |||
94 | # Clean up the updates done on the main file | ||
95 | # Remove it only if a journal file exists - it means a complete re-download | ||
96 | if os.path.exists("{0}-journal".format(db_file)): | ||
97 | # If a journal is present the last update might have been interrupted. In that case, | ||
98 | # just wipe any leftovers and force the DB to be recreated. | ||
99 | os.remove("{0}-journal".format(db_file)) | ||
100 | |||
101 | if os.path.exists(db_file): | ||
102 | os.remove(db_file) | ||
103 | |||
104 | # Clean-up the temporary file downloads, we can remove both journal | ||
105 | # and the temporary database | ||
106 | if os.path.exists("{0}-journal".format(db_tmp_file)): | ||
107 | # If a journal is present the last update might have been interrupted. In that case, | ||
108 | # just wipe any leftovers and force the DB to be recreated. | ||
109 | os.remove("{0}-journal".format(db_tmp_file)) | ||
110 | |||
111 | if os.path.exists(db_tmp_file): | ||
112 | os.remove(db_tmp_file) | ||
113 | |||
114 | def db_file_names(d, year, is_nvd): | ||
115 | if is_nvd: | ||
116 | year_url = d.getVar('NVDCVE_URL') + str(year) | ||
117 | meta_url = year_url + ".meta" | ||
118 | json_url = year_url + ".json.gz" | ||
119 | return json_url, meta_url | ||
120 | year_url = d.getVar('FKIE_URL') + str(year) | ||
121 | meta_url = year_url + ".meta" | ||
122 | json_url = year_url + ".json.xz" | ||
123 | return json_url, meta_url | ||
124 | |||
125 | def host_db_name(d, is_nvd): | ||
126 | if is_nvd: | ||
127 | return "nvd.nist.gov" | ||
128 | return "github.com" | ||
129 | |||
130 | def db_decompress(d, data, is_nvd): | ||
131 | import gzip, lzma | ||
132 | |||
133 | if is_nvd: | ||
134 | return gzip.decompress(data).decode('utf-8') | ||
135 | # otherwise | ||
136 | return lzma.decompress(data) | ||
137 | |||
138 | def update_db_file(db_tmp_file, d): | ||
139 | """ | ||
140 | Update the given database file | ||
141 | """ | ||
142 | import bb.utils, bb.progress | ||
143 | from datetime import date | ||
144 | import urllib, gzip, sqlite3 | ||
145 | |||
146 | YEAR_START = 2002 | ||
147 | cve_socket_timeout = int(d.getVar("CVE_SOCKET_TIMEOUT")) | ||
148 | is_nvd = d.getVar("NVD_DB_VERSION") == "NVD1" | ||
149 | |||
150 | # Connect to database | ||
151 | conn = sqlite3.connect(db_tmp_file) | ||
152 | initialize_db(conn) | ||
153 | |||
154 | with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f: | ||
155 | total_years = date.today().year + 1 - YEAR_START | ||
156 | for i, year in enumerate(range(YEAR_START, date.today().year + 1)): | ||
157 | bb.debug(2, "Updating %d" % year) | ||
158 | ph.update((float(i + 1) / total_years) * 100) | ||
159 | json_url, meta_url = db_file_names(d, year, is_nvd) | ||
160 | |||
161 | # Retrieve meta last modified date | ||
162 | try: | ||
163 | response = urllib.request.urlopen(meta_url, timeout=cve_socket_timeout) | ||
164 | except urllib.error.URLError as e: | ||
165 | cve_f.write('Warning: CVE db update error, Unable to fetch CVE data.\n\n') | ||
166 | bb.warn("Failed to fetch CVE data (%s)" % e) | ||
167 | import socket | ||
168 | result = socket.getaddrinfo(host_db_name(d, is_nvd), 443, proto=socket.IPPROTO_TCP) | ||
169 | bb.warn("Host IPs are %s" % (", ".join(t[4][0] for t in result))) | ||
170 | return False | ||
171 | |||
172 | if response: | ||
173 | for l in response.read().decode("utf-8").splitlines(): | ||
174 | key, value = l.split(":", 1) | ||
175 | if key == "lastModifiedDate": | ||
176 | last_modified = value | ||
177 | break | ||
178 | else: | ||
179 | bb.warn("Cannot parse CVE metadata, update failed") | ||
180 | return False | ||
181 | |||
182 | # Compare with current db last modified date | ||
183 | cursor = conn.execute("select DATE from META where YEAR = ?", (year,)) | ||
184 | meta = cursor.fetchone() | ||
185 | cursor.close() | ||
186 | |||
187 | if not meta or meta[0] != last_modified: | ||
188 | bb.debug(2, "Updating entries") | ||
189 | # Clear products table entries corresponding to current year | ||
190 | conn.execute("delete from PRODUCTS where ID like ?", ('CVE-%d%%' % year,)).close() | ||
191 | |||
192 | # Update db with current year json file | ||
193 | try: | ||
194 | response = urllib.request.urlopen(json_url, timeout=cve_socket_timeout) | ||
195 | if response: | ||
196 | update_db(d, conn, db_decompress(d, response.read(), is_nvd)) | ||
197 | conn.execute("insert or replace into META values (?, ?)", [year, last_modified]).close() | ||
198 | except urllib.error.URLError as e: | ||
199 | cve_f.write('Warning: CVE db update error, CVE data is outdated.\n\n') | ||
200 | bb.warn("Cannot parse CVE data (%s), update failed" % e.reason) | ||
201 | return False | ||
202 | else: | ||
203 | bb.debug(2, "Already up to date (last modified %s)" % last_modified) | ||
204 | # Update success, set the date to cve_check file. | ||
205 | if year == date.today().year: | ||
206 | cve_f.write('CVE database update : %s\n\n' % date.today()) | ||
207 | |||
208 | conn.commit() | ||
209 | conn.close() | ||
210 | return True | ||
211 | |||
212 | def initialize_db(conn): | ||
213 | with conn: | ||
214 | c = conn.cursor() | ||
215 | |||
216 | c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)") | ||
217 | |||
218 | c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \ | ||
219 | SCOREV2 TEXT, SCOREV3 TEXT, SCOREV4 TEXT, MODIFIED INTEGER, VECTOR TEXT, VECTORSTRING TEXT)") | ||
220 | |||
221 | c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \ | ||
222 | VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \ | ||
223 | VERSION_END TEXT, OPERATOR_END TEXT)") | ||
224 | c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);") | ||
225 | |||
226 | c.close() | ||
227 | |||
228 | def parse_node_and_insert(conn, node, cveId, is_nvd): | ||
229 | # Parse children node if needed | ||
230 | for child in node.get('children', ()): | ||
231 | parse_node_and_insert(conn, child, cveId, is_nvd) | ||
232 | |||
233 | def cpe_generator(is_nvd): | ||
234 | match_string = "cpeMatch" | ||
235 | cpe_string = 'criteria' | ||
236 | if is_nvd: | ||
237 | match_string = "cpe_match" | ||
238 | cpe_string = 'cpe23Uri' | ||
239 | |||
240 | for cpe in node.get(match_string, ()): | ||
241 | if not cpe['vulnerable']: | ||
242 | return | ||
243 | cpe23 = cpe.get(cpe_string) | ||
244 | if not cpe23: | ||
245 | return | ||
246 | cpe23 = cpe23.split(':') | ||
247 | if len(cpe23) < 6: | ||
248 | return | ||
249 | vendor = cpe23[3] | ||
250 | product = cpe23[4] | ||
251 | version = cpe23[5] | ||
252 | |||
253 | if cpe23[6] == '*' or cpe23[6] == '-': | ||
254 | version_suffix = "" | ||
255 | else: | ||
256 | version_suffix = "_" + cpe23[6] | ||
257 | |||
258 | if version != '*' and version != '-': | ||
259 | # Version is defined, this is a '=' match | ||
260 | yield [cveId, vendor, product, version + version_suffix, '=', '', ''] | ||
261 | elif version == '-': | ||
262 | # no version information is available | ||
263 | yield [cveId, vendor, product, version, '', '', ''] | ||
264 | else: | ||
265 | # Parse start version, end version and operators | ||
266 | op_start = '' | ||
267 | op_end = '' | ||
268 | v_start = '' | ||
269 | v_end = '' | ||
270 | |||
271 | if 'versionStartIncluding' in cpe: | ||
272 | op_start = '>=' | ||
273 | v_start = cpe['versionStartIncluding'] | ||
274 | |||
275 | if 'versionStartExcluding' in cpe: | ||
276 | op_start = '>' | ||
277 | v_start = cpe['versionStartExcluding'] | ||
278 | |||
279 | if 'versionEndIncluding' in cpe: | ||
280 | op_end = '<=' | ||
281 | v_end = cpe['versionEndIncluding'] | ||
282 | |||
283 | if 'versionEndExcluding' in cpe: | ||
284 | op_end = '<' | ||
285 | v_end = cpe['versionEndExcluding'] | ||
286 | |||
287 | if op_start or op_end or v_start or v_end: | ||
288 | yield [cveId, vendor, product, v_start, op_start, v_end, op_end] | ||
289 | else: | ||
290 | # This is no version information, expressed differently. | ||
291 | # Save processing by representing as -. | ||
292 | yield [cveId, vendor, product, '-', '', '', ''] | ||
293 | |||
294 | conn.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator(is_nvd)).close() | ||
295 | |||
296 | def update_db_nvdjson(conn, jsondata): | ||
297 | import json | ||
298 | root = json.loads(jsondata) | ||
299 | |||
300 | for elt in root['CVE_Items']: | ||
301 | if not elt['impact']: | ||
302 | continue | ||
303 | |||
304 | accessVector = None | ||
305 | vectorString = None | ||
306 | cvssv2 = 0.0 | ||
307 | cvssv3 = 0.0 | ||
308 | cvssv4 = 0.0 | ||
309 | cveId = elt['cve']['CVE_data_meta']['ID'] | ||
310 | cveDesc = elt['cve']['description']['description_data'][0]['value'] | ||
311 | date = elt['lastModifiedDate'] | ||
312 | try: | ||
313 | accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] | ||
314 | vectorString = elt['impact']['baseMetricV2']['cvssV2']['vectorString'] | ||
315 | cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] | ||
316 | except KeyError: | ||
317 | cvssv2 = 0.0 | ||
318 | try: | ||
319 | accessVector = accessVector or elt['impact']['baseMetricV3']['cvssV3']['attackVector'] | ||
320 | vectorString = vectorString or elt['impact']['baseMetricV3']['cvssV3']['vectorString'] | ||
321 | cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore'] | ||
322 | except KeyError: | ||
323 | accessVector = accessVector or "UNKNOWN" | ||
324 | cvssv3 = 0.0 | ||
325 | |||
326 | conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?, ?, ?)", | ||
327 | [cveId, cveDesc, cvssv2, cvssv3, cvssv4, date, accessVector, vectorString]).close() | ||
328 | |||
329 | configurations = elt['configurations']['nodes'] | ||
330 | for config in configurations: | ||
331 | parse_node_and_insert(conn, config, cveId, True) | ||
332 | |||
333 | def update_db_fkie(conn, jsondata): | ||
334 | import json | ||
335 | root = json.loads(jsondata) | ||
336 | |||
337 | for elt in root['cve_items']: | ||
338 | if not 'vulnStatus' in elt or elt['vulnStatus'] == 'Rejected': | ||
339 | continue | ||
340 | |||
341 | if not 'configurations' in elt: | ||
342 | continue | ||
343 | |||
344 | accessVector = None | ||
345 | vectorString = None | ||
346 | cvssv2 = 0.0 | ||
347 | cvssv3 = 0.0 | ||
348 | cvssv4 = 0.0 | ||
349 | cveId = elt['id'] | ||
350 | cveDesc = elt['descriptions'][0]['value'] | ||
351 | date = elt['lastModified'] | ||
352 | try: | ||
353 | for m in elt['metrics']['cvssMetricV2']: | ||
354 | if m['type'] == 'Primary': | ||
355 | accessVector = m['cvssData']['accessVector'] | ||
356 | vectorString = m['cvssData']['vectorString'] | ||
357 | cvssv2 = m['cvssData']['baseScore'] | ||
358 | except KeyError: | ||
359 | cvssv2 = 0.0 | ||
360 | try: | ||
361 | for m in elt['metrics']['cvssMetricV30']: | ||
362 | if m['type'] == 'Primary': | ||
363 | accessVector = m['cvssData']['accessVector'] | ||
364 | vectorString = m['cvssData']['vectorString'] | ||
365 | cvssv3 = m['cvssData']['baseScore'] | ||
366 | except KeyError: | ||
367 | accessVector = accessVector or "UNKNOWN" | ||
368 | cvssv3 = 0.0 | ||
369 | try: | ||
370 | for m in elt['metrics']['cvssMetricV31']: | ||
371 | if m['type'] == 'Primary': | ||
372 | accessVector = m['cvssData']['accessVector'] | ||
373 | vectorString = m['cvssData']['vectorString'] | ||
374 | cvssv3 = m['cvssData']['baseScore'] | ||
375 | except KeyError: | ||
376 | accessVector = accessVector or "UNKNOWN" | ||
377 | cvssv3 = 0.0 | ||
378 | try: | ||
379 | for m in elt['metrics']['cvssMetricV40']: | ||
380 | if m['type'] == 'Primary': | ||
381 | accessVector = m['cvssData']['accessVector'] | ||
382 | vectorString = m['cvssData']['vectorString'] | ||
383 | cvssv4 = m['cvssData']['baseScore'] | ||
384 | except KeyError: | ||
385 | accessVector = accessVector or "UNKNOWN" | ||
386 | cvssv4 = 0.0 | ||
387 | |||
388 | conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?, ?, ?)", | ||
389 | [cveId, cveDesc, cvssv2, cvssv3, cvssv4, date, accessVector, vectorString]).close() | ||
390 | |||
391 | for config in elt['configurations']: | ||
392 | # This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing | ||
393 | for node in config["nodes"]: | ||
394 | parse_node_and_insert(conn, node, cveId, False) | ||
395 | |||
396 | def update_db(d, conn, jsondata): | ||
397 | if (d.getVar("NVD_DB_VERSION") == "FKIE"): | ||
398 | return update_db_fkie(conn, jsondata) | ||
399 | else: | ||
400 | return update_db_nvdjson(conn, jsondata) | ||
401 | |||
402 | do_fetch[nostamp] = "1" | ||
403 | |||
404 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta/recipes-core/meta/cve-update-nvd2-native.bb b/meta/recipes-core/meta/cve-update-nvd2-native.bb index 1901641965..32a14a932b 100644 --- a/meta/recipes-core/meta/cve-update-nvd2-native.bb +++ b/meta/recipes-core/meta/cve-update-nvd2-native.bb | |||
@@ -8,7 +8,6 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
8 | 8 | ||
9 | inherit native | 9 | inherit native |
10 | 10 | ||
11 | deltask do_unpack | ||
12 | deltask do_patch | 11 | deltask do_patch |
13 | deltask do_configure | 12 | deltask do_configure |
14 | deltask do_compile | 13 | deltask do_compile |
@@ -35,7 +34,9 @@ CVE_DB_INCR_UPDATE_AGE_THRES ?= "10368000" | |||
35 | # Number of attempts for each http query to nvd server before giving up | 34 | # Number of attempts for each http query to nvd server before giving up |
36 | CVE_DB_UPDATE_ATTEMPTS ?= "5" | 35 | CVE_DB_UPDATE_ATTEMPTS ?= "5" |
37 | 36 | ||
38 | CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db" | 37 | CVE_CHECK_DB_DLDIR_FILE ?= "${DL_DIR}/CVE_CHECK2/${CVE_CHECK_DB_FILENAME}" |
38 | CVE_CHECK_DB_DLDIR_LOCK ?= "${CVE_CHECK_DB_DLDIR_FILE}.lock" | ||
39 | CVE_CHECK_DB_TEMP_FILE ?= "${CVE_CHECK_DB_FILE}.tmp" | ||
39 | 40 | ||
40 | python () { | 41 | python () { |
41 | if not bb.data.inherits_class("cve-check", d): | 42 | if not bb.data.inherits_class("cve-check", d): |
@@ -52,9 +53,9 @@ python do_fetch() { | |||
52 | 53 | ||
53 | bb.utils.export_proxies(d) | 54 | bb.utils.export_proxies(d) |
54 | 55 | ||
55 | db_file = d.getVar("CVE_CHECK_DB_FILE") | 56 | db_file = d.getVar("CVE_CHECK_DB_DLDIR_FILE") |
56 | db_dir = os.path.dirname(db_file) | 57 | db_dir = os.path.dirname(db_file) |
57 | db_tmp_file = d.getVar("CVE_DB_TEMP_FILE") | 58 | db_tmp_file = d.getVar("CVE_CHECK_DB_TEMP_FILE") |
58 | 59 | ||
59 | cleanup_db_download(db_file, db_tmp_file) | 60 | cleanup_db_download(db_file, db_tmp_file) |
60 | # By default let's update the whole database (since time 0) | 61 | # By default let's update the whole database (since time 0) |
@@ -67,6 +68,8 @@ python do_fetch() { | |||
67 | update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL")) | 68 | update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL")) |
68 | if update_interval < 0: | 69 | if update_interval < 0: |
69 | bb.note("CVE database update skipped") | 70 | bb.note("CVE database update skipped") |
71 | if not os.path.exists(db_file): | ||
72 | bb.error("CVE database %s not present, database fetch/update skipped" % db_file) | ||
70 | return | 73 | return |
71 | if time.time() - os.path.getmtime(db_file) < update_interval: | 74 | if time.time() - os.path.getmtime(db_file) < update_interval: |
72 | bb.note("CVE database recently updated, skipping") | 75 | bb.note("CVE database recently updated, skipping") |
@@ -76,7 +79,11 @@ python do_fetch() { | |||
76 | except OSError: | 79 | except OSError: |
77 | pass | 80 | pass |
78 | 81 | ||
82 | if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")): | ||
83 | bb.error("BB_NO_NETWORK attempted to disable fetch, this recipe uses CVE_DB_UPDATE_INTERVAL to control download, set to '-1' to disable fetch or update") | ||
84 | |||
79 | bb.utils.mkdirhier(db_dir) | 85 | bb.utils.mkdirhier(db_dir) |
86 | bb.utils.mkdirhier(os.path.dirname(db_tmp_file)) | ||
80 | if os.path.exists(db_file): | 87 | if os.path.exists(db_file): |
81 | shutil.copy2(db_file, db_tmp_file) | 88 | shutil.copy2(db_file, db_tmp_file) |
82 | 89 | ||
@@ -89,10 +96,16 @@ python do_fetch() { | |||
89 | os.remove(db_tmp_file) | 96 | os.remove(db_tmp_file) |
90 | } | 97 | } |
91 | 98 | ||
92 | do_fetch[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}" | 99 | do_fetch[lockfiles] += "${CVE_CHECK_DB_DLDIR_LOCK}" |
93 | do_fetch[file-checksums] = "" | 100 | do_fetch[file-checksums] = "" |
94 | do_fetch[vardeps] = "" | 101 | do_fetch[vardeps] = "" |
95 | 102 | ||
103 | python do_unpack() { | ||
104 | import shutil | ||
105 | shutil.copyfile(d.getVar("CVE_CHECK_DB_DLDIR_FILE"), d.getVar("CVE_CHECK_DB_FILE")) | ||
106 | } | ||
107 | do_unpack[lockfiles] += "${CVE_CHECK_DB_DLDIR_LOCK} ${CVE_CHECK_DB_FILE_LOCK}" | ||
108 | |||
96 | def cleanup_db_download(db_file, db_tmp_file): | 109 | def cleanup_db_download(db_file, db_tmp_file): |
97 | """ | 110 | """ |
98 | Cleanup the download space from possible failed downloads | 111 | Cleanup the download space from possible failed downloads |
@@ -216,6 +229,11 @@ def update_db_file(db_tmp_file, d, database_time): | |||
216 | # We haven't managed to download data | 229 | # We haven't managed to download data |
217 | return False | 230 | return False |
218 | 231 | ||
232 | # hack for json5 style responses | ||
233 | if raw_data[-3:] == ',]}': | ||
234 | bb.note("Removing trailing ',' from nvd response") | ||
235 | raw_data = raw_data[:-3] + ']}' | ||
236 | |||
219 | data = json.loads(raw_data) | 237 | data = json.loads(raw_data) |
220 | 238 | ||
221 | index = data["startIndex"] | 239 | index = data["startIndex"] |
@@ -247,7 +265,7 @@ def initialize_db(conn): | |||
247 | c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)") | 265 | c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)") |
248 | 266 | ||
249 | c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \ | 267 | c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \ |
250 | SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT, VECTORSTRING TEXT)") | 268 | SCOREV2 TEXT, SCOREV3 TEXT, SCOREV4 TEXT, MODIFIED INTEGER, VECTOR TEXT, VECTORSTRING TEXT)") |
251 | 269 | ||
252 | c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \ | 270 | c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \ |
253 | VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \ | 271 | VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \ |
@@ -323,7 +341,7 @@ def update_db(conn, elt): | |||
323 | accessVector = None | 341 | accessVector = None |
324 | vectorString = None | 342 | vectorString = None |
325 | cveId = elt['cve']['id'] | 343 | cveId = elt['cve']['id'] |
326 | if elt['cve']['vulnStatus'] == "Rejected": | 344 | if elt['cve'].get('vulnStatus') == "Rejected": |
327 | c = conn.cursor() | 345 | c = conn.cursor() |
328 | c.execute("delete from PRODUCTS where ID = ?;", [cveId]) | 346 | c.execute("delete from PRODUCTS where ID = ?;", [cveId]) |
329 | c.execute("delete from NVD where ID = ?;", [cveId]) | 347 | c.execute("delete from NVD where ID = ?;", [cveId]) |
@@ -353,12 +371,18 @@ def update_db(conn, elt): | |||
353 | cvssv3 = cvssv3 or elt['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseScore'] | 371 | cvssv3 = cvssv3 or elt['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseScore'] |
354 | except KeyError: | 372 | except KeyError: |
355 | pass | 373 | pass |
374 | cvssv3 = cvssv3 or 0.0 | ||
375 | try: | ||
376 | accessVector = accessVector or elt['cve']['metrics']['cvssMetricV40'][0]['cvssData']['attackVector'] | ||
377 | vectorString = vectorString or elt['cve']['metrics']['cvssMetricV40'][0]['cvssData']['vectorString'] | ||
378 | cvssv4 = elt['cve']['metrics']['cvssMetricV40'][0]['cvssData']['baseScore'] | ||
379 | except KeyError: | ||
380 | cvssv4 = 0.0 | ||
356 | accessVector = accessVector or "UNKNOWN" | 381 | accessVector = accessVector or "UNKNOWN" |
357 | vectorString = vectorString or "UNKNOWN" | 382 | vectorString = vectorString or "UNKNOWN" |
358 | cvssv3 = cvssv3 or 0.0 | ||
359 | 383 | ||
360 | conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?, ?)", | 384 | conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?, ?, ?)", |
361 | [cveId, cveDesc, cvssv2, cvssv3, date, accessVector, vectorString]).close() | 385 | [cveId, cveDesc, cvssv2, cvssv3, cvssv4, date, accessVector, vectorString]).close() |
362 | 386 | ||
363 | try: | 387 | try: |
364 | # Remove any pre-existing CVE configuration. Even for partial database | 388 | # Remove any pre-existing CVE configuration. Even for partial database |
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb index 65436bc3e6..e259099313 100644 --- a/meta/recipes-core/meta/meta-environment.bb +++ b/meta/recipes-core/meta/meta-environment.bb | |||
@@ -70,7 +70,7 @@ do_install() { | |||
70 | 70 | ||
71 | PN = "meta-environment-${MACHINE}" | 71 | PN = "meta-environment-${MACHINE}" |
72 | PACKAGES = "${PN}" | 72 | PACKAGES = "${PN}" |
73 | FILES:${PN}= " \ | 73 | FILES:${PN} = " \ |
74 | ${SDKPATH}/* \ | 74 | ${SDKPATH}/* \ |
75 | " | 75 | " |
76 | 76 | ||
diff --git a/meta/recipes-core/meta/meta-ide-support.bb b/meta/recipes-core/meta/meta-ide-support.bb index d85aa120c0..7ed422ce4d 100644 --- a/meta/recipes-core/meta/meta-ide-support.bb +++ b/meta/recipes-core/meta/meta-ide-support.bb | |||
@@ -1,6 +1,7 @@ | |||
1 | SUMMARY = "Integrated Development Environment support" | 1 | SUMMARY = "Integrated Development Environment support" |
2 | DESCRIPTION = "Meta package for ensuring the build directory contains all appropriate toolchain packages for using an IDE" | 2 | DESCRIPTION = "Meta package for ensuring the build directory contains all appropriate toolchain packages for using an IDE" |
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
4 | 5 | ||
5 | DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native autoconf-native automake-native meson-native intltool-native pkgconfig-native" | 6 | DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native autoconf-native automake-native meson-native intltool-native pkgconfig-native" |
6 | RM_WORK_EXCLUDE += "${PN}" | 7 | RM_WORK_EXCLUDE += "${PN}" |
diff --git a/meta/recipes-core/meta/meta-toolchain.bb b/meta/recipes-core/meta/meta-toolchain.bb index 260e03934e..1b108f0a1c 100644 --- a/meta/recipes-core/meta/meta-toolchain.bb +++ b/meta/recipes-core/meta/meta-toolchain.bb | |||
@@ -1,5 +1,4 @@ | |||
1 | SUMMARY = "Meta package for building a installable toolchain" | 1 | SUMMARY = "Meta package for building a installable toolchain" |
2 | LICENSE = "MIT" | 2 | LICENSE = "MIT" |
3 | 3 | ||
4 | |||
5 | inherit populate_sdk | 4 | inherit populate_sdk |
diff --git a/meta/recipes-core/meta/meta-world-pkgdata.bb b/meta/recipes-core/meta/meta-world-pkgdata.bb index 0438bf6138..1bfaf2c1e3 100644 --- a/meta/recipes-core/meta/meta-world-pkgdata.bb +++ b/meta/recipes-core/meta/meta-world-pkgdata.bb | |||
@@ -27,14 +27,13 @@ python do_collect_packagedata() { | |||
27 | oe.copy_buildsystem.generate_locked_sigs(sigfile, d) | 27 | oe.copy_buildsystem.generate_locked_sigs(sigfile, d) |
28 | } | 28 | } |
29 | 29 | ||
30 | inherit nospdx nopackages | ||
30 | deltask do_fetch | 31 | deltask do_fetch |
31 | deltask do_unpack | 32 | deltask do_unpack |
32 | deltask do_patch | 33 | deltask do_patch |
33 | deltask do_configure | 34 | deltask do_configure |
34 | deltask do_compile | 35 | deltask do_compile |
35 | deltask do_install | 36 | deltask do_install |
36 | deltask do_create_spdx | ||
37 | deltask do_create_spdx_runtime | ||
38 | 37 | ||
39 | do_prepare_recipe_sysroot[deptask] = "" | 38 | do_prepare_recipe_sysroot[deptask] = "" |
40 | 39 | ||
diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb index bb4e746237..0ba1ca6e42 100644 --- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb | |||
@@ -2,6 +2,7 @@ DUMMYARCH = "buildtools-dummy-${SDKPKGSUFFIX}" | |||
2 | 2 | ||
3 | DUMMYPROVIDES_PACKAGES = "\ | 3 | DUMMYPROVIDES_PACKAGES = "\ |
4 | nativesdk-perl \ | 4 | nativesdk-perl \ |
5 | nativesdk-perl-dev \ | ||
5 | nativesdk-libxml-parser-perl \ | 6 | nativesdk-libxml-parser-perl \ |
6 | nativesdk-perl-module-bytes \ | 7 | nativesdk-perl-module-bytes \ |
7 | nativesdk-perl-module-carp \ | 8 | nativesdk-perl-module-carp \ |
@@ -9,6 +10,7 @@ DUMMYPROVIDES_PACKAGES = "\ | |||
9 | nativesdk-perl-module-data-dumper \ | 10 | nativesdk-perl-module-data-dumper \ |
10 | nativesdk-perl-module-errno \ | 11 | nativesdk-perl-module-errno \ |
11 | nativesdk-perl-module-exporter \ | 12 | nativesdk-perl-module-exporter \ |
13 | nativesdk-perl-module-feature \ | ||
12 | nativesdk-perl-module-file-basename \ | 14 | nativesdk-perl-module-file-basename \ |
13 | nativesdk-perl-module-file-compare \ | 15 | nativesdk-perl-module-file-compare \ |
14 | nativesdk-perl-module-file-copy \ | 16 | nativesdk-perl-module-file-copy \ |
@@ -16,15 +18,18 @@ DUMMYPROVIDES_PACKAGES = "\ | |||
16 | nativesdk-perl-module-file-glob \ | 18 | nativesdk-perl-module-file-glob \ |
17 | nativesdk-perl-module-file-path \ | 19 | nativesdk-perl-module-file-path \ |
18 | nativesdk-perl-module-file-spec \ | 20 | nativesdk-perl-module-file-spec \ |
21 | nativesdk-perl-module-file-spec-unix \ | ||
19 | nativesdk-perl-module-file-stat \ | 22 | nativesdk-perl-module-file-stat \ |
20 | nativesdk-perl-module-file-temp \ | 23 | nativesdk-perl-module-file-temp \ |
21 | nativesdk-perl-module-getopt-long \ | 24 | nativesdk-perl-module-getopt-long \ |
25 | nativesdk-perl-module-integer \ | ||
22 | nativesdk-perl-module-io-file \ | 26 | nativesdk-perl-module-io-file \ |
23 | nativesdk-perl-module-list-util \ | 27 | nativesdk-perl-module-list-util \ |
24 | nativesdk-perl-module-overloading \ | 28 | nativesdk-perl-module-overloading \ |
25 | nativesdk-perl-module-posix \ | 29 | nativesdk-perl-module-posix \ |
26 | nativesdk-perl-module-scalar-util \ | 30 | nativesdk-perl-module-scalar-util \ |
27 | nativesdk-perl-module-strict \ | 31 | nativesdk-perl-module-strict \ |
32 | nativesdk-perl-module-symbol \ | ||
28 | nativesdk-perl-module-text-parsewords \ | 33 | nativesdk-perl-module-text-parsewords \ |
29 | nativesdk-perl-module-thread-queue \ | 34 | nativesdk-perl-module-thread-queue \ |
30 | nativesdk-perl-module-threads \ | 35 | nativesdk-perl-module-threads \ |
@@ -36,7 +41,6 @@ DUMMYPROVIDES = "\ | |||
36 | /usr/bin/perl \ | 41 | /usr/bin/perl \ |
37 | " | 42 | " |
38 | 43 | ||
39 | |||
40 | require dummy-sdk-package.inc | 44 | require dummy-sdk-package.inc |
41 | 45 | ||
42 | inherit nativesdk | 46 | inherit nativesdk |
diff --git a/meta/recipes-core/meta/signing-keys.bb b/meta/recipes-core/meta/signing-keys.bb index 107a39d658..94f4032911 100644 --- a/meta/recipes-core/meta/signing-keys.bb +++ b/meta/recipes-core/meta/signing-keys.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | SUMMARY = "Makes public keys of the signing keys available" | 4 | SUMMARY = "Makes public keys of the signing keys available" |
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | 6 | ||
7 | |||
8 | inherit allarch deploy | 7 | inherit allarch deploy |
9 | 8 | ||
10 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb index 7eebcaf11a..0dbc698ccd 100644 --- a/meta/recipes-core/meta/uninative-tarball.bb +++ b/meta/recipes-core/meta/uninative-tarball.bb | |||
@@ -51,13 +51,14 @@ fakeroot create_sdk_files() { | |||
51 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py | 51 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py |
52 | } | 52 | } |
53 | 53 | ||
54 | |||
55 | fakeroot archive_sdk() { | 54 | fakeroot archive_sdk() { |
56 | cd ${SDK_OUTPUT}/${SDKPATH} | 55 | cd ${SDK_OUTPUT}/${SDKPATH} |
57 | 56 | ||
58 | DEST="./${SDK_ARCH}-${SDK_OS}" | 57 | DEST="./${SDK_ARCH}-${SDK_OS}" |
59 | mv sysroots/${SDK_SYS} $DEST | 58 | mv sysroots/${SDK_SYS} $DEST |
60 | rm sysroots -rf | 59 | rm sysroots -rf |
60 | # There is a check in meta/files/toolchain-shar-extract.sh -- make sure to | ||
61 | # keep that check up to date if changing the `1024` | ||
61 | patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf | 62 | patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf |
62 | mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative | 63 | mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative |
63 | ${SDK_ARCHIVE_CMD} | 64 | ${SDK_ARCHIVE_CMD} |
diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb index 76494e7fca..fa983ed5f1 100644 --- a/meta/recipes-core/meta/wic-tools.bb +++ b/meta/recipes-core/meta/wic-tools.bb | |||
@@ -7,7 +7,7 @@ DEPENDS = "\ | |||
7 | mtools-native bmaptool-native grub-native cdrtools-native \ | 7 | mtools-native bmaptool-native grub-native cdrtools-native \ |
8 | btrfs-tools-native squashfs-tools-native pseudo-native \ | 8 | btrfs-tools-native squashfs-tools-native pseudo-native \ |
9 | e2fsprogs-native util-linux-native tar-native erofs-utils-native \ | 9 | e2fsprogs-native util-linux-native tar-native erofs-utils-native \ |
10 | virtual/${TARGET_PREFIX}binutils \ | 10 | virtual/cross-binutils \ |
11 | " | 11 | " |
12 | DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot" | 12 | DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot" |
13 | DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot" | 13 | DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot" |
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb index 887a816031..ad9ba81e4f 100644 --- a/meta/recipes-core/musl/bsd-headers.bb +++ b/meta/recipes-core/musl/bsd-headers.bb | |||
@@ -15,7 +15,7 @@ do_compile[noexec] = "1" | |||
15 | 15 | ||
16 | INHIBIT_DEFAULT_DEPS = "1" | 16 | INHIBIT_DEFAULT_DEPS = "1" |
17 | 17 | ||
18 | S = "${WORKDIR}" | 18 | S = "${UNPACKDIR}" |
19 | 19 | ||
20 | do_install() { | 20 | do_install() { |
21 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h | 21 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h |
diff --git a/meta/recipes-core/musl/gcompat_git.bb b/meta/recipes-core/musl/gcompat_git.bb index 40fe8c6a5f..6f9710e71a 100644 --- a/meta/recipes-core/musl/gcompat_git.bb +++ b/meta/recipes-core/musl/gcompat_git.bb | |||
@@ -16,8 +16,6 @@ SRC_URI:append:powerpc = "\ | |||
16 | PV = "1.1.0" | 16 | PV = "1.1.0" |
17 | SRCREV = "b7bfe0b08c52fdc72e0c1d9d4dcb2129f1642bd6" | 17 | SRCREV = "b7bfe0b08c52fdc72e0c1d9d4dcb2129f1642bd6" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit pkgconfig linuxloader siteinfo | 19 | inherit pkgconfig linuxloader siteinfo |
22 | 20 | ||
23 | DEPENDS += "musl-obstack" | 21 | DEPENDS += "musl-obstack" |
diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb index 619a959fd2..71a111cfa4 100644 --- a/meta/recipes-core/musl/libc-test_git.bb +++ b/meta/recipes-core/musl/libc-test_git.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = " \ | |||
18 | 18 | ||
19 | PV = "0+git" | 19 | PV = "0+git" |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | # libc-test 'make' or 'make run' command is designed to build and run tests. It | 21 | # libc-test 'make' or 'make run' command is designed to build and run tests. It |
24 | # reports both build and test failures. The commands should be run on target. | 22 | # reports both build and test failures. The commands should be run on target. |
25 | do_compile() { | 23 | do_compile() { |
@@ -50,7 +48,7 @@ do_install () { | |||
50 | } | 48 | } |
51 | 49 | ||
52 | do_install_ptest_base:append() { | 50 | do_install_ptest_base:append() { |
53 | install -Dm 0755 ${WORKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests | 51 | install -Dm 0755 ${UNPACKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests |
54 | } | 52 | } |
55 | 53 | ||
56 | COMPATIBLE_HOST = "null" | 54 | COMPATIBLE_HOST = "null" |
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb index 3faf8f00c3..4bcbaef7ea 100644 --- a/meta/recipes-core/musl/libssp-nonshared.bb +++ b/meta/recipes-core/musl/libssp-nonshared.bb | |||
@@ -11,13 +11,13 @@ SRC_URI = "file://stack_chk.c" | |||
11 | 11 | ||
12 | INHIBIT_DEFAULT_DEPS = "1" | 12 | INHIBIT_DEFAULT_DEPS = "1" |
13 | 13 | ||
14 | DEPENDS = "virtual/${TARGET_PREFIX}binutils \ | 14 | DEPENDS = "virtual/cross-binutils \ |
15 | virtual/${TARGET_PREFIX}gcc \ | 15 | virtual/cross-cc \ |
16 | " | 16 | " |
17 | 17 | ||
18 | do_configure[noexec] = "1" | 18 | do_configure[noexec] = "1" |
19 | 19 | ||
20 | S = "${WORKDIR}" | 20 | S = "${UNPACKDIR}" |
21 | 21 | ||
22 | do_compile() { | 22 | do_compile() { |
23 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o | 23 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o |
diff --git a/meta/recipes-core/musl/libucontext_1.2.bb b/meta/recipes-core/musl/libucontext_1.3.2.bb index 4e34df1439..c5b802207b 100644 --- a/meta/recipes-core/musl/libucontext_1.2.bb +++ b/meta/recipes-core/musl/libucontext_1.3.2.bb | |||
@@ -8,12 +8,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ebea527af0602d509b7f4c49533fb1bd" | |||
8 | SECTION = "libs" | 8 | SECTION = "libs" |
9 | DEPENDS = "" | 9 | DEPENDS = "" |
10 | 10 | ||
11 | SRCREV = "4dde3417b4bb4b1b1545bd913be337680b5e28c3" | 11 | SRCREV = "a0323579ac50b9a9d4033754d089f1fed0f59a00" |
12 | SRC_URI = "git://github.com/kaniini/libucontext;branch=master;protocol=https \ | 12 | SRC_URI = "git://github.com/kaniini/libucontext;branch=master;protocol=https \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | COMPATIBLE_HOST = ".*-musl.*" | 15 | COMPATIBLE_HOST = ".*-musl.*" |
18 | 16 | ||
19 | valid_archs = " \ | 17 | valid_archs = " \ |
@@ -50,3 +48,9 @@ def map_kernel_arch(a, d): | |||
50 | 48 | ||
51 | EXTRA_OEMESON = "-Dcpu=${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}" | 49 | EXTRA_OEMESON = "-Dcpu=${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}" |
52 | inherit meson | 50 | inherit meson |
51 | |||
52 | ARM_TARGET_CPPFLAGS = "" | ||
53 | ARM_TARGET_CPPFLAGS:append:arm = "${@bb.utils.contains('TARGET_FPU', 'hard', ' -DFORCE_HARD_FLOAT', '', d)}" | ||
54 | ARM_TARGET_CPPFLAGS:append:arm = "${@bb.utils.contains('TARGET_FPU', 'soft', ' -DFORCE_SOFT_FLOAT', '', d)}" | ||
55 | |||
56 | TARGET_CPPFLAGS .= "${ARM_TARGET_CPPFLAGS}" | ||
diff --git a/meta/recipes-core/musl/musl-legacy-error.bb b/meta/recipes-core/musl/musl-legacy-error.bb index 5ce5a233ab..b40075c0b6 100644 --- a/meta/recipes-core/musl/musl-legacy-error.bb +++ b/meta/recipes-core/musl/musl-legacy-error.bb | |||
@@ -13,7 +13,7 @@ do_compile[noexec] = "1" | |||
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${UNPACKDIR}" |
17 | 17 | ||
18 | do_install() { | 18 | do_install() { |
19 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} | 19 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} |
diff --git a/meta/recipes-core/musl/musl-locales_git.bb b/meta/recipes-core/musl/musl-locales_git.bb index 1373c60daf..c8510596cf 100644 --- a/meta/recipes-core/musl/musl-locales_git.bb +++ b/meta/recipes-core/musl/musl-locales_git.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.adelielinux.org/adelie/musl-locales;protocol=https;branch=m | |||
12 | PV = "1.0+git" | 12 | PV = "1.0+git" |
13 | SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e" | 13 | SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | DEPENDS = "virtual/libintl gettext-native" | 15 | DEPENDS = "virtual/libintl gettext-native" |
18 | 16 | ||
19 | PROVIDES = "virtual/libc-locale" | 17 | PROVIDES = "virtual/libc-locale" |
@@ -82,4 +80,21 @@ FILES:locale-base-ru-ru += "${datadir}/i18n/locales/musl/ru_RU.UTF-8" | |||
82 | FILES:locale-base-sr-rs += "${datadir}/i18n/locales/musl/sr_RS.UTF-8" | 80 | FILES:locale-base-sr-rs += "${datadir}/i18n/locales/musl/sr_RS.UTF-8" |
83 | FILES:locale-base-sv-se += "${datadir}/i18n/locales/musl/sv_SE.UTF-8" | 81 | FILES:locale-base-sv-se += "${datadir}/i18n/locales/musl/sv_SE.UTF-8" |
84 | 82 | ||
83 | RRECOMMENDS:locale-base-cs-cz += "${PN}" | ||
84 | RRECOMMENDS:locale-base-de-ch += "${PN}" | ||
85 | RRECOMMENDS:locale-base-de-de += "${PN}" | ||
86 | RRECOMMENDS:locale-base-en-gb += "${PN}" | ||
87 | RRECOMMENDS:locale-base-en-us += "${PN}" | ||
88 | RRECOMMENDS:locale-base-es-es += "${PN}" | ||
89 | RRECOMMENDS:locale-base-fi-fi += "${PN}" | ||
90 | RRECOMMENDS:locale-base-fr-ca += "${PN}" | ||
91 | RRECOMMENDS:locale-base-fr-fr += "${PN}" | ||
92 | RRECOMMENDS:locale-base-it-it += "${PN}" | ||
93 | RRECOMMENDS:locale-base-nb-no += "${PN}" | ||
94 | RRECOMMENDS:locale-base-nl-nl += "${PN}" | ||
95 | RRECOMMENDS:locale-base-pt-br += "${PN}" | ||
96 | RRECOMMENDS:locale-base-ru-ru += "${PN}" | ||
97 | RRECOMMENDS:locale-base-sr-sr += "${PN}" | ||
98 | RRECOMMENDS:locale-base-sv-se += "${PN}" | ||
99 | |||
85 | UPSTREAM_CHECK_COMMITS = "1" | 100 | UPSTREAM_CHECK_COMMITS = "1" |
diff --git a/meta/recipes-core/musl/musl-obstack.bb b/meta/recipes-core/musl/musl-obstack.bb index 4c71a141b2..d8a5ae8d82 100644 --- a/meta/recipes-core/musl/musl-obstack.bb +++ b/meta/recipes-core/musl/musl-obstack.bb | |||
@@ -16,7 +16,5 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
16 | 16 | ||
17 | inherit autotools pkgconfig | 17 | inherit autotools pkgconfig |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | COMPATIBLE_HOST = ".*-musl.*" | 19 | COMPATIBLE_HOST = ".*-musl.*" |
22 | 20 | ||
diff --git a/meta/recipes-core/musl/musl-utils.bb b/meta/recipes-core/musl/musl-utils.bb index 8280333daf..4b685640c8 100644 --- a/meta/recipes-core/musl/musl-utils.bb +++ b/meta/recipes-core/musl/musl-utils.bb | |||
@@ -17,8 +17,6 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
17 | 17 | ||
18 | inherit autotools | 18 | inherit autotools |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | PACKAGES =+ "${PN}-iconv" | 20 | PACKAGES =+ "${PN}-iconv" |
23 | 21 | ||
24 | FILES:${PN}-iconv = "${bindir}/iconv" | 22 | FILES:${PN}-iconv = "${bindir}/iconv" |
diff --git a/meta/recipes-core/musl/musl.inc b/meta/recipes-core/musl/musl.inc index 6ca52b186a..ce45de2d23 100644 --- a/meta/recipes-core/musl/musl.inc +++ b/meta/recipes-core/musl/musl.inc | |||
@@ -9,7 +9,7 @@ standards-conformance and safety." | |||
9 | HOMEPAGE = "http://www.musl-libc.org/" | 9 | HOMEPAGE = "http://www.musl-libc.org/" |
10 | LICENSE = "MIT" | 10 | LICENSE = "MIT" |
11 | SECTION = "libs" | 11 | SECTION = "libs" |
12 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=b03f1cc25363d094011f8f4fd8bcfb68" | 12 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=0c2904cdc34777fb4067732bae145506" |
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
15 | 15 | ||
@@ -25,10 +25,13 @@ MIPS_INSTRUCTION_SET = "mips" | |||
25 | ARM_INSTRUCTION_SET:armv5 = "arm" | 25 | ARM_INSTRUCTION_SET:armv5 = "arm" |
26 | ARM_INSTRUCTION_SET:armv4 = "arm" | 26 | ARM_INSTRUCTION_SET:armv4 = "arm" |
27 | 27 | ||
28 | # 1.2.4 doesn't support riscv32 | ||
29 | COMPATIBLE_HOST:riscv32 = "null" | ||
30 | |||
31 | # Enable out of tree build | 28 | # Enable out of tree build |
32 | B = "${WORKDIR}/build" | 29 | B = "${WORKDIR}/build" |
33 | 30 | ||
34 | do_configure[cleandirs] = "${B}" | 31 | do_configure[cleandirs] = "${B}" |
32 | |||
33 | python () { | ||
34 | multilibs = d.getVar("MULTILIBS") | ||
35 | if multilibs: | ||
36 | raise bb.parse.SkipRecipe("musl is not compatible with multilibs") | ||
37 | } | ||
diff --git a/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch b/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch index 8b097f3276..06ab27f0eb 100644 --- a/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch +++ b/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f95b6fd0475a95c00e886219271cb5c93838e3c3 Mon Sep 17 00:00:00 2001 | 1 | From 665ecc610c261d5e98710aa0c6ccf6e4991eaf58 Mon Sep 17 00:00:00 2001 |
2 | From: Amarnath Valluri <amarnath.valluri@intel.com> | 2 | From: Amarnath Valluri <amarnath.valluri@intel.com> |
3 | Date: Wed, 18 Jan 2017 16:14:37 +0200 | 3 | Date: Wed, 18 Jan 2017 16:14:37 +0200 |
4 | Subject: [PATCH 1/2] Make dynamic linker a relative symlink to libc | 4 | Subject: [PATCH 1/2] Make dynamic linker a relative symlink to libc |
@@ -35,7 +35,7 @@ index e8cc4436..466d9afd 100644 | |||
35 | install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),) | 35 | install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),) |
36 | 36 | ||
37 | diff --git a/tools/install.sh b/tools/install.sh | 37 | diff --git a/tools/install.sh b/tools/install.sh |
38 | index d913b60b..b6a7f797 100755 | 38 | index 855a8ca2..a2e6a5eb 100755 |
39 | --- a/tools/install.sh | 39 | --- a/tools/install.sh |
40 | +++ b/tools/install.sh | 40 | +++ b/tools/install.sh |
41 | @@ -6,18 +6,20 @@ | 41 | @@ -6,18 +6,20 @@ |
@@ -61,15 +61,15 @@ index d913b60b..b6a7f797 100755 | |||
61 | m) mode=$OPTARG ;; | 61 | m) mode=$OPTARG ;; |
62 | ?) usage ;; | 62 | ?) usage ;; |
63 | esac | 63 | esac |
64 | @@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP | 64 | @@ -49,7 +51,7 @@ umask 077 |
65 | umask 077 | ||
66 | 65 | ||
67 | if test "$symlink" ; then | 66 | if test "$symlink" ; then |
67 | umask 000 | ||
68 | -ln -s "$1" "$tmp" | 68 | -ln -s "$1" "$tmp" |
69 | +ln $symlinkflags "$1" "$tmp" | 69 | +ln $symlinkflags "$1" "$tmp" |
70 | umask 077 | ||
70 | else | 71 | else |
71 | cat < "$1" > "$tmp" | 72 | cat < "$1" > "$tmp" |
72 | chmod "$mode" "$tmp" | ||
73 | -- | 73 | -- |
74 | 2.37.2 | 74 | 2.43.0 |
75 | 75 | ||
diff --git a/meta/recipes-core/musl/musl/0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch b/meta/recipes-core/musl/musl/0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch new file mode 100644 index 0000000000..78ba903ca6 --- /dev/null +++ b/meta/recipes-core/musl/musl/0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | From 31dce8e958f5185e7fda653214da12bbc75f244e Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 4 Dec 2024 11:16:43 -0800 | ||
4 | Subject: [PATCH] Update syscalls for r32/rv64 from kernel 6.4 through 6.10 | ||
5 | |||
6 | Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2024/12/04/3] | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | arch/riscv32/bits/syscall.h.in | 11 +++++++++++ | ||
10 | arch/riscv64/bits/syscall.h.in | 11 +++++++++++ | ||
11 | 2 files changed, 22 insertions(+) | ||
12 | |||
13 | diff --git a/arch/riscv32/bits/syscall.h.in b/arch/riscv32/bits/syscall.h.in | ||
14 | index 9228d840..a54d9ffc 100644 | ||
15 | --- a/arch/riscv32/bits/syscall.h.in | ||
16 | +++ b/arch/riscv32/bits/syscall.h.in | ||
17 | @@ -216,6 +216,7 @@ | ||
18 | #define __NR_perf_event_open 241 | ||
19 | #define __NR_accept4 242 | ||
20 | #define __NR_arch_specific_syscall 244 | ||
21 | +#define __NR_riscv_hwprobe 258 | ||
22 | #define __NR_prlimit64 261 | ||
23 | #define __NR_fanotify_init 262 | ||
24 | #define __NR_fanotify_mark 263 | ||
25 | @@ -295,6 +296,16 @@ | ||
26 | #define __NR_cachestat 451 | ||
27 | #define __NR_fchmodat2 452 | ||
28 | #define __NR_futex __NR_futex_time64 | ||
29 | +#define __NR_map_shadow_stack 453 | ||
30 | +#define __NR_futex_wake 454 | ||
31 | +#define __NR_futex_wait 455 | ||
32 | +#define __NR_futex_requeue 456 | ||
33 | +#define __NR_statmount 457 | ||
34 | +#define __NR_listmount 458 | ||
35 | +#define __NR_lsm_get_self_attr 459 | ||
36 | +#define __NR_lsm_list_modules 461 | ||
37 | +#define __NR_lsm_set_self_attr 460 | ||
38 | +#define __NR_mseal 462 | ||
39 | |||
40 | #define __NR_sysriscv __NR_arch_specific_syscall | ||
41 | #define __NR_riscv_flush_icache (__NR_sysriscv + 15) | ||
42 | diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in | ||
43 | index e362bd0e..6991a89c 100644 | ||
44 | --- a/arch/riscv64/bits/syscall.h.in | ||
45 | +++ b/arch/riscv64/bits/syscall.h.in | ||
46 | @@ -242,6 +242,7 @@ | ||
47 | #define __NR_accept4 242 | ||
48 | #define __NR_recvmmsg 243 | ||
49 | #define __NR_arch_specific_syscall 244 | ||
50 | +#define __NR_riscv_hwprobe 258 | ||
51 | #define __NR_wait4 260 | ||
52 | #define __NR_prlimit64 261 | ||
53 | #define __NR_fanotify_init 262 | ||
54 | @@ -304,6 +305,16 @@ | ||
55 | #define __NR_set_mempolicy_home_node 450 | ||
56 | #define __NR_cachestat 451 | ||
57 | #define __NR_fchmodat2 452 | ||
58 | +#define __NR_map_shadow_stack 453 | ||
59 | +#define __NR_futex_wake 454 | ||
60 | +#define __NR_futex_wait 455 | ||
61 | +#define __NR_futex_requeue 456 | ||
62 | +#define __NR_statmount 457 | ||
63 | +#define __NR_listmount 458 | ||
64 | +#define __NR_lsm_get_self_attr 459 | ||
65 | +#define __NR_lsm_list_modules 461 | ||
66 | +#define __NR_lsm_set_self_attr 460 | ||
67 | +#define __NR_mseal 462 | ||
68 | |||
69 | #define __NR_sysriscv __NR_arch_specific_syscall | ||
70 | #define __NR_riscv_flush_icache (__NR_sysriscv + 15) | ||
diff --git a/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch b/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch index 59bfae5a27..04630b32ee 100644 --- a/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch +++ b/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 3cce8716c6c3ae2e0c835caeac3780ec35090b2d Mon Sep 17 00:00:00 2001 | 1 | From e27de983ef70257ca1fd7f5096eea41613612ecf Mon Sep 17 00:00:00 2001 |
2 | From: Serhey Popovych <serhe.popovych@gmail.com> | 2 | From: Serhey Popovych <serhe.popovych@gmail.com> |
3 | Date: Tue, 11 Dec 2018 05:44:20 -0500 | 3 | Date: Tue, 11 Dec 2018 05:44:20 -0500 |
4 | Subject: [PATCH 2/2] ldso: Use syslibdir and libdir as default pathes to | 4 | Subject: [PATCH 2/2] ldso: Use syslibdir and libdir as default pathes to |
@@ -36,10 +36,10 @@ index 466d9afd..d2f458fa 100644 | |||
36 | 36 | ||
37 | LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS) | 37 | LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS) |
38 | diff --git a/ldso/dynlink.c b/ldso/dynlink.c | 38 | diff --git a/ldso/dynlink.c b/ldso/dynlink.c |
39 | index cc677952..b0e8815b 100644 | 39 | index 324aa859..7d3ab44c 100644 |
40 | --- a/ldso/dynlink.c | 40 | --- a/ldso/dynlink.c |
41 | +++ b/ldso/dynlink.c | 41 | +++ b/ldso/dynlink.c |
42 | @@ -29,6 +29,8 @@ | 42 | @@ -35,6 +35,8 @@ static size_t ldso_page_size; |
43 | #define realloc __libc_realloc | 43 | #define realloc __libc_realloc |
44 | #define free __libc_free | 44 | #define free __libc_free |
45 | 45 | ||
@@ -48,7 +48,7 @@ index cc677952..b0e8815b 100644 | |||
48 | static void error_impl(const char *, ...); | 48 | static void error_impl(const char *, ...); |
49 | static void error_noop(const char *, ...); | 49 | static void error_noop(const char *, ...); |
50 | static void (*error)(const char *, ...) = error_noop; | 50 | static void (*error)(const char *, ...) = error_noop; |
51 | @@ -1097,7 +1099,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by) | 51 | @@ -1159,7 +1161,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by) |
52 | sys_path = ""; | 52 | sys_path = ""; |
53 | } | 53 | } |
54 | } | 54 | } |
@@ -58,5 +58,5 @@ index cc677952..b0e8815b 100644 | |||
58 | } | 58 | } |
59 | pathname = buf; | 59 | pathname = buf; |
60 | -- | 60 | -- |
61 | 2.37.2 | 61 | 2.43.0 |
62 | 62 | ||
diff --git a/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch b/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch deleted file mode 100644 index 45d40cd5b4..0000000000 --- a/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 65b0ac0d998bf0f36924a7c27ed9e702b2a5a453 Mon Sep 17 00:00:00 2001 | ||
2 | From: Violet Purcell <vimproved@inventati.org> | ||
3 | Date: Sat, 4 Nov 2023 12:09:20 -0400 | ||
4 | Subject: [PATCH] elf.h: add typedefs for Elf64_Relr and Elf32_Relr | ||
5 | |||
6 | These were overlooked when DT_RELR was added in commit | ||
7 | d32dadd60efb9d3b255351a3b532f8e4c3dd0db1, potentially breaking | ||
8 | software that treats presence of the DT_RELR macro as implying they | ||
9 | exist. | ||
10 | |||
11 | Upstream-Status: Backport [1.2.5] | ||
12 | |||
13 | Signed-off-by: Zang Ruochen <zangruochen@loongson.cn> | ||
14 | |||
15 | --- | ||
16 | include/elf.h | 5 +++++ | ||
17 | 1 file changed, 5 insertions(+) | ||
18 | |||
19 | diff --git a/include/elf.h b/include/elf.h | ||
20 | index 23f2c4bc..72d17c3a 100644 | ||
21 | --- a/include/elf.h | ||
22 | +++ b/include/elf.h | ||
23 | @@ -558,6 +558,11 @@ typedef struct { | ||
24 | |||
25 | |||
26 | |||
27 | +typedef Elf32_Word Elf32_Relr; | ||
28 | +typedef Elf64_Xword Elf64_Relr; | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | #define ELF32_R_SYM(val) ((val) >> 8) | ||
33 | #define ELF32_R_TYPE(val) ((val) & 0xff) | ||
34 | #define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff)) | ||
35 | -- | ||
36 | 2.25.1 | ||
37 | |||
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index 324269a968..51e429b093 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb | |||
@@ -4,24 +4,22 @@ | |||
4 | require musl.inc | 4 | require musl.inc |
5 | inherit linuxloader | 5 | inherit linuxloader |
6 | 6 | ||
7 | SRCREV = "79bdacff83a6bd5b70ff5ae5eb8b6de82c2f7c30" | 7 | SRCREV = "ae3a8c93a663b553e65f096498937083dad210d2" |
8 | 8 | ||
9 | BASEVER = "1.2.4" | 9 | BASEVER = "1.2.5" |
10 | 10 | ||
11 | PV = "${BASEVER}+git" | 11 | PV = "${BASEVER}+git" |
12 | 12 | ||
13 | SRC_URI = "git://git.etalabs.net/git/musl;branch=master;protocol=https \ | 13 | SRC_URI = "git://git.musl-libc.org/musl;branch=master \ |
14 | file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ | 14 | file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ |
15 | file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ | 15 | file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ |
16 | file://0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch \ | 16 | file://0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch \ |
17 | " | 17 | " |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt" | 19 | PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt" |
22 | 20 | ||
23 | DEPENDS = "virtual/${TARGET_PREFIX}binutils \ | 21 | DEPENDS = "virtual/cross-binutils \ |
24 | virtual/${TARGET_PREFIX}gcc \ | 22 | virtual/cross-cc \ |
25 | libgcc-initial \ | 23 | libgcc-initial \ |
26 | linux-libc-headers \ | 24 | linux-libc-headers \ |
27 | bsd-headers \ | 25 | bsd-headers \ |
@@ -30,7 +28,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \ | |||
30 | GLIBC_LDSO = "${@get_glibc_loader(d)}" | 28 | GLIBC_LDSO = "${@get_glibc_loader(d)}" |
31 | MUSL_LDSO_ARCH = "${@get_musl_loader_arch(d)}" | 29 | MUSL_LDSO_ARCH = "${@get_musl_loader_arch(d)}" |
32 | 30 | ||
33 | export CROSS_COMPILE="${TARGET_PREFIX}" | 31 | export CROSS_COMPILE = "${TARGET_PREFIX}" |
34 | 32 | ||
35 | LDFLAGS += "-Wl,-soname,libc.so" | 33 | LDFLAGS += "-Wl,-soname,libc.so" |
36 | 34 | ||
diff --git a/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch b/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch deleted file mode 100644 index 1232c8c2a8..0000000000 --- a/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch +++ /dev/null | |||
@@ -1,462 +0,0 @@ | |||
1 | From 3d54a41f12e9aa059f06e66e72d872f2283395b6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Sun, 30 Jul 2023 21:14:00 -0700 | ||
4 | Subject: [PATCH] Fix CVE-2023-29491 | ||
5 | |||
6 | CVE: CVE-2023-29491 | ||
7 | |||
8 | Upstream-Status: Backport [http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=eb51b1ea1f75a0ec17c9c5937cb28df1e8eeec56] | ||
9 | |||
10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
11 | --- | ||
12 | ncurses/tinfo/lib_tgoto.c | 10 +++- | ||
13 | ncurses/tinfo/lib_tparm.c | 116 ++++++++++++++++++++++++++++++++----- | ||
14 | ncurses/tinfo/read_entry.c | 3 + | ||
15 | progs/tic.c | 6 ++ | ||
16 | progs/tparm_type.c | 9 +++ | ||
17 | progs/tparm_type.h | 2 + | ||
18 | progs/tput.c | 61 ++++++++++++++++--- | ||
19 | 7 files changed, 185 insertions(+), 22 deletions(-) | ||
20 | |||
21 | diff --git a/ncurses/tinfo/lib_tgoto.c b/ncurses/tinfo/lib_tgoto.c | ||
22 | index 9cf5e100..c50ed4df 100644 | ||
23 | --- a/ncurses/tinfo/lib_tgoto.c | ||
24 | +++ b/ncurses/tinfo/lib_tgoto.c | ||
25 | @@ -207,6 +207,14 @@ tgoto(const char *string, int x, int y) | ||
26 | result = tgoto_internal(string, x, y); | ||
27 | else | ||
28 | #endif | ||
29 | - result = TIPARM_2(string, y, x); | ||
30 | + if ((result = TIPARM_2(string, y, x)) == NULL) { | ||
31 | + /* | ||
32 | + * Because termcap did not provide a more general solution such as | ||
33 | + * tparm(), it was necessary to handle single-parameter capabilities | ||
34 | + * using tgoto(). The internal _nc_tiparm() function returns a NULL | ||
35 | + * for that case; retry for the single-parameter case. | ||
36 | + */ | ||
37 | + result = TIPARM_1(string, y); | ||
38 | + } | ||
39 | returnPtr(result); | ||
40 | } | ||
41 | diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c | ||
42 | index d9bdfd8f..a10a3877 100644 | ||
43 | --- a/ncurses/tinfo/lib_tparm.c | ||
44 | +++ b/ncurses/tinfo/lib_tparm.c | ||
45 | @@ -1086,6 +1086,64 @@ tparam_internal(TPARM_STATE *tps, const char *string, TPARM_DATA *data) | ||
46 | return (TPS(out_buff)); | ||
47 | } | ||
48 | |||
49 | +#ifdef CUR | ||
50 | +/* | ||
51 | + * Only a few standard capabilities accept string parameters. The others that | ||
52 | + * are parameterized accept only numeric parameters. | ||
53 | + */ | ||
54 | +static bool | ||
55 | +check_string_caps(TPARM_DATA *data, const char *string) | ||
56 | +{ | ||
57 | + bool result = FALSE; | ||
58 | + | ||
59 | +#define CHECK_CAP(name) (VALID_STRING(name) && !strcmp(name, string)) | ||
60 | + | ||
61 | + /* | ||
62 | + * Disallow string parameters unless we can check them against a terminal | ||
63 | + * description. | ||
64 | + */ | ||
65 | + if (cur_term != NULL) { | ||
66 | + int want_type = 0; | ||
67 | + | ||
68 | + if (CHECK_CAP(pkey_key)) | ||
69 | + want_type = 2; /* function key #1, type string #2 */ | ||
70 | + else if (CHECK_CAP(pkey_local)) | ||
71 | + want_type = 2; /* function key #1, execute string #2 */ | ||
72 | + else if (CHECK_CAP(pkey_xmit)) | ||
73 | + want_type = 2; /* function key #1, transmit string #2 */ | ||
74 | + else if (CHECK_CAP(plab_norm)) | ||
75 | + want_type = 2; /* label #1, show string #2 */ | ||
76 | + else if (CHECK_CAP(pkey_plab)) | ||
77 | + want_type = 6; /* function key #1, type string #2, show string #3 */ | ||
78 | +#if NCURSES_XNAMES | ||
79 | + else { | ||
80 | + char *check; | ||
81 | + | ||
82 | + check = tigetstr("Cs"); | ||
83 | + if (CHECK_CAP(check)) | ||
84 | + want_type = 1; /* style #1 */ | ||
85 | + | ||
86 | + check = tigetstr("Ms"); | ||
87 | + if (CHECK_CAP(check)) | ||
88 | + want_type = 3; /* storage unit #1, content #2 */ | ||
89 | + } | ||
90 | +#endif | ||
91 | + | ||
92 | + if (want_type == data->tparm_type) { | ||
93 | + result = TRUE; | ||
94 | + } else { | ||
95 | + T(("unexpected string-parameter")); | ||
96 | + } | ||
97 | + } | ||
98 | + return result; | ||
99 | +} | ||
100 | + | ||
101 | +#define ValidCap() (myData.tparm_type == 0 || \ | ||
102 | + check_string_caps(&myData, string)) | ||
103 | +#else | ||
104 | +#define ValidCap() 1 | ||
105 | +#endif | ||
106 | + | ||
107 | #if NCURSES_TPARM_VARARGS | ||
108 | |||
109 | NCURSES_EXPORT(char *) | ||
110 | @@ -1100,7 +1158,7 @@ tparm(const char *string, ...) | ||
111 | tps->tname = "tparm"; | ||
112 | #endif /* TRACE */ | ||
113 | |||
114 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
115 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
116 | va_list ap; | ||
117 | |||
118 | va_start(ap, string); | ||
119 | @@ -1135,7 +1193,7 @@ tparm(const char *string, | ||
120 | tps->tname = "tparm"; | ||
121 | #endif /* TRACE */ | ||
122 | |||
123 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
124 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
125 | |||
126 | myData.param[0] = a1; | ||
127 | myData.param[1] = a2; | ||
128 | @@ -1166,7 +1224,7 @@ tiparm(const char *string, ...) | ||
129 | tps->tname = "tiparm"; | ||
130 | #endif /* TRACE */ | ||
131 | |||
132 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
133 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
134 | va_list ap; | ||
135 | |||
136 | va_start(ap, string); | ||
137 | @@ -1179,7 +1237,25 @@ tiparm(const char *string, ...) | ||
138 | } | ||
139 | |||
140 | /* | ||
141 | - * The internal-use flavor ensures that the parameters are numbers, not strings | ||
142 | + * The internal-use flavor ensures that parameters are numbers, not strings. | ||
143 | + * In addition to ensuring that they are numbers, it ensures that the parameter | ||
144 | + * count is consistent with intended usage. | ||
145 | + * | ||
146 | + * Unlike the general-purpose tparm/tiparm, these internal calls are fairly | ||
147 | + * well defined: | ||
148 | + * | ||
149 | + * expected == 0 - not applicable | ||
150 | + * expected == 1 - set color, or vertical/horizontal addressing | ||
151 | + * expected == 2 - cursor addressing | ||
152 | + * expected == 4 - initialize color or color pair | ||
153 | + * expected == 9 - set attributes | ||
154 | + * | ||
155 | + * Only for the last case (set attributes) should a parameter be optional. | ||
156 | + * Also, a capability which calls for more parameters than expected should be | ||
157 | + * ignored. | ||
158 | + * | ||
159 | + * Return a null if the parameter-checks fail. Otherwise, return a pointer to | ||
160 | + * the formatted capability string. | ||
161 | */ | ||
162 | NCURSES_EXPORT(char *) | ||
163 | _nc_tiparm(int expected, const char *string, ...) | ||
164 | @@ -1189,22 +1265,36 @@ _nc_tiparm(int expected, const char *string, ...) | ||
165 | char *result = NULL; | ||
166 | |||
167 | _nc_tparm_err = 0; | ||
168 | + T((T_CALLED("_nc_tiparm(%d, %s, ...)"), expected, _nc_visbuf(string))); | ||
169 | #ifdef TRACE | ||
170 | tps->tname = "_nc_tiparm"; | ||
171 | #endif /* TRACE */ | ||
172 | |||
173 | - if (tparm_setup(cur_term, string, &myData) == OK | ||
174 | - && myData.num_actual <= expected | ||
175 | - && myData.tparm_type == 0) { | ||
176 | - va_list ap; | ||
177 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
178 | + if (myData.num_actual == 0) { | ||
179 | + T(("missing parameter%s, expected %s%d", | ||
180 | + expected > 1 ? "s" : "", | ||
181 | + expected == 9 ? "up to " : "", | ||
182 | + expected)); | ||
183 | + } else if (myData.num_actual > expected) { | ||
184 | + T(("too many parameters, have %d, expected %d", | ||
185 | + myData.num_actual, | ||
186 | + expected)); | ||
187 | + } else if (expected != 9 && myData.num_actual != expected) { | ||
188 | + T(("expected %d parameters, have %d", | ||
189 | + myData.num_actual, | ||
190 | + expected)); | ||
191 | + } else { | ||
192 | + va_list ap; | ||
193 | |||
194 | - va_start(ap, string); | ||
195 | - tparm_copy_valist(&myData, FALSE, ap); | ||
196 | - va_end(ap); | ||
197 | + va_start(ap, string); | ||
198 | + tparm_copy_valist(&myData, FALSE, ap); | ||
199 | + va_end(ap); | ||
200 | |||
201 | - result = tparam_internal(tps, string, &myData); | ||
202 | + result = tparam_internal(tps, string, &myData); | ||
203 | + } | ||
204 | } | ||
205 | - return result; | ||
206 | + returnPtr(result); | ||
207 | } | ||
208 | |||
209 | /* | ||
210 | diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c | ||
211 | index 2b1875ed..341337d2 100644 | ||
212 | --- a/ncurses/tinfo/read_entry.c | ||
213 | +++ b/ncurses/tinfo/read_entry.c | ||
214 | @@ -323,6 +323,9 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit) | ||
215 | || bool_count < 0 | ||
216 | || num_count < 0 | ||
217 | || str_count < 0 | ||
218 | + || bool_count > BOOLCOUNT | ||
219 | + || num_count > NUMCOUNT | ||
220 | + || str_count > STRCOUNT | ||
221 | || str_size < 0) { | ||
222 | returnDB(TGETENT_NO); | ||
223 | } | ||
224 | diff --git a/progs/tic.c b/progs/tic.c | ||
225 | index 93a0b491..888927e2 100644 | ||
226 | --- a/progs/tic.c | ||
227 | +++ b/progs/tic.c | ||
228 | @@ -2270,9 +2270,15 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count) | ||
229 | |||
230 | _nc_reset_tparm(NULL); | ||
231 | switch (actual) { | ||
232 | + case Str: | ||
233 | + result = TPARM_1(value, strings[1]); | ||
234 | + break; | ||
235 | case Num_Str: | ||
236 | result = TPARM_2(value, numbers[1], strings[2]); | ||
237 | break; | ||
238 | + case Str_Str: | ||
239 | + result = TPARM_2(value, strings[1], strings[2]); | ||
240 | + break; | ||
241 | case Num_Str_Str: | ||
242 | result = TPARM_3(value, numbers[1], strings[2], strings[3]); | ||
243 | break; | ||
244 | diff --git a/progs/tparm_type.c b/progs/tparm_type.c | ||
245 | index 3da4a077..644aa62a 100644 | ||
246 | --- a/progs/tparm_type.c | ||
247 | +++ b/progs/tparm_type.c | ||
248 | @@ -47,6 +47,7 @@ tparm_type(const char *name) | ||
249 | {code, {longname} }, \ | ||
250 | {code, {ti} }, \ | ||
251 | {code, {tc} } | ||
252 | +#define XD(code, onlyname) TD(code, onlyname, onlyname, onlyname) | ||
253 | TParams result = Numbers; | ||
254 | /* *INDENT-OFF* */ | ||
255 | static const struct { | ||
256 | @@ -58,6 +59,10 @@ tparm_type(const char *name) | ||
257 | TD(Num_Str, "pkey_xmit", "pfx", "px"), | ||
258 | TD(Num_Str, "plab_norm", "pln", "pn"), | ||
259 | TD(Num_Str_Str, "pkey_plab", "pfxl", "xl"), | ||
260 | +#if NCURSES_XNAMES | ||
261 | + XD(Str, "Cs"), | ||
262 | + XD(Str_Str, "Ms"), | ||
263 | +#endif | ||
264 | }; | ||
265 | /* *INDENT-ON* */ | ||
266 | |||
267 | @@ -80,12 +85,16 @@ guess_tparm_type(int nparam, char **p_is_s) | ||
268 | case 1: | ||
269 | if (!p_is_s[0]) | ||
270 | result = Numbers; | ||
271 | + if (p_is_s[0]) | ||
272 | + result = Str; | ||
273 | break; | ||
274 | case 2: | ||
275 | if (!p_is_s[0] && !p_is_s[1]) | ||
276 | result = Numbers; | ||
277 | if (!p_is_s[0] && p_is_s[1]) | ||
278 | result = Num_Str; | ||
279 | + if (p_is_s[0] && p_is_s[1]) | ||
280 | + result = Str_Str; | ||
281 | break; | ||
282 | case 3: | ||
283 | if (!p_is_s[0] && !p_is_s[1] && !p_is_s[2]) | ||
284 | diff --git a/progs/tparm_type.h b/progs/tparm_type.h | ||
285 | index 7c102a30..af5bcf0f 100644 | ||
286 | --- a/progs/tparm_type.h | ||
287 | +++ b/progs/tparm_type.h | ||
288 | @@ -45,8 +45,10 @@ | ||
289 | typedef enum { | ||
290 | Other = -1 | ||
291 | ,Numbers = 0 | ||
292 | + ,Str | ||
293 | ,Num_Str | ||
294 | ,Num_Str_Str | ||
295 | + ,Str_Str | ||
296 | } TParams; | ||
297 | |||
298 | extern TParams tparm_type(const char *name); | ||
299 | diff --git a/progs/tput.c b/progs/tput.c | ||
300 | index 4cd0c5ba..41508b72 100644 | ||
301 | --- a/progs/tput.c | ||
302 | +++ b/progs/tput.c | ||
303 | @@ -1,5 +1,5 @@ | ||
304 | /**************************************************************************** | ||
305 | - * Copyright 2018-2021,2022 Thomas E. Dickey * | ||
306 | + * Copyright 2018-2022,2023 Thomas E. Dickey * | ||
307 | * Copyright 1998-2016,2017 Free Software Foundation, Inc. * | ||
308 | * * | ||
309 | * Permission is hereby granted, free of charge, to any person obtaining a * | ||
310 | @@ -47,12 +47,15 @@ | ||
311 | #include <transform.h> | ||
312 | #include <tty_settings.h> | ||
313 | |||
314 | -MODULE_ID("$Id: tput.c,v 1.99 2022/02/26 23:19:31 tom Exp $") | ||
315 | +MODULE_ID("$Id: tput.c,v 1.102 2023/04/08 16:26:36 tom Exp $") | ||
316 | |||
317 | #define PUTS(s) fputs(s, stdout) | ||
318 | |||
319 | const char *_nc_progname = "tput"; | ||
320 | |||
321 | +static bool opt_v = FALSE; /* quiet, do not show warnings */ | ||
322 | +static bool opt_x = FALSE; /* clear scrollback if possible */ | ||
323 | + | ||
324 | static bool is_init = FALSE; | ||
325 | static bool is_reset = FALSE; | ||
326 | static bool is_clear = FALSE; | ||
327 | @@ -81,6 +84,7 @@ usage(const char *optstring) | ||
328 | KEEP(" -S << read commands from standard input") | ||
329 | KEEP(" -T TERM use this instead of $TERM") | ||
330 | KEEP(" -V print curses-version") | ||
331 | + KEEP(" -v verbose, show warnings") | ||
332 | KEEP(" -x do not try to clear scrollback") | ||
333 | KEEP("") | ||
334 | KEEP("Commands:") | ||
335 | @@ -148,7 +152,7 @@ exit_code(int token, int value) | ||
336 | * Returns nonzero on error. | ||
337 | */ | ||
338 | static int | ||
339 | -tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
340 | +tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used) | ||
341 | { | ||
342 | NCURSES_CONST char *name; | ||
343 | char *s; | ||
344 | @@ -231,7 +235,9 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
345 | } else if (VALID_STRING(s)) { | ||
346 | if (argc > 1) { | ||
347 | int k; | ||
348 | + int narg; | ||
349 | int analyzed; | ||
350 | + int provided; | ||
351 | int popcount; | ||
352 | long numbers[1 + NUM_PARM]; | ||
353 | char *strings[1 + NUM_PARM]; | ||
354 | @@ -271,14 +277,45 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
355 | |||
356 | popcount = 0; | ||
357 | _nc_reset_tparm(NULL); | ||
358 | + /* | ||
359 | + * Count the number of numeric parameters which are provided. | ||
360 | + */ | ||
361 | + provided = 0; | ||
362 | + for (narg = 1; narg < argc; ++narg) { | ||
363 | + char *ending = NULL; | ||
364 | + long check = strtol(argv[narg], &ending, 10); | ||
365 | + if (check < 0 || ending == argv[narg] || *ending != '\0') | ||
366 | + break; | ||
367 | + provided = narg; | ||
368 | + } | ||
369 | switch (paramType) { | ||
370 | + case Str: | ||
371 | + s = TPARM_1(s, strings[1]); | ||
372 | + analyzed = 1; | ||
373 | + if (provided == 0 && argc >= 1) | ||
374 | + provided++; | ||
375 | + break; | ||
376 | + case Str_Str: | ||
377 | + s = TPARM_2(s, strings[1], strings[2]); | ||
378 | + analyzed = 2; | ||
379 | + if (provided == 0 && argc >= 1) | ||
380 | + provided++; | ||
381 | + if (provided == 1 && argc >= 2) | ||
382 | + provided++; | ||
383 | + break; | ||
384 | case Num_Str: | ||
385 | s = TPARM_2(s, numbers[1], strings[2]); | ||
386 | analyzed = 2; | ||
387 | + if (provided == 1 && argc >= 2) | ||
388 | + provided++; | ||
389 | break; | ||
390 | case Num_Str_Str: | ||
391 | s = TPARM_3(s, numbers[1], strings[2], strings[3]); | ||
392 | analyzed = 3; | ||
393 | + if (provided == 1 && argc >= 2) | ||
394 | + provided++; | ||
395 | + if (provided == 2 && argc >= 3) | ||
396 | + provided++; | ||
397 | break; | ||
398 | case Numbers: | ||
399 | analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount); | ||
400 | @@ -316,7 +353,13 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
401 | if (analyzed < popcount) { | ||
402 | analyzed = popcount; | ||
403 | } | ||
404 | - *used += analyzed; | ||
405 | + if (opt_v && (analyzed != provided)) { | ||
406 | + fprintf(stderr, "%s: %s parameters for \"%s\"\n", | ||
407 | + _nc_progname, | ||
408 | + (analyzed < provided ? "extra" : "missing"), | ||
409 | + argv[0]); | ||
410 | + } | ||
411 | + *used += provided; | ||
412 | } | ||
413 | |||
414 | /* use putp() in order to perform padding */ | ||
415 | @@ -339,7 +382,6 @@ main(int argc, char **argv) | ||
416 | int used; | ||
417 | TTY old_settings; | ||
418 | TTY tty_settings; | ||
419 | - bool opt_x = FALSE; /* clear scrollback if possible */ | ||
420 | bool is_alias; | ||
421 | bool need_tty; | ||
422 | |||
423 | @@ -348,7 +390,7 @@ main(int argc, char **argv) | ||
424 | |||
425 | term = getenv("TERM"); | ||
426 | |||
427 | - while ((c = getopt(argc, argv, is_alias ? "T:Vx" : "ST:Vx")) != -1) { | ||
428 | + while ((c = getopt(argc, argv, is_alias ? "T:Vvx" : "ST:Vvx")) != -1) { | ||
429 | switch (c) { | ||
430 | case 'S': | ||
431 | cmdline = FALSE; | ||
432 | @@ -361,6 +403,9 @@ main(int argc, char **argv) | ||
433 | case 'V': | ||
434 | puts(curses_version()); | ||
435 | ExitProgram(EXIT_SUCCESS); | ||
436 | + case 'v': /* verbose */ | ||
437 | + opt_v = TRUE; | ||
438 | + break; | ||
439 | case 'x': /* do not try to clear scrollback */ | ||
440 | opt_x = TRUE; | ||
441 | break; | ||
442 | @@ -404,7 +449,7 @@ main(int argc, char **argv) | ||
443 | usage(NULL); | ||
444 | while (argc > 0) { | ||
445 | tty_settings = old_settings; | ||
446 | - code = tput_cmd(fd, &tty_settings, opt_x, argc, argv, &used); | ||
447 | + code = tput_cmd(fd, &tty_settings, argc, argv, &used); | ||
448 | if (code != 0) | ||
449 | break; | ||
450 | argc -= used; | ||
451 | @@ -439,7 +484,7 @@ main(int argc, char **argv) | ||
452 | while (argnum > 0) { | ||
453 | int code; | ||
454 | tty_settings = old_settings; | ||
455 | - code = tput_cmd(fd, &tty_settings, opt_x, argnum, argnow, &used); | ||
456 | + code = tput_cmd(fd, &tty_settings, argnum, argnow, &used); | ||
457 | if (code != 0) { | ||
458 | if (result == 0) | ||
459 | result = ErrSystem(0); /* will return value >4 */ | ||
460 | -- | ||
461 | 2.40.0 | ||
462 | |||
diff --git a/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch b/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch deleted file mode 100644 index 121db6bffe..0000000000 --- a/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch +++ /dev/null | |||
@@ -1,499 +0,0 @@ | |||
1 | From 135d37072755704b8d018e5de74e62ff3f28c930 Mon Sep 17 00:00:00 2001 | ||
2 | From: Thomas E. Dickey <dickey@invisible-island.net> | ||
3 | Date: Sun, 5 Nov 2023 05:54:54 +0530 | ||
4 | Subject: [PATCH] Updating reset code - ncurses 6.4 - patch 20231104 | ||
5 | |||
6 | + modify reset command to avoid altering clocal if the terminal uses a | ||
7 | modem (prompted by discussion with Werner Fink, Michal Suchanek, | ||
8 | OpenSUSE #1201384, Debian #60377). | ||
9 | + build-fixes for --with-caps variations. | ||
10 | + correct a couple of section-references in INSTALL. | ||
11 | |||
12 | Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> | ||
13 | |||
14 | Upstream-Status: Backport [https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=135d37072755704b8d018e5de74e62ff3f28c930] | ||
15 | |||
16 | Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com> | ||
17 | --- | ||
18 | INSTALL | 8 +- | ||
19 | include/curses.events | 2 +- | ||
20 | ncurses/tinfo/lib_tparm.c | 2 + | ||
21 | progs/reset_cmd.c | 281 +++++++++++++++++++++----------------- | ||
22 | progs/tabs.c | 10 +- | ||
23 | progs/tic.c | 4 + | ||
24 | 6 files changed, 176 insertions(+), 131 deletions(-) | ||
25 | |||
26 | diff --git a/INSTALL b/INSTALL | ||
27 | index d9c1dd12..d0a39af0 100644 | ||
28 | --- a/INSTALL | ||
29 | +++ b/INSTALL | ||
30 | @@ -47,7 +47,7 @@ If you are converting from BSD curses and do not have root access, be sure | ||
31 | to read the BSD CONVERSION NOTES section below. | ||
32 | |||
33 | If you are trying to build applications using gpm with ncurses, | ||
34 | -read the USING NCURSES WITH GPM section below. | ||
35 | +read the USING GPM section below. | ||
36 | |||
37 | If you are cross-compiling, see the note below on BUILDING WITH A CROSS-COMPILER. | ||
38 | |||
39 | @@ -79,7 +79,7 @@ INSTALLATION PROCEDURE: | ||
40 | The --prefix option to configure changes the root directory for installing | ||
41 | ncurses. The default is normally in subdirectories of /usr/local, except | ||
42 | for systems where ncurses is normally installed as a system library (see | ||
43 | - "IF YOU ARE A SYSTEM INTEGRATOR"). Use --prefix=/usr to replace your | ||
44 | + "FOR SYSTEM INTEGRATORS"). Use --prefix=/usr to replace your | ||
45 | default curses distribution. | ||
46 | |||
47 | The package gets installed beneath the --prefix directory as follows: | ||
48 | @@ -176,7 +176,7 @@ INSTALLATION PROCEDURE: | ||
49 | You can make curses and terminfo fall back to an existing file of termcap | ||
50 | definitions by configuring with --enable-termcap. If you do this, the | ||
51 | library will search /etc/termcap before the terminfo database, and will | ||
52 | - also interpret the contents of the TERM environment variable. See the | ||
53 | + also interpret the contents of the $TERM environment variable. See the | ||
54 | section BSD CONVERSION NOTES below. | ||
55 | |||
56 | 3. Type `make'. Ignore any warnings, no error messages should be produced. | ||
57 | @@ -1231,7 +1231,7 @@ CONFIGURE OPTIONS: | ||
58 | Specify a search-list of terminfo directories which will be compiled | ||
59 | into the ncurses library (default: DATADIR/terminfo) | ||
60 | |||
61 | - This is a colon-separated list, like the TERMINFO_DIRS environment | ||
62 | + This is a colon-separated list, like the $TERMINFO_DIRS environment | ||
63 | variable. | ||
64 | |||
65 | --with-termlib[=XXX] | ||
66 | diff --git a/include/curses.events b/include/curses.events | ||
67 | index 25a2583f..468bde18 100644 | ||
68 | --- a/include/curses.events | ||
69 | +++ b/include/curses.events | ||
70 | @@ -50,6 +50,6 @@ typedef struct | ||
71 | extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */ | ||
72 | extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */ | ||
73 | |||
74 | -#define KEY_EVENT 0633 /* We were interrupted by an event */ | ||
75 | +#define KEY_EVENT 0634 /* We were interrupted by an event */ | ||
76 | |||
77 | #endif /* NCURSES_WGETCH_EVENTS */ | ||
78 | diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c | ||
79 | index a10a3877..cd972c0f 100644 | ||
80 | --- a/ncurses/tinfo/lib_tparm.c | ||
81 | +++ b/ncurses/tinfo/lib_tparm.c | ||
82 | @@ -1113,8 +1113,10 @@ check_string_caps(TPARM_DATA *data, const char *string) | ||
83 | want_type = 2; /* function key #1, transmit string #2 */ | ||
84 | else if (CHECK_CAP(plab_norm)) | ||
85 | want_type = 2; /* label #1, show string #2 */ | ||
86 | +#ifdef pkey_plab | ||
87 | else if (CHECK_CAP(pkey_plab)) | ||
88 | want_type = 6; /* function key #1, type string #2, show string #3 */ | ||
89 | +#endif | ||
90 | #if NCURSES_XNAMES | ||
91 | else { | ||
92 | char *check; | ||
93 | diff --git a/progs/reset_cmd.c b/progs/reset_cmd.c | ||
94 | index eff3af72..aec4b077 100644 | ||
95 | --- a/progs/reset_cmd.c | ||
96 | +++ b/progs/reset_cmd.c | ||
97 | @@ -75,6 +75,9 @@ MODULE_ID("$Id: reset_cmd.c,v 1.28 2021/10/02 18:08:44 tom Exp $") | ||
98 | # endif | ||
99 | #endif | ||
100 | |||
101 | +#define set_flags(target, mask) target |= mask | ||
102 | +#define clear_flags(target, mask) target &= ~((unsigned)(mask)) | ||
103 | + | ||
104 | static FILE *my_file; | ||
105 | |||
106 | static bool use_reset = FALSE; /* invoked as reset */ | ||
107 | @@ -188,6 +191,79 @@ out_char(int c) | ||
108 | #define reset_char(item, value) \ | ||
109 | tty_settings->c_cc[item] = CHK(tty_settings->c_cc[item], value) | ||
110 | |||
111 | +/* | ||
112 | + * Simplify ifdefs | ||
113 | + */ | ||
114 | +#ifndef BSDLY | ||
115 | +#define BSDLY 0 | ||
116 | +#endif | ||
117 | +#ifndef CRDLY | ||
118 | +#define CRDLY 0 | ||
119 | +#endif | ||
120 | +#ifndef ECHOCTL | ||
121 | +#define ECHOCTL 0 | ||
122 | +#endif | ||
123 | +#ifndef ECHOKE | ||
124 | +#define ECHOKE 0 | ||
125 | +#endif | ||
126 | +#ifndef ECHOPRT | ||
127 | +#define ECHOPRT 0 | ||
128 | +#endif | ||
129 | +#ifndef FFDLY | ||
130 | +#define FFDLY 0 | ||
131 | +#endif | ||
132 | +#ifndef IMAXBEL | ||
133 | +#define IMAXBEL 0 | ||
134 | +#endif | ||
135 | +#ifndef IUCLC | ||
136 | +#define IUCLC 0 | ||
137 | +#endif | ||
138 | +#ifndef IXANY | ||
139 | +#define IXANY 0 | ||
140 | +#endif | ||
141 | +#ifndef NLDLY | ||
142 | +#define NLDLY 0 | ||
143 | +#endif | ||
144 | +#ifndef OCRNL | ||
145 | +#define OCRNL 0 | ||
146 | +#endif | ||
147 | +#ifndef OFDEL | ||
148 | +#define OFDEL 0 | ||
149 | +#endif | ||
150 | +#ifndef OFILL | ||
151 | +#define OFILL 0 | ||
152 | +#endif | ||
153 | +#ifndef OLCUC | ||
154 | +#define OLCUC 0 | ||
155 | +#endif | ||
156 | +#ifndef ONLCR | ||
157 | +#define ONLCR 0 | ||
158 | +#endif | ||
159 | +#ifndef ONLRET | ||
160 | +#define ONLRET 0 | ||
161 | +#endif | ||
162 | +#ifndef ONOCR | ||
163 | +#define ONOCR 0 | ||
164 | +#endif | ||
165 | +#ifndef OXTABS | ||
166 | +#define OXTABS 0 | ||
167 | +#endif | ||
168 | +#ifndef TAB3 | ||
169 | +#define TAB3 0 | ||
170 | +#endif | ||
171 | +#ifndef TABDLY | ||
172 | +#define TABDLY 0 | ||
173 | +#endif | ||
174 | +#ifndef TOSTOP | ||
175 | +#define TOSTOP 0 | ||
176 | +#endif | ||
177 | +#ifndef VTDLY | ||
178 | +#define VTDLY 0 | ||
179 | +#endif | ||
180 | +#ifndef XCASE | ||
181 | +#define XCASE 0 | ||
182 | +#endif | ||
183 | + | ||
184 | /* | ||
185 | * Reset the terminal mode bits to a sensible state. Very useful after | ||
186 | * a child program dies in raw mode. | ||
187 | @@ -195,6 +271,10 @@ out_char(int c) | ||
188 | void | ||
189 | reset_tty_settings(int fd, TTY * tty_settings, int noset) | ||
190 | { | ||
191 | + unsigned mask; | ||
192 | +#ifdef TIOCMGET | ||
193 | + int modem_bits; | ||
194 | +#endif | ||
195 | GET_TTY(fd, tty_settings); | ||
196 | |||
197 | #ifdef TERMIOS | ||
198 | @@ -228,106 +308,65 @@ reset_tty_settings(int fd, TTY * tty_settings, int noset) | ||
199 | reset_char(VWERASE, CWERASE); | ||
200 | #endif | ||
201 | |||
202 | - tty_settings->c_iflag &= ~((unsigned) (IGNBRK | ||
203 | - | PARMRK | ||
204 | - | INPCK | ||
205 | - | ISTRIP | ||
206 | - | INLCR | ||
207 | - | IGNCR | ||
208 | -#ifdef IUCLC | ||
209 | - | IUCLC | ||
210 | -#endif | ||
211 | -#ifdef IXANY | ||
212 | - | IXANY | ||
213 | -#endif | ||
214 | - | IXOFF)); | ||
215 | - | ||
216 | - tty_settings->c_iflag |= (BRKINT | ||
217 | - | IGNPAR | ||
218 | - | ICRNL | ||
219 | - | IXON | ||
220 | -#ifdef IMAXBEL | ||
221 | - | IMAXBEL | ||
222 | -#endif | ||
223 | - ); | ||
224 | - | ||
225 | - tty_settings->c_oflag &= ~((unsigned) (0 | ||
226 | -#ifdef OLCUC | ||
227 | - | OLCUC | ||
228 | -#endif | ||
229 | -#ifdef OCRNL | ||
230 | - | OCRNL | ||
231 | -#endif | ||
232 | -#ifdef ONOCR | ||
233 | - | ONOCR | ||
234 | -#endif | ||
235 | -#ifdef ONLRET | ||
236 | - | ONLRET | ||
237 | -#endif | ||
238 | -#ifdef OFILL | ||
239 | - | OFILL | ||
240 | -#endif | ||
241 | -#ifdef OFDEL | ||
242 | - | OFDEL | ||
243 | -#endif | ||
244 | -#ifdef NLDLY | ||
245 | - | NLDLY | ||
246 | -#endif | ||
247 | -#ifdef CRDLY | ||
248 | - | CRDLY | ||
249 | -#endif | ||
250 | -#ifdef TABDLY | ||
251 | - | TABDLY | ||
252 | -#endif | ||
253 | -#ifdef BSDLY | ||
254 | - | BSDLY | ||
255 | -#endif | ||
256 | -#ifdef VTDLY | ||
257 | - | VTDLY | ||
258 | -#endif | ||
259 | -#ifdef FFDLY | ||
260 | - | FFDLY | ||
261 | -#endif | ||
262 | - )); | ||
263 | - | ||
264 | - tty_settings->c_oflag |= (OPOST | ||
265 | -#ifdef ONLCR | ||
266 | - | ONLCR | ||
267 | -#endif | ||
268 | - ); | ||
269 | - | ||
270 | - tty_settings->c_cflag &= ~((unsigned) (CSIZE | ||
271 | - | CSTOPB | ||
272 | - | PARENB | ||
273 | - | PARODD | ||
274 | - | CLOCAL)); | ||
275 | - tty_settings->c_cflag |= (CS8 | CREAD); | ||
276 | - tty_settings->c_lflag &= ~((unsigned) (ECHONL | ||
277 | - | NOFLSH | ||
278 | -#ifdef TOSTOP | ||
279 | - | TOSTOP | ||
280 | -#endif | ||
281 | -#ifdef ECHOPTR | ||
282 | - | ECHOPRT | ||
283 | -#endif | ||
284 | -#ifdef XCASE | ||
285 | - | XCASE | ||
286 | -#endif | ||
287 | - )); | ||
288 | - | ||
289 | - tty_settings->c_lflag |= (ISIG | ||
290 | - | ICANON | ||
291 | - | ECHO | ||
292 | - | ECHOE | ||
293 | - | ECHOK | ||
294 | -#ifdef ECHOCTL | ||
295 | - | ECHOCTL | ||
296 | -#endif | ||
297 | -#ifdef ECHOKE | ||
298 | - | ECHOKE | ||
299 | -#endif | ||
300 | - ); | ||
301 | -#endif | ||
302 | + clear_flags(tty_settings->c_iflag, (IGNBRK | ||
303 | + | PARMRK | ||
304 | + | INPCK | ||
305 | + | ISTRIP | ||
306 | + | INLCR | ||
307 | + | IGNCR | ||
308 | + | IUCLC | ||
309 | + | IXANY | ||
310 | + | IXOFF)); | ||
311 | + | ||
312 | + set_flags(tty_settings->c_iflag, (BRKINT | ||
313 | + | IGNPAR | ||
314 | + | ICRNL | ||
315 | + | IXON | ||
316 | + | IMAXBEL)); | ||
317 | + | ||
318 | + clear_flags(tty_settings->c_oflag, (0 | ||
319 | + | OLCUC | ||
320 | + | OCRNL | ||
321 | + | ONOCR | ||
322 | + | ONLRET | ||
323 | + | OFILL | ||
324 | + | OFDEL | ||
325 | + | NLDLY | ||
326 | + | CRDLY | ||
327 | + | TABDLY | ||
328 | + | BSDLY | ||
329 | + | VTDLY | ||
330 | + | FFDLY)); | ||
331 | + | ||
332 | + set_flags(tty_settings->c_oflag, (OPOST | ||
333 | + | ONLCR)); | ||
334 | + | ||
335 | + mask = (CSIZE | CSTOPB | PARENB | PARODD); | ||
336 | +#ifdef TIOCMGET | ||
337 | + /* leave clocal alone if this appears to use a modem */ | ||
338 | + if (ioctl(fd, TIOCMGET, &modem_bits) == -1) | ||
339 | + mask |= CLOCAL; | ||
340 | +#else | ||
341 | + /* cannot check - use the behavior from tset */ | ||
342 | + mask |= CLOCAL; | ||
343 | +#endif | ||
344 | + clear_flags(tty_settings->c_cflag, mask); | ||
345 | + | ||
346 | + set_flags(tty_settings->c_cflag, (CS8 | CREAD)); | ||
347 | + clear_flags(tty_settings->c_lflag, (ECHONL | ||
348 | + | NOFLSH | ||
349 | + | TOSTOP | ||
350 | + | ECHOPRT | ||
351 | + | XCASE)); | ||
352 | + | ||
353 | + set_flags(tty_settings->c_lflag, (ISIG | ||
354 | + | ICANON | ||
355 | + | ECHO | ||
356 | + | ECHOE | ||
357 | + | ECHOK | ||
358 | + | ECHOCTL | ||
359 | + | ECHOKE)); | ||
360 | +#endif /* TERMIOS */ | ||
361 | |||
362 | if (!noset) { | ||
363 | SET_TTY(fd, tty_settings); | ||
364 | @@ -402,29 +441,23 @@ set_conversions(TTY * tty_settings) | ||
365 | #if defined(EXP_WIN32_DRIVER) | ||
366 | /* FIXME */ | ||
367 | #else | ||
368 | -#ifdef ONLCR | ||
369 | - tty_settings->c_oflag |= ONLCR; | ||
370 | -#endif | ||
371 | - tty_settings->c_iflag |= ICRNL; | ||
372 | - tty_settings->c_lflag |= ECHO; | ||
373 | -#ifdef OXTABS | ||
374 | - tty_settings->c_oflag |= OXTABS; | ||
375 | -#endif /* OXTABS */ | ||
376 | + set_flags(tty_settings->c_oflag, ONLCR); | ||
377 | + set_flags(tty_settings->c_iflag, ICRNL); | ||
378 | + set_flags(tty_settings->c_lflag, ECHO); | ||
379 | + set_flags(tty_settings->c_oflag, OXTABS); | ||
380 | |||
381 | /* test used to be tgetflag("NL") */ | ||
382 | if (VALID_STRING(newline) && newline[0] == '\n' && !newline[1]) { | ||
383 | /* Newline, not linefeed. */ | ||
384 | -#ifdef ONLCR | ||
385 | - tty_settings->c_oflag &= ~((unsigned) ONLCR); | ||
386 | -#endif | ||
387 | - tty_settings->c_iflag &= ~((unsigned) ICRNL); | ||
388 | + clear_flags(tty_settings->c_oflag, ONLCR); | ||
389 | + clear_flags(tty_settings->c_iflag, ICRNL); | ||
390 | } | ||
391 | -#ifdef OXTABS | ||
392 | +#if OXTABS | ||
393 | /* test used to be tgetflag("pt") */ | ||
394 | if (VALID_STRING(set_tab) && VALID_STRING(clear_all_tabs)) | ||
395 | - tty_settings->c_oflag &= ~OXTABS; | ||
396 | + clear_flags(tty_settings->c_oflag, OXTABS); | ||
397 | #endif /* OXTABS */ | ||
398 | - tty_settings->c_lflag |= (ECHOE | ECHOK); | ||
399 | + set_flags(tty_settings->c_lflag, (ECHOE | ECHOK)); | ||
400 | #endif | ||
401 | } | ||
402 | |||
403 | @@ -490,7 +523,7 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings) | ||
404 | bool need_flush = FALSE; | ||
405 | |||
406 | (void) old_settings; | ||
407 | -#ifdef TAB3 | ||
408 | +#if TAB3 | ||
409 | if (old_settings != 0 && | ||
410 | old_settings->c_oflag & (TAB3 | ONLCR | OCRNL | ONLRET)) { | ||
411 | old_settings->c_oflag &= (TAB3 | ONLCR | OCRNL | ONLRET); | ||
412 | @@ -512,22 +545,22 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings) | ||
413 | |||
414 | if (VALID_STRING(clear_margins)) { | ||
415 | need_flush |= sent_string(clear_margins); | ||
416 | - } else | ||
417 | + } | ||
418 | #if defined(set_lr_margin) | ||
419 | - if (VALID_STRING(set_lr_margin)) { | ||
420 | + else if (VALID_STRING(set_lr_margin)) { | ||
421 | need_flush |= sent_string(TIPARM_2(set_lr_margin, 0, columns - 1)); | ||
422 | - } else | ||
423 | + } | ||
424 | #endif | ||
425 | #if defined(set_left_margin_parm) && defined(set_right_margin_parm) | ||
426 | - if (VALID_STRING(set_left_margin_parm) | ||
427 | - && VALID_STRING(set_right_margin_parm)) { | ||
428 | + else if (VALID_STRING(set_left_margin_parm) | ||
429 | + && VALID_STRING(set_right_margin_parm)) { | ||
430 | need_flush |= sent_string(TIPARM_1(set_left_margin_parm, 0)); | ||
431 | need_flush |= sent_string(TIPARM_1(set_right_margin_parm, | ||
432 | columns - 1)); | ||
433 | - } else | ||
434 | + } | ||
435 | #endif | ||
436 | - if (VALID_STRING(set_left_margin) | ||
437 | - && VALID_STRING(set_right_margin)) { | ||
438 | + else if (VALID_STRING(set_left_margin) | ||
439 | + && VALID_STRING(set_right_margin)) { | ||
440 | need_flush |= to_left_margin(); | ||
441 | need_flush |= sent_string(set_left_margin); | ||
442 | if (VALID_STRING(parm_right_cursor)) { | ||
443 | diff --git a/progs/tabs.c b/progs/tabs.c | ||
444 | index 7378d116..d904330b 100644 | ||
445 | --- a/progs/tabs.c | ||
446 | +++ b/progs/tabs.c | ||
447 | @@ -370,7 +370,9 @@ do_set_margin(int margin, bool no_op) | ||
448 | } | ||
449 | tputs(set_left_margin, 1, putch); | ||
450 | } | ||
451 | - } else if (VALID_STRING(set_left_margin_parm)) { | ||
452 | + } | ||
453 | +#if defined(set_left_margin_parm) && defined(set_right_margin_parm) | ||
454 | + else if (VALID_STRING(set_left_margin_parm)) { | ||
455 | result = TRUE; | ||
456 | if (!no_op) { | ||
457 | if (VALID_STRING(set_right_margin_parm)) { | ||
458 | @@ -379,12 +381,16 @@ do_set_margin(int margin, bool no_op) | ||
459 | tputs(TIPARM_2(set_left_margin_parm, margin, max_cols), 1, putch); | ||
460 | } | ||
461 | } | ||
462 | - } else if (VALID_STRING(set_lr_margin)) { | ||
463 | + } | ||
464 | +#endif | ||
465 | +#if defined(set_lr_margin) | ||
466 | + else if (VALID_STRING(set_lr_margin)) { | ||
467 | result = TRUE; | ||
468 | if (!no_op) { | ||
469 | tputs(TIPARM_2(set_lr_margin, margin, max_cols), 1, putch); | ||
470 | } | ||
471 | } | ||
472 | +#endif | ||
473 | return result; | ||
474 | } | ||
475 | |||
476 | diff --git a/progs/tic.c b/progs/tic.c | ||
477 | index 888927e2..78b568fa 100644 | ||
478 | --- a/progs/tic.c | ||
479 | +++ b/progs/tic.c | ||
480 | @@ -3142,6 +3142,7 @@ guess_ANSI_VTxx(TERMTYPE2 *tp) | ||
481 | * In particular, any ECMA-48 terminal should support these, though the details | ||
482 | * for u9 are implementation dependent. | ||
483 | */ | ||
484 | +#if defined(user6) && defined(user7) && defined(user8) && defined(user9) | ||
485 | static void | ||
486 | check_user_6789(TERMTYPE2 *tp) | ||
487 | { | ||
488 | @@ -3177,6 +3178,9 @@ check_user_6789(TERMTYPE2 *tp) | ||
489 | break; | ||
490 | } | ||
491 | } | ||
492 | +#else | ||
493 | +#define check_user_6789(tp) /* nothing */ | ||
494 | +#endif | ||
495 | |||
496 | /* other sanity-checks (things that we don't want in the normal | ||
497 | * logic that reads a terminfo entry) | ||
498 | -- | ||
499 | 2.40.0 | ||
diff --git a/meta/recipes-core/ncurses/files/0001-tic-hang.patch b/meta/recipes-core/ncurses/files/0001-tic-hang.patch index f98a943e5c..8cb92a3939 100644 --- a/meta/recipes-core/ncurses/files/0001-tic-hang.patch +++ b/meta/recipes-core/ncurses/files/0001-tic-hang.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 168ba7a681be73ac024438e33e14fde1d5aea97d Mon Sep 17 00:00:00 2001 | 1 | From a51a53f0eecfd4d083aba8dfcd47c65e93978ff1 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Fri, 30 Mar 2018 10:02:24 +0800 | 3 | Date: Fri, 30 Mar 2018 10:02:24 +0800 |
4 | Subject: [PATCH 1/2] tic hang | 4 | Subject: [PATCH] tic hang |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [configuration] | 6 | Upstream-Status: Inappropriate [configuration] |
7 | 7 | ||
@@ -17,10 +17,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | |||
17 | 1 file changed, 5 insertions(+), 6 deletions(-) | 17 | 1 file changed, 5 insertions(+), 6 deletions(-) |
18 | 18 | ||
19 | diff --git a/misc/terminfo.src b/misc/terminfo.src | 19 | diff --git a/misc/terminfo.src b/misc/terminfo.src |
20 | index 84f4810..6b385ec 100644 | 20 | index 5d575b8e..f9cc6880 100644 |
21 | --- a/misc/terminfo.src | 21 | --- a/misc/terminfo.src |
22 | +++ b/misc/terminfo.src | 22 | +++ b/misc/terminfo.src |
23 | @@ -5562,12 +5562,11 @@ konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, | 23 | @@ -6518,12 +6518,11 @@ konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, |
24 | # The value for kbs (see konsole-vt100) reflects local customization rather | 24 | # The value for kbs (see konsole-vt100) reflects local customization rather |
25 | # than the settings used for XFree86 xterm. | 25 | # than the settings used for XFree86 xterm. |
26 | konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, | 26 | konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, |
@@ -38,6 +38,3 @@ index 84f4810..6b385ec 100644 | |||
38 | 38 | ||
39 | # Obsolete: vt100.keymap | 39 | # Obsolete: vt100.keymap |
40 | # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but | 40 | # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but |
41 | -- | ||
42 | 1.8.3.1 | ||
43 | |||
diff --git a/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch b/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch index 66f26c06ab..11ca66c8e8 100644 --- a/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch +++ b/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ec87e53066a9942e9aaba817d71268342f5e83b9 Mon Sep 17 00:00:00 2001 | 1 | From 63cf58044f4ab3297c5a2d0e132e87ebfa80c753 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Wed, 16 Aug 2017 14:45:27 +0800 | 3 | Date: Wed, 16 Aug 2017 14:45:27 +0800 |
4 | Subject: [PATCH] configure: reproducible | 4 | Subject: [PATCH] configure: reproducible |
@@ -13,16 +13,15 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> | |||
13 | Rebase to 6.1 | 13 | Rebase to 6.1 |
14 | 14 | ||
15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
16 | |||
17 | --- | 16 | --- |
18 | configure | 2 +- | 17 | configure | 2 +- |
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | 18 | 1 file changed, 1 insertion(+), 1 deletion(-) |
20 | 19 | ||
21 | diff --git a/configure b/configure | 20 | diff --git a/configure b/configure |
22 | index 421cf859..a1b7840d 100755 | 21 | index 488d93fc..005d44e2 100755 |
23 | --- a/configure | 22 | --- a/configure |
24 | +++ b/configure | 23 | +++ b/configure |
25 | @@ -5072,7 +5072,7 @@ else | 24 | @@ -5129,7 +5129,7 @@ else |
26 | ;; | 25 | ;; |
27 | (*) | 26 | (*) |
28 | cf_cv_ar_flags=unknown | 27 | cf_cv_ar_flags=unknown |
diff --git a/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch b/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch index a15694d4d4..d89399bbe5 100644 --- a/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch +++ b/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 10cd0c12a6e14fb4f0498c299c1dd32720b710da Mon Sep 17 00:00:00 2001 | 1 | From 5962a5ee2885f67a396f7e8955ac1bbd7f15d4aa Mon Sep 17 00:00:00 2001 |
2 | From: Nathan Rossi <nathan@nathanrossi.com> | 2 | From: Nathan Rossi <nathan@nathanrossi.com> |
3 | Date: Mon, 14 Dec 2020 13:39:02 +1000 | 3 | Date: Mon, 14 Dec 2020 13:39:02 +1000 |
4 | Subject: [PATCH] gen-pkgconfig.in: Do not include LDFLAGS in generated pc | 4 | Subject: [PATCH] gen-pkgconfig.in: Do not include LDFLAGS in generated pc |
@@ -10,13 +10,12 @@ includes build host specific paths and options (e.g. uninative and | |||
10 | 10 | ||
11 | Upstream-Status: Inappropriate [OE Specific] | 11 | Upstream-Status: Inappropriate [OE Specific] |
12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | 12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> |
13 | |||
14 | --- | 13 | --- |
15 | misc/gen-pkgconfig.in | 2 +- | 14 | misc/gen-pkgconfig.in | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 16 | ||
18 | diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in | 17 | diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in |
19 | index a45dd54f..85273054 100644 | 18 | index 89a5cd4a..07d94d17 100644 |
20 | --- a/misc/gen-pkgconfig.in | 19 | --- a/misc/gen-pkgconfig.in |
21 | +++ b/misc/gen-pkgconfig.in | 20 | +++ b/misc/gen-pkgconfig.in |
22 | @@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ]; then | 21 | @@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ]; then |
diff --git a/meta/recipes-core/ncurses/files/exit_prototype.patch b/meta/recipes-core/ncurses/files/exit_prototype.patch index fd961512e0..299852d2c0 100644 --- a/meta/recipes-core/ncurses/files/exit_prototype.patch +++ b/meta/recipes-core/ncurses/files/exit_prototype.patch | |||
@@ -1,28 +1,27 @@ | |||
1 | From 4a769a441d7e57a23017c3037cde3e53fb9f35fe Mon Sep 17 00:00:00 2001 | 1 | From af798dceafec8a9ea3f83fc250d784511ca0a29c Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 30 Aug 2022 15:58:32 -0700 | 3 | Date: Tue, 30 Aug 2022 15:58:32 -0700 |
4 | Subject: [PATCH] Add needed headers for including mbstate_t and exit() | 4 | Subject: [PATCH] Add needed headers for including mbstate_t and exit() |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Reconfigure will solve it] | 6 | Upstream-Status: Inappropriate [Reconfigure will solve it] |
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
8 | |||
9 | --- | 8 | --- |
10 | configure | 2 ++ | 9 | configure | 2 ++ |
11 | 1 file changed, 2 insertions(+) | 10 | 1 file changed, 2 insertions(+) |
12 | 11 | ||
13 | diff --git a/configure b/configure | 12 | diff --git a/configure b/configure |
14 | index f377f551..163f8899 100755 | 13 | index 005d44e2..72fa6c23 100755 |
15 | --- a/configure | 14 | --- a/configure |
16 | +++ b/configure | 15 | +++ b/configure |
17 | @@ -3423,6 +3423,7 @@ rm -f "conftest.$ac_objext" "conftest.$ac_ext" | 16 | @@ -3462,6 +3462,7 @@ rm -f "conftest.$ac_objext" "conftest.$ac_ext" |
18 | cat >"conftest.$ac_ext" <<_ACEOF | 17 | cat >"conftest.$ac_ext" <<_ACEOF |
19 | #line 3424 "configure" | 18 | #line 3463 "configure" |
20 | #include "confdefs.h" | 19 | #include "confdefs.h" |
21 | +#include <stdlib.h> | 20 | +#include <stdlib.h> |
22 | $ac_declaration | 21 | $ac_declaration |
23 | int | 22 | int |
24 | main (void) | 23 | main (void) |
25 | @@ -13111,6 +13112,7 @@ cat >"conftest.$ac_ext" <<_ACEOF | 24 | @@ -13533,6 +13534,7 @@ cat >"conftest.$ac_ext" <<_ACEOF |
26 | #include <stdlib.h> | 25 | #include <stdlib.h> |
27 | #include <stdarg.h> | 26 | #include <stdarg.h> |
28 | #include <stdio.h> | 27 | #include <stdio.h> |
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 761b6a3d31..951f96beb5 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc | |||
@@ -2,7 +2,7 @@ SUMMARY = "The New Curses library" | |||
2 | DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library." | 2 | DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library." |
3 | HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" | 3 | HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" |
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c5a4600fdef86384c41ca33ecc70a4b8;endline=27" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=6f291ee54551d9d8d992ecd623fe4bc7;endline=27" |
6 | SECTION = "libs" | 6 | SECTION = "libs" |
7 | DEPENDS = "ncurses-native" | 7 | DEPENDS = "ncurses-native" |
8 | DEPENDS:class-native = "" | 8 | DEPENDS:class-native = "" |
@@ -13,15 +13,13 @@ BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \ | |||
13 | inherit autotools binconfig-disabled multilib_header pkgconfig | 13 | inherit autotools binconfig-disabled multilib_header pkgconfig |
14 | 14 | ||
15 | # Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ | 15 | # Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ |
16 | SRC_URI = "git://github.com/mirror/ncurses.git;protocol=https;branch=master" | 16 | SRC_URI = "git://github.com/ThomasDickey/ncurses-snapshots.git;protocol=https;branch=master" |
17 | 17 | ||
18 | EXTRA_AUTORECONF = "-I m4" | 18 | EXTRA_AUTORECONF = "-I m4" |
19 | 19 | ||
20 | CACHED_CONFIGUREVARS = "cf_cv_func_nanosleep=yes" | 20 | CACHED_CONFIGUREVARS = "cf_cv_func_nanosleep=yes" |
21 | CACHED_CONFIGUREVARS:append:linux = " cf_cv_working_poll=yes" | 21 | CACHED_CONFIGUREVARS:append:linux = " cf_cv_working_poll=yes" |
22 | 22 | ||
23 | EXTRASITECONFIG = "CFLAGS='${CFLAGS} -I${SYSROOT_DESTDIR}${includedir}'" | ||
24 | |||
25 | # Whether to enable separate widec libraries; must be 'true' or 'false' | 23 | # Whether to enable separate widec libraries; must be 'true' or 'false' |
26 | # | 24 | # |
27 | # TODO: remove this variable when widec is supported in every setup? | 25 | # TODO: remove this variable when widec is supported in every setup? |
@@ -30,6 +28,9 @@ ENABLE_WIDEC ?= "true" | |||
30 | # _GNU_SOURCE is required for widec stuff and is not detected automatically | 28 | # _GNU_SOURCE is required for widec stuff and is not detected automatically |
31 | CPPFLAGS += "-D_GNU_SOURCE" | 29 | CPPFLAGS += "-D_GNU_SOURCE" |
32 | 30 | ||
31 | # Check if we still need it when next release (6.6) happens | ||
32 | CFLAGS += "-std=gnu17" | ||
33 | |||
33 | # natives don't generally look in base_libdir | 34 | # natives don't generally look in base_libdir |
34 | base_libdir:class-native = "${libdir}" | 35 | base_libdir:class-native = "${libdir}" |
35 | 36 | ||
@@ -72,6 +73,7 @@ ncurses_configure() { | |||
72 | --without-debug \ | 73 | --without-debug \ |
73 | --without-ada \ | 74 | --without-ada \ |
74 | --without-gpm \ | 75 | --without-gpm \ |
76 | --with-xterm-kbs=del \ | ||
75 | --enable-hard-tabs \ | 77 | --enable-hard-tabs \ |
76 | --enable-xmc-glitch \ | 78 | --enable-xmc-glitch \ |
77 | --enable-colorfgbg \ | 79 | --enable-colorfgbg \ |
@@ -173,7 +175,6 @@ do_install() { | |||
173 | oe_runmake -C narrowc ${_install_cfgs} \ | 175 | oe_runmake -C narrowc ${_install_cfgs} \ |
174 | install.data | 176 | install.data |
175 | 177 | ||
176 | |||
177 | ! ${ENABLE_WIDEC} || \ | 178 | ! ${ENABLE_WIDEC} || \ |
178 | oe_runmake -C widec ${_install_cfgs} ${_install_opts} | 179 | oe_runmake -C widec ${_install_cfgs} ${_install_opts} |
179 | 180 | ||
@@ -181,7 +182,7 @@ do_install() { | |||
181 | 182 | ||
182 | # include some basic terminfo files | 183 | # include some basic terminfo files |
183 | # stolen ;) from gentoo and modified a bit | 184 | # stolen ;) from gentoo and modified a bit |
184 | for x in ansi console dumb linux rxvt screen screen-256color sun vt52 vt100 vt102 vt200 vt220 xterm-color xterm-xfree86 xterm-256color | 185 | for x in alacritty ansi console dumb linux rxvt screen screen-256color sun vt52 vt100 vt102 vt200 vt220 xterm-color xterm-xfree86 xterm-256color |
185 | do | 186 | do |
186 | local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)" | 187 | local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)" |
187 | local basedir="$(basename $(dirname "${termfile}"))" | 188 | local basedir="$(basename $(dirname "${termfile}"))" |
@@ -261,7 +262,6 @@ python populate_packages:prepend () { | |||
261 | do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) | 262 | do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) |
262 | } | 263 | } |
263 | 264 | ||
264 | |||
265 | inherit update-alternatives | 265 | inherit update-alternatives |
266 | 266 | ||
267 | ALTERNATIVE_PRIORITY = "100" | 267 | ALTERNATIVE_PRIORITY = "100" |
diff --git a/meta/recipes-core/ncurses/ncurses_6.4.bb b/meta/recipes-core/ncurses/ncurses_6.5.bb index 2c621525f9..bba3495266 100644 --- a/meta/recipes-core/ncurses/ncurses_6.4.bb +++ b/meta/recipes-core/ncurses/ncurses_6.5.bb | |||
@@ -4,14 +4,11 @@ SRC_URI += "file://0001-tic-hang.patch \ | |||
4 | file://0002-configure-reproducible.patch \ | 4 | file://0002-configure-reproducible.patch \ |
5 | file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \ | 5 | file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \ |
6 | file://exit_prototype.patch \ | 6 | file://exit_prototype.patch \ |
7 | file://0001-Fix-CVE-2023-29491.patch \ | ||
8 | file://0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch \ | ||
9 | " | 7 | " |
10 | # commit id corresponds to the revision in package version | 8 | # commit id corresponds to the revision in package version |
11 | SRCREV = "79b9071f2be20a24c7be031655a5638f6032f29f" | 9 | SRCREV = "1c55d64d9d3e00399a21f04e9cac1e472ab5f70a" |
12 | S = "${WORKDIR}/git" | ||
13 | EXTRA_OECONF += "--with-abi-version=5" | 10 | EXTRA_OECONF += "--with-abi-version=5" |
14 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)$" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+_\d+)$" |
15 | 12 | ||
16 | # This is needed when using patchlevel versions like 6.1+20181013 | 13 | # This is needed when using patchlevel versions like 6.1+20181013 |
17 | #CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}" | 14 | #CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}" |
diff --git a/meta/recipes-core/ncurses/site_config/headers b/meta/recipes-core/ncurses/site_config/headers deleted file mode 100644 index 087b7bfd5e..0000000000 --- a/meta/recipes-core/ncurses/site_config/headers +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | curses.h | ||
2 | ncurses/curses.h | ||
3 | ncurses.h | ||
4 | ncurses/termcap.h | ||
5 | |||
diff --git a/meta/recipes-core/netbase/netbase_6.4.bb b/meta/recipes-core/netbase/netbase_6.5.bb index 5a448a4b91..c6cf798421 100644 --- a/meta/recipes-core/netbase/netbase_6.4.bb +++ b/meta/recipes-core/netbase/netbase_6.5.bb | |||
@@ -10,7 +10,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz" | |||
10 | 10 | ||
11 | inherit allarch | 11 | inherit allarch |
12 | 12 | ||
13 | SRC_URI[sha256sum] = "fa6621826ff1150e581bd90bc3c8a4ecafe5df90404f207db6dcdf2c75f26ad7" | 13 | SRC_URI[sha256sum] = "9116047aebbaa1698934052d01c6e09b4c3aed643e93df63d2ddcbec243c26d1" |
14 | 14 | ||
15 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/" | 15 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/" |
16 | 16 | ||
@@ -22,4 +22,4 @@ do_install () { | |||
22 | install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes | 22 | install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes |
23 | } | 23 | } |
24 | 24 | ||
25 | S = "${WORKDIR}/netbase" | 25 | S = "${UNPACKDIR}/netbase" |
diff --git a/meta/recipes-core/newlib/libgloss_git.bb b/meta/recipes-core/newlib/libgloss_git.bb index 7e34e33c7a..92bb81050b 100644 --- a/meta/recipes-core/newlib/libgloss_git.bb +++ b/meta/recipes-core/newlib/libgloss_git.bb | |||
@@ -6,7 +6,6 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/libgloss:" | |||
6 | 6 | ||
7 | SRC_URI:append = " file://libgloss-build-without-nostdinc.patch" | 7 | SRC_URI:append = " file://libgloss-build-without-nostdinc.patch" |
8 | SRC_URI:append:powerpc = " file://fix-rs6000-crt0.patch" | 8 | SRC_URI:append:powerpc = " file://fix-rs6000-crt0.patch" |
9 | SRC_URI:append:powerpc = " file://fix-rs6000-cflags.patch" | ||
10 | 9 | ||
11 | do_configure() { | 10 | do_configure() { |
12 | ${S}/libgloss/configure ${EXTRA_OECONF} | 11 | ${S}/libgloss/configure ${EXTRA_OECONF} |
@@ -22,8 +21,12 @@ do_install:append() { | |||
22 | install -d ${D}${libdir} | 21 | install -d ${D}${libdir} |
23 | mv -v ${D}${prefix}/${TARGET_SYS}/lib/* ${D}${libdir} | 22 | mv -v ${D}${prefix}/${TARGET_SYS}/lib/* ${D}${libdir} |
24 | 23 | ||
25 | # Remove original directory | 24 | # Remove original directory |
26 | rmdir -p --ignore-fail-on-non-empty ${D}${prefix}/${TARGET_SYS}/lib | 25 | rmdir -p --ignore-fail-on-non-empty ${D}${prefix}/${TARGET_SYS}/lib |
26 | # Remove empty include dir | ||
27 | rmdir ${D}/${prefix}/${TARGET_SYS}/include | ||
28 | rmdir ${D}/${prefix}/${TARGET_SYS}/ | ||
29 | |||
27 | } | 30 | } |
28 | 31 | ||
29 | # Split packages correctly | 32 | # Split packages correctly |
diff --git a/meta/recipes-core/newlib/newlib.inc b/meta/recipes-core/newlib/newlib.inc index 6113f5e831..a8794dd1d9 100644 --- a/meta/recipes-core/newlib/newlib.inc +++ b/meta/recipes-core/newlib/newlib.inc | |||
@@ -8,26 +8,32 @@ LIC_FILES_CHKSUM = " \ | |||
8 | file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ | 8 | file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ |
9 | file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ | 9 | file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ |
10 | file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ | 10 | file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ |
11 | file://COPYING.LIBGLOSS;md5=c0469b6ebb847a75781066be515f032d \ | 11 | file://COPYING.LIBGLOSS;md5=faa6f6ad545714df2a7d1276ed899f15 \ |
12 | file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | 12 | file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ |
13 | file://COPYING.NEWLIB;md5=4f1a15846ffee91e352418563e1bce27 \ | 13 | file://COPYING.NEWLIB;md5=61255563bbcda142f581b94591b6a589 \ |
14 | file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \ | 14 | file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \ |
15 | " | 15 | " |
16 | 16 | ||
17 | BASEVER = "4.4.0" | 17 | BASEVER = "4.5.0" |
18 | PV = "${BASEVER}+git" | 18 | PV = "${BASEVER}+git" |
19 | SRC_URI = "git://sourceware.org/git/newlib-cygwin.git;protocol=https;branch=main" | 19 | SRC_URI = "git://sourceware.org/git/newlib-cygwin.git;protocol=https;branch=main" |
20 | SRCREV="ad11e2587f83d61357a32c61c36d72ea4f39315e" | 20 | SRCREV = "5e5e51f1dc56a99eb4648c28e00d73b6ea44a8b0" |
21 | 21 | ||
22 | INHIBIT_DEFAULT_DEPS = "1" | 22 | INHIBIT_DEFAULT_DEPS = "1" |
23 | DEPENDS = "virtual/${TARGET_PREFIX}gcc" | 23 | DEPENDS = "virtual/cross-cc" |
24 | 24 | ||
25 | S = "${WORKDIR}/git" | ||
26 | B = "${WORKDIR}/build" | 25 | B = "${WORKDIR}/build" |
27 | 26 | ||
28 | ## disable stdlib | 27 | ## disable stdlib |
29 | TARGET_CC_ARCH:append = " -nostdlib" | 28 | TARGET_CC_ARCH:append = " -nostdlib" |
30 | 29 | ||
30 | # Both the C library and the application should share the same mcmodel. | ||
31 | # Use the medium-any code model for the RISC-V 64 bit implementation, | ||
32 | # since medlow can only access addresses below 0x80000000 and RAM | ||
33 | # starts at 0x80000000 on RISC-V 64 | ||
34 | # Keep RISC-V 32 using -mcmodel=medlow (symbols lie between -2GB:2GB) | ||
35 | TARGET_CFLAGS:append:qemuriscv64 = " -mcmodel=medany" | ||
36 | |||
31 | EXTRA_OECONF = " \ | 37 | EXTRA_OECONF = " \ |
32 | --build=${BUILD_SYS} \ | 38 | --build=${BUILD_SYS} \ |
33 | --target=${TARGET_SYS} \ | 39 | --target=${TARGET_SYS} \ |
diff --git a/meta/recipes-core/os-release/os-release.bb b/meta/recipes-core/os-release/os-release.bb index 8906906bc3..e1906d05d8 100644 --- a/meta/recipes-core/os-release/os-release.bb +++ b/meta/recipes-core/os-release/os-release.bb | |||
@@ -24,7 +24,7 @@ ID = "${DISTRO}" | |||
24 | NAME = "${DISTRO_NAME}" | 24 | NAME = "${DISTRO_NAME}" |
25 | VERSION = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}" | 25 | VERSION = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}" |
26 | VERSION_ID = "${DISTRO_VERSION}" | 26 | VERSION_ID = "${DISTRO_VERSION}" |
27 | VERSION_CODENAME = "${DISTRO_CODENAME}" | 27 | VERSION_CODENAME = "${@d.getVar('DISTRO_CODENAME') or ''}" |
28 | PRETTY_NAME = "${DISTRO_NAME} ${VERSION}" | 28 | PRETTY_NAME = "${DISTRO_NAME} ${VERSION}" |
29 | 29 | ||
30 | # The vendor field is hardcoded to "openembedded" deliberately. We'd | 30 | # The vendor field is hardcoded to "openembedded" deliberately. We'd |
@@ -38,7 +38,7 @@ PRETTY_NAME = "${DISTRO_NAME} ${VERSION}" | |||
38 | # the CPE. | 38 | # the CPE. |
39 | 39 | ||
40 | CPE_DISTRO ??= "${DISTRO}" | 40 | CPE_DISTRO ??= "${DISTRO}" |
41 | CPE_NAME="cpe:/o:openembedded:${CPE_DISTRO}:${VERSION_ID}" | 41 | CPE_NAME = "cpe:/o:openembedded:${CPE_DISTRO}:${VERSION_ID}" |
42 | 42 | ||
43 | BUILD_ID ?= "${DATETIME}" | 43 | BUILD_ID ?= "${DATETIME}" |
44 | BUILD_ID[vardepsexclude] = "DATETIME" | 44 | BUILD_ID[vardepsexclude] = "DATETIME" |
diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb index 4d7958eb5f..5aafba97e0 100644 --- a/meta/recipes-core/ovmf/ovmf-shell-image.bb +++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb | |||
@@ -1,5 +1,5 @@ | |||
1 | SUMMARY = "boot image with UEFI shell and tools" | 1 | SUMMARY = "boot image with UEFI shell and tools" |
2 | COMPATIBLE_HOST:class-target='(i.86|x86_64).*' | 2 | COMPATIBLE_HOST:class-target = '(i.86|x86_64).*' |
3 | 3 | ||
4 | # For this image recipe, only the wic format with a | 4 | # For this image recipe, only the wic format with a |
5 | # single vfat partition makes sense. Because we have no | 5 | # single vfat partition makes sense. Because we have no |
diff --git a/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch b/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch index 490d9e8046..cee5042846 100644 --- a/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch +++ b/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From d8df6b6433351763e1db791dd84d432983d2b249 Mon Sep 17 00:00:00 2001 | 1 | From 61583b59620946683551f43c6110e656604a252f Mon Sep 17 00:00:00 2001 |
2 | From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> | 2 | From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> |
3 | Date: Thu, 9 Jun 2016 02:23:01 -0700 | 3 | Date: Thu, 9 Jun 2016 02:23:01 -0700 |
4 | Subject: [PATCH 1/4] ovmf: update path to native BaseTools | 4 | Subject: [PATCH 1/4] ovmf: update path to native BaseTools |
@@ -16,7 +16,7 @@ Upstream-Status: Inappropriate [oe-core cross compile specific] | |||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 16 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh | 18 | diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh |
19 | index b0334fb76e..094f86f096 100755 | 19 | index 279f0d099a..285f061bf4 100755 |
20 | --- a/OvmfPkg/build.sh | 20 | --- a/OvmfPkg/build.sh |
21 | +++ b/OvmfPkg/build.sh | 21 | +++ b/OvmfPkg/build.sh |
22 | @@ -24,7 +24,7 @@ then | 22 | @@ -24,7 +24,7 @@ then |
@@ -29,5 +29,5 @@ index b0334fb76e..094f86f096 100755 | |||
29 | source edksetup.sh BaseTools | 29 | source edksetup.sh BaseTools |
30 | else | 30 | else |
31 | -- | 31 | -- |
32 | 2.30.2 | 32 | 2.39.5 |
33 | 33 | ||
diff --git a/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch index eeedc9e20f..11d97c739a 100644 --- a/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch +++ b/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From ac9df4fb92965f1f95a5bdbde5f2f86d0c569711 Mon Sep 17 00:00:00 2001 | 1 | From aacbf7c91732b9959e569e90844cf9de078b2f14 Mon Sep 17 00:00:00 2001 |
2 | From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> | 2 | From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> |
3 | Date: Fri, 26 Jul 2019 17:34:26 -0400 | 3 | Date: Fri, 26 Jul 2019 17:34:26 -0400 |
4 | Subject: [PATCH] BaseTools: makefile: adjust to build in under bitbake | 4 | Subject: [PATCH 2/4] BaseTools: makefile: adjust to build in under bitbake |
5 | 5 | ||
6 | Prepend the build flags with those of bitbake. This is to build | 6 | Prepend the build flags with those of bitbake. This is to build |
7 | using the bitbake native sysroot include and library directories. | 7 | using the bitbake native sysroot include and library directories. |
@@ -65,5 +65,5 @@ index d369908a09..22c670f316 100644 | |||
65 | # | 65 | # |
66 | # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults | 66 | # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults |
67 | -- | 67 | -- |
68 | 2.30.2 | 68 | 2.39.5 |
69 | 69 | ||
diff --git a/meta/recipes-core/ovmf/ovmf/0003-debug-prefix-map.patch b/meta/recipes-core/ovmf/ovmf/0003-debug-prefix-map.patch index c0c763c1cf..4a20548c61 100644 --- a/meta/recipes-core/ovmf/ovmf/0003-debug-prefix-map.patch +++ b/meta/recipes-core/ovmf/ovmf/0003-debug-prefix-map.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 03e536b20d0b72cf078052f6748de8df3836625c Mon Sep 17 00:00:00 2001 | 1 | From 96fa2a7f2f54f1e6330275b5eba07e1efdbd865b Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Mon, 14 Jun 2021 19:56:28 +0200 | 3 | Date: Mon, 14 Jun 2021 19:56:28 +0200 |
4 | Subject: [PATCH 3/4] debug prefix map | 4 | Subject: [PATCH 3/4] debug prefix map |
@@ -21,20 +21,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
21 | BaseTools/Conf/tools_def.template | 18 +++++++++--------- | 21 | BaseTools/Conf/tools_def.template | 18 +++++++++--------- |
22 | 1 file changed, 9 insertions(+), 9 deletions(-) | 22 | 1 file changed, 9 insertions(+), 9 deletions(-) |
23 | 23 | ||
24 | diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template | ||
25 | index 503a6687c1..10ac38ef9e 100755 | ||
26 | --- a/BaseTools/Conf/tools_def.template | 24 | --- a/BaseTools/Conf/tools_def.template |
27 | +++ b/BaseTools/Conf/tools_def.template | 25 | +++ b/BaseTools/Conf/tools_def.template |
28 | @@ -739,7 +739,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink="$(DEBUG_DIR)/$(MODULE_ | 26 | @@ -920,7 +920,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --a |
29 | *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) | ||
30 | *_*_*_DTC_PATH = DEF(DTC_BIN) | 27 | *_*_*_DTC_PATH = DEF(DTC_BIN) |
31 | 28 | ||
32 | -DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common | 29 | # All supported GCC archs except LOONGARCH64 support -mstack-protector-guard=global, so set that on everything except LOONGARCH64 |
33 | +DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ENV(GCC_PREFIX_MAP) | 30 | -DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -fstack-protector |
34 | DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -fno-pic -fno-pie | 31 | +DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -fstack-protector ENV(GCC_PREFIX_MAP) |
35 | DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections | 32 | DEFINE GCC_IA32_X64_CC_FLAGS = -mstack-protector-guard=global |
36 | DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access | 33 | DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -fno-pic -fno-pie -mstack-protector-guard=global |
37 | @@ -759,8 +759,8 @@ DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,Refere | 34 | DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -Wno-address -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections |
35 | @@ -941,8 +941,8 @@ DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF | ||
38 | DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) | 36 | DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) |
39 | DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) | 37 | DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) |
40 | DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map | 38 | DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map |
@@ -45,7 +43,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
45 | DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h | 43 | DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h |
46 | DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h | 44 | DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h |
47 | DEFINE GCC_ASLCC_FLAGS = -x c | 45 | DEFINE GCC_ASLCC_FLAGS = -x c |
48 | @@ -913,7 +913,7 @@ DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF( | 46 | @@ -1095,7 +1095,7 @@ DEFINE GCC5_LOONGARCH64_PP_FLAGS |
49 | *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) | 47 | *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) |
50 | *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) | 48 | *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) |
51 | *_GCC48_IA32_OBJCOPY_FLAGS = | 49 | *_GCC48_IA32_OBJCOPY_FLAGS = |
@@ -54,7 +52,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
54 | 52 | ||
55 | DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) | 53 | DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) |
56 | RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Wno-unused-but-set-variable | 54 | RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Wno-unused-but-set-variable |
57 | @@ -941,7 +941,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Wno-unused-but-set | 55 | @@ -1123,7 +1123,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF( |
58 | *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) | 56 | *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) |
59 | *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) | 57 | *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) |
60 | *_GCC48_X64_OBJCOPY_FLAGS = | 58 | *_GCC48_X64_OBJCOPY_FLAGS = |
@@ -63,7 +61,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
63 | 61 | ||
64 | DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) | 62 | DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) |
65 | RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-variable | 63 | RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-variable |
66 | @@ -1050,7 +1050,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s | 64 | @@ -1232,7 +1232,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(G |
67 | *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) | 65 | *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) |
68 | *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) | 66 | *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) |
69 | *_GCC49_IA32_OBJCOPY_FLAGS = | 67 | *_GCC49_IA32_OBJCOPY_FLAGS = |
@@ -72,7 +70,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
72 | 70 | ||
73 | DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) | 71 | DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) |
74 | RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable | 72 | RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable |
75 | @@ -1078,7 +1078,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set | 73 | @@ -1260,7 +1260,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF( |
76 | *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) | 74 | *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) |
77 | *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) | 75 | *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) |
78 | *_GCC49_X64_OBJCOPY_FLAGS = | 76 | *_GCC49_X64_OBJCOPY_FLAGS = |
@@ -81,7 +79,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
81 | 79 | ||
82 | DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) | 80 | DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) |
83 | RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable | 81 | RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable |
84 | @@ -1337,7 +1337,7 @@ RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 | 82 | @@ -1519,7 +1519,7 @@ RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS |
85 | *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie | 83 | *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie |
86 | *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) | 84 | *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) |
87 | *_GCC5_IA32_OBJCOPY_FLAGS = | 85 | *_GCC5_IA32_OBJCOPY_FLAGS = |
@@ -90,7 +88,7 @@ index 503a6687c1..10ac38ef9e 100755 | |||
90 | 88 | ||
91 | DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto | 89 | DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto |
92 | DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 | 90 | DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 |
93 | @@ -1369,7 +1369,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl, | 91 | @@ -1551,7 +1551,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(G |
94 | *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) | 92 | *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) |
95 | *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) | 93 | *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) |
96 | *_GCC5_X64_OBJCOPY_FLAGS = | 94 | *_GCC5_X64_OBJCOPY_FLAGS = |
@@ -99,6 +97,3 @@ index 503a6687c1..10ac38ef9e 100755 | |||
99 | 97 | ||
100 | DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO | 98 | DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO |
101 | DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os | 99 | DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os |
102 | -- | ||
103 | 2.30.2 | ||
104 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/0004-reproducible.patch b/meta/recipes-core/ovmf/ovmf/0004-reproducible.patch index c3fdc3d863..0ddb86f530 100644 --- a/meta/recipes-core/ovmf/ovmf/0004-reproducible.patch +++ b/meta/recipes-core/ovmf/ovmf/0004-reproducible.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c59850367a190d70dec43e0a66f399a4d8a5ffed Mon Sep 17 00:00:00 2001 | 1 | From fc2d3c17ff2a7b39e8d47b788eeaac5e1487cdee Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Mon, 14 Jun 2021 19:57:30 +0200 | 3 | Date: Mon, 14 Jun 2021 19:57:30 +0200 |
4 | Subject: [PATCH 4/4] reproducible | 4 | Subject: [PATCH 4/4] reproducible |
@@ -34,13 +34,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
34 | .../Source/Python/AutoGen/ModuleAutoGen.py | 5 +++- | 34 | .../Source/Python/AutoGen/ModuleAutoGen.py | 5 +++- |
35 | 4 files changed, 24 insertions(+), 16 deletions(-) | 35 | 4 files changed, 24 insertions(+), 16 deletions(-) |
36 | 36 | ||
37 | diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c | ||
38 | index 9c17c90b16..fcc7864141 100644 | ||
39 | --- a/BaseTools/Source/C/GenFw/Elf64Convert.c | 37 | --- a/BaseTools/Source/C/GenFw/Elf64Convert.c |
40 | +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c | 38 | +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c |
41 | @@ -15,6 +15,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent | 39 | @@ -15,6 +15,8 @@ SPDX-License-Identifier: BSD-2-Clause-Pa |
42 | #ifndef __GNUC__ | ||
43 | #include <windows.h> | 40 | #include <windows.h> |
41 | #undef RUNTIME_FUNCTION | ||
44 | #include <io.h> | 42 | #include <io.h> |
45 | +#else | 43 | +#else |
46 | +#define _GNU_SOURCE | 44 | +#define _GNU_SOURCE |
@@ -56,7 +54,7 @@ index 9c17c90b16..fcc7864141 100644 | |||
56 | 54 | ||
57 | // | 55 | // |
58 | // Add more space in the .debug data region for the DllCharacteristicsEx | 56 | // Add more space in the .debug data region for the DllCharacteristicsEx |
59 | @@ -2261,7 +2263,7 @@ WriteDebug64 ( | 57 | @@ -2310,7 +2312,7 @@ WriteDebug64 ( |
60 | EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10; | 58 | EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10; |
61 | EFI_IMAGE_DEBUG_EX_DLLCHARACTERISTICS_ENTRY *DllEntry; | 59 | EFI_IMAGE_DEBUG_EX_DLLCHARACTERISTICS_ENTRY *DllEntry; |
62 | 60 | ||
@@ -65,7 +63,7 @@ index 9c17c90b16..fcc7864141 100644 | |||
65 | 63 | ||
66 | NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset); | 64 | NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset); |
67 | DataDir = &NtHdr->Pe32Plus.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_DEBUG]; | 65 | DataDir = &NtHdr->Pe32Plus.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_DEBUG]; |
68 | @@ -2294,7 +2296,7 @@ WriteDebug64 ( | 66 | @@ -2343,7 +2345,7 @@ WriteDebug64 ( |
69 | 67 | ||
70 | Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1); | 68 | Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1); |
71 | Nb10->Signature = CODEVIEW_SIGNATURE_NB10; | 69 | Nb10->Signature = CODEVIEW_SIGNATURE_NB10; |
@@ -74,8 +72,6 @@ index 9c17c90b16..fcc7864141 100644 | |||
74 | } | 72 | } |
75 | 73 | ||
76 | STATIC | 74 | STATIC |
77 | diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py | ||
78 | index 752a1a1f6a..02054cccf8 100644 | ||
79 | --- a/BaseTools/Source/Python/AutoGen/BuildEngine.py | 75 | --- a/BaseTools/Source/Python/AutoGen/BuildEngine.py |
80 | +++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py | 76 | +++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py |
81 | @@ -70,6 +70,9 @@ class TargetDescBlock(object): | 77 | @@ -70,6 +70,9 @@ class TargetDescBlock(object): |
@@ -88,11 +84,9 @@ index 752a1a1f6a..02054cccf8 100644 | |||
88 | def AddInput(self, Input): | 84 | def AddInput(self, Input): |
89 | if Input not in self.Inputs: | 85 | if Input not in self.Inputs: |
90 | self.Inputs.append(Input) | 86 | self.Inputs.append(Input) |
91 | diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py | ||
92 | index daec9c6d54..0e8cc20efe 100755 | ||
93 | --- a/BaseTools/Source/Python/AutoGen/GenMake.py | 87 | --- a/BaseTools/Source/Python/AutoGen/GenMake.py |
94 | +++ b/BaseTools/Source/Python/AutoGen/GenMake.py | 88 | +++ b/BaseTools/Source/Python/AutoGen/GenMake.py |
95 | @@ -575,7 +575,7 @@ cleanlib: | 89 | @@ -576,7 +576,7 @@ cleanlib: |
96 | os.remove(RespFileList) | 90 | os.remove(RespFileList) |
97 | 91 | ||
98 | # convert source files and binary files to build targets | 92 | # convert source files and binary files to build targets |
@@ -101,7 +95,7 @@ index daec9c6d54..0e8cc20efe 100755 | |||
101 | if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0: | 95 | if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0: |
102 | EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build", | 96 | EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build", |
103 | ExtraData="[%s]" % str(MyAgo)) | 97 | ExtraData="[%s]" % str(MyAgo)) |
104 | @@ -726,7 +726,7 @@ cleanlib: | 98 | @@ -727,7 +727,7 @@ cleanlib: |
105 | OutputFile = '' | 99 | OutputFile = '' |
106 | DepsFileList = [] | 100 | DepsFileList = [] |
107 | 101 | ||
@@ -110,7 +104,7 @@ index daec9c6d54..0e8cc20efe 100755 | |||
110 | if Cmd[2]: | 104 | if Cmd[2]: |
111 | for CopyCmd in Cmd[2]: | 105 | for CopyCmd in Cmd[2]: |
112 | Src, Dst = CopyCmd | 106 | Src, Dst = CopyCmd |
113 | @@ -759,7 +759,7 @@ cleanlib: | 107 | @@ -760,7 +760,7 @@ cleanlib: |
114 | self.BuildTargetList.append('\t%s' % CmdString) | 108 | self.BuildTargetList.append('\t%s' % CmdString) |
115 | 109 | ||
116 | self.ParseSecCmd(DepsFileList, Cmd[1]) | 110 | self.ParseSecCmd(DepsFileList, Cmd[1]) |
@@ -119,7 +113,7 @@ index daec9c6d54..0e8cc20efe 100755 | |||
119 | self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile))) | 113 | self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile))) |
120 | self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd)) | 114 | self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd)) |
121 | self.FfsOutputFileList = [] | 115 | self.FfsOutputFileList = [] |
122 | @@ -798,13 +798,13 @@ cleanlib: | 116 | @@ -799,13 +799,13 @@ cleanlib: |
123 | 117 | ||
124 | def CommandExceedLimit(self): | 118 | def CommandExceedLimit(self): |
125 | FlagDict = { | 119 | FlagDict = { |
@@ -140,7 +134,7 @@ index daec9c6d54..0e8cc20efe 100755 | |||
140 | } | 134 | } |
141 | 135 | ||
142 | RespDict = {} | 136 | RespDict = {} |
143 | @@ -1007,9 +1007,9 @@ cleanlib: | 137 | @@ -1019,9 +1019,9 @@ cleanlib: |
144 | if not self.ObjTargetDict.get(T.Target.SubDir): | 138 | if not self.ObjTargetDict.get(T.Target.SubDir): |
145 | self.ObjTargetDict[T.Target.SubDir] = set() | 139 | self.ObjTargetDict[T.Target.SubDir] = set() |
146 | self.ObjTargetDict[T.Target.SubDir].add(NewFile) | 140 | self.ObjTargetDict[T.Target.SubDir].add(NewFile) |
@@ -152,8 +146,6 @@ index daec9c6d54..0e8cc20efe 100755 | |||
152 | # Generate related macros if needed | 146 | # Generate related macros if needed |
153 | if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros: | 147 | if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros: |
154 | self.FileListMacros[T.FileListMacro] = [] | 148 | self.FileListMacros[T.FileListMacro] = [] |
155 | diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | ||
156 | index d05410b329..99b3f64aba 100755 | ||
157 | --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | 149 | --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py |
158 | +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | 150 | +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py |
159 | @@ -1474,6 +1474,9 @@ class ModuleAutoGen(AutoGen): | 151 | @@ -1474,6 +1474,9 @@ class ModuleAutoGen(AutoGen): |
@@ -175,6 +167,3 @@ index d05410b329..99b3f64aba 100755 | |||
175 | 167 | ||
176 | # Ignore generating makefile when it is a binary module | 168 | # Ignore generating makefile when it is a binary module |
177 | if self.IsBinaryModule: | 169 | if self.IsBinaryModule: |
178 | -- | ||
179 | 2.30.2 | ||
180 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-1.patch b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-1.patch new file mode 100644 index 0000000000..066dfa0ff0 --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-1.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 2c8fb3e5164effc8a370e800fe91db7341e69116 Mon Sep 17 00:00:00 2001 | ||
2 | From: Doug Flick <dougflick@microsoft.com> | ||
3 | Date: Mon, 7 Apr 2025 11:23:41 -0700 | ||
4 | Subject: [PATCH 1/4] SecurityPkg: Update SecurityFixes.yaml for CVE-2024-38797 | ||
5 | |||
6 | This commit updates the SecurityFixes.yaml file to include | ||
7 | information about the CVE-2024-38797 vulnerability. | ||
8 | |||
9 | Signed-off-by: Doug Flick <DougFlick@microsoft.com> | ||
10 | |||
11 | CVE: CVE-2024-38797 | ||
12 | Upstream-Status: Backport [https://github.com/tianocore/edk2/pull/10928/commits/519366f542e9370bee982b1c3687ffedb5cabc21] | ||
13 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
14 | --- | ||
15 | SecurityPkg/SecurityFixes.yaml | 15 +++++++++++++++ | ||
16 | 1 file changed, 15 insertions(+) | ||
17 | |||
18 | diff --git a/SecurityPkg/SecurityFixes.yaml b/SecurityPkg/SecurityFixes.yaml | ||
19 | index b4006b4..06b597a 100644 | ||
20 | --- a/SecurityPkg/SecurityFixes.yaml | ||
21 | +++ b/SecurityPkg/SecurityFixes.yaml | ||
22 | @@ -40,3 +40,18 @@ CVE_2022_36764: | ||
23 | - Library\DxeTpmMeasureBootLib\DxeTpmMeasureBootLib.c | ||
24 | links: | ||
25 | - https://bugzilla.tianocore.org/show_bug.cgi?id=4118 | ||
26 | +CVE_2024_38797: | ||
27 | + commit-titles: | ||
28 | + - "SecurityPkg: Out of bound read in HashPeImageByType()" | ||
29 | + - "SecurityPkg: Improving HashPeImageByType () logic" | ||
30 | + - "SecurityPkg: Improving SecureBootConfigImpl:HashPeImageByType () logic" | ||
31 | + cve: CVE-2024-38797 | ||
32 | + date_reported: 2024-06-04 12:00 UTC | ||
33 | + description: Out of bound read in HashPeImageByType() | ||
34 | + note: | ||
35 | + files_impacted: | ||
36 | + - SecurityPkg\Library\DxeImageVerificationLib\DxeImageVerificationLib.c | ||
37 | + - SecurityPkg\VariableAuthenticated\SecureBootConfigDxe\SecureBootConfigImpl.c | ||
38 | + links: | ||
39 | + - https://bugzilla.tianocore.org/show_bug.cgi?id=2214 | ||
40 | + - https://github.com/tianocore/edk2/security/advisories/GHSA-4wjw-6xmf-44xf | ||
41 | -- | ||
42 | 2.34.1 | ||
43 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-2.patch b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-2.patch new file mode 100644 index 0000000000..9bf6645681 --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-2.patch | |||
@@ -0,0 +1,63 @@ | |||
1 | From 1a7be26382c4a34504875f094e15fe371d44192e Mon Sep 17 00:00:00 2001 | ||
2 | From: Doug Flick <dougflick@microsoft.com> | ||
3 | Date: Thu, 3 Oct 2024 09:37:18 -0700 | ||
4 | Subject: [PATCH 2/4] SecurityPkg: Out of bound read in HashPeImageByType() | ||
5 | |||
6 | In HashPeImageByType(), the hash of PE/COFF image is calculated. | ||
7 | This function may get untrusted input. | ||
8 | |||
9 | Inside this function, the following code verifies the loaded image has | ||
10 | the correct format, by reading the second byte of the buffer. | ||
11 | |||
12 | ```c | ||
13 | if ((*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) { | ||
14 | ... | ||
15 | } | ||
16 | ``` | ||
17 | |||
18 | The input image is not trusted and that may not have the second byte to | ||
19 | read. So this poses an out of bound read error. | ||
20 | |||
21 | With below fix we are assuring that we don't do out of bound read. i.e, | ||
22 | we make sure that AuthDataSize is greater than 1. | ||
23 | |||
24 | ```c | ||
25 | if (AuthDataSize > 1 | ||
26 | && (*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE){ | ||
27 | ... | ||
28 | } | ||
29 | ``` | ||
30 | |||
31 | AuthDataSize size is verified before reading the second byte. | ||
32 | So if AuthDataSize is less than 2, the second byte will not be read, and | ||
33 | the out of bound read situation won't occur. | ||
34 | |||
35 | Tested the patch on real platform with and without TPM connected and | ||
36 | verified image is booting fine. | ||
37 | |||
38 | Authored-by: Raj AlwinX Selvaraj <Alw...@intel.com> | ||
39 | Signed-off-by: Doug Flick <DougFlick@microsoft.com> | ||
40 | |||
41 | CVE: CVE-2024-38797 | ||
42 | Upstream-Status: Backport [https://github.com/tianocore/edk2/pull/10928/commits/2dcdb41b564aa3cb846644b4b1722a0b3ae5e06b] | ||
43 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
44 | --- | ||
45 | .../Library/DxeImageVerificationLib/DxeImageVerificationLib.c | 2 +- | ||
46 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
47 | |||
48 | diff --git a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
49 | index b05da19..2afa2c9 100644 | ||
50 | --- a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
51 | +++ b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
52 | @@ -642,7 +642,7 @@ HashPeImageByType ( | ||
53 | // This field has the fixed offset (+32) in final Authenticode ASN.1 data. | ||
54 | // Fixed offset (+32) is calculated based on two bytes of length encoding. | ||
55 | // | ||
56 | - if ((*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) { | ||
57 | + if ((AuthDataSize > 1) && ((*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE)) { | ||
58 | // | ||
59 | // Only support two bytes of Long Form of Length Encoding. | ||
60 | // | ||
61 | -- | ||
62 | 2.34.1 | ||
63 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-3.patch b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-3.patch new file mode 100644 index 0000000000..169c78daab --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-3.patch | |||
@@ -0,0 +1,99 @@ | |||
1 | From 4db363db013a92937431234252fc9d84e44fc120 Mon Sep 17 00:00:00 2001 | ||
2 | From: Doug Flick <dougflick@microsoft.com> | ||
3 | Date: Thu, 3 Oct 2024 10:16:57 -0700 | ||
4 | Subject: [PATCH 3/4] SecurityPkg: Improving HashPeImageByType () logic | ||
5 | |||
6 | Namely: | ||
7 | |||
8 | (1) The TWO_BYTE_ENCODE check is independent of Index. If it evalutes | ||
9 | to TRUE for Index==0, then it will evaluate to TRUE for all other | ||
10 | Index values as well. As a result, the (Index == HASHALG_MAX) | ||
11 | condition will fire after the loop, and we'll return | ||
12 | EFI_UNSUPPORTED. | ||
13 | |||
14 | While this is correct, functionally speaking, it is wasteful to | ||
15 | keep re-checking TWO_BYTE_ENCODE in the loop body. The check | ||
16 | should be made at the top of the function, and EFI_UNSUPPORTED | ||
17 | should be returned at once, if appropriate. | ||
18 | |||
19 | (2) If the hash algorithm selected by Index has such a large OID that | ||
20 | the OID comparison cannot even be performed (because AuthDataSize | ||
21 | is not large enough for containing the OID in question, starting | ||
22 | at offset 32), then the function returns EFI_UNSUPPORTED at once. | ||
23 | |||
24 | This is bogus; this case should simply be treated as an OID | ||
25 | mismatch, and the loop should advance to the next Index value / | ||
26 | hash algorithm candidate. A remaining hash algo may have a shorter | ||
27 | OID and yield an OID match. | ||
28 | |||
29 | Signed-off-by: Doug Flick <DougFlick@microsoft.com> | ||
30 | |||
31 | CVE: CVE-2024-38797 | ||
32 | Upstream-Status: Backport [https://github.com/tianocore/edk2/pull/10928/commits/5df518ec510324f48ed1cf0376150960644b41f0] | ||
33 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
34 | --- | ||
35 | .../DxeImageVerificationLib.c | 37 ++++++++++--------- | ||
36 | 1 file changed, 19 insertions(+), 18 deletions(-) | ||
37 | |||
38 | diff --git a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
39 | index 2afa2c9..2eca39d 100644 | ||
40 | --- a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
41 | +++ b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | ||
42 | @@ -618,6 +618,7 @@ Done: | ||
43 | @param[in] AuthDataSize Size of the Authenticode Signature in bytes. | ||
44 | |||
45 | @retval EFI_UNSUPPORTED Hash algorithm is not supported. | ||
46 | + @retval EFI_BAD_BUFFER_SIZE AuthData provided is invalid size. | ||
47 | @retval EFI_SUCCESS Hash successfully. | ||
48 | |||
49 | **/ | ||
50 | @@ -629,28 +630,28 @@ HashPeImageByType ( | ||
51 | { | ||
52 | UINT8 Index; | ||
53 | |||
54 | - for (Index = 0; Index < HASHALG_MAX; Index++) { | ||
55 | + // | ||
56 | + // Check the Hash algorithm in PE/COFF Authenticode. | ||
57 | + // According to PKCS#7 Definition: | ||
58 | + // SignedData ::= SEQUENCE { | ||
59 | + // version Version, | ||
60 | + // digestAlgorithms DigestAlgorithmIdentifiers, | ||
61 | + // contentInfo ContentInfo, | ||
62 | + // .... } | ||
63 | + // The DigestAlgorithmIdentifiers can be used to determine the hash algorithm in PE/COFF hashing | ||
64 | + // This field has the fixed offset (+32) in final Authenticode ASN.1 data. | ||
65 | + // Fixed offset (+32) is calculated based on two bytes of length encoding. | ||
66 | + // | ||
67 | + if ((AuthDataSize > 1) && ((*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE)) { | ||
68 | // | ||
69 | - // Check the Hash algorithm in PE/COFF Authenticode. | ||
70 | - // According to PKCS#7 Definition: | ||
71 | - // SignedData ::= SEQUENCE { | ||
72 | - // version Version, | ||
73 | - // digestAlgorithms DigestAlgorithmIdentifiers, | ||
74 | - // contentInfo ContentInfo, | ||
75 | - // .... } | ||
76 | - // The DigestAlgorithmIdentifiers can be used to determine the hash algorithm in PE/COFF hashing | ||
77 | - // This field has the fixed offset (+32) in final Authenticode ASN.1 data. | ||
78 | - // Fixed offset (+32) is calculated based on two bytes of length encoding. | ||
79 | + // Only support two bytes of Long Form of Length Encoding. | ||
80 | // | ||
81 | - if ((AuthDataSize > 1) && ((*(AuthData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE)) { | ||
82 | - // | ||
83 | - // Only support two bytes of Long Form of Length Encoding. | ||
84 | - // | ||
85 | - continue; | ||
86 | - } | ||
87 | + return EFI_BAD_BUFFER_SIZE; | ||
88 | + } | ||
89 | |||
90 | + for (Index = 0; Index < HASHALG_MAX; Index++) { | ||
91 | if (AuthDataSize < 32 + mHash[Index].OidLength) { | ||
92 | - return EFI_UNSUPPORTED; | ||
93 | + continue; | ||
94 | } | ||
95 | |||
96 | if (CompareMem (AuthData + 32, mHash[Index].OidValue, mHash[Index].OidLength) == 0) { | ||
97 | -- | ||
98 | 2.34.1 | ||
99 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-4.patch b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-4.patch new file mode 100644 index 0000000000..86bc950e7d --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/CVE-2024-38797-4.patch | |||
@@ -0,0 +1,97 @@ | |||
1 | From cb3342702c5c1f8a4ddbb6d503a98ed720d14eb3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Doug Flick <dougflick@microsoft.com> | ||
3 | Date: Fri, 17 Jan 2025 11:30:17 -0800 | ||
4 | Subject: [PATCH 4/4] SecurityPkg: Improving | ||
5 | SecureBootConfigImpl:HashPeImageByType () logic | ||
6 | |||
7 | Namely: | ||
8 | |||
9 | (1) The TWO_BYTE_ENCODE check is independent of Index. If it evalutes | ||
10 | to TRUE for Index==0, then it will evaluate to TRUE for all other | ||
11 | Index values as well. As a result, the (Index == HASHALG_MAX) | ||
12 | condition will fire after the loop, and we'll return | ||
13 | EFI_UNSUPPORTED. | ||
14 | |||
15 | While this is correct, functionally speaking, it is wasteful to | ||
16 | keep re-checking TWO_BYTE_ENCODE in the loop body. The check | ||
17 | should be made at the top of the function, and EFI_UNSUPPORTED | ||
18 | should be returned at once, if appropriate. | ||
19 | |||
20 | (2) If the hash algorithm selected by Index has such a large OID that | ||
21 | the OID comparison cannot even be performed (because AuthDataSize | ||
22 | is not large enough for containing the OID in question, starting | ||
23 | at offset 32), then the function returns EFI_UNSUPPORTED at once. | ||
24 | |||
25 | This is bogus; this case should simply be treated as an OID | ||
26 | mismatch, and the loop should advance to the next Index value / | ||
27 | hash algorithm candidate. A remaining hash algo may have a shorter | ||
28 | OID and yield an OID match. | ||
29 | |||
30 | Signed-off-by: Doug Flick <DougFlick@microsoft.com> | ||
31 | |||
32 | CVE: CVE-2024-38797 | ||
33 | Upstream-Status: Backport [https://github.com/tianocore/edk2/pull/10928/commits/8676572908b950dd4d1f8985006011be99c0a5b6] | ||
34 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
35 | --- | ||
36 | .../SecureBootConfigImpl.c | 37 +++++++++++-------- | ||
37 | 1 file changed, 21 insertions(+), 16 deletions(-) | ||
38 | |||
39 | diff --git a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c | ||
40 | index 6d4560c..155e755 100644 | ||
41 | --- a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c | ||
42 | +++ b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c | ||
43 | @@ -2096,30 +2096,35 @@ HashPeImageByType ( | ||
44 | { | ||
45 | UINT8 Index; | ||
46 | WIN_CERTIFICATE_EFI_PKCS *PkcsCertData; | ||
47 | + UINT32 PkcsCertSize; | ||
48 | |||
49 | PkcsCertData = (WIN_CERTIFICATE_EFI_PKCS *)(mImageBase + mSecDataDir->Offset); | ||
50 | + PkcsCertSize = mSecDataDir->SizeOfCert; | ||
51 | |||
52 | - for (Index = 0; Index < HASHALG_MAX; Index++) { | ||
53 | + // | ||
54 | + // Check the Hash algorithm in PE/COFF Authenticode. | ||
55 | + // According to PKCS#7 Definition: | ||
56 | + // SignedData ::= SEQUENCE { | ||
57 | + // version Version, | ||
58 | + // digestAlgorithms DigestAlgorithmIdentifiers, | ||
59 | + // contentInfo ContentInfo, | ||
60 | + // .... } | ||
61 | + // The DigestAlgorithmIdentifiers can be used to determine the hash algorithm in PE/COFF hashing | ||
62 | + // This field has the fixed offset (+32) in final Authenticode ASN.1 data. | ||
63 | + // Fixed offset (+32) is calculated based on two bytes of length encoding. | ||
64 | + // | ||
65 | + if ((PkcsCertSize > 1) && ((*(PkcsCertData->CertData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE)) { | ||
66 | // | ||
67 | - // Check the Hash algorithm in PE/COFF Authenticode. | ||
68 | - // According to PKCS#7 Definition: | ||
69 | - // SignedData ::= SEQUENCE { | ||
70 | - // version Version, | ||
71 | - // digestAlgorithms DigestAlgorithmIdentifiers, | ||
72 | - // contentInfo ContentInfo, | ||
73 | - // .... } | ||
74 | - // The DigestAlgorithmIdentifiers can be used to determine the hash algorithm in PE/COFF hashing | ||
75 | - // This field has the fixed offset (+32) in final Authenticode ASN.1 data. | ||
76 | - // Fixed offset (+32) is calculated based on two bytes of length encoding. | ||
77 | + // Only support two bytes of Long Form of Length Encoding. | ||
78 | // | ||
79 | - if ((*(PkcsCertData->CertData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) { | ||
80 | - // | ||
81 | - // Only support two bytes of Long Form of Length Encoding. | ||
82 | - // | ||
83 | + return EFI_BAD_BUFFER_SIZE; | ||
84 | + } | ||
85 | + | ||
86 | + for (Index = 0; Index < HASHALG_MAX; Index++) { | ||
87 | + if (PkcsCertSize < 32 + mHash[Index].OidLength) { | ||
88 | continue; | ||
89 | } | ||
90 | |||
91 | - // | ||
92 | if (CompareMem (PkcsCertData->CertData + 32, mHash[Index].OidValue, mHash[Index].OidLength) == 0) { | ||
93 | break; | ||
94 | } | ||
95 | -- | ||
96 | 2.34.1 | ||
97 | |||
diff --git a/meta/recipes-core/ovmf/ovmf/CVE-2025-2295.patch b/meta/recipes-core/ovmf/ovmf/CVE-2025-2295.patch new file mode 100644 index 0000000000..038a3f2dbc --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/CVE-2025-2295.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 4b028816b5619ede6c3720664478055e09151516 Mon Sep 17 00:00:00 2001 | ||
2 | From: Madhavan <madavtechy@gmail.com> | ||
3 | Date: Fri, 14 Mar 2025 14:15:13 -0400 | ||
4 | Subject: [PATCH] NetworkPkg/IScsiDxe:Fix for Remote Memory Exposure in ISCSI | ||
5 | bz4206 | ||
6 | |||
7 | Used SafeUint32Add to calculate and validate OutTransferLength with | ||
8 | boundary check in IScsiOnR2TRcvd to avoid integer overflow | ||
9 | |||
10 | Signed-off-by: Madhavan <madavtechy@gmail.com> | ||
11 | |||
12 | CVE: CVE-2025-2295 | ||
13 | Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/17cdc512f02a2dfd1b9e24133da56fdda099abda] | ||
14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
15 | --- | ||
16 | NetworkPkg/IScsiDxe/IScsiProto.c | 10 ++++++++-- | ||
17 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c | ||
20 | index ef587649a0..fb48e6304d 100644 | ||
21 | --- a/NetworkPkg/IScsiDxe/IScsiProto.c | ||
22 | +++ b/NetworkPkg/IScsiDxe/IScsiProto.c | ||
23 | @@ -1,7 +1,7 @@ | ||
24 | /** @file | ||
25 | The implementation of iSCSI protocol based on RFC3720. | ||
26 | |||
27 | -Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR> | ||
28 | +Copyright (c) 2004 - 2025, Intel Corporation. All rights reserved.<BR> | ||
29 | SPDX-License-Identifier: BSD-2-Clause-Patent | ||
30 | |||
31 | **/ | ||
32 | @@ -2682,6 +2682,7 @@ IScsiOnR2TRcvd ( | ||
33 | EFI_STATUS Status; | ||
34 | ISCSI_XFER_CONTEXT *XferContext; | ||
35 | UINT8 *Data; | ||
36 | + UINT32 TransferLength; | ||
37 | |||
38 | R2THdr = (ISCSI_READY_TO_TRANSFER *)NetbufGetByte (Pdu, 0, NULL); | ||
39 | if (R2THdr == NULL) { | ||
40 | @@ -2712,7 +2713,12 @@ IScsiOnR2TRcvd ( | ||
41 | XferContext->Offset = R2THdr->BufferOffset; | ||
42 | XferContext->DesiredLength = R2THdr->DesiredDataTransferLength; | ||
43 | |||
44 | - if (((XferContext->Offset + XferContext->DesiredLength) > Packet->OutTransferLength) || | ||
45 | + Status = SafeUint32Add (XferContext->Offset, XferContext->DesiredLength, &TransferLength); | ||
46 | + if (EFI_ERROR (Status)) { | ||
47 | + return EFI_PROTOCOL_ERROR; | ||
48 | + } | ||
49 | + | ||
50 | + if ((TransferLength > Packet->OutTransferLength) || | ||
51 | (XferContext->DesiredLength > Tcb->Conn->Session->MaxBurstLength) | ||
52 | ) | ||
53 | { | ||
54 | -- | ||
55 | 2.48.1 | ||
56 | |||
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb index 35ca8d1834..08879966c3 100644 --- a/meta/recipes-core/ovmf/ovmf_git.bb +++ b/meta/recipes-core/ovmf/ovmf_git.bb | |||
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776 | |||
12 | PACKAGECONFIG ??= "" | 12 | PACKAGECONFIG ??= "" |
13 | PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}" | 13 | PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}" |
14 | PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}" | 14 | PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}" |
15 | PACKAGECONFIG[debug] = ",,," | ||
15 | PACKAGECONFIG[secureboot] = ",,," | 16 | PACKAGECONFIG[secureboot] = ",,," |
16 | PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,," | 17 | PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,," |
17 | 18 | ||
@@ -24,10 +25,15 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ | |||
24 | file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ | 25 | file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ |
25 | file://0003-debug-prefix-map.patch \ | 26 | file://0003-debug-prefix-map.patch \ |
26 | file://0004-reproducible.patch \ | 27 | file://0004-reproducible.patch \ |
28 | file://CVE-2025-2295.patch \ | ||
29 | file://CVE-2024-38797-1.patch \ | ||
30 | file://CVE-2024-38797-2.patch \ | ||
31 | file://CVE-2024-38797-3.patch \ | ||
32 | file://CVE-2024-38797-4.patch \ | ||
27 | " | 33 | " |
28 | 34 | ||
29 | PV = "edk2-stable202402" | 35 | PV = "edk2-stable202502" |
30 | SRCREV = "edc6681206c1a8791981a2f911d2fb8b3d2f5768" | 36 | SRCREV = "fbe0805b2091393406952e84724188f8c1941837" |
31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)" | 37 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)" |
32 | 38 | ||
33 | CVE_PRODUCT = "edk2" | 39 | CVE_PRODUCT = "edk2" |
@@ -48,17 +54,15 @@ inherit deploy | |||
48 | 54 | ||
49 | PARALLEL_MAKE = "" | 55 | PARALLEL_MAKE = "" |
50 | 56 | ||
51 | S = "${WORKDIR}/git" | ||
52 | |||
53 | DEPENDS = "nasm-native acpica-native ovmf-native util-linux-native" | 57 | DEPENDS = "nasm-native acpica-native ovmf-native util-linux-native" |
54 | 58 | ||
55 | EDK_TOOLS_DIR="edk2_basetools" | 59 | EDK_TOOLS_DIR = "edk2_basetools" |
56 | 60 | ||
57 | # OVMF has trouble building with the default optimization of -O2. | 61 | # OVMF has trouble building with the default optimization of -O2. |
58 | BUILD_OPTIMIZATION="-pipe" | 62 | BUILD_OPTIMIZATION = "" |
59 | 63 | ||
60 | # OVMF supports IA only, although it could conceivably support ARM someday. | 64 | # OVMF supports IA only, although it could conceivably support ARM someday. |
61 | COMPATIBLE_HOST:class-target='(i.86|x86_64).*' | 65 | COMPATIBLE_HOST:class-target = '(i.86|x86_64).*' |
62 | 66 | ||
63 | # Additional build flags for OVMF with Secure Boot. | 67 | # Additional build flags for OVMF with Secure Boot. |
64 | # Fedora also uses "-D SMM_REQUIRE -D EXCLUDE_SHELL_FROM_FD". | 68 | # Fedora also uses "-D SMM_REQUIRE -D EXCLUDE_SHELL_FROM_FD". |
@@ -67,6 +71,8 @@ OVMF_SECURE_BOOT_FLAGS = "-DSECURE_BOOT_ENABLE=TRUE ${OVMF_SECURE_BOOT_EXTRA_FLA | |||
67 | 71 | ||
68 | export PYTHON_COMMAND = "${HOSTTOOLS_DIR}/python3" | 72 | export PYTHON_COMMAND = "${HOSTTOOLS_DIR}/python3" |
69 | 73 | ||
74 | OVMF_BUILD_TYPE = "${@bb.utils.contains('PACKAGECONFIG', 'debug', 'DEBUG', 'RELEASE', d)}" | ||
75 | |||
70 | do_patch[postfuncs] += "fix_basetools_location" | 76 | do_patch[postfuncs] += "fix_basetools_location" |
71 | fix_basetools_location () { | 77 | fix_basetools_location () { |
72 | } | 78 | } |
@@ -139,7 +145,7 @@ fix_toolchain:append:class-native() { | |||
139 | export NASM_PREFIX_MAP = "--debug-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}" | 145 | export NASM_PREFIX_MAP = "--debug-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}" |
140 | export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow -Wno-maybe-uninitialized" | 146 | export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow -Wno-maybe-uninitialized" |
141 | 147 | ||
142 | GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')" | 148 | GCC_VER = "$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')" |
143 | 149 | ||
144 | fixup_target_tools() { | 150 | fixup_target_tools() { |
145 | case ${1} in | 151 | case ${1} in |
@@ -200,11 +206,11 @@ do_compile:class-target() { | |||
200 | fi | 206 | fi |
201 | FIXED_GCCVER=$(fixup_target_tools ${GCC_VER}) | 207 | FIXED_GCCVER=$(fixup_target_tools ${GCC_VER}) |
202 | bbnote FIXED_GCCVER is ${FIXED_GCCVER} | 208 | bbnote FIXED_GCCVER is ${FIXED_GCCVER} |
203 | build_dir="${S}/Build/Ovmf$OVMF_DIR_SUFFIX/RELEASE_${FIXED_GCCVER}" | 209 | build_dir="${S}/Build/Ovmf$OVMF_DIR_SUFFIX/${OVMF_BUILD_TYPE}_${FIXED_GCCVER}" |
204 | 210 | ||
205 | bbnote "Building without Secure Boot." | 211 | bbnote "Building without Secure Boot." |
206 | rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX | 212 | rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX |
207 | ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} | 213 | ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b ${OVMF_BUILD_TYPE} -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} |
208 | ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd | 214 | ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd |
209 | ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd | 215 | ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd |
210 | ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd | 216 | ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd |
@@ -214,7 +220,7 @@ do_compile:class-target() { | |||
214 | # Repeat build with the Secure Boot flags. | 220 | # Repeat build with the Secure Boot flags. |
215 | bbnote "Building with Secure Boot." | 221 | bbnote "Building with Secure Boot." |
216 | rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX | 222 | rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX |
217 | ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} ${OVMF_SECURE_BOOT_FLAGS} | 223 | ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b ${OVMF_BUILD_TYPE} -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} ${OVMF_SECURE_BOOT_FLAGS} |
218 | ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd | 224 | ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd |
219 | ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd | 225 | ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd |
220 | ln ${build_dir}/${OVMF_ARCH}/EnrollDefaultKeys.efi ${WORKDIR}/ovmf/ | 226 | ln ${build_dir}/${OVMF_ARCH}/EnrollDefaultKeys.efi ${WORKDIR}/ovmf/ |
@@ -223,6 +229,7 @@ do_compile:class-target() { | |||
223 | 229 | ||
224 | do_install:class-native() { | 230 | do_install:class-native() { |
225 | install -d ${D}/${bindir}/edk2_basetools | 231 | install -d ${D}/${bindir}/edk2_basetools |
232 | find ${S}/BaseTools -name \*.pyc -exec rm -rf \{\} \; | ||
226 | cp -r ${S}/BaseTools ${D}/${bindir}/${EDK_TOOLS_DIR} | 233 | cp -r ${S}/BaseTools ${D}/${bindir}/${EDK_TOOLS_DIR} |
227 | } | 234 | } |
228 | 235 | ||
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb index 70a1035003..fd61ba4437 100644 --- a/meta/recipes-core/packagegroups/packagegroup-base.bb +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb | |||
@@ -39,9 +39,6 @@ PACKAGES = ' \ | |||
39 | \ | 39 | \ |
40 | ' | 40 | ' |
41 | 41 | ||
42 | # Override by distro if needed | ||
43 | VIRTUAL-RUNTIME_keymaps ?= "keymaps" | ||
44 | |||
45 | # | 42 | # |
46 | # packagegroup-base contain stuff needed for base system (machine related) | 43 | # packagegroup-base contain stuff needed for base system (machine related) |
47 | # | 44 | # |
@@ -75,7 +72,6 @@ RDEPENDS:packagegroup-base = "\ | |||
75 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \ | 72 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \ |
76 | " | 73 | " |
77 | 74 | ||
78 | |||
79 | RRECOMMENDS:packagegroup-base = "\ | 75 | RRECOMMENDS:packagegroup-base = "\ |
80 | kernel-module-nls-utf8 \ | 76 | kernel-module-nls-utf8 \ |
81 | kernel-module-input \ | 77 | kernel-module-input \ |
@@ -122,7 +118,7 @@ python __anonymous () { | |||
122 | # packages added by distribution | 118 | # packages added by distribution |
123 | # | 119 | # |
124 | SUMMARY:packagegroup-distro-base = "${DISTRO} extras" | 120 | SUMMARY:packagegroup-distro-base = "${DISTRO} extras" |
125 | DEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_DEPENDS}" | 121 | DEPENDS:packagegroup-distro-base = "${DISTRO_EXTRA_DEPENDS}" |
126 | RDEPENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}" | 122 | RDEPENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}" |
127 | RRECOMMENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}" | 123 | RRECOMMENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}" |
128 | 124 | ||
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb index fecc3334ea..5cdd161811 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb | |||
@@ -9,10 +9,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
9 | 9 | ||
10 | inherit packagegroup | 10 | inherit packagegroup |
11 | 11 | ||
12 | # Distro can override the following VIRTUAL-RUNTIME providers: | ||
13 | VIRTUAL-RUNTIME_dev_manager ?= "udev" | ||
14 | VIRTUAL-RUNTIME_keymaps ?= "keymaps" | ||
15 | |||
16 | EFI_PROVIDER ??= "grub-efi" | 12 | EFI_PROVIDER ??= "grub-efi" |
17 | 13 | ||
18 | SYSVINIT_SCRIPTS = "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', '${VIRTUAL-RUNTIME_base-utils-hwclock}', '', d)} \ | 14 | SYSVINIT_SCRIPTS = "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', '${VIRTUAL-RUNTIME_base-utils-hwclock}', '', d)} \ |
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb index 56ff1d2b06..f19fd64ec1 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb | |||
@@ -8,7 +8,6 @@ PACKAGE_ARCH = "${TUNE_PKGARCH}" | |||
8 | 8 | ||
9 | inherit packagegroup | 9 | inherit packagegroup |
10 | 10 | ||
11 | |||
12 | MTRACE = "" | 11 | MTRACE = "" |
13 | MTRACE:libc-glibc = "libc-mtrace" | 12 | MTRACE:libc-glibc = "libc-mtrace" |
14 | 13 | ||
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb index b3a24b71de..54915e4f0c 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | SUMMARY = "Profiling tools" | 5 | SUMMARY = "Profiling tools" |
6 | 6 | ||
7 | |||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
9 | 8 | ||
10 | inherit packagegroup | 9 | inherit packagegroup |
@@ -50,12 +49,12 @@ VALGRIND:armv4 = "" | |||
50 | VALGRIND:armv5 = "" | 49 | VALGRIND:armv5 = "" |
51 | VALGRIND:armv6 = "" | 50 | VALGRIND:armv6 = "" |
52 | VALGRIND:armeb = "" | 51 | VALGRIND:armeb = "" |
53 | VALGRIND:aarch64 = "" | ||
54 | VALGRIND:riscv64 = "" | 52 | VALGRIND:riscv64 = "" |
55 | VALGRIND:riscv32 = "" | 53 | VALGRIND:riscv32 = "" |
56 | VALGRIND:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}" | 54 | VALGRIND:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}" |
57 | VALGRIND:linux-gnux32 = "" | 55 | VALGRIND:linux-gnux32 = "" |
58 | VALGRIND:linux-gnun32 = "" | 56 | VALGRIND:linux-gnun32 = "" |
57 | VALGRIND:loongarch64 = "" | ||
59 | 58 | ||
60 | RDEPENDS:${PN} = "\ | 59 | RDEPENDS:${PN} = "\ |
61 | ${PROFILETOOLS} \ | 60 | ${PROFILETOOLS} \ |
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb index 34af40a43f..25561f6878 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | SUMMARY = "Testing tools/applications" | 5 | SUMMARY = "Testing tools/applications" |
6 | 6 | ||
7 | |||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
9 | 8 | ||
10 | inherit packagegroup | 9 | inherit packagegroup |
@@ -13,9 +12,11 @@ inherit packagegroup | |||
13 | KEXECTOOLS ?= "kexec" | 12 | KEXECTOOLS ?= "kexec" |
14 | KEXECTOOLS:e5500-64b ?= "" | 13 | KEXECTOOLS:e5500-64b ?= "" |
15 | KEXECTOOLS:microblaze ?= "" | 14 | KEXECTOOLS:microblaze ?= "" |
15 | KEXECTOOLS:mipsarcho32 ?= "" | ||
16 | KEXECTOOLS:nios2 ?= "" | 16 | KEXECTOOLS:nios2 ?= "" |
17 | KEXECTOOLS:riscv64 ?= "" | 17 | KEXECTOOLS:riscv64 ?= "" |
18 | KEXECTOOLS:riscv32 ?= "" | 18 | KEXECTOOLS:riscv32 ?= "" |
19 | KEXECTOOLS:loongarch64 ?= "" | ||
19 | 20 | ||
20 | # go does not support ppc32, only ppc64 | 21 | # go does not support ppc32, only ppc64 |
21 | # https://github.com/golang/go/issues/22885 | 22 | # https://github.com/golang/go/issues/22885 |
@@ -44,7 +45,6 @@ X11TOOLS = "\ | |||
44 | " | 45 | " |
45 | 46 | ||
46 | RDEPENDS:${PN} = "\ | 47 | RDEPENDS:${PN} = "\ |
47 | blktool \ | ||
48 | ${KEXECTOOLS} \ | 48 | ${KEXECTOOLS} \ |
49 | alsa-utils-amixer \ | 49 | alsa-utils-amixer \ |
50 | alsa-utils-aplay \ | 50 | alsa-utils-aplay \ |
diff --git a/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb index bb10a2d34f..7e220d2cce 100644 --- a/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb +++ b/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb | |||
@@ -5,7 +5,7 @@ inherit cross-canadian packagegroup | |||
5 | 5 | ||
6 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" | 6 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" |
7 | 7 | ||
8 | RUST="rust-cross-canadian-${TRANSLATED_TARGET_ARCH}" | 8 | RUST = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}" |
9 | 9 | ||
10 | RDEPENDS:${PN} = " \ | 10 | RDEPENDS:${PN} = " \ |
11 | ${@all_multilib_tune_values(d, 'RUST')} \ | 11 | ${@all_multilib_tune_values(d, 'RUST')} \ |
diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index df71695a97..c386267781 100644 --- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb | |||
@@ -107,7 +107,6 @@ RDEPENDS:packagegroup-self-hosted-debug = " \ | |||
107 | ${STRACE} \ | 107 | ${STRACE} \ |
108 | tcf-agent" | 108 | tcf-agent" |
109 | 109 | ||
110 | |||
111 | RDEPENDS:packagegroup-self-hosted-extended = "\ | 110 | RDEPENDS:packagegroup-self-hosted-extended = "\ |
112 | bzip2 \ | 111 | bzip2 \ |
113 | chrpath \ | 112 | chrpath \ |
@@ -178,7 +177,6 @@ RDEPENDS:packagegroup-self-hosted-extended = "\ | |||
178 | zstd \ | 177 | zstd \ |
179 | " | 178 | " |
180 | 179 | ||
181 | |||
182 | RDEPENDS:packagegroup-self-hosted-graphics = "\ | 180 | RDEPENDS:packagegroup-self-hosted-graphics = "\ |
183 | adwaita-icon-theme \ | 181 | adwaita-icon-theme \ |
184 | builder \ | 182 | builder \ |
diff --git a/meta/recipes-core/picolibc/picolibc-helloworld_git.bb b/meta/recipes-core/picolibc/picolibc-helloworld_git.bb new file mode 100644 index 0000000000..573a571c24 --- /dev/null +++ b/meta/recipes-core/picolibc/picolibc-helloworld_git.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | require picolibc.inc | ||
2 | |||
3 | # baremetal-image overrides | ||
4 | BAREMETAL_BINNAME ?= "hello_picolibc_${MACHINE}" | ||
5 | IMAGE_LINK_NAME ?= "baremetal-picolibc-image-${MACHINE}" | ||
6 | IMAGE_NAME_SUFFIX ?= "" | ||
7 | QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.elf" | ||
8 | |||
9 | inherit baremetal-image | ||
10 | |||
11 | COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemuriscv32|qemuriscv64" | ||
12 | |||
13 | # Use semihosting to test via QEMU | ||
14 | QB_OPT_APPEND:append = " -semihosting-config enable=on" | ||
15 | |||
16 | # picolibc comes with a set of linker scripts, set the file | ||
17 | # according to the architecture being built. | ||
18 | PICOLIBC_LINKERSCRIPT:qemuarm64 = "aarch64.ld" | ||
19 | PICOLIBC_LINKERSCRIPT:qemuarm = "arm.ld" | ||
20 | PICOLIBC_LINKERSCRIPT:qemuriscv32 = "riscv.ld" | ||
21 | PICOLIBC_LINKERSCRIPT:qemuriscv64 = "riscv.ld" | ||
22 | |||
23 | # Simple compile function that manually exemplifies usage; as noted, | ||
24 | # use a custom linker script, the GCC specs provided by picolibc | ||
25 | # and semihost to be able to test via QEMU's monitor | ||
26 | do_compile(){ | ||
27 | ${CC} ${CFLAGS} ${LDFLAGS} --verbose -T${S}/hello-world/${PICOLIBC_LINKERSCRIPT} -specs=picolibc.specs --oslib=semihost -o ${BAREMETAL_BINNAME}.elf ${S}/hello-world/hello-world.c | ||
28 | ${OBJCOPY} -O binary ${BAREMETAL_BINNAME}.elf ${BAREMETAL_BINNAME}.bin | ||
29 | } | ||
30 | |||
31 | do_install(){ | ||
32 | install -d ${D}/${base_libdir}/firmware | ||
33 | install -m 755 ${B}/${BAREMETAL_BINNAME}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf | ||
34 | install -m 755 ${B}/${BAREMETAL_BINNAME}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin | ||
35 | } | ||
36 | |||
37 | FILES:${PN} += " \ | ||
38 | ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \ | ||
39 | ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \ | ||
40 | " | ||
diff --git a/meta/recipes-core/picolibc/picolibc.inc b/meta/recipes-core/picolibc/picolibc.inc new file mode 100644 index 0000000000..68c32894a7 --- /dev/null +++ b/meta/recipes-core/picolibc/picolibc.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "C Libraries for Smaller Embedded Systems" | ||
2 | HOMEPAGE = "https://keithp.com/picolibc" | ||
3 | DESCRIPTION = "Picolibc is a set of standard C libraries, both libc and libm, designed for smaller embedded systems with limited ROM and RAM. Picolibc includes code from Newlib and AVR Libc." | ||
4 | SECTION = "libs" | ||
5 | |||
6 | # Newlib based code but GPL related bits removed, test/printf-tests.c and test/testcases.c | ||
7 | # are GPLv2 and GeneratePicolibcCrossFile.sh is AGPL3 but not part of the artifacts. | ||
8 | LICENSE = "BSD-2-Clause & BSD-3-Clause" | ||
9 | LIC_FILES_CHKSUM = " \ | ||
10 | file://COPYING.GPL2;md5=59530bdf33659b29e73d4adb9f9f6552 \ | ||
11 | file://COPYING.NEWLIB;md5=08ae03456feb75b81cfdb359e0f1ef85 \ | ||
12 | file://COPYING.picolibc;md5=e50fa9458a40929689861ed472d46bc7 \ | ||
13 | " | ||
14 | |||
15 | BASEVER = "1.8.6" | ||
16 | PV = "${BASEVER}+git" | ||
17 | SRC_URI = "git://github.com/picolibc/picolibc.git;protocol=https;branch=main" | ||
18 | SRCREV = "764ef4e401a8f4c6a86ab723533841f072885a5b" | ||
19 | |||
20 | B = "${WORKDIR}/build" | ||
diff --git a/meta/recipes-core/picolibc/picolibc/avoid_polluting_cross_directories.patch b/meta/recipes-core/picolibc/picolibc/avoid_polluting_cross_directories.patch new file mode 100644 index 0000000000..da6460c95c --- /dev/null +++ b/meta/recipes-core/picolibc/picolibc/avoid_polluting_cross_directories.patch | |||
@@ -0,0 +1,119 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Picolibc uses its own specs file: picolibc.specs to facilitate compilation, this | ||
4 | needs to be passed down to GCC via the -specs argument. | ||
5 | |||
6 | Using this specs file overrides some of the default options our toolchain was | ||
7 | built with, in this case, they modify the include_dir and lib_dir paths used for | ||
8 | compilation, their intention was to add support for -picolibc-prefix and | ||
9 | -picolibc-buildtype arguments via the C preprocessor. | ||
10 | |||
11 | -isystem %{-picolibc-prefix=*:%*/include/; -picolibc-buildtype=*:/usr/include/%*; :/usr/include} %(picolibc_cpp) | ||
12 | |||
13 | This had the unwanted effect of defaulting to /usr/include for include_dir if | ||
14 | those arguments are not being passed, this works fine for their flow but for us | ||
15 | it pollutes the include directories with paths from the host. The same effect is | ||
16 | applicable for lib_dir and for the c runtime file. | ||
17 | |||
18 | Our toolchain relies on --sysroot to avoid using any paths from the host, here we | ||
19 | manually add support for a third possible argument: -sysroot , if this is passed | ||
20 | then the paths used by the compiler will be relative to the path passed by the | ||
21 | --sysroot= cmdline argument, setting back the behavior that we intended in the | ||
22 | first place. | ||
23 | |||
24 | |||
25 | Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> | ||
26 | |||
27 | Index: git/meson.build | ||
28 | =================================================================== | ||
29 | --- git.orig/meson.build | ||
30 | +++ git/meson.build | ||
31 | @@ -622,12 +622,13 @@ else | ||
32 | # | ||
33 | picolibc_prefix_format = '-picolibc-prefix=*:@0@' | ||
34 | picolibc_buildtype_format = '-picolibc-buildtype=*:@0@' | ||
35 | +sysroot_format = '-sysroot=*:@0@' | ||
36 | gen_format = '@0@' | ||
37 | |||
38 | # | ||
39 | # How to glue the three options together | ||
40 | # | ||
41 | -specs_option_format = '%{@0@; @1@; :@2@}' | ||
42 | +specs_option_format = '%{@0@; @1@; @2@; :@3@}' | ||
43 | |||
44 | # | ||
45 | # Build the -isystem value | ||
46 | @@ -639,10 +640,13 @@ isystem_prefix = picolibc_prefix_format. | ||
47 | buildtype_include_dir = specs_prefix_format.format(get_option('includedir') / '%*') | ||
48 | isystem_buildtype = picolibc_buildtype_format.format(buildtype_include_dir) | ||
49 | |||
50 | +sysroot_include_dir = '%*' | ||
51 | +isystem_sysroot = sysroot_format.format(sysroot_include_dir) | ||
52 | + | ||
53 | gen_include_dir = specs_prefix_format.format(get_option('includedir')) | ||
54 | isystem_gen = gen_format.format(gen_include_dir) | ||
55 | |||
56 | -specs_isystem = '-isystem ' + specs_option_format.format(isystem_prefix, isystem_buildtype, isystem_gen) | ||
57 | +specs_isystem = '-isystem ' + specs_option_format.format(isystem_prefix, isystem_buildtype, isystem_sysroot, isystem_gen) | ||
58 | |||
59 | # | ||
60 | # Build the non-multilib -L value | ||
61 | @@ -654,10 +658,13 @@ lib_prefix = picolibc_prefix_format.form | ||
62 | buildtype_lib_dir = specs_prefix_format.format(get_option('libdir') / '%*') | ||
63 | lib_buildtype = picolibc_buildtype_format.format(buildtype_lib_dir) | ||
64 | |||
65 | +sysroot_lib_dir = '%*' | ||
66 | +lib_sysroot = sysroot_format.format(sysroot_lib_dir) | ||
67 | + | ||
68 | gen_lib_dir = specs_prefix_format.format(get_option('libdir')) | ||
69 | lib_gen = gen_format.format(gen_lib_dir) | ||
70 | |||
71 | -specs_libpath = '-L' + specs_option_format.format(lib_prefix, lib_buildtype, lib_gen) | ||
72 | +specs_libpath = '-L' + specs_option_format.format(lib_prefix, lib_buildtype, lib_sysroot, lib_gen) | ||
73 | |||
74 | # | ||
75 | # Build the non-multilib *startfile options | ||
76 | @@ -669,6 +676,9 @@ crt0_prefix = picolibc_prefix_format.for | ||
77 | buildtype_crt0_path = specs_prefix_format.format(get_option('libdir') / '%*' / crt0_expr) | ||
78 | crt0_buildtype = picolibc_buildtype_format.format(buildtype_crt0_path) | ||
79 | |||
80 | +sysroot_crt0_path = '%*' + '/' + get_option('libdir') + '/' + '%*' + '/' + crt0_expr | ||
81 | +crt0_sysroot = picolibc_buildtype_format.format(sysroot_crt0_path) | ||
82 | + | ||
83 | gen_crt0_path = specs_prefix_format.format(get_option('libdir') / crt0_expr) | ||
84 | crt0_gen = gen_format.format(gen_crt0_path) | ||
85 | |||
86 | @@ -686,10 +696,13 @@ if enable_multilib | ||
87 | buildtype_multilib_dir = specs_prefix_format.format(get_option('libdir') / '%*/%M') | ||
88 | multilib_buildtype = picolibc_buildtype_format.format(buildtype_multilib_dir) | ||
89 | |||
90 | + sysroot_multilib_dir = '%*' + '/' + get_option('libdir') + '/' + '%*/%M' | ||
91 | + multilib_sysroot = sysroot_format.format(sysroot_multilib_dir) | ||
92 | + | ||
93 | gen_multilib_dir = specs_prefix_format.format(get_option('libdir') / '%M') | ||
94 | multilib_gen = gen_format.format(gen_multilib_dir) | ||
95 | |||
96 | - specs_multilibpath = '-L' + specs_option_format.format(multilib_prefix, multilib_buildtype, multilib_gen) | ||
97 | + specs_multilibpath = '-L' + specs_option_format.format(multilib_prefix, multilib_buildtype, multilib_sysroot, multilib_gen) | ||
98 | |||
99 | # | ||
100 | # Prepend the multilib -L option to the non-multilib option | ||
101 | @@ -705,6 +718,9 @@ if enable_multilib | ||
102 | buildtype_multilib_crt0_path = specs_prefix_format.format(get_option('libdir') / '%*/%M' / crt0_expr) | ||
103 | crt0_buildtype = picolibc_buildtype_format.format(buildtype_multilib_crt0_path) | ||
104 | |||
105 | + sysroot_multilib_crt0_path = '%*' + prefix + '/' + get_option('libdir') + '/' + '/%M' + '/' + crt0_expr | ||
106 | + crt0_sysroot = sysroot_format.format(sysroot_multilib_crt0_path) | ||
107 | + | ||
108 | gen_multilib_crt0_path = specs_prefix_format.format(get_option('libdir') / '%M' / crt0_expr) | ||
109 | crt0_gen = gen_format.format(gen_multilib_crt0_path) | ||
110 | endif | ||
111 | @@ -714,7 +730,7 @@ endif | ||
112 | # above. As there's only one value, it's either the | ||
113 | # multilib path or the non-multilib path | ||
114 | # | ||
115 | -specs_startfile = specs_option_format.format(crt0_prefix, crt0_buildtype, crt0_gen) | ||
116 | +specs_startfile = specs_option_format.format(crt0_prefix, crt0_buildtype, crt0_sysroot, crt0_gen) | ||
117 | endif | ||
118 | |||
119 | specs_data = configuration_data() | ||
diff --git a/meta/recipes-core/picolibc/picolibc/no-early-compiler-checks.cross b/meta/recipes-core/picolibc/picolibc/no-early-compiler-checks.cross new file mode 100644 index 0000000000..87bfbad3c5 --- /dev/null +++ b/meta/recipes-core/picolibc/picolibc/no-early-compiler-checks.cross | |||
@@ -0,0 +1,6 @@ | |||
1 | # We need to explicitly bypass mesons sanity check to avoid early compiler errors | ||
2 | # otherwise meson will try to compile AND run test applications: | ||
3 | # ../git/meson.build:35:0: ERROR: Executables created by c compiler are not runnable... | ||
4 | |||
5 | [properties] | ||
6 | skip_sanity_check=true \ No newline at end of file | ||
diff --git a/meta/recipes-core/picolibc/picolibc_git.bb b/meta/recipes-core/picolibc/picolibc_git.bb new file mode 100644 index 0000000000..eaa6c8de1e --- /dev/null +++ b/meta/recipes-core/picolibc/picolibc_git.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | require picolibc.inc | ||
2 | |||
3 | INHIBIT_DEFAULT_DEPS = "1" | ||
4 | DEPENDS = "virtual/cross-cc" | ||
5 | |||
6 | PROVIDES += "virtual/libc virtual/libiconv virtual/libintl" | ||
7 | |||
8 | COMPATIBLE_HOST:libc-musl:class-target = "null" | ||
9 | COMPATIBLE_HOST:libc-glibc:class-target = "null" | ||
10 | COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemuriscv32|qemuriscv64" | ||
11 | |||
12 | SRC_URI:append = " file://avoid_polluting_cross_directories.patch" | ||
13 | SRC_URI:append = " file://no-early-compiler-checks.cross" | ||
14 | |||
15 | # This is being added by picolibc meson files as well to avoid | ||
16 | # early compiler tests from failing, cant remember why I added it | ||
17 | # to the newlib recipe but I would assume it was for the same reason | ||
18 | TARGET_CC_ARCH:append = " -nostdlib" | ||
19 | |||
20 | # When using RISCV64 use medany for both C library and application recipes | ||
21 | TARGET_CFLAGS:append:qemuriscv64 = " -mcmodel=medany" | ||
22 | |||
23 | inherit meson | ||
24 | |||
25 | MESON_CROSS_FILE:append = " --cross-file=${UNPACKDIR}/no-early-compiler-checks.cross" | ||
26 | |||
27 | PACKAGECONFIG ??= " specsdir" | ||
28 | # Install GCC specs on libdir | ||
29 | PACKAGECONFIG[specsdir] = "-Dspecsdir=${libdir},-Dspecsdir=none" | ||
30 | |||
31 | FILES:${PN}-dev:append = " ${libdir}/*.specs ${libdir}/*.ld" | ||
32 | |||
33 | # No rpm package is actually created but -dev depends on it, avoid dnf error | ||
34 | DEV_PKG_DEPENDENCY:libc-picolibc = "" | ||
diff --git a/meta/recipes-core/psplash/files/fb.rules b/meta/recipes-core/psplash/files/fb.rules new file mode 100644 index 0000000000..accdb8386c --- /dev/null +++ b/meta/recipes-core/psplash/files/fb.rules | |||
@@ -0,0 +1 @@ | |||
SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="psplash-start@%k.service psplash-systemd.service" | |||
diff --git a/meta/recipes-core/psplash/files/psplash-init b/meta/recipes-core/psplash/files/psplash-init index e0f80bcdc0..e0f80bcdc0 100755..100644 --- a/meta/recipes-core/psplash/files/psplash-init +++ b/meta/recipes-core/psplash/files/psplash-init | |||
diff --git a/meta/recipes-core/psplash/files/psplash-start.service b/meta/recipes-core/psplash/files/psplash-start@.service index bec9368427..1bc3642fc2 100644 --- a/meta/recipes-core/psplash/files/psplash-start.service +++ b/meta/recipes-core/psplash/files/psplash-start@.service | |||
@@ -3,11 +3,10 @@ Description=Start psplash boot splash screen | |||
3 | DefaultDependencies=no | 3 | DefaultDependencies=no |
4 | RequiresMountsFor=/run | 4 | RequiresMountsFor=/run |
5 | ConditionFileIsExecutable=/usr/bin/psplash | 5 | ConditionFileIsExecutable=/usr/bin/psplash |
6 | After=dev-%i.device | ||
7 | Wants=dev-%i.device | ||
6 | 8 | ||
7 | [Service] | 9 | [Service] |
8 | Type=notify | 10 | Type=notify |
9 | ExecStart=/usr/bin/psplash | 11 | ExecStart=/usr/bin/psplash |
10 | RemainAfterExit=yes | 12 | RemainAfterExit=yes |
11 | |||
12 | [Install] | ||
13 | WantedBy=sysinit.target | ||
diff --git a/meta/recipes-core/psplash/files/psplash-systemd.service b/meta/recipes-core/psplash/files/psplash-systemd.service index e93e3deb35..15a894d577 100644 --- a/meta/recipes-core/psplash/files/psplash-systemd.service +++ b/meta/recipes-core/psplash/files/psplash-systemd.service | |||
@@ -1,14 +1,13 @@ | |||
1 | [Unit] | 1 | [Unit] |
2 | Description=Start psplash-systemd progress communication helper | 2 | Description=Start psplash-systemd progress communication helper |
3 | DefaultDependencies=no | 3 | DefaultDependencies=no |
4 | After=psplash-start.service | 4 | After=psplash-start@fb0.service |
5 | Requires=psplash-start.service | 5 | Requires=psplash-start@fb0.service |
6 | RequiresMountsFor=/run | 6 | RequiresMountsFor=/run |
7 | ConditionFileIsExecutable=/usr/bin/psplash | 7 | ConditionFileIsExecutable=/usr/bin/psplash |
8 | ConditionFileIsExecutable=/usr/bin/psplash-systemd | ||
9 | ConditionPathExists=/run/psplash_fifo | ||
8 | 10 | ||
9 | [Service] | 11 | [Service] |
10 | ExecStart=/usr/bin/psplash-systemd | 12 | ExecStart=-/usr/bin/psplash-systemd |
11 | RemainAfterExit=yes | 13 | RemainAfterExit=yes |
12 | |||
13 | [Install] | ||
14 | WantedBy=sysinit.target | ||
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb index 40937098e6..3be0e26a0c 100644 --- a/meta/recipes-core/psplash/psplash_git.bb +++ b/meta/recipes-core/psplash/psplash_git.bb | |||
@@ -6,13 +6,14 @@ LICENSE = "GPL-2.0-or-later" | |||
6 | LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=8;md5=8f232c1e95929eacab37f00900580224" | 6 | LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=8;md5=8f232c1e95929eacab37f00900580224" |
7 | DEPENDS = "gdk-pixbuf-native" | 7 | DEPENDS = "gdk-pixbuf-native" |
8 | 8 | ||
9 | SRCREV = "ecc1913756698d0c87ad8fa10e44b29537f09ad1" | 9 | SRCREV = "53ae74a36bf17675228552abb927d2f981940a6a" |
10 | PV = "0.1+git" | 10 | PV = "0.1+git" |
11 | 11 | ||
12 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \ | 12 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \ |
13 | file://psplash-init \ | 13 | file://psplash-init \ |
14 | file://psplash-start.service \ | 14 | file://psplash-start@.service \ |
15 | file://psplash-systemd.service \ | 15 | file://psplash-systemd.service \ |
16 | file://fb.rules \ | ||
16 | ${SPLASH_IMAGES}" | 17 | ${SPLASH_IMAGES}" |
17 | UPSTREAM_CHECK_COMMITS = "1" | 18 | UPSTREAM_CHECK_COMMITS = "1" |
18 | 19 | ||
@@ -61,8 +62,6 @@ python __anonymous() { | |||
61 | d.appendVar("RDEPENDS:%s" % pn, " %s" % ep) | 62 | d.appendVar("RDEPENDS:%s" % pn, " %s" % ep) |
62 | } | 63 | } |
63 | 64 | ||
64 | S = "${WORKDIR}/git" | ||
65 | |||
66 | inherit autotools pkgconfig update-rc.d update-alternatives systemd | 65 | inherit autotools pkgconfig update-rc.d update-alternatives systemd |
67 | 66 | ||
68 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} progress-bar fullscreen" | 67 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} progress-bar fullscreen" |
@@ -80,7 +79,7 @@ python do_compile () { | |||
80 | import subprocess | 79 | import subprocess |
81 | 80 | ||
82 | # Build a separate executable for each splash image | 81 | # Build a separate executable for each splash image |
83 | workdir = d.getVar('WORKDIR') | 82 | workdir = d.getVar('UNPACKDIR') |
84 | convertscript = "%s/make-image-header.sh" % d.getVar('S') | 83 | convertscript = "%s/make-image-header.sh" % d.getVar('S') |
85 | destfile = "%s/psplash-poky-img.h" % d.getVar('B') | 84 | destfile = "%s/psplash-poky-img.h" % d.getVar('B') |
86 | localfiles = d.getVar('SPLASH_LOCALPATHS').split() | 85 | localfiles = d.getVar('SPLASH_LOCALPATHS').split() |
@@ -103,7 +102,7 @@ python do_compile () { | |||
103 | do_install:append() { | 102 | do_install:append() { |
104 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 103 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
105 | install -d ${D}${sysconfdir}/init.d/ | 104 | install -d ${D}${sysconfdir}/init.d/ |
106 | install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh | 105 | install -m 0755 ${UNPACKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh |
107 | 106 | ||
108 | # make fifo for psplash | 107 | # make fifo for psplash |
109 | install -d ${D}/mnt | 108 | install -d ${D}/mnt |
@@ -112,8 +111,10 @@ do_install:append() { | |||
112 | 111 | ||
113 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 112 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
114 | install -d ${D}${systemd_system_unitdir} | 113 | install -d ${D}${systemd_system_unitdir} |
115 | install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_system_unitdir} | 114 | install -m 644 ${UNPACKDIR}/psplash-start@.service ${D}/${systemd_system_unitdir} |
116 | install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir} | 115 | install -m 644 ${UNPACKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir} |
116 | install -d ${D}${sysconfdir}/udev/rules.d | ||
117 | install -m 0644 ${UNPACKDIR}/fb.rules ${D}${sysconfdir}/udev/rules.d/ | ||
117 | fi | 118 | fi |
118 | 119 | ||
119 | install -d ${D}${bindir} | 120 | install -d ${D}${bindir} |
@@ -124,7 +125,7 @@ do_install:append() { | |||
124 | } | 125 | } |
125 | 126 | ||
126 | SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" | 127 | SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" |
127 | SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'psplash-start.service psplash-systemd.service', '', d)}" | 128 | SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'psplash-start@.service psplash-systemd.service', '', d)}" |
128 | 129 | ||
129 | INITSCRIPT_NAME = "psplash.sh" | 130 | INITSCRIPT_NAME = "psplash.sh" |
130 | INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ." | 131 | INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ." |
diff --git a/meta/recipes-core/readline/files/inputrc b/meta/recipes-core/readline/files/inputrc index b5c4c8af24..4a2874bccc 100644 --- a/meta/recipes-core/readline/files/inputrc +++ b/meta/recipes-core/readline/files/inputrc | |||
@@ -24,12 +24,12 @@ set output-meta on | |||
24 | $if mode=emacs | 24 | $if mode=emacs |
25 | 25 | ||
26 | # allow the use of the Home/End keys | 26 | # allow the use of the Home/End keys |
27 | # "\e[1~": beginning-of-line | 27 | "\e[1~": beginning-of-line |
28 | # "\e[4~": end-of-line | 28 | "\e[4~": end-of-line |
29 | 29 | ||
30 | # allow the use of the Delete/Insert keys | 30 | # allow the use of the Delete/Insert keys |
31 | # "\e[3~": delete-char | 31 | "\e[3~": delete-char |
32 | # "\e[2~": quoted-insert | 32 | "\e[2~": quoted-insert |
33 | 33 | ||
34 | # mappings for "page up" and "page down" to step to the beginning/end | 34 | # mappings for "page up" and "page down" to step to the beginning/end |
35 | # of the history | 35 | # of the history |
diff --git a/meta/recipes-core/readline/readline.inc b/meta/recipes-core/readline/readline.inc index 4aefc5636d..555bd0876f 100644 --- a/meta/recipes-core/readline/readline.inc +++ b/meta/recipes-core/readline/readline.inc | |||
@@ -38,7 +38,7 @@ do_install:append () { | |||
38 | rmdir ${D}${datadir}/${BPN} || true | 38 | rmdir ${D}${datadir}/${BPN} || true |
39 | 39 | ||
40 | install -m 0755 -d ${D}${sysconfdir} | 40 | install -m 0755 -d ${D}${sysconfdir} |
41 | install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc | 41 | install -m 0644 ${UNPACKDIR}/inputrc ${D}${sysconfdir}/inputrc |
42 | } | 42 | } |
43 | 43 | ||
44 | BBCLASSEXTEND = "native nativesdk" | 44 | BBCLASSEXTEND = "native nativesdk" |
@@ -54,4 +54,4 @@ ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" | |||
54 | # OpenSuse injects versions into libreadline leading to conficits between our native one and theirs | 54 | # OpenSuse injects versions into libreadline leading to conficits between our native one and theirs |
55 | # see their spec file for where this is injected. Extra versioning is harmless so we just do the same. | 55 | # see their spec file for where this is injected. Extra versioning is harmless so we just do the same. |
56 | SRC_URI:append:class-native = " file://rl-native.map" | 56 | SRC_URI:append:class-native = " file://rl-native.map" |
57 | LDFLAGS:append:class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map" | 57 | LDFLAGS:append:class-native = " -Wl,--version-script=${UNPACKDIR}/rl-native.map" |
diff --git a/meta/recipes-core/readline/readline/0001-Add-fix-for-packages-that-are-not-compatible-with-C2.patch b/meta/recipes-core/readline/readline/0001-Add-fix-for-packages-that-are-not-compatible-with-C2.patch new file mode 100644 index 0000000000..3bb4d53960 --- /dev/null +++ b/meta/recipes-core/readline/readline/0001-Add-fix-for-packages-that-are-not-compatible-with-C2.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 9459ee899a291c55f08341df63e9a1b9b7af200a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 16 Mar 2025 12:48:46 -0700 | ||
4 | Subject: [PATCH] Add fix for packages that are not compatible with C23 | ||
5 | |||
6 | Fixes builds with GCC-15 | ||
7 | Sourced from Fedora: https://src.fedoraproject.org/rpms/readline/c/c47eb813afb942128253213ad5b8221770557e48?branch=rawhide | ||
8 | |||
9 | Help getting packages like bluez5 building | ||
10 | |||
11 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-readline/2025-03/msg00001.html] | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | rlstdc.h | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/rlstdc.h b/rlstdc.h | ||
18 | index 2aaa30b..a7a0ef3 100644 | ||
19 | --- a/rlstdc.h | ||
20 | +++ b/rlstdc.h | ||
21 | @@ -44,7 +44,7 @@ | ||
22 | |||
23 | /* Moved from config.h.in because readline.h:rl_message depends on these | ||
24 | defines. */ | ||
25 | -#if defined (__STDC__) && defined (HAVE_STDARG_H) | ||
26 | +#if defined (__STDC__) | ||
27 | # define PREFER_STDARG | ||
28 | # define USE_VARARGS | ||
29 | #else | ||
diff --git a/meta/recipes-core/readline/readline/norpath.patch b/meta/recipes-core/readline/readline/norpath.patch index 5d71582b70..34534aff0a 100644 --- a/meta/recipes-core/readline/readline/norpath.patch +++ b/meta/recipes-core/readline/readline/norpath.patch | |||
@@ -6,11 +6,17 @@ Upstream-Status: Inappropriate | |||
6 | 6 | ||
7 | RP 2012/2/23 | 7 | RP 2012/2/23 |
8 | 8 | ||
9 | Index: readline-6.2/support/shobj-conf | 9 | Rebase to 8.2.13 |
10 | =================================================================== | 10 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
11 | --- readline-6.2.orig/support/shobj-conf 2012-02-23 11:06:37.193179379 +0000 | 11 | --- |
12 | +++ readline-6.2/support/shobj-conf 2012-02-23 11:06:50.049178918 +0000 | 12 | support/shobj-conf | 2 +- |
13 | @@ -114,7 +114,7 @@ | 13 | 1 file changed, 1 insertion(+), 1 deletion(-) |
14 | |||
15 | diff --git a/support/shobj-conf b/support/shobj-conf | ||
16 | index cd7634d..029123a 100644 | ||
17 | --- a/support/shobj-conf | ||
18 | +++ b/support/shobj-conf | ||
19 | @@ -128,7 +128,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*|midnightbsd*|freebsd*|dragonfly*) | ||
14 | SHOBJ_LD='${CC}' | 20 | SHOBJ_LD='${CC}' |
15 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | 21 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
16 | 22 | ||
@@ -19,3 +25,6 @@ Index: readline-6.2/support/shobj-conf | |||
19 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | 25 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
20 | ;; | 26 | ;; |
21 | 27 | ||
28 | -- | ||
29 | 2.27.0 | ||
30 | |||
diff --git a/meta/recipes-core/readline/readline/readline82-001.patch b/meta/recipes-core/readline/readline/readline82-001.patch deleted file mode 100644 index 4e9839db9c..0000000000 --- a/meta/recipes-core/readline/readline/readline82-001.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-001 | ||
6 | |||
7 | Bug-Reported-by: Kan-Ru Chen <koster@debian.org> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021109 | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Starting a readline application with an invalid locale specification for | ||
14 | LC_ALL/LANG/LC_CTYPE can cause it crash on the first call to readline. | ||
15 | |||
16 | Patch (apply with `patch -p0'): | ||
17 | |||
18 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | |||
21 | *** ../readline-8.2-patched/nls.c 2022-08-15 09:38:51.000000000 -0400 | ||
22 | --- nls.c 2022-10-05 09:23:22.000000000 -0400 | ||
23 | *************** | ||
24 | *** 142,145 **** | ||
25 | --- 142,149 ---- | ||
26 | lspec = ""; | ||
27 | ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ | ||
28 | + if (ret == 0 || *ret == 0) | ||
29 | + ret = setlocale (LC_CTYPE, (char *)NULL); | ||
30 | + if (ret == 0 || *ret == 0) | ||
31 | + ret = RL_DEFAULT_LOCALE; | ||
32 | #else | ||
33 | ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec; | ||
34 | |||
35 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
36 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
37 | *************** | ||
38 | *** 1,3 **** | ||
39 | # Do not edit -- exists only for use by patch | ||
40 | |||
41 | ! 0 | ||
42 | --- 1,3 ---- | ||
43 | # Do not edit -- exists only for use by patch | ||
44 | |||
45 | ! 1 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-002.patch b/meta/recipes-core/readline/readline/readline82-002.patch deleted file mode 100644 index 5629685dc1..0000000000 --- a/meta/recipes-core/readline/readline/readline82-002.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-002 | ||
6 | |||
7 | Bug-Reported-by: srobertson@peratonlabs.com | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-09/msg00049.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | It's possible for readline to try to zero out a line that's not null- | ||
14 | terminated, leading to a memory fault. | ||
15 | |||
16 | Patch (apply with `patch -p0'): | ||
17 | |||
18 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | |||
21 | *** ../readline-8.2-patched/display.c 2022-04-05 10:47:31.000000000 -0400 | ||
22 | --- display.c 2022-12-13 13:11:22.000000000 -0500 | ||
23 | *************** | ||
24 | *** 2684,2692 **** | ||
25 | |||
26 | if (visible_line) | ||
27 | ! { | ||
28 | ! temp = visible_line; | ||
29 | ! while (*temp) | ||
30 | ! *temp++ = '\0'; | ||
31 | ! } | ||
32 | rl_on_new_line (); | ||
33 | forced_display++; | ||
34 | --- 2735,2740 ---- | ||
35 | |||
36 | if (visible_line) | ||
37 | ! memset (visible_line, 0, line_size); | ||
38 | ! | ||
39 | rl_on_new_line (); | ||
40 | forced_display++; | ||
41 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
42 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
43 | *************** | ||
44 | *** 1,3 **** | ||
45 | # Do not edit -- exists only for use by patch | ||
46 | |||
47 | ! 1 | ||
48 | --- 1,3 ---- | ||
49 | # Do not edit -- exists only for use by patch | ||
50 | |||
51 | ! 2 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-003.patch b/meta/recipes-core/readline/readline/readline82-003.patch deleted file mode 100644 index 61570bf4f4..0000000000 --- a/meta/recipes-core/readline/readline/readline82-003.patch +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-003 | ||
6 | |||
7 | Bug-Reported-by: Stefan Klinger <readline-gnu.org@stefan-klinger.de> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2023-08/msg00018.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Patch (apply with `patch -p0'): | ||
14 | |||
15 | The custom color prefix that readline uses to color possible completions | ||
16 | must have a leading `.'. | ||
17 | |||
18 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | |||
21 | *** ../readline-8.2-patched/colors.c 2021-12-08 11:38:25.000000000 -0500 | ||
22 | --- colors.c 2023-08-28 16:40:04.000000000 -0400 | ||
23 | *************** | ||
24 | *** 74,78 **** | ||
25 | static void restore_default_color (void); | ||
26 | |||
27 | ! #define RL_COLOR_PREFIX_EXTENSION "readline-colored-completion-prefix" | ||
28 | |||
29 | COLOR_EXT_TYPE *_rl_color_ext_list = 0; | ||
30 | --- 74,78 ---- | ||
31 | static void restore_default_color (void); | ||
32 | |||
33 | ! #define RL_COLOR_PREFIX_EXTENSION ".readline-colored-completion-prefix" | ||
34 | |||
35 | COLOR_EXT_TYPE *_rl_color_ext_list = 0; | ||
36 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
37 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
38 | *************** | ||
39 | *** 1,3 **** | ||
40 | # Do not edit -- exists only for use by patch | ||
41 | |||
42 | ! 2 | ||
43 | --- 1,3 ---- | ||
44 | # Do not edit -- exists only for use by patch | ||
45 | |||
46 | ! 3 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-004.patch b/meta/recipes-core/readline/readline/readline82-004.patch deleted file mode 100644 index cedc3d0fe4..0000000000 --- a/meta/recipes-core/readline/readline/readline82-004.patch +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-004 | ||
6 | |||
7 | Bug-Reported-by: Henry Bent <henry.r.bent@gmail.com> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-11/msg00044.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Patch (apply with `patch -p0'): | ||
14 | |||
15 | There are systems that supply one of select or pselect, but not both. | ||
16 | |||
17 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | |||
20 | *** ../readline-8.2-patched/input.c 2022-04-08 15:43:24.000000000 -0400 | ||
21 | --- input.c 2022-11-28 09:41:08.000000000 -0500 | ||
22 | *************** | ||
23 | *** 152,156 **** | ||
24 | --- 152,158 ---- | ||
25 | int _rl_timeout_init (void); | ||
26 | int _rl_timeout_sigalrm_handler (void); | ||
27 | + #if defined (RL_TIMEOUT_USE_SELECT) | ||
28 | int _rl_timeout_select (int, fd_set *, fd_set *, fd_set *, const struct timeval *, const sigset_t *); | ||
29 | + #endif | ||
30 | |||
31 | static void _rl_timeout_handle (void); | ||
32 | *************** | ||
33 | *** 249,253 **** | ||
34 | int chars_avail, k; | ||
35 | char input; | ||
36 | ! #if defined(HAVE_SELECT) | ||
37 | fd_set readfds, exceptfds; | ||
38 | struct timeval timeout; | ||
39 | --- 251,255 ---- | ||
40 | int chars_avail, k; | ||
41 | char input; | ||
42 | ! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT) | ||
43 | fd_set readfds, exceptfds; | ||
44 | struct timeval timeout; | ||
45 | *************** | ||
46 | *** 806,810 **** | ||
47 | unsigned char c; | ||
48 | int fd; | ||
49 | ! #if defined (HAVE_PSELECT) | ||
50 | sigset_t empty_set; | ||
51 | fd_set readfds; | ||
52 | --- 815,819 ---- | ||
53 | unsigned char c; | ||
54 | int fd; | ||
55 | ! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT) | ||
56 | sigset_t empty_set; | ||
57 | fd_set readfds; | ||
58 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
59 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
60 | *************** | ||
61 | *** 1,3 **** | ||
62 | # Do not edit -- exists only for use by patch | ||
63 | |||
64 | ! 3 | ||
65 | --- 1,3 ---- | ||
66 | # Do not edit -- exists only for use by patch | ||
67 | |||
68 | ! 4 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-005.patch b/meta/recipes-core/readline/readline/readline82-005.patch deleted file mode 100644 index 69c2e4f77a..0000000000 --- a/meta/recipes-core/readline/readline/readline82-005.patch +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-005 | ||
6 | |||
7 | Bug-Reported-by: Simon Marchi <simon.marchi@polymtl.ca> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00005.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | If an application is using readline in callback mode, and a signal arrives | ||
14 | after readline checks for it in rl_callback_read_char() but before it | ||
15 | restores the application's signal handlers, it won't get processed until the | ||
16 | next time the application calls rl_callback_read_char(). Readline needs to | ||
17 | check for and resend any pending signals after restoring the application's | ||
18 | signal handlers. | ||
19 | |||
20 | Patch (apply with `patch -p0'): | ||
21 | |||
22 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | |||
25 | *** ../readline-8.2-patched/callback.c 2022-04-29 12:02:56.000000000 -0400 | ||
26 | --- callback.c 2022-10-11 10:59:06.000000000 -0400 | ||
27 | *************** | ||
28 | *** 116,120 **** | ||
29 | do { \ | ||
30 | if (rl_persistent_signal_handlers == 0) \ | ||
31 | ! rl_clear_signals (); \ | ||
32 | return; \ | ||
33 | } while (0) | ||
34 | --- 116,123 ---- | ||
35 | do { \ | ||
36 | if (rl_persistent_signal_handlers == 0) \ | ||
37 | ! { \ | ||
38 | ! rl_clear_signals (); \ | ||
39 | ! if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \ | ||
40 | ! } \ | ||
41 | return; \ | ||
42 | } while (0) | ||
43 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
44 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
45 | *************** | ||
46 | *** 1,3 **** | ||
47 | # Do not edit -- exists only for use by patch | ||
48 | |||
49 | ! 4 | ||
50 | --- 1,3 ---- | ||
51 | # Do not edit -- exists only for use by patch | ||
52 | |||
53 | ! 5 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-006.patch b/meta/recipes-core/readline/readline/readline82-006.patch deleted file mode 100644 index d66afe82c9..0000000000 --- a/meta/recipes-core/readline/readline/readline82-006.patch +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-006 | ||
6 | |||
7 | Bug-Reported-by: Tom de Vries <tdevries@suse.de> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00001.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | This is a variant of the same issue as the one fixed by patch 5. In this | ||
14 | case, the signal arrives and is pending before readline calls rl_getc(). | ||
15 | When this happens, the pending signal will be handled by the loop, but may | ||
16 | alter or destroy some state that the callback uses. Readline needs to treat | ||
17 | this case the same way it would if a signal interrupts pselect/select, so | ||
18 | compound operations like searches and reading numeric arguments get cleaned | ||
19 | up properly. | ||
20 | |||
21 | Patch (apply with `patch -p0'): | ||
22 | |||
23 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
24 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
25 | |||
26 | *** ../readline-8.2-patched/input.c 2022-12-22 16:15:48.000000000 -0500 | ||
27 | --- input.c 2023-01-10 11:53:45.000000000 -0500 | ||
28 | *************** | ||
29 | *** 812,816 **** | ||
30 | rl_getc (FILE *stream) | ||
31 | { | ||
32 | ! int result; | ||
33 | unsigned char c; | ||
34 | int fd; | ||
35 | --- 812,816 ---- | ||
36 | rl_getc (FILE *stream) | ||
37 | { | ||
38 | ! int result, ostate, osig; | ||
39 | unsigned char c; | ||
40 | int fd; | ||
41 | *************** | ||
42 | *** 823,828 **** | ||
43 | --- 823,842 ---- | ||
44 | while (1) | ||
45 | { | ||
46 | + osig = _rl_caught_signal; | ||
47 | + ostate = rl_readline_state; | ||
48 | + | ||
49 | RL_CHECK_SIGNALS (); | ||
50 | |||
51 | + #if defined (READLINE_CALLBACKS) | ||
52 | + /* Do signal handling post-processing here, but just in callback mode | ||
53 | + for right now because the signal cleanup can change some of the | ||
54 | + callback state, and we need to either let the application have a | ||
55 | + chance to react or abort some current operation that gets cleaned | ||
56 | + up by rl_callback_sigcleanup(). If not, we'll just run through the | ||
57 | + loop again. */ | ||
58 | + if (osig != 0 && (ostate & RL_STATE_CALLBACK)) | ||
59 | + goto postproc_signal; | ||
60 | + #endif | ||
61 | + | ||
62 | /* We know at this point that _rl_caught_signal == 0 */ | ||
63 | |||
64 | *************** | ||
65 | *** 888,891 **** | ||
66 | --- 902,908 ---- | ||
67 | |||
68 | handle_error: | ||
69 | + osig = _rl_caught_signal; | ||
70 | + ostate = rl_readline_state; | ||
71 | + | ||
72 | /* If the error that we received was EINTR, then try again, | ||
73 | this is simply an interrupted system call to read (). We allow | ||
74 | *************** | ||
75 | *** 928,933 **** | ||
76 | --- 945,959 ---- | ||
77 | #endif /* SIGALRM */ | ||
78 | |||
79 | + postproc_signal: | ||
80 | + /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any | ||
81 | + reason other than being interrupted by a signal, so we can safely | ||
82 | + call the application's signal event hook. */ | ||
83 | if (rl_signal_event_hook) | ||
84 | (*rl_signal_event_hook) (); | ||
85 | + #if defined (READLINE_CALLBACKS) | ||
86 | + else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG))) | ||
87 | + /* just these cases for now */ | ||
88 | + _rl_abort_internal (); | ||
89 | + #endif | ||
90 | } | ||
91 | } | ||
92 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
93 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
94 | *************** | ||
95 | *** 1,3 **** | ||
96 | # Do not edit -- exists only for use by patch | ||
97 | |||
98 | ! 5 | ||
99 | --- 1,3 ---- | ||
100 | # Do not edit -- exists only for use by patch | ||
101 | |||
102 | ! 6 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-007.patch b/meta/recipes-core/readline/readline/readline82-007.patch deleted file mode 100644 index 9fa1ccb552..0000000000 --- a/meta/recipes-core/readline/readline/readline82-007.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-007 | ||
6 | |||
7 | Bug-Reported-by: Kevin Pulo <kev@pulo.com.au> | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-11/msg00002.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | If readline is called with no prompt, it should display a newline if return | ||
14 | is typed on an empty line. It should still suppress the final newline if | ||
15 | return is typed on the last (empty) line of a multi-line command. | ||
16 | |||
17 | Patch (apply with `patch -p0'): | ||
18 | |||
19 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
21 | |||
22 | *** ../readline-8.2-patched/display.c 2022-04-05 10:47:31.000000000 -0400 | ||
23 | --- display.c 2022-12-13 13:11:22.000000000 -0500 | ||
24 | *************** | ||
25 | *** 3342,3348 **** | ||
26 | &last_face[_rl_screenwidth - 1 + woff], 1); | ||
27 | } | ||
28 | ! _rl_vis_botlin = 0; | ||
29 | ! if (botline_length > 0 || _rl_last_c_pos > 0) | ||
30 | rl_crlf (); | ||
31 | fflush (rl_outstream); | ||
32 | rl_display_fixed++; | ||
33 | --- 3394,3400 ---- | ||
34 | &last_face[_rl_screenwidth - 1 + woff], 1); | ||
35 | } | ||
36 | ! if ((_rl_vis_botlin == 0 && botline_length == 0) || botline_length > 0 || _rl_last_c_pos > 0) | ||
37 | rl_crlf (); | ||
38 | + _rl_vis_botlin = 0; | ||
39 | fflush (rl_outstream); | ||
40 | rl_display_fixed++; | ||
41 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
42 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
43 | *************** | ||
44 | *** 1,3 **** | ||
45 | # Do not edit -- exists only for use by patch | ||
46 | |||
47 | ! 6 | ||
48 | --- 1,3 ---- | ||
49 | # Do not edit -- exists only for use by patch | ||
50 | |||
51 | ! 7 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-008.patch b/meta/recipes-core/readline/readline/readline82-008.patch deleted file mode 100644 index 660cb1e00b..0000000000 --- a/meta/recipes-core/readline/readline/readline82-008.patch +++ /dev/null | |||
@@ -1,80 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-008 | ||
6 | |||
7 | Bug-Reported-by: | ||
8 | Bug-Reference-ID: | ||
9 | Bug-Reference-URL: | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Add missing prototypes for several function declarations. | ||
14 | |||
15 | Patch (apply with `patch -p0'): | ||
16 | |||
17 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | |||
20 | *** ../readline-8.2-patched/text.c Wed Oct 27 11:03:59 2021 | ||
21 | --- text.c Thu Nov 16 16:24:58 2023 | ||
22 | *************** | ||
23 | *** 1765,1770 **** | ||
24 | #if defined (READLINE_CALLBACKS) | ||
25 | static int | ||
26 | ! _rl_char_search_callback (data) | ||
27 | ! _rl_callback_generic_arg *data; | ||
28 | { | ||
29 | _rl_callback_func = 0; | ||
30 | --- 1765,1769 ---- | ||
31 | #if defined (READLINE_CALLBACKS) | ||
32 | static int | ||
33 | ! _rl_char_search_callback (_rl_callback_generic_arg *data) | ||
34 | { | ||
35 | _rl_callback_func = 0; | ||
36 | *** ../readline-8.2-patched/bind.c Wed Feb 9 11:02:22 2022 | ||
37 | --- bind.c Thu Nov 16 16:25:17 2023 | ||
38 | *************** | ||
39 | *** 1168,1174 **** | ||
40 | |||
41 | static int | ||
42 | ! parse_comparison_op (s, indp) | ||
43 | ! const char *s; | ||
44 | ! int *indp; | ||
45 | { | ||
46 | int i, peekc, op; | ||
47 | --- 1168,1172 ---- | ||
48 | |||
49 | static int | ||
50 | ! parse_comparison_op (const char *s, int *indp) | ||
51 | { | ||
52 | int i, peekc, op; | ||
53 | *** ../readline-8.2-patched/rltty.c Fri Feb 18 11:14:22 2022 | ||
54 | --- rltty.c Thu Nov 16 16:25:36 2023 | ||
55 | *************** | ||
56 | *** 81,86 **** | ||
57 | to get the tty settings. */ | ||
58 | static void | ||
59 | ! set_winsize (tty) | ||
60 | ! int tty; | ||
61 | { | ||
62 | #if defined (TIOCGWINSZ) | ||
63 | --- 81,85 ---- | ||
64 | to get the tty settings. */ | ||
65 | static void | ||
66 | ! set_winsize (int tty) | ||
67 | { | ||
68 | #if defined (TIOCGWINSZ) | ||
69 | |||
70 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
71 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
72 | *************** | ||
73 | *** 1,3 **** | ||
74 | # Do not edit -- exists only for use by patch | ||
75 | |||
76 | ! 7 | ||
77 | --- 1,3 ---- | ||
78 | # Do not edit -- exists only for use by patch | ||
79 | |||
80 | ! 8 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-009.patch b/meta/recipes-core/readline/readline/readline82-009.patch deleted file mode 100644 index 1fcf7b3535..0000000000 --- a/meta/recipes-core/readline/readline/readline82-009.patch +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-009 | ||
6 | |||
7 | Bug-Reported-by: Stefan H. Holek <stefan@epy.co.at> | ||
8 | Bug-Reference-ID: <50F8DA45-B7F3-4DE1-AB94-19AE42649CDC@epy.co.at> | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-10/msg00021.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Fix issue where the directory name portion of the word to be completed (the | ||
14 | part that is passed to opendir()) requires both tilde expansion and dequoting. | ||
15 | Readline only performed tilde expansion in this case, so filename completion | ||
16 | would fail. | ||
17 | |||
18 | Patch (apply with `patch -p0'): | ||
19 | |||
20 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
21 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
22 | |||
23 | *** ../readline-8.2-patched/complete.c 2022-04-05 10:47:06.000000000 -0400 | ||
24 | --- complete.c 2022-10-26 15:08:51.000000000 -0400 | ||
25 | *************** | ||
26 | *** 2527,2531 **** | ||
27 | xfree (dirname); | ||
28 | dirname = temp; | ||
29 | ! tilde_dirname = 1; | ||
30 | } | ||
31 | |||
32 | --- 2527,2532 ---- | ||
33 | xfree (dirname); | ||
34 | dirname = temp; | ||
35 | ! if (*dirname != '~') | ||
36 | ! tilde_dirname = 1; /* indicate successful tilde expansion */ | ||
37 | } | ||
38 | |||
39 | *************** | ||
40 | *** 2546,2554 **** | ||
41 | users_dirname = savestring (dirname); | ||
42 | } | ||
43 | ! else if (tilde_dirname == 0 && rl_completion_found_quote && rl_filename_dequoting_function) | ||
44 | { | ||
45 | ! /* delete single and double quotes */ | ||
46 | xfree (dirname); | ||
47 | ! dirname = savestring (users_dirname); | ||
48 | } | ||
49 | directory = opendir (dirname); | ||
50 | --- 2547,2560 ---- | ||
51 | users_dirname = savestring (dirname); | ||
52 | } | ||
53 | ! else if (rl_completion_found_quote && rl_filename_dequoting_function) | ||
54 | { | ||
55 | ! /* We already ran users_dirname through the dequoting function. | ||
56 | ! If tilde_dirname == 1, we successfully performed tilde expansion | ||
57 | ! on dirname. Now we need to reconcile those results. We either | ||
58 | ! just copy the already-dequoted users_dirname or tilde expand it | ||
59 | ! if we tilde-expanded dirname. */ | ||
60 | ! temp = tilde_dirname ? tilde_expand (users_dirname) : savestring (users_dirname); | ||
61 | xfree (dirname); | ||
62 | ! dirname = temp; | ||
63 | } | ||
64 | directory = opendir (dirname); | ||
65 | |||
66 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
67 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
68 | *************** | ||
69 | *** 1,3 **** | ||
70 | # Do not edit -- exists only for use by patch | ||
71 | |||
72 | ! 8 | ||
73 | --- 1,3 ---- | ||
74 | # Do not edit -- exists only for use by patch | ||
75 | |||
76 | ! 9 | ||
diff --git a/meta/recipes-core/readline/readline/readline82-010.patch b/meta/recipes-core/readline/readline/readline82-010.patch deleted file mode 100644 index 6152953e91..0000000000 --- a/meta/recipes-core/readline/readline/readline82-010.patch +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | READLINE PATCH REPORT | ||
2 | ===================== | ||
3 | |||
4 | Readline-Release: 8.2 | ||
5 | Patch-ID: readline82-010 | ||
6 | |||
7 | Bug-Reported-by: Martin Castillo <castilma@uni-bremen.de> | ||
8 | Bug-Reference-ID: <2d42153b-cf65-caba-dff1-cd3bc6268c7e@uni-bremen.de> | ||
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2023-01/msg00000.html | ||
10 | |||
11 | Bug-Description: | ||
12 | |||
13 | Fix the case where text to be completed from the line buffer (quoted) is | ||
14 | compared to the common prefix of the possible matches (unquoted) and the | ||
15 | quoting makes the former appear to be longer than the latter. Readline | ||
16 | assumes the match doesn't add any characters to the word and doesn't display | ||
17 | multiple matches. | ||
18 | |||
19 | Patch (apply with `patch -p0'): | ||
20 | |||
21 | Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] | ||
22 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
23 | |||
24 | *** ../readline-8.2-patched/complete.c Tue Apr 5 10:47:06 2022 | ||
25 | --- complete.c Sat Jan 7 14:19:45 2023 | ||
26 | *************** | ||
27 | *** 2032,2038 **** | ||
28 | text = rl_copy_text (start, end); | ||
29 | matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char); | ||
30 | /* nontrivial_lcd is set if the common prefix adds something to the word | ||
31 | being completed. */ | ||
32 | ! nontrivial_lcd = matches && compare_match (text, matches[0]) != 0; | ||
33 | if (what_to_do == '!' || what_to_do == '@') | ||
34 | tlen = strlen (text); | ||
35 | --- 2038,2060 ---- | ||
36 | text = rl_copy_text (start, end); | ||
37 | matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char); | ||
38 | + /* If TEXT contains quote characters, it will be dequoted as part of | ||
39 | + generating the matches, and the matches will not contain any quote | ||
40 | + characters. We need to dequote TEXT before performing the comparison. | ||
41 | + Since compare_match performs the dequoting, and we only want to do it | ||
42 | + once, we don't call compare_matches after dequoting TEXT; we call | ||
43 | + strcmp directly. */ | ||
44 | /* nontrivial_lcd is set if the common prefix adds something to the word | ||
45 | being completed. */ | ||
46 | ! if (rl_filename_completion_desired && rl_filename_quoting_desired && | ||
47 | ! rl_completion_found_quote && rl_filename_dequoting_function) | ||
48 | ! { | ||
49 | ! char *t; | ||
50 | ! t = (*rl_filename_dequoting_function) (text, rl_completion_quote_character); | ||
51 | ! xfree (text); | ||
52 | ! text = t; | ||
53 | ! nontrivial_lcd = matches && strcmp (text, matches[0]) != 0; | ||
54 | ! } | ||
55 | ! else | ||
56 | ! nontrivial_lcd = matches && strcmp (text, matches[0]) != 0; | ||
57 | if (what_to_do == '!' || what_to_do == '@') | ||
58 | tlen = strlen (text); | ||
59 | |||
60 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | ||
61 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | ||
62 | *************** | ||
63 | *** 1,3 **** | ||
64 | # Do not edit -- exists only for use by patch | ||
65 | |||
66 | ! 9 | ||
67 | --- 1,3 ---- | ||
68 | # Do not edit -- exists only for use by patch | ||
69 | |||
70 | ! 10 | ||
diff --git a/meta/recipes-core/readline/readline_8.2.13.bb b/meta/recipes-core/readline/readline_8.2.13.bb new file mode 100644 index 0000000000..19b5cb6f58 --- /dev/null +++ b/meta/recipes-core/readline/readline_8.2.13.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | require readline.inc | ||
2 | |||
3 | SRC_URI += "file://norpath.patch \ | ||
4 | file://0001-Add-fix-for-packages-that-are-not-compatible-with-C2.patch \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[archive.sha256sum] = "0e5be4d2937e8bd9b7cd60d46721ce79f88a33415dd68c2d738fb5924638f656" | ||
diff --git a/meta/recipes-core/readline/readline_8.2.bb b/meta/recipes-core/readline/readline_8.2.bb deleted file mode 100644 index f0dba31251..0000000000 --- a/meta/recipes-core/readline/readline_8.2.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | require readline.inc | ||
2 | |||
3 | SRC_URI += " file://norpath.patch" | ||
4 | |||
5 | SRC_URI += "file://readline82-001.patch;striplevel=0 \ | ||
6 | file://readline82-002.patch;striplevel=0 \ | ||
7 | file://readline82-003.patch;striplevel=0 \ | ||
8 | file://readline82-004.patch;striplevel=0 \ | ||
9 | file://readline82-005.patch;striplevel=0 \ | ||
10 | file://readline82-006.patch;striplevel=0 \ | ||
11 | file://readline82-007.patch;striplevel=0 \ | ||
12 | file://readline82-008.patch;striplevel=0 \ | ||
13 | file://readline82-009.patch;striplevel=0 \ | ||
14 | file://readline82-010.patch;striplevel=0 \ | ||
15 | " | ||
16 | |||
17 | SRC_URI[archive.sha256sum] = "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" | ||
diff --git a/meta/recipes-core/seatd/seatd/init b/meta/recipes-core/seatd/seatd/init index 0589c765ac..405000c16f 100644 --- a/meta/recipes-core/seatd/seatd/init +++ b/meta/recipes-core/seatd/seatd/init | |||
@@ -15,7 +15,7 @@ killproc() { | |||
15 | 15 | ||
16 | case "$1" in | 16 | case "$1" in |
17 | start) | 17 | start) |
18 | seatd -g video -n 1 > /tmp/seatd-start-notify & | 18 | seatd -g seat -n 1 > /tmp/seatd-start-notify & |
19 | [ -s /tmp/seatd-start-notify ] && exit 0 | 19 | [ -s /tmp/seatd-start-notify ] && exit 0 |
20 | sleep 0.1 | 20 | sleep 0.1 |
21 | [ -s /tmp/seatd-start-notify ] && exit 0 | 21 | [ -s /tmp/seatd-start-notify ] && exit 0 |
diff --git a/meta/recipes-core/seatd/seatd_0.8.0.bb b/meta/recipes-core/seatd/seatd_0.8.0.bb deleted file mode 100644 index 14c5b1b7ae..0000000000 --- a/meta/recipes-core/seatd/seatd_0.8.0.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "A minimal seat management daemon, and a universal seat management library." | ||
2 | DESCRIPTION = "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root." | ||
3 | HOMEPAGE = "https://git.sr.ht/~kennylevinsen/seatd" | ||
4 | |||
5 | LICENSE = "MIT" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" | ||
8 | |||
9 | SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ | ||
10 | file://init" | ||
11 | SRCREV = "3e9ef69f14f630a719dd464f3c90a7932f1c8296" | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit meson pkgconfig update-rc.d | ||
15 | |||
16 | # https://www.openwall.com/lists/musl/2020/01/20/3 | ||
17 | CFLAGS:append:libc-musl:powerpc64le = " -Wno-error=overflow" | ||
18 | |||
19 | PACKAGECONFIG ?= " \ | ||
20 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ | ||
21 | libseat-builtin \ | ||
22 | " | ||
23 | |||
24 | PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled" | ||
25 | PACKAGECONFIG[systemd] = ",,systemd" | ||
26 | |||
27 | do_install:append() { | ||
28 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | ||
29 | install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd | ||
30 | fi | ||
31 | } | ||
32 | |||
33 | INITSCRIPT_NAME = "seatd" | ||
34 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." | ||
35 | INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" | ||
diff --git a/meta/recipes-core/seatd/seatd_0.9.1.bb b/meta/recipes-core/seatd/seatd_0.9.1.bb new file mode 100644 index 0000000000..3be27dda9d --- /dev/null +++ b/meta/recipes-core/seatd/seatd_0.9.1.bb | |||
@@ -0,0 +1,48 @@ | |||
1 | SUMMARY = "A minimal seat management daemon, and a universal seat management library." | ||
2 | DESCRIPTION = "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root." | ||
3 | HOMEPAGE = "https://git.sr.ht/~kennylevinsen/seatd" | ||
4 | |||
5 | LICENSE = "MIT" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" | ||
8 | |||
9 | SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ | ||
10 | file://init" | ||
11 | SRCREV = "566ffeb032af42865dc1210e48cec08368059bb9" | ||
12 | |||
13 | inherit meson pkgconfig systemd update-rc.d useradd | ||
14 | |||
15 | # https://www.openwall.com/lists/musl/2020/01/20/3 | ||
16 | CFLAGS:append:libc-musl:powerpc64le = " -Wno-error=overflow" | ||
17 | #../git/common/connection.c:154:55: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare] | ||
18 | # 154 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) { | ||
19 | # | ^~~~~~~~~~~~~~~~~~~~~~ | ||
20 | #/mnt/b/yoe/master/sources/poky/build/tmp/work/riscv64-poky-linux-musl/seatd/0.9.1/recipe-sysroot/usr/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR' | ||
21 | # 358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ | ||
22 | # | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
23 | #1 error generated. | ||
24 | CFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare" | ||
25 | |||
26 | PACKAGECONFIG ?= " \ | ||
27 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ | ||
28 | libseat-builtin \ | ||
29 | " | ||
30 | |||
31 | PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled" | ||
32 | PACKAGECONFIG[systemd] = "-Dlibseat-logind=systemd,,systemd" | ||
33 | |||
34 | do_install:append() { | ||
35 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | ||
36 | install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd | ||
37 | fi | ||
38 | install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service | ||
39 | } | ||
40 | |||
41 | USERADD_PACKAGES = "${PN}" | ||
42 | GROUPADD_PARAM:${PN} = "-r seat" | ||
43 | |||
44 | INITSCRIPT_NAME = "seatd" | ||
45 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." | ||
46 | INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" | ||
47 | |||
48 | SYSTEMD_SERVICE:${PN} = "seatd.service" | ||
diff --git a/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch b/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch new file mode 100644 index 0000000000..a8a49a80cd --- /dev/null +++ b/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From a13fc5a57ea7c6b1761bc204cb79d8ce4745f57a Mon Sep 17 00:00:00 2001 | ||
2 | From: songliang <YS.songliang@h3c.com> | ||
3 | Date: Wed, 4 Jun 2025 15:58:53 +0800 | ||
4 | Subject: [PATCH] Modify "my_strncat" function | ||
5 | |||
6 | The meaning of the "len" parameter in the my_strncat function is the size limit for copying characters from "from", not the size limit for "to" after copying. | ||
7 | Also, the "#define safestrcat(to, from) my_strncat(to, from, sizeof(to) - strlen(to) - 1)" has already imposed a limit on max based on the size of "to". | ||
8 | Modify the function to prevent truncation of content when too many bytes are passed to the my_strcat function. | ||
9 | |||
10 | Upstream-Status: Submitted [https://github.com/linux-ras/sysfsutils/pull/30/commits/c2326946c0c2a4206c9b079a9fe25f7f9115295c] | ||
11 | Signed-off-by: songliang <YS.songliang@h3c.com> | ||
12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
13 | --- | ||
14 | lib/sysfs_utils.c | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/lib/sysfs_utils.c b/lib/sysfs_utils.c | ||
18 | index 46e0849..c0176d1 100644 | ||
19 | --- a/lib/sysfs_utils.c | ||
20 | +++ b/lib/sysfs_utils.c | ||
21 | @@ -375,8 +375,8 @@ char *my_strncat(char *to, const char *from, size_t max) | ||
22 | { | ||
23 | size_t i = 0; | ||
24 | |||
25 | - while (i < max && to[i] != '\0') | ||
26 | + while (to[i] != '\0') | ||
27 | i++; | ||
28 | - my_strncpy(to+i, from, max-i); | ||
29 | + my_strncpy(to+i, from, max); | ||
30 | return to; | ||
31 | } | ||
32 | -- | ||
33 | 2.34.1 | ||
34 | |||
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb index 86cc06a2cd..5040d8864e 100644 --- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb +++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb | |||
@@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dcc19fa9307a50017fca61423a7d9754 \ | |||
9 | file://cmd/GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 9 | file://cmd/GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
10 | file://lib/LGPL;md5=4fbd65380cdd255951079008b364516c" | 10 | file://lib/LGPL;md5=4fbd65380cdd255951079008b364516c" |
11 | 11 | ||
12 | SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master" | 12 | SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master \ |
13 | file://0001-Modify-my_strncat-function.patch \ | ||
14 | " | ||
13 | 15 | ||
14 | SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" | 16 | SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" |
15 | 17 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools | 18 | inherit autotools |
19 | 19 | ||
20 | PACKAGES =+ "libsysfs" | 20 | PACKAGES =+ "libsysfs" |
diff --git a/meta/recipes-core/systemd/dlopen-deps.inc b/meta/recipes-core/systemd/dlopen-deps.inc new file mode 100644 index 0000000000..e0b333398c --- /dev/null +++ b/meta/recipes-core/systemd/dlopen-deps.inc | |||
@@ -0,0 +1,81 @@ | |||
1 | PACKAGEFUNCS =+ "package_generate_dlopen_deps" | ||
2 | |||
3 | python package_generate_dlopen_deps() { | ||
4 | # https://systemd.io/ELF_DLOPEN_METADATA/ | ||
5 | |||
6 | import struct, json | ||
7 | |||
8 | def extract_segment(filename, segment): | ||
9 | """ | ||
10 | Return the named segment from the ELF. | ||
11 | """ | ||
12 | import tempfile, subprocess | ||
13 | |||
14 | with tempfile.NamedTemporaryFile() as f: | ||
15 | try: | ||
16 | cmd = [d.getVar("OBJCOPY"), "--dump-section", f"{segment}={f.name}", filename] | ||
17 | subprocess.run(cmd, check=True) | ||
18 | with open(f.name, "rb") as f2: | ||
19 | return f2.read() | ||
20 | except subprocess.CalledProcessError as e: | ||
21 | # binutils-objcopy has 0 exit code if the segment can't be found, but llvm-objcopy | ||
22 | # does not. Assume the failure isn't critical and ignore errors. | ||
23 | if e.returncode == 1: | ||
24 | return b"" | ||
25 | raise e | ||
26 | |||
27 | def parse(buffer, is_little): | ||
28 | deps = [] | ||
29 | offset = 0 | ||
30 | while offset < len(buffer): | ||
31 | format = f"{'<' if is_little else '>'}iii" | ||
32 | name_size, desc_size, note_type = struct.unpack_from(format, buffer, offset) | ||
33 | offset += struct.calcsize(format) | ||
34 | |||
35 | format = f"{name_size}s0i{desc_size}s0i" | ||
36 | if note_type == 0x407c0c0a: | ||
37 | name_b, desc_b = struct.unpack_from(format, buffer, offset) | ||
38 | name = name_b.strip(b"\x00").decode("ascii") | ||
39 | if name == "FDO": | ||
40 | desc = desc_b.strip(b"\x00").decode("utf-8") | ||
41 | deps.append(*json.loads(desc)) | ||
42 | offset += struct.calcsize(format) | ||
43 | return deps | ||
44 | |||
45 | dep_map = { | ||
46 | "required": "RDEPENDS", | ||
47 | "recommended": "RRECOMMENDS", | ||
48 | "suggested": "RSUGGESTS" | ||
49 | } | ||
50 | |||
51 | shlibs = oe.package.read_shlib_providers(d) | ||
52 | |||
53 | for pkg, files in pkgfiles.items(): | ||
54 | # Skip -dbg packages as we won't need to generate dependencies for those | ||
55 | # but scanning can take time | ||
56 | if pkg.endswith("-dbg"): | ||
57 | continue | ||
58 | |||
59 | for f in files: | ||
60 | # Skip symlinks, just look for real libraries | ||
61 | if cpath.islink(f): | ||
62 | continue | ||
63 | |||
64 | if ".so." in f or f.endswith(".so"): | ||
65 | try: | ||
66 | elf = oe.qa.ELFFile(f) | ||
67 | elf.open() | ||
68 | for dep in parse(extract_segment(f, ".note.dlopen"), elf.isLittleEndian()): | ||
69 | for soname in dep["soname"]: | ||
70 | if soname in shlibs: | ||
71 | # TODO assumes the first match is good | ||
72 | package, version = list(shlibs[soname].values())[0] | ||
73 | dependency = dep_map[dep["priority"]] | ||
74 | bb.note(f"{pkg}: adding {dependency} on {package} via .note.dlopen") | ||
75 | d.appendVar(f"{dependency}:{pkg}", f" {package} (>= {version})") | ||
76 | else: | ||
77 | bb.warn(f"cannot find {soname}") | ||
78 | except oe.qa.NotELFFileError as e: | ||
79 | bb.note(f"Cannot extract ELF notes: {e}") | ||
80 | pass | ||
81 | } | ||
diff --git a/meta/recipes-core/systemd/systemd-boot-native_255.4.bb b/meta/recipes-core/systemd/systemd-boot-native_257.6.bb index 73db59b14e..05ebe7b63e 100644 --- a/meta/recipes-core/systemd/systemd-boot-native_255.4.bb +++ b/meta/recipes-core/systemd/systemd-boot-native_257.6.bb | |||
@@ -1,4 +1,5 @@ | |||
1 | require systemd.inc | 1 | require systemd.inc |
2 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" | ||
2 | 3 | ||
3 | inherit native | 4 | inherit native |
4 | 5 | ||
@@ -8,8 +9,10 @@ deltask do_compile | |||
8 | do_install () { | 9 | do_install () { |
9 | install -Dm 0755 ${S}/src/ukify/ukify.py ${D}${bindir}/ukify | 10 | install -Dm 0755 ${S}/src/ukify/ukify.py ${D}${bindir}/ukify |
10 | } | 11 | } |
11 | addtask install after do_unpack | 12 | addtask install after do_patch |
12 | 13 | ||
13 | PACKAGES = "${PN}" | 14 | PACKAGES = "${PN}" |
14 | 15 | ||
15 | FILES:${PN} = "${bindir}/ukify" | 16 | FILES:${PN} = "${bindir}/ukify" |
17 | |||
18 | RDEPENDS:${PN} += "python3-pefile-native" | ||
diff --git a/meta/recipes-core/systemd/systemd-boot_255.4.bb b/meta/recipes-core/systemd/systemd-boot_257.6.bb index 4ee25ee72f..c6c443f929 100644 --- a/meta/recipes-core/systemd/systemd-boot_255.4.bb +++ b/meta/recipes-core/systemd/systemd-boot_257.6.bb | |||
@@ -3,15 +3,15 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" | |||
3 | 3 | ||
4 | require conf/image-uefi.conf | 4 | require conf/image-uefi.conf |
5 | 5 | ||
6 | DEPENDS = "intltool-native libcap util-linux gperf-native python3-jinja2-native python3-pyelftools-native" | 6 | DEPENDS = "libcap util-linux gperf-native python3-jinja2-native python3-pyelftools-native" |
7 | 7 | ||
8 | inherit meson pkgconfig gettext | 8 | inherit meson pkgconfig gettext |
9 | inherit deploy | 9 | inherit deploy |
10 | 10 | ||
11 | LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} " | 11 | LDFLAGS =+ "${@ " ".join(d.getVar('LD').split()[1:])} " |
12 | 12 | ||
13 | EFI_LD = "bfd" | 13 | EFI_LD = "bfd" |
14 | LDFLAGS:append = " -fuse-ld=${EFI_LD}" | 14 | LDFLAGS += "-fuse-ld=${EFI_LD}" |
15 | 15 | ||
16 | do_write_config[vardeps] += "EFI_LD" | 16 | do_write_config[vardeps] += "EFI_LD" |
17 | do_write_config:append() { | 17 | do_write_config:append() { |
@@ -47,20 +47,28 @@ FILES:${PN} = "${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}" | |||
47 | 47 | ||
48 | RDEPENDS:${PN} += "virtual-systemd-bootconf" | 48 | RDEPENDS:${PN} += "virtual-systemd-bootconf" |
49 | 49 | ||
50 | # efi portions use -mgeneral-regs-only option which conflicts with SSE | ||
51 | # especially clang throws errors about it | ||
52 | # error: the 'sse' unit is not supported with this instruction set | ||
53 | TUNE_CCARGS:remove = "-mfpmath=sse" | ||
54 | |||
50 | CFLAGS:append:libc-musl = " -D__DEFINED_wchar_t" | 55 | CFLAGS:append:libc-musl = " -D__DEFINED_wchar_t" |
51 | 56 | ||
52 | COMPATIBLE_HOST = "(aarch64.*|arm.*|x86_64.*|i.86.*)-linux" | 57 | # arm-poky-linux-musleabi-clang: error: unsupported option '-mgeneral-regs-only' for target 'arm-poky-linux-musleabi' |
58 | TOOLCHAIN:arm = "gcc" | ||
59 | |||
60 | COMPATIBLE_HOST = "(aarch64.*|arm.*|x86_64.*|i.86.*|riscv.*)-linux" | ||
53 | COMPATIBLE_HOST:x86-x32 = "null" | 61 | COMPATIBLE_HOST:x86-x32 = "null" |
54 | 62 | ||
55 | do_install() { | 63 | do_install() { |
56 | install -d ${D}${EFI_FILES_PATH} | 64 | install -d ${D}${EFI_FILES_PATH} |
57 | install ${B}/src/boot/efi/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE} | 65 | install ${B}/src/boot/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE} |
58 | } | 66 | } |
59 | 67 | ||
60 | do_deploy () { | 68 | do_deploy () { |
61 | install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR} | 69 | install ${B}/src/boot/systemd-boot*.efi ${DEPLOYDIR} |
62 | install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR} | 70 | install ${B}/src/boot/linux*.efi.stub ${DEPLOYDIR} |
63 | install ${B}/src/boot/efi/addon*.efi.stub ${DEPLOYDIR} | 71 | install ${B}/src/boot/addon*.efi.stub ${DEPLOYDIR} |
64 | } | 72 | } |
65 | 73 | ||
66 | addtask deploy before do_build after do_compile | 74 | addtask deploy before do_build after do_compile |
diff --git a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb index 19637546a9..5efac3e410 100644 --- a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb +++ b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb | |||
@@ -7,7 +7,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
7 | 7 | ||
8 | inherit systemd-boot-cfg | 8 | inherit systemd-boot-cfg |
9 | 9 | ||
10 | S = "${WORKDIR}" | 10 | S = "${UNPACKDIR}" |
11 | 11 | ||
12 | LABELS = "boot" | 12 | LABELS = "boot" |
13 | 13 | ||
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb index c03d97f9c9..d6da34e9b8 100644 --- a/meta/recipes-core/systemd/systemd-compat-units.bb +++ b/meta/recipes-core/systemd/systemd-compat-units.bb | |||
@@ -2,10 +2,9 @@ SUMMARY = "Enhances systemd compatilibity with existing SysVinit scripts" | |||
2 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" | 2 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" |
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | 4 | ||
5 | |||
6 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" | 5 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" |
7 | 6 | ||
8 | S = "${WORKDIR}" | 7 | S = "${UNPACKDIR}" |
9 | 8 | ||
10 | inherit features_check | 9 | inherit features_check |
11 | 10 | ||
@@ -25,7 +24,7 @@ SYSTEMD_DISABLED_SYSV_SERVICES = " \ | |||
25 | syslog.busybox \ | 24 | syslog.busybox \ |
26 | " | 25 | " |
27 | 26 | ||
28 | pkg_postinst:${PN} () { | 27 | pkg_postinst_ontarget:${PN} () { |
29 | 28 | ||
30 | test -d $D${sysconfdir}/init.d || exit 0 | 29 | test -d $D${sysconfdir}/init.d || exit 0 |
31 | cd $D${sysconfdir}/init.d | 30 | cd $D${sysconfdir}/init.d |
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb index 2355936631..60066cd60a 100644 --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb | |||
@@ -21,19 +21,21 @@ SRC_URI = "\ | |||
21 | file://wired.network \ | 21 | file://wired.network \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${UNPACKDIR}" | ||
25 | |||
24 | do_install() { | 26 | do_install() { |
25 | install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf | 27 | install -D -m0644 ${S}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf |
26 | install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf | 28 | install -D -m0644 ${S}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf |
27 | install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf | 29 | install -D -m0644 ${S}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf |
28 | 30 | ||
29 | if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then | 31 | if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then |
30 | install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network | 32 | install -D -m0644 ${S}/wired.network ${D}${systemd_unitdir}/network/80-wired.network |
31 | fi | 33 | fi |
32 | } | 34 | } |
33 | 35 | ||
34 | # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 | 36 | # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 |
35 | do_install:append:qemuall() { | 37 | do_install:append:qemuall() { |
36 | install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf | 38 | install -D -m0644 ${S}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf |
37 | } | 39 | } |
38 | 40 | ||
39 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 41 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb index 8df7ff7cf1..a366f199ee 100644 --- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb +++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb | |||
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 6 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
7 | 7 | ||
8 | |||
9 | inherit systemd features_check | 8 | inherit systemd features_check |
10 | REQUIRED_DISTRO_FEATURES += "usrmerge" | 9 | REQUIRED_DISTRO_FEATURES += "usrmerge" |
11 | SYSTEMD_SERVICE:${PN} = "" | 10 | SYSTEMD_SERVICE:${PN} = "" |
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb index 44a93ac684..c3fe9d5b6d 100644 --- a/meta/recipes-core/systemd/systemd-serialgetty.bb +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb | |||
@@ -1,15 +1,13 @@ | |||
1 | SUMMARY = "Serial terminal support for systemd" | 1 | SUMMARY = "Serial terminal support for systemd (using SERIAL_CONSOLES)" |
2 | HOMEPAGE = "https://www.freedesktop.org/wiki/Software/systemd/" | 2 | HOMEPAGE = "https://www.freedesktop.org/wiki/Software/systemd/" |
3 | LICENSE = "GPL-2.0-or-later" | 3 | LICENSE = "GPL-2.0-or-later" |
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" | 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
5 | 5 | ||
6 | 6 | # Note that this recipe explicitly creates a serial-getty@ service for every tty | |
7 | SERIAL_CONSOLES ?= "115200;ttyS0" | 7 | # in SERIAL_CONSOLES. This is typically not always needed with systemd as it |
8 | SERIAL_TERM ?= "linux" | 8 | # will probe at boot and generate getty instances for any active consoles as |
9 | 9 | # required. This recipe (enabled via disabling serial-getty-generator in systemd) | |
10 | SRC_URI = "file://serial-getty@.service" | 10 | # should only be used if the generator is not appropriate. |
11 | |||
12 | S = "${WORKDIR}" | ||
13 | 11 | ||
14 | # As this package is tied to systemd, only build it when we're also building systemd. | 12 | # As this package is tied to systemd, only build it when we're also building systemd. |
15 | inherit features_check | 13 | inherit features_check |
@@ -19,11 +17,7 @@ REQUIRED_DISTRO_FEATURES += "usrmerge" | |||
19 | do_install() { | 17 | do_install() { |
20 | if [ ! -z "${SERIAL_CONSOLES}" ] ; then | 18 | if [ ! -z "${SERIAL_CONSOLES}" ] ; then |
21 | default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` | 19 | default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` |
22 | install -d ${D}${systemd_system_unitdir}/ | ||
23 | install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ | 20 | install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ |
24 | install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/ | ||
25 | sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service | ||
26 | sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service | ||
27 | 21 | ||
28 | tmp="${SERIAL_CONSOLES}" | 22 | tmp="${SERIAL_CONSOLES}" |
29 | for entry in $tmp ; do | 23 | for entry in $tmp ; do |
@@ -35,7 +29,7 @@ do_install() { | |||
35 | ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service | 29 | ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service |
36 | else | 30 | else |
37 | # install custom service file for the non-default baudrate | 31 | # install custom service file for the non-default baudrate |
38 | install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service | 32 | install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service |
39 | sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service | 33 | sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service |
40 | # enable the service | 34 | # enable the service |
41 | ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \ | 35 | ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \ |
@@ -46,7 +40,7 @@ do_install() { | |||
46 | } | 40 | } |
47 | 41 | ||
48 | # This is a machine specific file | 42 | # This is a machine specific file |
49 | FILES:${PN} = "${systemd_system_unitdir}/*.service ${sysconfdir}" | ||
50 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 43 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
44 | FILES:${PN} = "${sysconfdir}" | ||
51 | 45 | ||
52 | ALLOW_EMPTY:${PN} = "1" | 46 | ALLOW_EMPTY:${PN} = "1" |
diff --git a/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service deleted file mode 100644 index b16fe1188e..0000000000 --- a/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | # SPDX-License-Identifier: LGPL-2.1+ | ||
2 | # | ||
3 | # This file is part of systemd. | ||
4 | # | ||
5 | # systemd is free software; you can redistribute it and/or modify it | ||
6 | # under the terms of the GNU Lesser General Public License as published by | ||
7 | # the Free Software Foundation; either version 2.1 of the License, or | ||
8 | # (at your option) any later version. | ||
9 | |||
10 | [Unit] | ||
11 | Description=Serial Getty on %I | ||
12 | Documentation=man:agetty(8) man:systemd-getty-generator(8) | ||
13 | Documentation=http://0pointer.de/blog/projects/serial-console.html | ||
14 | PartOf=dev-%i.device | ||
15 | ConditionPathExists=/dev/%i | ||
16 | After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target | ||
17 | After=rc-local.service | ||
18 | |||
19 | # If additional gettys are spawned during boot then we should make | ||
20 | # sure that this is synchronized before getty.target, even though | ||
21 | # getty.target didn't actually pull it in. | ||
22 | Before=getty.target | ||
23 | IgnoreOnIsolate=yes | ||
24 | |||
25 | # IgnoreOnIsolate causes issues with sulogin, if someone isolates | ||
26 | # rescue.target or starts rescue.service from multi-user.target or | ||
27 | # graphical.target. | ||
28 | Conflicts=rescue.service | ||
29 | Before=rescue.service | ||
30 | |||
31 | [Service] | ||
32 | Environment="TERM=@TERM@" | ||
33 | ExecStart=-/sbin/agetty -8 -L %I @BAUDRATE@ $TERM | ||
34 | Type=idle | ||
35 | Restart=always | ||
36 | UtmpIdentifier=%I | ||
37 | TTYPath=/dev/%I | ||
38 | TTYReset=yes | ||
39 | TTYVHangup=yes | ||
40 | KillMode=process | ||
41 | IgnoreSIGPIPE=no | ||
42 | SendSIGHUP=yes | ||
43 | |||
44 | [Install] | ||
45 | WantedBy=getty.target | ||
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native.bb b/meta/recipes-core/systemd/systemd-systemctl-native.bb deleted file mode 100644 index 54283bcba1..0000000000 --- a/meta/recipes-core/systemd/systemd-systemctl-native.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | SUMMARY = "Wrapper for enabling systemd services" | ||
2 | |||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | |||
7 | inherit native | ||
8 | |||
9 | SRC_URI = "file://systemctl" | ||
10 | |||
11 | S = "${WORKDIR}" | ||
12 | |||
13 | do_install() { | ||
14 | install -d ${D}${bindir} | ||
15 | install -m 0755 ${WORKDIR}/systemctl ${D}${bindir} | ||
16 | } | ||
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb b/meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb new file mode 100644 index 0000000000..041a040a26 --- /dev/null +++ b/meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "Systemctl executable from systemd" | ||
2 | |||
3 | require systemd.inc | ||
4 | |||
5 | DEPENDS = "gperf-native libcap-native util-linux-native python3-jinja2-native" | ||
6 | |||
7 | inherit pkgconfig meson native | ||
8 | |||
9 | MESON_TARGET = "systemctl:executable" | ||
10 | MESON_INSTALL_TAGS = "systemctl" | ||
11 | EXTRA_OEMESON += "-Dlink-systemctl-shared=false" | ||
12 | |||
13 | # Systemctl is supposed to operate on target, but the target sysroot is not | ||
14 | # determined at run-time, but rather set during configure | ||
15 | # More details are here https://github.com/systemd/systemd/issues/35897#issuecomment-2665405887 | ||
16 | EXTRA_OEMESON += "--sysconfdir ${sysconfdir_native}" | ||
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl deleted file mode 100755 index 2229bc7b6d..0000000000 --- a/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ /dev/null | |||
@@ -1,362 +0,0 @@ | |||
1 | #!/usr/bin/env python3 | ||
2 | """systemctl: subset of systemctl used for image construction | ||
3 | |||
4 | Mask/preset systemd units | ||
5 | """ | ||
6 | |||
7 | import argparse | ||
8 | import fnmatch | ||
9 | import os | ||
10 | import re | ||
11 | import sys | ||
12 | |||
13 | from collections import namedtuple | ||
14 | from itertools import chain | ||
15 | from pathlib import Path | ||
16 | |||
17 | version = 1.0 | ||
18 | |||
19 | ROOT = Path("/") | ||
20 | SYSCONFDIR = Path("etc") | ||
21 | BASE_LIBDIR = Path("lib") | ||
22 | LIBDIR = Path("usr", "lib") | ||
23 | |||
24 | locations = list() | ||
25 | |||
26 | |||
27 | class SystemdFile(): | ||
28 | """Class representing a single systemd configuration file""" | ||
29 | |||
30 | _clearable_keys = ['WantedBy'] | ||
31 | |||
32 | def __init__(self, root, path, instance_unit_name): | ||
33 | self.sections = dict() | ||
34 | self._parse(root, path) | ||
35 | dirname = os.path.basename(path.name) + ".d" | ||
36 | for location in locations: | ||
37 | files = (root / location / "system" / dirname).glob("*.conf") | ||
38 | if instance_unit_name: | ||
39 | inst_dirname = instance_unit_name + ".d" | ||
40 | files = chain(files, (root / location / "system" / inst_dirname).glob("*.conf")) | ||
41 | for path2 in sorted(files): | ||
42 | self._parse(root, path2) | ||
43 | |||
44 | def _parse(self, root, path): | ||
45 | """Parse a systemd syntax configuration file | ||
46 | |||
47 | Args: | ||
48 | path: A pathlib.Path object pointing to the file | ||
49 | |||
50 | """ | ||
51 | skip_re = re.compile(r"^\s*([#;]|$)") | ||
52 | section_re = re.compile(r"^\s*\[(?P<section>.*)\]") | ||
53 | kv_re = re.compile(r"^\s*(?P<key>[^\s]+)\s*=\s*(?P<value>.*)") | ||
54 | section = None | ||
55 | |||
56 | if path.is_symlink(): | ||
57 | try: | ||
58 | path.resolve() | ||
59 | except FileNotFoundError: | ||
60 | # broken symlink, try relative to root | ||
61 | path = root / Path(os.readlink(str(path))).relative_to(ROOT) | ||
62 | |||
63 | with path.open() as f: | ||
64 | for line in f: | ||
65 | if skip_re.match(line): | ||
66 | continue | ||
67 | |||
68 | line = line.strip() | ||
69 | m = section_re.match(line) | ||
70 | if m: | ||
71 | if m.group('section') not in self.sections: | ||
72 | section = dict() | ||
73 | self.sections[m.group('section')] = section | ||
74 | else: | ||
75 | section = self.sections[m.group('section')] | ||
76 | continue | ||
77 | |||
78 | while line.endswith("\\"): | ||
79 | line += f.readline().rstrip("\n") | ||
80 | |||
81 | m = kv_re.match(line) | ||
82 | k = m.group('key') | ||
83 | v = m.group('value') | ||
84 | if k not in section: | ||
85 | section[k] = list() | ||
86 | |||
87 | # If we come across a "key=" line for a "clearable key", then | ||
88 | # forget all preceding assignments. This works because we are | ||
89 | # processing files in correct parse order. | ||
90 | if k in self._clearable_keys and not v: | ||
91 | del section[k] | ||
92 | continue | ||
93 | |||
94 | section[k].extend(v.split()) | ||
95 | |||
96 | def get(self, section, prop): | ||
97 | """Get a property from section | ||
98 | |||
99 | Args: | ||
100 | section: Section to retrieve property from | ||
101 | prop: Property to retrieve | ||
102 | |||
103 | Returns: | ||
104 | List representing all properties of type prop in section. | ||
105 | |||
106 | Raises: | ||
107 | KeyError: if ``section`` or ``prop`` not found | ||
108 | """ | ||
109 | return self.sections[section][prop] | ||
110 | |||
111 | |||
112 | class Presets(): | ||
113 | """Class representing all systemd presets""" | ||
114 | def __init__(self, scope, root): | ||
115 | self.directives = list() | ||
116 | self._collect_presets(scope, root) | ||
117 | |||
118 | def _parse_presets(self, presets): | ||
119 | """Parse presets out of a set of preset files""" | ||
120 | skip_re = re.compile(r"^\s*([#;]|$)") | ||
121 | directive_re = re.compile(r"^\s*(?P<action>enable|disable)\s+(?P<unit_name>(.+))") | ||
122 | |||
123 | Directive = namedtuple("Directive", "action unit_name") | ||
124 | for preset in presets: | ||
125 | with preset.open() as f: | ||
126 | for line in f: | ||
127 | m = directive_re.match(line) | ||
128 | if m: | ||
129 | directive = Directive(action=m.group('action'), | ||
130 | unit_name=m.group('unit_name')) | ||
131 | self.directives.append(directive) | ||
132 | elif skip_re.match(line): | ||
133 | pass | ||
134 | else: | ||
135 | sys.exit("Unparsed preset line in {}".format(preset)) | ||
136 | |||
137 | def _collect_presets(self, scope, root): | ||
138 | """Collect list of preset files""" | ||
139 | presets = dict() | ||
140 | for location in locations: | ||
141 | paths = (root / location / scope).glob("*.preset") | ||
142 | for path in paths: | ||
143 | # earlier names override later ones | ||
144 | if path.name not in presets: | ||
145 | presets[path.name] = path | ||
146 | |||
147 | self._parse_presets([v for k, v in sorted(presets.items())]) | ||
148 | |||
149 | def state(self, unit_name): | ||
150 | """Return state of preset for unit_name | ||
151 | |||
152 | Args: | ||
153 | presets: set of presets | ||
154 | unit_name: name of the unit | ||
155 | |||
156 | Returns: | ||
157 | None: no matching preset | ||
158 | `enable`: unit_name is enabled | ||
159 | `disable`: unit_name is disabled | ||
160 | """ | ||
161 | for directive in self.directives: | ||
162 | if fnmatch.fnmatch(unit_name, directive.unit_name): | ||
163 | return directive.action | ||
164 | |||
165 | return None | ||
166 | |||
167 | |||
168 | def add_link(path, target): | ||
169 | try: | ||
170 | path.parent.mkdir(parents=True) | ||
171 | except FileExistsError: | ||
172 | pass | ||
173 | if not path.is_symlink(): | ||
174 | print("ln -s {} {}".format(target, path)) | ||
175 | path.symlink_to(target) | ||
176 | |||
177 | |||
178 | class SystemdUnitNotFoundError(Exception): | ||
179 | def __init__(self, path, unit): | ||
180 | self.path = path | ||
181 | self.unit = unit | ||
182 | |||
183 | |||
184 | class SystemdUnit(): | ||
185 | def __init__(self, root, unit): | ||
186 | self.root = root | ||
187 | self.unit = unit | ||
188 | self.config = None | ||
189 | |||
190 | def _path_for_unit(self, unit): | ||
191 | for location in locations: | ||
192 | path = self.root / location / "system" / unit | ||
193 | if path.exists() or path.is_symlink(): | ||
194 | return path | ||
195 | |||
196 | raise SystemdUnitNotFoundError(self.root, unit) | ||
197 | |||
198 | def _process_deps(self, config, service, location, prop, dirstem, instance): | ||
199 | systemdir = self.root / SYSCONFDIR / "systemd" / "system" | ||
200 | |||
201 | target = ROOT / location.relative_to(self.root) | ||
202 | try: | ||
203 | for dependent in config.get('Install', prop): | ||
204 | # expand any %i to instance (ignoring escape sequence %%) | ||
205 | dependent = re.sub("([^%](%%)*)%i", "\\g<1>{}".format(instance), dependent) | ||
206 | wants = systemdir / "{}.{}".format(dependent, dirstem) / service | ||
207 | add_link(wants, target) | ||
208 | |||
209 | except KeyError: | ||
210 | pass | ||
211 | |||
212 | def enable(self, units_enabled=[]): | ||
213 | # if we're enabling an instance, first extract the actual instance | ||
214 | # then figure out what the template unit is | ||
215 | template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", self.unit) | ||
216 | instance_unit_name = None | ||
217 | if template: | ||
218 | instance = template.group('instance') | ||
219 | if instance != "": | ||
220 | instance_unit_name = self.unit | ||
221 | unit = re.sub(r"@[^\.]*\.", "@.", self.unit, 1) | ||
222 | else: | ||
223 | instance = None | ||
224 | unit = self.unit | ||
225 | |||
226 | path = self._path_for_unit(unit) | ||
227 | |||
228 | if path.is_symlink(): | ||
229 | # ignore aliases | ||
230 | return | ||
231 | |||
232 | config = SystemdFile(self.root, path, instance_unit_name) | ||
233 | if instance == "": | ||
234 | try: | ||
235 | default_instance = config.get('Install', 'DefaultInstance')[0] | ||
236 | except KeyError: | ||
237 | # no default instance, so nothing to enable | ||
238 | return | ||
239 | |||
240 | service = self.unit.replace("@.", | ||
241 | "@{}.".format(default_instance)) | ||
242 | else: | ||
243 | service = self.unit | ||
244 | |||
245 | self._process_deps(config, service, path, 'WantedBy', 'wants', instance) | ||
246 | self._process_deps(config, service, path, 'RequiredBy', 'requires', instance) | ||
247 | |||
248 | try: | ||
249 | for also in config.get('Install', 'Also'): | ||
250 | try: | ||
251 | units_enabled.append(unit) | ||
252 | if also not in units_enabled: | ||
253 | SystemdUnit(self.root, also).enable(units_enabled) | ||
254 | except SystemdUnitNotFoundError as e: | ||
255 | sys.exit("Error: Systemctl also enable issue with %s (%s)" % (service, e.unit)) | ||
256 | |||
257 | except KeyError: | ||
258 | pass | ||
259 | |||
260 | systemdir = self.root / SYSCONFDIR / "systemd" / "system" | ||
261 | target = ROOT / path.relative_to(self.root) | ||
262 | try: | ||
263 | for dest in config.get('Install', 'Alias'): | ||
264 | alias = systemdir / dest | ||
265 | add_link(alias, target) | ||
266 | |||
267 | except KeyError: | ||
268 | pass | ||
269 | |||
270 | def mask(self): | ||
271 | systemdir = self.root / SYSCONFDIR / "systemd" / "system" | ||
272 | add_link(systemdir / self.unit, "/dev/null") | ||
273 | |||
274 | |||
275 | def collect_services(root): | ||
276 | """Collect list of service files""" | ||
277 | services = set() | ||
278 | for location in locations: | ||
279 | paths = (root / location / "system").glob("*") | ||
280 | for path in paths: | ||
281 | if path.is_dir(): | ||
282 | continue | ||
283 | services.add(path.name) | ||
284 | |||
285 | return services | ||
286 | |||
287 | |||
288 | def preset_all(root): | ||
289 | presets = Presets('system-preset', root) | ||
290 | services = collect_services(root) | ||
291 | |||
292 | for service in services: | ||
293 | state = presets.state(service) | ||
294 | |||
295 | if state == "enable" or state is None: | ||
296 | try: | ||
297 | SystemdUnit(root, service).enable() | ||
298 | except SystemdUnitNotFoundError: | ||
299 | sys.exit("Error: Systemctl preset_all issue in %s" % service) | ||
300 | |||
301 | # If we populate the systemd links we also create /etc/machine-id, which | ||
302 | # allows systemd to boot with the filesystem read-only before generating | ||
303 | # a real value and then committing it back. | ||
304 | # | ||
305 | # For the stateless configuration, where /etc is generated at runtime | ||
306 | # (for example on a tmpfs), this script shouldn't run at all and we | ||
307 | # allow systemd to completely populate /etc. | ||
308 | (root / SYSCONFDIR / "machine-id").touch() | ||
309 | |||
310 | |||
311 | def main(): | ||
312 | if sys.version_info < (3, 4, 0): | ||
313 | sys.exit("Python 3.4 or greater is required") | ||
314 | |||
315 | parser = argparse.ArgumentParser() | ||
316 | parser.add_argument('command', nargs='?', choices=['enable', 'mask', | ||
317 | 'preset-all']) | ||
318 | parser.add_argument('service', nargs=argparse.REMAINDER) | ||
319 | parser.add_argument('--root') | ||
320 | parser.add_argument('--preset-mode', | ||
321 | choices=['full', 'enable-only', 'disable-only'], | ||
322 | default='full') | ||
323 | |||
324 | args = parser.parse_args() | ||
325 | |||
326 | root = Path(args.root) if args.root else ROOT | ||
327 | |||
328 | locations.append(SYSCONFDIR / "systemd") | ||
329 | # Handle the usrmerge case by ignoring /lib when it's a symlink | ||
330 | if not (root / BASE_LIBDIR).is_symlink(): | ||
331 | locations.append(BASE_LIBDIR / "systemd") | ||
332 | locations.append(LIBDIR / "systemd") | ||
333 | |||
334 | command = args.command | ||
335 | if not command: | ||
336 | parser.print_help() | ||
337 | return 0 | ||
338 | |||
339 | if command == "mask": | ||
340 | for service in args.service: | ||
341 | try: | ||
342 | SystemdUnit(root, service).mask() | ||
343 | except SystemdUnitNotFoundError as e: | ||
344 | sys.exit("Error: Systemctl main mask issue in %s (%s)" % (service, e.unit)) | ||
345 | elif command == "enable": | ||
346 | for service in args.service: | ||
347 | try: | ||
348 | SystemdUnit(root, service).enable() | ||
349 | except SystemdUnitNotFoundError as e: | ||
350 | sys.exit("Error: Systemctl main enable issue in %s (%s)" % (service, e.unit)) | ||
351 | elif command == "preset-all": | ||
352 | if len(args.service) != 0: | ||
353 | sys.exit("Too many arguments.") | ||
354 | if args.preset_mode != "enable-only": | ||
355 | sys.exit("Only enable-only is supported as preset-mode.") | ||
356 | preset_all(root) | ||
357 | else: | ||
358 | raise RuntimeError() | ||
359 | |||
360 | |||
361 | if __name__ == '__main__': | ||
362 | main() | ||
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index a35db5091e..101457140f 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc | |||
@@ -15,8 +15,8 @@ LICENSE:libsystemd = "LGPL-2.1-or-later" | |||
15 | LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ | 15 | LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ |
16 | file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | 16 | file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" |
17 | 17 | ||
18 | SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738" | 18 | SRCREV = "00a12c234e2506f5cab683460199575f13c454db" |
19 | SRCBRANCH = "v255-stable" | 19 | SRCBRANCH = "v257-stable" |
20 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}" | 20 | SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | 22 | CVE_PRODUCT = "systemd" |
diff --git a/meta/recipes-core/systemd/systemd/00-create-volatile.conf b/meta/recipes-core/systemd/systemd/00-create-volatile.conf index c4277221a2..1092bda010 100644 --- a/meta/recipes-core/systemd/systemd/00-create-volatile.conf +++ b/meta/recipes-core/systemd/systemd/00-create-volatile.conf | |||
@@ -1,8 +1,9 @@ | |||
1 | #This goes hand-in-hand with the base-files of OE-Core. The file must | 1 | # This goes hand-in-hand with the base-files of OE-Core. The file must |
2 | # be sorted before 'systemd.conf' becuase this attempts to create a file | 2 | # be sorted before 'systemd.conf' because this attempts to create a file |
3 | # inside /var/log. | 3 | # inside /var/log. |
4 | 4 | ||
5 | 5 | ||
6 | d /run/lock 1777 - - - | 6 | d /run/lock 1777 - - - |
7 | d /var/volatile/log - - - - | 7 | d /var/volatile/log - - - - |
8 | d /var/volatile/tmp 1777 - - | 8 | d /var/volatile/tmp 1777 - - |
9 | L /var/tmp - - - - /var/volatile/tmp | ||
diff --git a/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch b/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch new file mode 100644 index 0000000000..850e356b2f --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 425ad51e727058b48dd4580fd6afe7e51e96a28a Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Kjellerstedt <pkj@axis.com> | ||
3 | Date: Tue, 21 Jan 2025 05:02:00 +0100 | ||
4 | Subject: [PATCH] Do not create /var/log/README | ||
5 | |||
6 | /var/log/README is a link to /usr/share/doc/systemd/README.logs. The | ||
7 | latter is packaged in systemd-doc and likely not installed, which leaves | ||
8 | /var/log/README as a dead link. Since /var/log/README is not very | ||
9 | useful, just remove it. | ||
10 | |||
11 | Upstream-Status: Inappropriate [OE specific] | ||
12 | Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> | ||
13 | --- | ||
14 | tmpfiles.d/legacy.conf.in | 3 --- | ||
15 | 1 file changed, 3 deletions(-) | ||
16 | |||
17 | diff --git a/tmpfiles.d/legacy.conf.in b/tmpfiles.d/legacy.conf.in | ||
18 | index b475500e58..650c91a8da 100644 | ||
19 | --- a/tmpfiles.d/legacy.conf.in | ||
20 | +++ b/tmpfiles.d/legacy.conf.in | ||
21 | @@ -13,9 +13,6 @@ | ||
22 | |||
23 | d /run/lock 0755 root root - | ||
24 | L /var/lock - - - - ../run/lock | ||
25 | -{% if CREATE_LOG_DIRS %} | ||
26 | -L$ /var/log/README - - - - ../..{{DOC_DIR}}/README.logs | ||
27 | -{% endif %} | ||
28 | |||
29 | {% if HAVE_SYSV_COMPAT %} | ||
30 | # /run/lock/subsys is used for serializing SysV service execution, and | ||
diff --git a/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch index be231cf6b2..5101f9227e 100644 --- a/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch +++ b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001 | 1 | From e5fd143f215f072404c544f694cb026a4231503e Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 | 3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 |
4 | Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time | 4 | Subject: [PATCH 01/26] binfmt: Don't install dependency links at install time |
5 | for the binfmt services | 5 | for the binfmt services |
6 | 6 | ||
7 | use [Install] blocks so that they get created when the service is enabled | 7 | use [Install] blocks so that they get created when the service is enabled |
@@ -25,10 +25,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
25 | 3 files changed, 7 insertions(+), 2 deletions(-) | 25 | 3 files changed, 7 insertions(+), 2 deletions(-) |
26 | 26 | ||
27 | diff --git a/units/meson.build b/units/meson.build | 27 | diff --git a/units/meson.build b/units/meson.build |
28 | index e7bfb7f838..1d5ec4b178 100644 | 28 | index 96f4852741..0a3a4fee67 100644 |
29 | --- a/units/meson.build | 29 | --- a/units/meson.build |
30 | +++ b/units/meson.build | 30 | +++ b/units/meson.build |
31 | @@ -154,7 +154,6 @@ units = [ | 31 | @@ -156,7 +156,6 @@ units = [ |
32 | { | 32 | { |
33 | 'file' : 'proc-sys-fs-binfmt_misc.automount', | 33 | 'file' : 'proc-sys-fs-binfmt_misc.automount', |
34 | 'conditions' : ['ENABLE_BINFMT'], | 34 | 'conditions' : ['ENABLE_BINFMT'], |
@@ -36,7 +36,7 @@ index e7bfb7f838..1d5ec4b178 100644 | |||
36 | }, | 36 | }, |
37 | { | 37 | { |
38 | 'file' : 'proc-sys-fs-binfmt_misc.mount', | 38 | 'file' : 'proc-sys-fs-binfmt_misc.mount', |
39 | @@ -251,7 +250,6 @@ units = [ | 39 | @@ -258,7 +257,6 @@ units = [ |
40 | { | 40 | { |
41 | 'file' : 'systemd-binfmt.service.in', | 41 | 'file' : 'systemd-binfmt.service.in', |
42 | 'conditions' : ['ENABLE_BINFMT'], | 42 | 'conditions' : ['ENABLE_BINFMT'], |
@@ -45,7 +45,7 @@ index e7bfb7f838..1d5ec4b178 100644 | |||
45 | { | 45 | { |
46 | 'file' : 'systemd-bless-boot.service.in', | 46 | 'file' : 'systemd-bless-boot.service.in', |
47 | diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount | 47 | diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount |
48 | index 5d212015a5..6c2900ca77 100644 | 48 | index 7ec21e76c9..fee4d1345f 100644 |
49 | --- a/units/proc-sys-fs-binfmt_misc.automount | 49 | --- a/units/proc-sys-fs-binfmt_misc.automount |
50 | +++ b/units/proc-sys-fs-binfmt_misc.automount | 50 | +++ b/units/proc-sys-fs-binfmt_misc.automount |
51 | @@ -22,3 +22,6 @@ Before=shutdown.target | 51 | @@ -22,3 +22,6 @@ Before=shutdown.target |
@@ -56,11 +56,11 @@ index 5d212015a5..6c2900ca77 100644 | |||
56 | +[Install] | 56 | +[Install] |
57 | +WantedBy=sysinit.target | 57 | +WantedBy=sysinit.target |
58 | diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in | 58 | diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in |
59 | index 6861c76674..531e9fbd90 100644 | 59 | index 318bf8efc2..6ef684861d 100644 |
60 | --- a/units/systemd-binfmt.service.in | 60 | --- a/units/systemd-binfmt.service.in |
61 | +++ b/units/systemd-binfmt.service.in | 61 | +++ b/units/systemd-binfmt.service.in |
62 | @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html | 62 | @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html |
63 | Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems | 63 | Documentation=https://systemd.io/API_FILE_SYSTEMS |
64 | DefaultDependencies=no | 64 | DefaultDependencies=no |
65 | Conflicts=shutdown.target | 65 | Conflicts=shutdown.target |
66 | +Wants=proc-sys-fs-binfmt_misc.automount | 66 | +Wants=proc-sys-fs-binfmt_misc.automount |
diff --git a/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch b/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch index acff18dc43..d8bb572261 100644 --- a/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch +++ b/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 | 1 | From fab8c573d06340868f070446118673b1c23584c5 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 | 3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 |
4 | Subject: [PATCH] implment systemd-sysv-install for OE | 4 | Subject: [PATCH 02/26] implment systemd-sysv-install for OE |
5 | 5 | ||
6 | Use update-rc.d for enabling/disabling and status command | 6 | Use update-rc.d for enabling/disabling and status command |
7 | to check the status of the sysv service | 7 | to check the status of the sysv service |
@@ -39,5 +39,5 @@ index cb58d8243b..000bdf6165 100755 | |||
39 | *) | 39 | *) |
40 | usage ;; | 40 | usage ;; |
41 | -- | 41 | -- |
42 | 2.39.2 | 42 | 2.34.1 |
43 | 43 | ||
diff --git a/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch index 2aa5dee6b5..f2094eb71d 100644 --- a/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch +++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001 | 1 | From f99ef6c4407b56e8d15455fe27eb732ada87215b Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 | 3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 |
4 | Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t | 4 | Subject: [PATCH 03/26] missing_type.h: add comparison_fn_t |
5 | 5 | ||
6 | Make it work with musl where comparison_fn_t and is not provided. | 6 | Make it work with musl where comparison_fn_t and is not provided. |
7 | 7 | ||
@@ -21,12 +21,12 @@ Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | |||
21 | 3 files changed, 6 insertions(+) | 21 | 3 files changed, 6 insertions(+) |
22 | 22 | ||
23 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | 23 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h |
24 | index f6233090a9..6c0456349d 100644 | 24 | index 1d17705c35..fc33b76ec1 100644 |
25 | --- a/src/basic/missing_type.h | 25 | --- a/src/basic/missing_type.h |
26 | +++ b/src/basic/missing_type.h | 26 | +++ b/src/basic/missing_type.h |
27 | @@ -10,3 +10,7 @@ | 27 | @@ -10,3 +10,7 @@ |
28 | #if !HAVE_CHAR16_T | 28 | #if !HAVE_CHAR16_T |
29 | #define char16_t uint16_t | 29 | # define char16_t uint16_t |
30 | #endif | 30 | #endif |
31 | + | 31 | + |
32 | +#ifndef __GLIBC__ | 32 | +#ifndef __GLIBC__ |
@@ -45,10 +45,10 @@ index 9c818bd747..ef10c8be2c 100644 | |||
45 | /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the | 45 | /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the |
46 | * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that | 46 | * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that |
47 | diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c | 47 | diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c |
48 | index ae91534198..7f67eea38b 100644 | 48 | index 7dcc35d8d5..87b8d6aad6 100644 |
49 | --- a/src/libsystemd/sd-journal/catalog.c | 49 | --- a/src/libsystemd/sd-journal/catalog.c |
50 | +++ b/src/libsystemd/sd-journal/catalog.c | 50 | +++ b/src/libsystemd/sd-journal/catalog.c |
51 | @@ -28,6 +28,7 @@ | 51 | @@ -29,6 +29,7 @@ |
52 | #include "string-util.h" | 52 | #include "string-util.h" |
53 | #include "strv.h" | 53 | #include "strv.h" |
54 | #include "tmpfile-util.h" | 54 | #include "tmpfile-util.h" |
diff --git a/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch deleted file mode 100644 index 5595b5bc23..0000000000 --- a/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch +++ /dev/null | |||
@@ -1,699 +0,0 @@ | |||
1 | From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Mon, 25 Feb 2019 14:18:21 +0800 | ||
4 | Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa | ||
5 | |||
6 | include missing.h for definition of strndupa | ||
7 | |||
8 | Upstream-Status: Inappropriate [musl specific] | ||
9 | |||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
12 | [Rebased for v242] | ||
13 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
14 | [rebased for systemd 243] | ||
15 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
16 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
17 | [rebased for systemd 244] | ||
18 | [Rebased for v247] | ||
19 | Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | ||
20 | [Rebased for v254] | ||
21 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
22 | [Rebased for v255.1] | ||
23 | --- | ||
24 | meson.build | 1 + | ||
25 | src/backlight/backlight.c | 1 + | ||
26 | src/basic/cgroup-util.c | 1 + | ||
27 | src/basic/env-util.c | 1 + | ||
28 | src/basic/log.c | 1 + | ||
29 | src/basic/missing_stdlib.h | 12 ++++++++++++ | ||
30 | src/basic/mkdir.c | 1 + | ||
31 | src/basic/mountpoint-util.c | 1 + | ||
32 | src/basic/parse-util.c | 1 + | ||
33 | src/basic/path-lookup.c | 1 + | ||
34 | src/basic/percent-util.c | 1 + | ||
35 | src/basic/proc-cmdline.c | 1 + | ||
36 | src/basic/procfs-util.c | 1 + | ||
37 | src/basic/time-util.c | 1 + | ||
38 | src/boot/bless-boot.c | 1 + | ||
39 | src/core/dbus-cgroup.c | 1 + | ||
40 | src/core/dbus-execute.c | 1 + | ||
41 | src/core/dbus-util.c | 1 + | ||
42 | src/core/execute.c | 1 + | ||
43 | src/core/kmod-setup.c | 1 + | ||
44 | src/core/service.c | 1 + | ||
45 | src/coredump/coredump-vacuum.c | 1 + | ||
46 | src/fstab-generator/fstab-generator.c | 1 + | ||
47 | src/journal-remote/journal-remote-main.c | 1 + | ||
48 | src/journal/journalctl.c | 1 + | ||
49 | src/libsystemd/sd-bus/bus-message.c | 1 + | ||
50 | src/libsystemd/sd-bus/bus-objects.c | 1 + | ||
51 | src/libsystemd/sd-bus/bus-socket.c | 1 + | ||
52 | src/libsystemd/sd-bus/sd-bus.c | 1 + | ||
53 | src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + | ||
54 | src/libsystemd/sd-journal/sd-journal.c | 1 + | ||
55 | src/login/pam_systemd.c | 1 + | ||
56 | src/network/generator/network-generator.c | 1 + | ||
57 | src/nspawn/nspawn-settings.c | 1 + | ||
58 | src/nss-mymachines/nss-mymachines.c | 1 + | ||
59 | src/portable/portable.c | 1 + | ||
60 | src/resolve/resolvectl.c | 1 + | ||
61 | src/shared/bus-get-properties.c | 1 + | ||
62 | src/shared/bus-unit-procs.c | 1 + | ||
63 | src/shared/bus-unit-util.c | 1 + | ||
64 | src/shared/bus-util.c | 1 + | ||
65 | src/shared/dns-domain.c | 1 + | ||
66 | src/shared/journal-importer.c | 1 + | ||
67 | src/shared/logs-show.c | 1 + | ||
68 | src/shared/pager.c | 1 + | ||
69 | src/socket-proxy/socket-proxyd.c | 1 + | ||
70 | src/test/test-hexdecoct.c | 1 + | ||
71 | src/udev/udev-builtin-net_id.c | 1 + | ||
72 | src/udev/udev-builtin-path_id.c | 1 + | ||
73 | src/udev/udev-event.c | 1 + | ||
74 | src/udev/udev-rules.c | 1 + | ||
75 | 51 files changed, 62 insertions(+) | ||
76 | |||
77 | diff --git a/meson.build b/meson.build | ||
78 | index 01fd3ffc19..61a872b753 100644 | ||
79 | --- a/meson.build | ||
80 | +++ b/meson.build | ||
81 | @@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] | ||
82 | endforeach | ||
83 | |||
84 | foreach ident : [ | ||
85 | + ['strndupa' , '''#include <string.h>'''], | ||
86 | ['memfd_create', '''#include <sys/mman.h>'''], | ||
87 | ['gettid', '''#include <sys/types.h> | ||
88 | #include <unistd.h>'''], | ||
89 | diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c | ||
90 | index 5ac9f904a9..99d5122dd7 100644 | ||
91 | --- a/src/backlight/backlight.c | ||
92 | +++ b/src/backlight/backlight.c | ||
93 | @@ -20,6 +20,7 @@ | ||
94 | #include "string-util.h" | ||
95 | #include "strv.h" | ||
96 | #include "terminal-util.h" | ||
97 | +#include "missing_stdlib.h" | ||
98 | |||
99 | #define PCI_CLASS_GRAPHICS_CARD 0x30000 | ||
100 | |||
101 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c | ||
102 | index 18b16ecc0e..d2be79622f 100644 | ||
103 | --- a/src/basic/cgroup-util.c | ||
104 | +++ b/src/basic/cgroup-util.c | ||
105 | @@ -38,6 +38,7 @@ | ||
106 | #include "unit-name.h" | ||
107 | #include "user-util.h" | ||
108 | #include "xattr-util.h" | ||
109 | +#include "missing_stdlib.h" | ||
110 | |||
111 | static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { | ||
112 | _cleanup_free_ char *fs = NULL; | ||
113 | diff --git a/src/basic/env-util.c b/src/basic/env-util.c | ||
114 | index d3bf73385f..16b17358ca 100644 | ||
115 | --- a/src/basic/env-util.c | ||
116 | +++ b/src/basic/env-util.c | ||
117 | @@ -19,6 +19,7 @@ | ||
118 | #include "string-util.h" | ||
119 | #include "strv.h" | ||
120 | #include "utf8.h" | ||
121 | +#include "missing_stdlib.h" | ||
122 | |||
123 | /* We follow bash for the character set. Different shells have different rules. */ | ||
124 | #define VALID_BASH_ENV_NAME_CHARS \ | ||
125 | diff --git a/src/basic/log.c b/src/basic/log.c | ||
126 | index 1470611a75..9924ec2b9a 100644 | ||
127 | --- a/src/basic/log.c | ||
128 | +++ b/src/basic/log.c | ||
129 | @@ -40,6 +40,7 @@ | ||
130 | #include "terminal-util.h" | ||
131 | #include "time-util.h" | ||
132 | #include "utf8.h" | ||
133 | +#include "missing_stdlib.h" | ||
134 | |||
135 | #define SNDBUF_SIZE (8*1024*1024) | ||
136 | #define IOVEC_MAX 256U | ||
137 | diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h | ||
138 | index 8c76f93eb2..9068bfb4f0 100644 | ||
139 | --- a/src/basic/missing_stdlib.h | ||
140 | +++ b/src/basic/missing_stdlib.h | ||
141 | @@ -11,3 +11,15 @@ | ||
142 | # error "neither secure_getenv nor __secure_getenv are available" | ||
143 | # endif | ||
144 | #endif | ||
145 | + | ||
146 | +/* string.h */ | ||
147 | +#if ! HAVE_STRNDUPA | ||
148 | +#define strndupa(s, n) \ | ||
149 | + ({ \ | ||
150 | + const char *__old = (s); \ | ||
151 | + size_t __len = strnlen(__old, (n)); \ | ||
152 | + char *__new = (char *)alloca(__len + 1); \ | ||
153 | + __new[__len] = '\0'; \ | ||
154 | + (char *)memcpy(__new, __old, __len); \ | ||
155 | + }) | ||
156 | +#endif | ||
157 | diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c | ||
158 | index c770e5ed32..1fd8816cd0 100644 | ||
159 | --- a/src/basic/mkdir.c | ||
160 | +++ b/src/basic/mkdir.c | ||
161 | @@ -16,6 +16,7 @@ | ||
162 | #include "stat-util.h" | ||
163 | #include "stdio-util.h" | ||
164 | #include "user-util.h" | ||
165 | +#include "missing_stdlib.h" | ||
166 | |||
167 | int mkdirat_safe_internal( | ||
168 | int dir_fd, | ||
169 | diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c | ||
170 | index bf67f7e01a..409f8d8a73 100644 | ||
171 | --- a/src/basic/mountpoint-util.c | ||
172 | +++ b/src/basic/mountpoint-util.c | ||
173 | @@ -18,6 +18,7 @@ | ||
174 | #include "missing_stat.h" | ||
175 | #include "missing_syscall.h" | ||
176 | #include "mkdir.h" | ||
177 | +#include "missing_stdlib.h" | ||
178 | #include "mountpoint-util.h" | ||
179 | #include "nulstr-util.h" | ||
180 | #include "parse-util.h" | ||
181 | diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c | ||
182 | index 0430e33e40..f3728de026 100644 | ||
183 | --- a/src/basic/parse-util.c | ||
184 | +++ b/src/basic/parse-util.c | ||
185 | @@ -18,6 +18,7 @@ | ||
186 | #include "stat-util.h" | ||
187 | #include "string-util.h" | ||
188 | #include "strv.h" | ||
189 | +#include "missing_stdlib.h" | ||
190 | |||
191 | int parse_boolean(const char *v) { | ||
192 | if (!v) | ||
193 | diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c | ||
194 | index 4e3d59fc56..726e240df0 100644 | ||
195 | --- a/src/basic/path-lookup.c | ||
196 | +++ b/src/basic/path-lookup.c | ||
197 | @@ -16,6 +16,7 @@ | ||
198 | #include "strv.h" | ||
199 | #include "tmpfile-util.h" | ||
200 | #include "user-util.h" | ||
201 | +#include "missing_stdlib.h" | ||
202 | |||
203 | int xdg_user_runtime_dir(char **ret, const char *suffix) { | ||
204 | const char *e; | ||
205 | diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c | ||
206 | index cab9d0eaea..5f6ca258e9 100644 | ||
207 | --- a/src/basic/percent-util.c | ||
208 | +++ b/src/basic/percent-util.c | ||
209 | @@ -3,6 +3,7 @@ | ||
210 | #include "percent-util.h" | ||
211 | #include "string-util.h" | ||
212 | #include "parse-util.h" | ||
213 | +#include "missing_stdlib.h" | ||
214 | |||
215 | static int parse_parts_value_whole(const char *p, const char *symbol) { | ||
216 | const char *pc, *n; | ||
217 | diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c | ||
218 | index 522d8de1f4..7c129dc0fc 100644 | ||
219 | --- a/src/basic/proc-cmdline.c | ||
220 | +++ b/src/basic/proc-cmdline.c | ||
221 | @@ -16,6 +16,7 @@ | ||
222 | #include "string-util.h" | ||
223 | #include "strv.h" | ||
224 | #include "virt.h" | ||
225 | +#include "missing_stdlib.h" | ||
226 | |||
227 | int proc_cmdline_filter_pid1_args(char **argv, char ***ret) { | ||
228 | enum { | ||
229 | diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c | ||
230 | index d7cfcd9105..6cb0ddf575 100644 | ||
231 | --- a/src/basic/procfs-util.c | ||
232 | +++ b/src/basic/procfs-util.c | ||
233 | @@ -12,6 +12,7 @@ | ||
234 | #include "procfs-util.h" | ||
235 | #include "stdio-util.h" | ||
236 | #include "string-util.h" | ||
237 | +#include "missing_stdlib.h" | ||
238 | |||
239 | int procfs_get_pid_max(uint64_t *ret) { | ||
240 | _cleanup_free_ char *value = NULL; | ||
241 | diff --git a/src/basic/time-util.c b/src/basic/time-util.c | ||
242 | index f9014dc560..1d7840a5b5 100644 | ||
243 | --- a/src/basic/time-util.c | ||
244 | +++ b/src/basic/time-util.c | ||
245 | @@ -27,6 +27,7 @@ | ||
246 | #include "string-util.h" | ||
247 | #include "strv.h" | ||
248 | #include "time-util.h" | ||
249 | +#include "missing_stdlib.h" | ||
250 | |||
251 | static clockid_t map_clock_id(clockid_t c) { | ||
252 | |||
253 | diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c | ||
254 | index 0c0b4f23c7..68fe5ca509 100644 | ||
255 | --- a/src/boot/bless-boot.c | ||
256 | +++ b/src/boot/bless-boot.c | ||
257 | @@ -22,6 +22,7 @@ | ||
258 | #include "terminal-util.h" | ||
259 | #include "verbs.h" | ||
260 | #include "virt.h" | ||
261 | +#include "missing_stdlib.h" | ||
262 | |||
263 | static char **arg_path = NULL; | ||
264 | |||
265 | diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c | ||
266 | index 4237e694c0..05f9d9d9a9 100644 | ||
267 | --- a/src/core/dbus-cgroup.c | ||
268 | +++ b/src/core/dbus-cgroup.c | ||
269 | @@ -25,6 +25,7 @@ | ||
270 | #include "parse-util.h" | ||
271 | #include "path-util.h" | ||
272 | #include "percent-util.h" | ||
273 | +#include "missing_stdlib.h" | ||
274 | #include "socket-util.h" | ||
275 | |||
276 | BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); | ||
277 | diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c | ||
278 | index 4daa1cefd3..2c77901471 100644 | ||
279 | --- a/src/core/dbus-execute.c | ||
280 | +++ b/src/core/dbus-execute.c | ||
281 | @@ -42,6 +42,7 @@ | ||
282 | #include "unit-printf.h" | ||
283 | #include "user-util.h" | ||
284 | #include "utf8.h" | ||
285 | +#include "missing_stdlib.h" | ||
286 | |||
287 | BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); | ||
288 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); | ||
289 | diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c | ||
290 | index d680a64268..e59f48103e 100644 | ||
291 | --- a/src/core/dbus-util.c | ||
292 | +++ b/src/core/dbus-util.c | ||
293 | @@ -9,6 +9,7 @@ | ||
294 | #include "unit-printf.h" | ||
295 | #include "user-util.h" | ||
296 | #include "unit.h" | ||
297 | +#include "missing_stdlib.h" | ||
298 | |||
299 | int bus_property_get_triggered_unit( | ||
300 | sd_bus *bus, | ||
301 | diff --git a/src/core/execute.c b/src/core/execute.c | ||
302 | index ef0bf88687..bd3da0c401 100644 | ||
303 | --- a/src/core/execute.c | ||
304 | +++ b/src/core/execute.c | ||
305 | @@ -72,6 +72,7 @@ | ||
306 | #include "unit-serialize.h" | ||
307 | #include "user-util.h" | ||
308 | #include "utmp-wtmp.h" | ||
309 | +#include "missing_stdlib.h" | ||
310 | |||
311 | static bool is_terminal_input(ExecInput i) { | ||
312 | return IN_SET(i, | ||
313 | diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c | ||
314 | index b8e3f7aadd..8ce8ca68d8 100644 | ||
315 | --- a/src/core/kmod-setup.c | ||
316 | +++ b/src/core/kmod-setup.c | ||
317 | @@ -13,6 +13,7 @@ | ||
318 | #include "string-util.h" | ||
319 | #include "strv.h" | ||
320 | #include "virt.h" | ||
321 | +#include "missing_stdlib.h" | ||
322 | |||
323 | #if HAVE_KMOD | ||
324 | #include "module-util.h" | ||
325 | diff --git a/src/core/service.c b/src/core/service.c | ||
326 | index b9eb40c555..268fe7573b 100644 | ||
327 | --- a/src/core/service.c | ||
328 | +++ b/src/core/service.c | ||
329 | @@ -45,6 +45,7 @@ | ||
330 | #include "unit-name.h" | ||
331 | #include "unit.h" | ||
332 | #include "utf8.h" | ||
333 | +#include "missing_stdlib.h" | ||
334 | |||
335 | #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) | ||
336 | |||
337 | diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c | ||
338 | index 7e0c98cb7d..978a7f5874 100644 | ||
339 | --- a/src/coredump/coredump-vacuum.c | ||
340 | +++ b/src/coredump/coredump-vacuum.c | ||
341 | @@ -17,6 +17,7 @@ | ||
342 | #include "string-util.h" | ||
343 | #include "time-util.h" | ||
344 | #include "user-util.h" | ||
345 | +#include "missing_stdlib.h" | ||
346 | |||
347 | #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ | ||
348 | #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ | ||
349 | diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c | ||
350 | index 016f3baa7f..b1def81313 100644 | ||
351 | --- a/src/fstab-generator/fstab-generator.c | ||
352 | +++ b/src/fstab-generator/fstab-generator.c | ||
353 | @@ -37,6 +37,7 @@ | ||
354 | #include "unit-name.h" | ||
355 | #include "virt.h" | ||
356 | #include "volatile-util.h" | ||
357 | +#include "missing_stdlib.h" | ||
358 | |||
359 | typedef enum MountPointFlags { | ||
360 | MOUNT_NOAUTO = 1 << 0, | ||
361 | diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c | ||
362 | index da0f20d3ce..f22ce41908 100644 | ||
363 | --- a/src/journal-remote/journal-remote-main.c | ||
364 | +++ b/src/journal-remote/journal-remote-main.c | ||
365 | @@ -27,6 +27,7 @@ | ||
366 | #include "stat-util.h" | ||
367 | #include "string-table.h" | ||
368 | #include "strv.h" | ||
369 | +#include "missing_stdlib.h" | ||
370 | |||
371 | #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" | ||
372 | #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" | ||
373 | diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c | ||
374 | index 7f3dcd56a4..41b7cbaaf1 100644 | ||
375 | --- a/src/journal/journalctl.c | ||
376 | +++ b/src/journal/journalctl.c | ||
377 | @@ -77,6 +77,7 @@ | ||
378 | #include "unit-name.h" | ||
379 | #include "user-util.h" | ||
380 | #include "varlink.h" | ||
381 | +#include "missing_stdlib.h" | ||
382 | |||
383 | #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) | ||
384 | #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ | ||
385 | diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c | ||
386 | index ff0228081f..9066fcb133 100644 | ||
387 | --- a/src/libsystemd/sd-bus/bus-message.c | ||
388 | +++ b/src/libsystemd/sd-bus/bus-message.c | ||
389 | @@ -19,6 +19,7 @@ | ||
390 | #include "strv.h" | ||
391 | #include "time-util.h" | ||
392 | #include "utf8.h" | ||
393 | +#include "missing_stdlib.h" | ||
394 | |||
395 | static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); | ||
396 | static int message_parse_fields(sd_bus_message *m); | ||
397 | diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c | ||
398 | index c25c40ff37..57a5da704f 100644 | ||
399 | --- a/src/libsystemd/sd-bus/bus-objects.c | ||
400 | +++ b/src/libsystemd/sd-bus/bus-objects.c | ||
401 | @@ -11,6 +11,7 @@ | ||
402 | #include "missing_capability.h" | ||
403 | #include "string-util.h" | ||
404 | #include "strv.h" | ||
405 | +#include "missing_stdlib.h" | ||
406 | |||
407 | static int node_vtable_get_userdata( | ||
408 | sd_bus *bus, | ||
409 | diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c | ||
410 | index 3c59d0d615..746922d46f 100644 | ||
411 | --- a/src/libsystemd/sd-bus/bus-socket.c | ||
412 | +++ b/src/libsystemd/sd-bus/bus-socket.c | ||
413 | @@ -29,6 +29,7 @@ | ||
414 | #include "string-util.h" | ||
415 | #include "user-util.h" | ||
416 | #include "utf8.h" | ||
417 | +#include "missing_stdlib.h" | ||
418 | |||
419 | #define SNDBUF_SIZE (8*1024*1024) | ||
420 | |||
421 | diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c | ||
422 | index 4a0259f8bb..aaa90d2223 100644 | ||
423 | --- a/src/libsystemd/sd-bus/sd-bus.c | ||
424 | +++ b/src/libsystemd/sd-bus/sd-bus.c | ||
425 | @@ -46,6 +46,7 @@ | ||
426 | #include "string-util.h" | ||
427 | #include "strv.h" | ||
428 | #include "user-util.h" | ||
429 | +#include "missing_stdlib.h" | ||
430 | |||
431 | #define log_debug_bus_message(m) \ | ||
432 | do { \ | ||
433 | diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
434 | index d988588de0..458df8df9a 100644 | ||
435 | --- a/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
436 | +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
437 | @@ -14,6 +14,7 @@ | ||
438 | #include "string-util.h" | ||
439 | #include "tests.h" | ||
440 | #include "time-util.h" | ||
441 | +#include "missing_stdlib.h" | ||
442 | |||
443 | #define MAX_SIZE (2*1024*1024) | ||
444 | |||
445 | diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c | ||
446 | index 6b9ff0a4ed..4a5027ad0f 100644 | ||
447 | --- a/src/libsystemd/sd-journal/sd-journal.c | ||
448 | +++ b/src/libsystemd/sd-journal/sd-journal.c | ||
449 | @@ -44,6 +44,7 @@ | ||
450 | #include "strv.h" | ||
451 | #include "syslog-util.h" | ||
452 | #include "uid-alloc-range.h" | ||
453 | +#include "missing_stdlib.h" | ||
454 | |||
455 | #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) | ||
456 | |||
457 | diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c | ||
458 | index b8da266e27..4bb8dd9496 100644 | ||
459 | --- a/src/login/pam_systemd.c | ||
460 | +++ b/src/login/pam_systemd.c | ||
461 | @@ -35,6 +35,7 @@ | ||
462 | #include "login-util.h" | ||
463 | #include "macro.h" | ||
464 | #include "missing_syscall.h" | ||
465 | +#include "missing_stdlib.h" | ||
466 | #include "pam-util.h" | ||
467 | #include "parse-util.h" | ||
468 | #include "path-util.h" | ||
469 | diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c | ||
470 | index 48527a2c73..9777fe0561 100644 | ||
471 | --- a/src/network/generator/network-generator.c | ||
472 | +++ b/src/network/generator/network-generator.c | ||
473 | @@ -14,6 +14,7 @@ | ||
474 | #include "string-table.h" | ||
475 | #include "string-util.h" | ||
476 | #include "strv.h" | ||
477 | +#include "missing_stdlib.h" | ||
478 | |||
479 | /* | ||
480 | # .network | ||
481 | diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c | ||
482 | index 161b1c1c70..ba1c459f78 100644 | ||
483 | --- a/src/nspawn/nspawn-settings.c | ||
484 | +++ b/src/nspawn/nspawn-settings.c | ||
485 | @@ -16,6 +16,7 @@ | ||
486 | #include "string-util.h" | ||
487 | #include "strv.h" | ||
488 | #include "user-util.h" | ||
489 | +#include "missing_stdlib.h" | ||
490 | |||
491 | Settings *settings_new(void) { | ||
492 | Settings *s; | ||
493 | diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c | ||
494 | index c64e79bdff..eda26b0b9a 100644 | ||
495 | --- a/src/nss-mymachines/nss-mymachines.c | ||
496 | +++ b/src/nss-mymachines/nss-mymachines.c | ||
497 | @@ -21,6 +21,7 @@ | ||
498 | #include "nss-util.h" | ||
499 | #include "signal-util.h" | ||
500 | #include "string-util.h" | ||
501 | +#include "missing_stdlib.h" | ||
502 | |||
503 | static void setup_logging_once(void) { | ||
504 | static pthread_once_t once = PTHREAD_ONCE_INIT; | ||
505 | diff --git a/src/portable/portable.c b/src/portable/portable.c | ||
506 | index d4b448a627..bb26623565 100644 | ||
507 | --- a/src/portable/portable.c | ||
508 | +++ b/src/portable/portable.c | ||
509 | @@ -40,6 +40,7 @@ | ||
510 | #include "strv.h" | ||
511 | #include "tmpfile-util.h" | ||
512 | #include "user-util.h" | ||
513 | +#include "missing_stdlib.h" | ||
514 | |||
515 | /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was | ||
516 | * dropped there by the portable service logic and b) for which image it was dropped there. */ | ||
517 | diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c | ||
518 | index afa537f160..32ccee4ae5 100644 | ||
519 | --- a/src/resolve/resolvectl.c | ||
520 | +++ b/src/resolve/resolvectl.c | ||
521 | @@ -48,6 +48,7 @@ | ||
522 | #include "varlink.h" | ||
523 | #include "verb-log-control.h" | ||
524 | #include "verbs.h" | ||
525 | +#include "missing_stdlib.h" | ||
526 | |||
527 | static int arg_family = AF_UNSPEC; | ||
528 | static int arg_ifindex = 0; | ||
529 | diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c | ||
530 | index 53e5d6b99f..851ecd5644 100644 | ||
531 | --- a/src/shared/bus-get-properties.c | ||
532 | +++ b/src/shared/bus-get-properties.c | ||
533 | @@ -4,6 +4,7 @@ | ||
534 | #include "rlimit-util.h" | ||
535 | #include "stdio-util.h" | ||
536 | #include "string-util.h" | ||
537 | +#include "missing_stdlib.h" | ||
538 | |||
539 | int bus_property_get_bool( | ||
540 | sd_bus *bus, | ||
541 | diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c | ||
542 | index 8b462b5627..183ce1c18e 100644 | ||
543 | --- a/src/shared/bus-unit-procs.c | ||
544 | +++ b/src/shared/bus-unit-procs.c | ||
545 | @@ -11,6 +11,7 @@ | ||
546 | #include "sort-util.h" | ||
547 | #include "string-util.h" | ||
548 | #include "terminal-util.h" | ||
549 | +#include "missing_stdlib.h" | ||
550 | |||
551 | struct CGroupInfo { | ||
552 | char *cgroup_path; | ||
553 | diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c | ||
554 | index 4ee9706847..30c8084847 100644 | ||
555 | --- a/src/shared/bus-unit-util.c | ||
556 | +++ b/src/shared/bus-unit-util.c | ||
557 | @@ -50,6 +50,7 @@ | ||
558 | #include "unit-def.h" | ||
559 | #include "user-util.h" | ||
560 | #include "utf8.h" | ||
561 | +#include "missing_stdlib.h" | ||
562 | |||
563 | int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { | ||
564 | assert(message); | ||
565 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | ||
566 | index 4123152d93..74f148c8b4 100644 | ||
567 | --- a/src/shared/bus-util.c | ||
568 | +++ b/src/shared/bus-util.c | ||
569 | @@ -24,6 +24,7 @@ | ||
570 | #include "path-util.h" | ||
571 | #include "socket-util.h" | ||
572 | #include "stdio-util.h" | ||
573 | +#include "missing_stdlib.h" | ||
574 | |||
575 | static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { | ||
576 | sd_event *e = ASSERT_PTR(userdata); | ||
577 | diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c | ||
578 | index b41c9b06ca..e69050a507 100644 | ||
579 | --- a/src/shared/dns-domain.c | ||
580 | +++ b/src/shared/dns-domain.c | ||
581 | @@ -18,6 +18,7 @@ | ||
582 | #include "string-util.h" | ||
583 | #include "strv.h" | ||
584 | #include "utf8.h" | ||
585 | +#include "missing_stdlib.h" | ||
586 | |||
587 | int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { | ||
588 | const char *n; | ||
589 | diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c | ||
590 | index 83e9834bbf..74eaae6f5e 100644 | ||
591 | --- a/src/shared/journal-importer.c | ||
592 | +++ b/src/shared/journal-importer.c | ||
593 | @@ -16,6 +16,7 @@ | ||
594 | #include "string-util.h" | ||
595 | #include "strv.h" | ||
596 | #include "unaligned.h" | ||
597 | +#include "missing_stdlib.h" | ||
598 | |||
599 | enum { | ||
600 | IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ | ||
601 | diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c | ||
602 | index a5d04003bd..10392c132d 100644 | ||
603 | --- a/src/shared/logs-show.c | ||
604 | +++ b/src/shared/logs-show.c | ||
605 | @@ -41,6 +41,7 @@ | ||
606 | #include "time-util.h" | ||
607 | #include "utf8.h" | ||
608 | #include "web-util.h" | ||
609 | +#include "missing_stdlib.h" | ||
610 | |||
611 | /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ | ||
612 | #define PRINT_LINE_THRESHOLD 3 | ||
613 | diff --git a/src/shared/pager.c b/src/shared/pager.c | ||
614 | index 19deefab56..6b6d0af1a0 100644 | ||
615 | --- a/src/shared/pager.c | ||
616 | +++ b/src/shared/pager.c | ||
617 | @@ -25,6 +25,7 @@ | ||
618 | #include "string-util.h" | ||
619 | #include "strv.h" | ||
620 | #include "terminal-util.h" | ||
621 | +#include "missing_stdlib.h" | ||
622 | |||
623 | static pid_t pager_pid = 0; | ||
624 | |||
625 | diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c | ||
626 | index 287fd6c181..8f8d5493da 100644 | ||
627 | --- a/src/socket-proxy/socket-proxyd.c | ||
628 | +++ b/src/socket-proxy/socket-proxyd.c | ||
629 | @@ -27,6 +27,7 @@ | ||
630 | #include "set.h" | ||
631 | #include "socket-util.h" | ||
632 | #include "string-util.h" | ||
633 | +#include "missing_stdlib.h" | ||
634 | |||
635 | #define BUFFER_SIZE (256 * 1024) | ||
636 | |||
637 | diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c | ||
638 | index f884008660..987e180697 100644 | ||
639 | --- a/src/test/test-hexdecoct.c | ||
640 | +++ b/src/test/test-hexdecoct.c | ||
641 | @@ -7,6 +7,7 @@ | ||
642 | #include "macro.h" | ||
643 | #include "random-util.h" | ||
644 | #include "string-util.h" | ||
645 | +#include "missing_stdlib.h" | ||
646 | #include "tests.h" | ||
647 | |||
648 | TEST(hexchar) { | ||
649 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | ||
650 | index 91b40088f4..f528a46b8e 100644 | ||
651 | --- a/src/udev/udev-builtin-net_id.c | ||
652 | +++ b/src/udev/udev-builtin-net_id.c | ||
653 | @@ -39,6 +39,7 @@ | ||
654 | #include "strv.h" | ||
655 | #include "strxcpyx.h" | ||
656 | #include "udev-builtin.h" | ||
657 | +#include "missing_stdlib.h" | ||
658 | |||
659 | #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1) | ||
660 | #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1) | ||
661 | diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c | ||
662 | index 467c9a6ad3..f74dae60af 100644 | ||
663 | --- a/src/udev/udev-builtin-path_id.c | ||
664 | +++ b/src/udev/udev-builtin-path_id.c | ||
665 | @@ -24,6 +24,7 @@ | ||
666 | #include "sysexits.h" | ||
667 | #include "udev-builtin.h" | ||
668 | #include "udev-util.h" | ||
669 | +#include "missing_stdlib.h" | ||
670 | |||
671 | _printf_(2,3) | ||
672 | static void path_prepend(char **path, const char *fmt, ...) { | ||
673 | diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c | ||
674 | index ed22c8b679..19ebe20237 100644 | ||
675 | --- a/src/udev/udev-event.c | ||
676 | +++ b/src/udev/udev-event.c | ||
677 | @@ -16,6 +16,7 @@ | ||
678 | #include "udev-util.h" | ||
679 | #include "udev-watch.h" | ||
680 | #include "user-util.h" | ||
681 | +#include "missing_stdlib.h" | ||
682 | |||
683 | UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { | ||
684 | UdevEvent *event; | ||
685 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | ||
686 | index 5f12002394..febe345b4c 100644 | ||
687 | --- a/src/udev/udev-rules.c | ||
688 | +++ b/src/udev/udev-rules.c | ||
689 | @@ -41,6 +41,7 @@ | ||
690 | #include "udev-util.h" | ||
691 | #include "user-util.h" | ||
692 | #include "virt.h" | ||
693 | +#include "missing_stdlib.h" | ||
694 | |||
695 | #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) | ||
696 | |||
697 | -- | ||
698 | 2.34.1 | ||
699 | |||
diff --git a/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch index 900a931632..47b8583e7a 100644 --- a/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001 | 1 | From 34fe809cf686c1a81db5f3f027e33fece350ba0b Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Sat, 22 May 2021 20:26:24 +0200 | 3 | Date: Sat, 22 May 2021 20:26:24 +0200 |
4 | Subject: [PATCH 02/22] add fallback parse_printf_format implementation | 4 | Subject: [PATCH 04/26] add fallback parse_printf_format implementation |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl specific] | 6 | Upstream-Status: Inappropriate [musl specific] |
7 | 7 | ||
@@ -22,22 +22,22 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
22 | create mode 100644 src/basic/parse-printf-format.h | 22 | create mode 100644 src/basic/parse-printf-format.h |
23 | 23 | ||
24 | diff --git a/meson.build b/meson.build | 24 | diff --git a/meson.build b/meson.build |
25 | index 7419e2b0b0..01fd3ffc19 100644 | 25 | index bffda86845..4146f4beef 100644 |
26 | --- a/meson.build | 26 | --- a/meson.build |
27 | +++ b/meson.build | 27 | +++ b/meson.build |
28 | @@ -725,6 +725,7 @@ endif | 28 | @@ -770,6 +770,7 @@ foreach header : ['crypt.h', |
29 | foreach header : ['crypt.h', | 29 | 'linux/ioprio.h', |
30 | 'linux/memfd.h', | 30 | 'linux/memfd.h', |
31 | 'linux/vm_sockets.h', | 31 | 'linux/time_types.h', |
32 | + 'printf.h', | 32 | + 'printf.h', |
33 | 'sys/auxv.h', | 33 | 'sys/auxv.h', |
34 | 'sys/sdt.h', | ||
34 | 'threads.h', | 35 | 'threads.h', |
35 | 'valgrind/memcheck.h', | ||
36 | diff --git a/src/basic/meson.build b/src/basic/meson.build | 36 | diff --git a/src/basic/meson.build b/src/basic/meson.build |
37 | index d7450d8b44..c3e3daf4bd 100644 | 37 | index e02f787c75..9435df895d 100644 |
38 | --- a/src/basic/meson.build | 38 | --- a/src/basic/meson.build |
39 | +++ b/src/basic/meson.build | 39 | +++ b/src/basic/meson.build |
40 | @@ -183,6 +183,11 @@ endforeach | 40 | @@ -188,6 +188,11 @@ endforeach |
41 | 41 | ||
42 | basic_sources += generated_gperf_headers | 42 | basic_sources += generated_gperf_headers |
43 | 43 | ||
@@ -392,7 +392,7 @@ index 0000000000..47be7522d7 | |||
392 | + | 392 | + |
393 | +#endif /* HAVE_PRINTF_H */ | 393 | +#endif /* HAVE_PRINTF_H */ |
394 | diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h | 394 | diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h |
395 | index 4e93ac90c9..f9deb6f662 100644 | 395 | index 0a2239d022..43a765dacd 100644 |
396 | --- a/src/basic/stdio-util.h | 396 | --- a/src/basic/stdio-util.h |
397 | +++ b/src/basic/stdio-util.h | 397 | +++ b/src/basic/stdio-util.h |
398 | @@ -1,12 +1,12 @@ | 398 | @@ -1,12 +1,12 @@ |
@@ -408,9 +408,9 @@ index 4e93ac90c9..f9deb6f662 100644 | |||
408 | +#include "parse-printf-format.h" | 408 | +#include "parse-printf-format.h" |
409 | 409 | ||
410 | _printf_(3, 4) | 410 | _printf_(3, 4) |
411 | static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) { | 411 | static inline char* snprintf_ok(char *buf, size_t len, const char *format, ...) { |
412 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | 412 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c |
413 | index be23b2fe75..69a2eb6404 100644 | 413 | index 7d02b57d7b..75e8e08add 100644 |
414 | --- a/src/libsystemd/sd-journal/journal-send.c | 414 | --- a/src/libsystemd/sd-journal/journal-send.c |
415 | +++ b/src/libsystemd/sd-journal/journal-send.c | 415 | +++ b/src/libsystemd/sd-journal/journal-send.c |
416 | @@ -2,7 +2,6 @@ | 416 | @@ -2,7 +2,6 @@ |
diff --git a/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch index 15877bea88..1b5e0d54c4 100644 --- a/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ b/meta/recipes-core/systemd/systemd/0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001 | 1 | From d368a0317c747961f69a455a09a3de3fd13410a2 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 | 3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 |
4 | Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not | 4 | Subject: [PATCH 05/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not |
5 | defined | 5 | defined |
6 | 6 | ||
7 | If the standard library doesn't provide brace | 7 | If the standard library doesn't provide brace |
@@ -64,11 +64,11 @@ index 802ca8c655..23818a67c6 100644 | |||
64 | return -ENOENT; | 64 | return -ENOENT; |
65 | if (k == GLOB_NOSPACE) | 65 | if (k == GLOB_NOSPACE) |
66 | diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c | 66 | diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c |
67 | index 9b3e73cce0..3790ba3be5 100644 | 67 | index 49d71f15c7..0a49ebcc17 100644 |
68 | --- a/src/test/test-glob-util.c | 68 | --- a/src/test/test-glob-util.c |
69 | +++ b/src/test/test-glob-util.c | 69 | +++ b/src/test/test-glob-util.c |
70 | @@ -34,6 +34,12 @@ TEST(glob_first) { | 70 | @@ -34,6 +34,12 @@ TEST(glob_first) { |
71 | assert_se(first == NULL); | 71 | ASSERT_NULL(first); |
72 | } | 72 | } |
73 | 73 | ||
74 | +/* Don't fail if the standard library | 74 | +/* Don't fail if the standard library |
@@ -115,7 +115,7 @@ index 9b3e73cce0..3790ba3be5 100644 | |||
115 | 115 | ||
116 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); | 116 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); |
117 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c | 117 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c |
118 | index 230ec09b97..2cc5f391d7 100644 | 118 | index 86bf16356d..da552dbaab 100644 |
119 | --- a/src/tmpfiles/tmpfiles.c | 119 | --- a/src/tmpfiles/tmpfiles.c |
120 | +++ b/src/tmpfiles/tmpfiles.c | 120 | +++ b/src/tmpfiles/tmpfiles.c |
121 | @@ -73,6 +73,12 @@ | 121 | @@ -73,6 +73,12 @@ |
@@ -131,7 +131,7 @@ index 230ec09b97..2cc5f391d7 100644 | |||
131 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates | 131 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates |
132 | * them in the file system. This is intended to be used to create | 132 | * them in the file system. This is intended to be used to create |
133 | * properly owned directories beneath /tmp, /var/tmp, /run, which are | 133 | * properly owned directories beneath /tmp, /var/tmp, /run, which are |
134 | @@ -2434,7 +2440,9 @@ finish: | 134 | @@ -2573,7 +2579,9 @@ finish: |
135 | 135 | ||
136 | static int glob_item(Context *c, Item *i, action_t action) { | 136 | static int glob_item(Context *c, Item *i, action_t action) { |
137 | _cleanup_globfree_ glob_t g = { | 137 | _cleanup_globfree_ glob_t g = { |
@@ -139,9 +139,9 @@ index 230ec09b97..2cc5f391d7 100644 | |||
139 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | 139 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, |
140 | +#endif | 140 | +#endif |
141 | }; | 141 | }; |
142 | int r = 0, k; | 142 | int r; |
143 | 143 | ||
144 | @@ -2461,7 +2469,9 @@ static int glob_item_recursively( | 144 | @@ -2601,7 +2609,9 @@ static int glob_item_recursively( |
145 | fdaction_t action) { | 145 | fdaction_t action) { |
146 | 146 | ||
147 | _cleanup_globfree_ glob_t g = { | 147 | _cleanup_globfree_ glob_t g = { |
@@ -149,7 +149,7 @@ index 230ec09b97..2cc5f391d7 100644 | |||
149 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | 149 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, |
150 | +#endif | 150 | +#endif |
151 | }; | 151 | }; |
152 | int r = 0, k; | 152 | int r; |
153 | 153 | ||
154 | -- | 154 | -- |
155 | 2.34.1 | 155 | 2.34.1 |
diff --git a/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0006-add-missing-FTW_-macros-for-musl.patch index a1dfca22cd..578411c4cf 100644 --- a/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0006-add-missing-FTW_-macros-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001 | 1 | From 54b6e10aea2b0fb52782c3a71f06654a89b46bff Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 | 3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 |
4 | Subject: [PATCH 05/22] add missing FTW_ macros for musl | 4 | Subject: [PATCH 06/26] add missing FTW_ macros for musl |
5 | 5 | ||
6 | This is to avoid build failures like below for musl. | 6 | This is to avoid build failures like below for musl. |
7 | 7 | ||
@@ -16,7 +16,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
16 | 2 files changed, 5 insertions(+) | 16 | 2 files changed, 5 insertions(+) |
17 | 17 | ||
18 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | 18 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h |
19 | index 6c0456349d..73a5b90e3c 100644 | 19 | index fc33b76ec1..34a36d83f0 100644 |
20 | --- a/src/basic/missing_type.h | 20 | --- a/src/basic/missing_type.h |
21 | +++ b/src/basic/missing_type.h | 21 | +++ b/src/basic/missing_type.h |
22 | @@ -14,3 +14,7 @@ | 22 | @@ -14,3 +14,7 @@ |
diff --git a/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0007-Use-uintmax_t-for-handling-rlim_t.patch index 4be14b72ec..b4a570e1f5 100644 --- a/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch +++ b/meta/recipes-core/systemd/systemd/0007-Use-uintmax_t-for-handling-rlim_t.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001 | 1 | From 85d8c4c27e855d54c1740902a836c8f2aea9bebc Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 | 3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 |
4 | Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t | 4 | Subject: [PATCH 07/26] Use uintmax_t for handling rlim_t |
5 | 5 | ||
6 | PRIu{32,64} is not right format to represent rlim_t type | 6 | PRIu{32,64} is not right format to represent rlim_t type |
7 | therefore use %ju and typecast the rlim_t variables to | 7 | therefore use %ju and typecast the rlim_t variables to |
@@ -27,10 +27,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
27 | 3 files changed, 9 insertions(+), 15 deletions(-) | 27 | 3 files changed, 9 insertions(+), 15 deletions(-) |
28 | 28 | ||
29 | diff --git a/src/basic/format-util.h b/src/basic/format-util.h | 29 | diff --git a/src/basic/format-util.h b/src/basic/format-util.h |
30 | index 8719df3e29..9becc96066 100644 | 30 | index b528c005ca..41c4c095be 100644 |
31 | --- a/src/basic/format-util.h | 31 | --- a/src/basic/format-util.h |
32 | +++ b/src/basic/format-util.h | 32 | +++ b/src/basic/format-util.h |
33 | @@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); | 33 | @@ -41,13 +41,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); |
34 | # error Unknown timex member size | 34 | # error Unknown timex member size |
35 | #endif | 35 | #endif |
36 | 36 | ||
@@ -46,10 +46,10 @@ index 8719df3e29..9becc96066 100644 | |||
46 | #if SIZEOF_DEV_T == 8 | 46 | #if SIZEOF_DEV_T == 8 |
47 | # define DEV_FMT "%" PRIu64 | 47 | # define DEV_FMT "%" PRIu64 |
48 | diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c | 48 | diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c |
49 | index c1f0b2b974..61c5412582 100644 | 49 | index a9f7b87f28..059c67731d 100644 |
50 | --- a/src/basic/rlimit-util.c | 50 | --- a/src/basic/rlimit-util.c |
51 | +++ b/src/basic/rlimit-util.c | 51 | +++ b/src/basic/rlimit-util.c |
52 | @@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { | 52 | @@ -47,7 +47,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { |
53 | fixed.rlim_max == highest.rlim_max) | 53 | fixed.rlim_max == highest.rlim_max) |
54 | return 0; | 54 | return 0; |
55 | 55 | ||
@@ -58,7 +58,7 @@ index c1f0b2b974..61c5412582 100644 | |||
58 | 58 | ||
59 | return RET_NERRNO(setrlimit(resource, &fixed)); | 59 | return RET_NERRNO(setrlimit(resource, &fixed)); |
60 | } | 60 | } |
61 | @@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { | 61 | @@ -310,13 +310,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { |
62 | if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) | 62 | if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) |
63 | r = free_and_strdup(&s, "infinity"); | 63 | r = free_and_strdup(&s, "infinity"); |
64 | else if (rl->rlim_cur >= RLIM_INFINITY) | 64 | else if (rl->rlim_cur >= RLIM_INFINITY) |
@@ -76,7 +76,7 @@ index c1f0b2b974..61c5412582 100644 | |||
76 | if (r < 0) | 76 | if (r < 0) |
77 | return -ENOMEM; | 77 | return -ENOMEM; |
78 | 78 | ||
79 | @@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) { | 79 | @@ -425,7 +425,7 @@ int rlimit_nofile_safe(void) { |
80 | rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open()); | 80 | rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open()); |
81 | rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max); | 81 | rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max); |
82 | if (setrlimit(RLIMIT_NOFILE, &rl) < 0) | 82 | if (setrlimit(RLIMIT_NOFILE, &rl) < 0) |
@@ -86,10 +86,10 @@ index c1f0b2b974..61c5412582 100644 | |||
86 | return 1; | 86 | return 1; |
87 | } | 87 | } |
88 | diff --git a/src/core/execute.c b/src/core/execute.c | 88 | diff --git a/src/core/execute.c b/src/core/execute.c |
89 | index bd3da0c401..df1870fd2f 100644 | 89 | index 3d55b0b772..4824ff159e 100644 |
90 | --- a/src/core/execute.c | 90 | --- a/src/core/execute.c |
91 | +++ b/src/core/execute.c | 91 | +++ b/src/core/execute.c |
92 | @@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { | 92 | @@ -1162,9 +1162,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { |
93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) | 93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) |
94 | if (c->rlimit[i]) { | 94 | if (c->rlimit[i]) { |
95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", | 95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", |
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch deleted file mode 100644 index 8d6084239e..0000000000 --- a/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001 | ||
2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
3 | Date: Tue, 10 Oct 2017 14:33:30 -0700 | ||
4 | Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() | ||
5 | |||
6 | Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right | ||
7 | thing to do and it's not portable (not supported by musl). See: | ||
8 | |||
9 | http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
10 | http://www.openwall.com/lists/musl/2015/02/05/2 | ||
11 | |||
12 | Note that laccess() is never passing AT_EACCESS so a lot of the | ||
13 | discussion in the links above doesn't apply. Note also that | ||
14 | (currently) all systemd callers of laccess() pass mode as F_OK, so | ||
15 | only check for existence of a file, not access permissions. | ||
16 | Therefore, in this case, the only distiction between faccessat() | ||
17 | with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour | ||
18 | for broken symlinks; laccess() on a broken symlink will succeed with | ||
19 | (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
20 | |||
21 | The laccess() macros was added to systemd some time ago and it's not | ||
22 | clear if or why it needs to return success for broken symlinks. Maybe | ||
23 | just historical and not actually necessary or desired behaviour? | ||
24 | |||
25 | Upstream-Status: Inappropriate [musl specific] | ||
26 | |||
27 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
28 | --- | ||
29 | src/basic/fs-util.h | 21 ++++++++++++++++++++- | ||
30 | src/shared/base-filesystem.c | 6 +++--- | ||
31 | 2 files changed, 23 insertions(+), 4 deletions(-) | ||
32 | |||
33 | diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h | ||
34 | index 1023ab73ca..c78ff6f27f 100644 | ||
35 | --- a/src/basic/fs-util.h | ||
36 | +++ b/src/basic/fs-util.h | ||
37 | @@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); | ||
38 | int fd_warn_permissions(const char *path, int fd); | ||
39 | int stat_warn_permissions(const char *path, const struct stat *st); | ||
40 | |||
41 | +/* | ||
42 | + Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to | ||
43 | + do and it's not portable (not supported by musl). See: | ||
44 | + | ||
45 | + http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
46 | + http://www.openwall.com/lists/musl/2015/02/05/2 | ||
47 | + | ||
48 | + Note that laccess() is never passing AT_EACCESS so a lot of the discussion in | ||
49 | + the links above doesn't apply. Note also that (currently) all systemd callers | ||
50 | + of laccess() pass mode as F_OK, so only check for existence of a file, not | ||
51 | + access permissions. Therefore, in this case, the only distiction between | ||
52 | + faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the | ||
53 | + behaviour for broken symlinks; laccess() on a broken symlink will succeed | ||
54 | + with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
55 | + | ||
56 | + The laccess() macros was added to systemd some time ago and it's not clear if | ||
57 | + or why it needs to return success for broken symlinks. Maybe just historical | ||
58 | + and not actually necessary or desired behaviour? | ||
59 | +*/ | ||
60 | #define laccess(path, mode) \ | ||
61 | - RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)) | ||
62 | + RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0)) | ||
63 | |||
64 | int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); | ||
65 | |||
66 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
67 | index 569ef466c3..7ae921a113 100644 | ||
68 | --- a/src/shared/base-filesystem.c | ||
69 | +++ b/src/shared/base-filesystem.c | ||
70 | @@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
71 | /* The "root" parameter is decoration only – it's only used as part of log messages */ | ||
72 | |||
73 | for (size_t i = 0; i < ELEMENTSOF(table); i++) { | ||
74 | - if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0) | ||
75 | + if (faccessat(fd, table[i].dir, F_OK, 0) >= 0) | ||
76 | continue; | ||
77 | |||
78 | if (table[i].target) { /* Create as symlink? */ | ||
79 | @@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
80 | |||
81 | /* check if one of the targets exists */ | ||
82 | NULSTR_FOREACH(s, table[i].target) { | ||
83 | - if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
84 | + if (faccessat(fd, s, F_OK, 0) < 0) | ||
85 | continue; | ||
86 | |||
87 | /* check if a specific file exists at the target path */ | ||
88 | @@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
89 | if (!p) | ||
90 | return log_oom(); | ||
91 | |||
92 | - if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
93 | + if (faccessat(fd, p, F_OK, 0) < 0) | ||
94 | continue; | ||
95 | } | ||
96 | |||
97 | -- | ||
98 | 2.34.1 | ||
99 | |||
diff --git a/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch index c1a8bb19fe..22e2ceadcc 100644 --- a/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ b/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001 | 1 | From f4cd939c7cc1ce0a59bab2693768f2c95d9ced00 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 27 May 2018 08:36:44 -0700 | 3 | Date: Sun, 27 May 2018 08:36:44 -0700 |
4 | Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc | 4 | Subject: [PATCH 08/26] Define glibc compatible basename() for non-glibc |
5 | systems | 5 | systems |
6 | 6 | ||
7 | Fixes builds with musl, even though systemd is adamant about | 7 | Fixes builds with musl, even though systemd is adamant about |
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 1 file changed, 4 insertions(+) | 15 | 1 file changed, 4 insertions(+) |
16 | 16 | ||
17 | diff --git a/src/basic/string-util.h b/src/basic/string-util.h | 17 | diff --git a/src/basic/string-util.h b/src/basic/string-util.h |
18 | index b6d8be3083..0a29036c4c 100644 | 18 | index cc6aa183c0..0b035125cd 100644 |
19 | --- a/src/basic/string-util.h | 19 | --- a/src/basic/string-util.h |
20 | +++ b/src/basic/string-util.h | 20 | +++ b/src/basic/string-util.h |
21 | @@ -26,6 +26,10 @@ | 21 | @@ -27,6 +27,10 @@ |
22 | #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */ | 22 | #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */ |
23 | #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */ | 23 | #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */ |
24 | 24 | ||
diff --git a/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch index 3ff0177ae3..8e3eb15b54 100644 --- a/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ b/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001 | 1 | From 6959db351fdd551d46e22667deec6032552b2662 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 | 3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 |
4 | Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj | 4 | Subject: [PATCH 09/26] Do not disable buffering when writing to oom_score_adj |
5 | 5 | ||
6 | On musl, disabling buffering when writing to oom_score_adj will | 6 | On musl, disabling buffering when writing to oom_score_adj will |
7 | cause the following error. | 7 | cause the following error. |
@@ -24,10 +24,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
24 | 1 file changed, 1 insertion(+), 1 deletion(-) | 24 | 1 file changed, 1 insertion(+), 1 deletion(-) |
25 | 25 | ||
26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c | 26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c |
27 | index 201c5596ae..ea51595b6c 100644 | 27 | index 3253a9c3fb..772c4082a1 100644 |
28 | --- a/src/basic/process-util.c | 28 | --- a/src/basic/process-util.c |
29 | +++ b/src/basic/process-util.c | 29 | +++ b/src/basic/process-util.c |
30 | @@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { | 30 | @@ -1848,7 +1848,7 @@ int set_oom_score_adjust(int value) { |
31 | xsprintf(t, "%i", value); | 31 | xsprintf(t, "%i", value); |
32 | 32 | ||
33 | return write_string_file("/proc/self/oom_score_adj", t, | 33 | return write_string_file("/proc/self/oom_score_adj", t, |
diff --git a/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch index cf59ac7d06..0dfb77890e 100644 --- a/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ b/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001 | 1 | From b7f6c245b4ae72999f23eecc2bbb6d6fb8db667c Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 | 3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 |
4 | Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi | 4 | Subject: [PATCH 10/26] distinguish XSI-compliant strerror_r from GNU-specifi |
5 | strerror_r | 5 | strerror_r |
6 | 6 | ||
7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. | 7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. |
@@ -24,10 +24,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
24 | 2 files changed, 15 insertions(+), 1 deletion(-) | 24 | 2 files changed, 15 insertions(+), 1 deletion(-) |
25 | 25 | ||
26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c | 26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c |
27 | index 77b2e1a0fd..fdba0e0142 100644 | 27 | index 58c24d25c0..69a0d09d42 100644 |
28 | --- a/src/libsystemd/sd-bus/bus-error.c | 28 | --- a/src/libsystemd/sd-bus/bus-error.c |
29 | +++ b/src/libsystemd/sd-bus/bus-error.c | 29 | +++ b/src/libsystemd/sd-bus/bus-error.c |
30 | @@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { | 30 | @@ -405,7 +405,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { |
31 | return; | 31 | return; |
32 | 32 | ||
33 | errno = 0; | 33 | errno = 0; |
@@ -40,7 +40,7 @@ index 77b2e1a0fd..fdba0e0142 100644 | |||
40 | if (errno == ERANGE || strlen(x) >= k - 1) { | 40 | if (errno == ERANGE || strlen(x) >= k - 1) { |
41 | free(m); | 41 | free(m); |
42 | k *= 2; | 42 | k *= 2; |
43 | @@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static | 43 | @@ -590,8 +595,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static |
44 | 44 | ||
45 | if (e && e->message) | 45 | if (e && e->message) |
46 | return e->message; | 46 | return e->message; |
@@ -55,7 +55,7 @@ index 77b2e1a0fd..fdba0e0142 100644 | |||
55 | 55 | ||
56 | static bool map_ok(const sd_bus_error_map *map) { | 56 | static bool map_ok(const sd_bus_error_map *map) { |
57 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | 57 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c |
58 | index 69a2eb6404..1561859650 100644 | 58 | index 75e8e08add..41e5c7c2b8 100644 |
59 | --- a/src/libsystemd/sd-journal/journal-send.c | 59 | --- a/src/libsystemd/sd-journal/journal-send.c |
60 | +++ b/src/libsystemd/sd-journal/journal-send.c | 60 | +++ b/src/libsystemd/sd-journal/journal-send.c |
61 | @@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove | 61 | @@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove |
diff --git a/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch index e481b2e2e4..16d741cf87 100644 --- a/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch +++ b/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001 | 1 | From 43b0269e850a2fbcb6ca615258aa8f8a9b4f6a9d Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 | 3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 |
4 | Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure | 4 | Subject: [PATCH 11/26] avoid redefinition of prctl_mm_map structure |
5 | 5 | ||
6 | Fix the following compile failure: | 6 | Fix the following compile failure: |
7 | error: redefinition of 'struct prctl_mm_map' | 7 | error: redefinition of 'struct prctl_mm_map' |
@@ -14,7 +14,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
14 | 1 file changed, 2 insertions(+) | 14 | 1 file changed, 2 insertions(+) |
15 | 15 | ||
16 | diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h | 16 | diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h |
17 | index 7d9e395c92..88c2d7dfac 100644 | 17 | index 2c9f9f6c50..65a984b564 100644 |
18 | --- a/src/basic/missing_prctl.h | 18 | --- a/src/basic/missing_prctl.h |
19 | +++ b/src/basic/missing_prctl.h | 19 | +++ b/src/basic/missing_prctl.h |
20 | @@ -1,7 +1,9 @@ | 20 | @@ -1,7 +1,9 @@ |
@@ -25,8 +25,8 @@ index 7d9e395c92..88c2d7dfac 100644 | |||
25 | #include <linux/prctl.h> | 25 | #include <linux/prctl.h> |
26 | +#endif | 26 | +#endif |
27 | 27 | ||
28 | /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ | 28 | #include "macro.h" |
29 | #ifndef PR_CAP_AMBIENT | 29 | |
30 | -- | 30 | -- |
31 | 2.34.1 | 31 | 2.34.1 |
32 | 32 | ||
diff --git a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch index 66be79077e..0bbc6bbac7 100644 --- a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch +++ b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001 | 1 | From eaf26fdad00448b8cd336eb5db51e0baa8d8e588 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Fri, 1 Mar 2019 15:22:15 +0800 | 3 | Date: Mon, 16 Dec 2024 14:37:25 +0800 |
4 | Subject: [PATCH 12/22] do not disable buffer in writing files | 4 | Subject: [PATCH 12/26] do not disable buffer in writing files |
5 | 5 | ||
6 | Do not disable buffer in writing files, otherwise we get | 6 | Do not disable buffer in writing files, otherwise we get |
7 | failure at boot for musl like below. | 7 | failure at boot for musl like below. |
@@ -22,80 +22,43 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
23 | [rebased for systemd 255.1] | 23 | [rebased for systemd 255.1] |
24 | --- | 24 | --- |
25 | src/basic/cgroup-util.c | 12 ++++++------ | 25 | src/basic/cgroup-util.c | 4 ++-- |
26 | src/basic/namespace-util.c | 4 ++-- | 26 | src/basic/namespace-util.c | 4 ++-- |
27 | src/basic/procfs-util.c | 4 ++-- | 27 | src/basic/procfs-util.c | 4 ++-- |
28 | src/basic/sysctl-util.c | 2 +- | 28 | src/basic/sysctl-util.c | 2 +- |
29 | src/binfmt/binfmt.c | 6 +++--- | 29 | src/binfmt/binfmt.c | 6 +++--- |
30 | src/core/cgroup.c | 2 +- | 30 | src/core/cgroup.c | 2 +- |
31 | src/core/ipe-setup.c | 2 +- | ||
31 | src/core/main.c | 2 +- | 32 | src/core/main.c | 2 +- |
32 | src/core/smack-setup.c | 8 ++++---- | 33 | src/core/smack-setup.c | 6 +++--- |
33 | src/home/homework.c | 2 +- | 34 | src/home/homework.c | 2 +- |
34 | src/libsystemd/sd-device/sd-device.c | 2 +- | 35 | src/libsystemd/sd-device/sd-device.c | 2 +- |
35 | src/nspawn/nspawn-cgroup.c | 2 +- | 36 | src/nspawn/nspawn-cgroup.c | 2 +- |
36 | src/nspawn/nspawn.c | 6 +++--- | 37 | src/nspawn/nspawn.c | 6 +++--- |
37 | src/shared/binfmt-util.c | 2 +- | 38 | src/shared/binfmt-util.c | 2 +- |
38 | src/shared/cgroup-setup.c | 4 ++-- | 39 | src/shared/cgroup-setup.c | 12 ++++++------ |
39 | src/shared/coredump-util.c | 4 ++-- | 40 | src/shared/coredump-util.c | 2 +- |
40 | src/shared/hibernate-util.c | 4 ++-- | 41 | src/shared/hibernate-util.c | 4 ++-- |
41 | src/shared/smack-util.c | 2 +- | 42 | src/shared/smack-util.c | 2 +- |
42 | src/shared/watchdog.c | 2 +- | 43 | src/sleep/sleep.c | 2 +- |
43 | src/sleep/sleep.c | 4 ++-- | ||
44 | src/storagetm/storagetm.c | 24 ++++++++++++------------ | 44 | src/storagetm/storagetm.c | 24 ++++++++++++------------ |
45 | src/udev/udev-rules.c | 1 - | ||
46 | src/vconsole/vconsole-setup.c | 2 +- | 45 | src/vconsole/vconsole-setup.c | 2 +- |
47 | 22 files changed, 50 insertions(+), 51 deletions(-) | 46 | 21 files changed, 47 insertions(+), 47 deletions(-) |
48 | 47 | ||
49 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c | 48 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c |
50 | index d2be79622f..e65fecb68d 100644 | 49 | index 309dccb45a..7aec5072a0 100644 |
51 | --- a/src/basic/cgroup-util.c | 50 | --- a/src/basic/cgroup-util.c |
52 | +++ b/src/basic/cgroup-util.c | 51 | +++ b/src/basic/cgroup-util.c |
53 | @@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *path) { | 52 | @@ -495,7 +495,7 @@ int cg_kill_kernel_sigkill(const char *path) { |
54 | if (r < 0) | 53 | if (r < 0) |
55 | return r; | 54 | return r; |
56 | 55 | ||
57 | - r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | 56 | - r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER); |
58 | + r = write_string_file(killfile, "1", 0); | 57 | + r = write_string_file(killfile, "1", 0); |
59 | if (r < 0) | 58 | if (r < 0) |
60 | return r; | 59 | return log_debug_errno(r, "Failed to write to cgroup.kill for cgroup '%s': %m", path); |
61 | |||
62 | @@ -843,7 +843,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { | ||
63 | |||
64 | sc = strstrip(contents); | ||
65 | if (isempty(sc)) { | ||
66 | - r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
67 | + r = write_string_file(fs, agent, 0); | ||
68 | if (r < 0) | ||
69 | return r; | ||
70 | } else if (!path_equal(sc, agent)) | ||
71 | @@ -861,7 +861,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { | ||
72 | 60 | ||
73 | sc = strstrip(contents); | 61 | @@ -1721,7 +1721,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri |
74 | if (streq(sc, "0")) { | ||
75 | - r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
76 | + r = write_string_file(fs, "1", 0); | ||
77 | if (r < 0) | ||
78 | return r; | ||
79 | |||
80 | @@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const char *controller) { | ||
81 | if (r < 0) | ||
82 | return r; | ||
83 | |||
84 | - r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
85 | + r = write_string_file(fs, "0", 0); | ||
86 | if (r < 0) | ||
87 | return r; | ||
88 | |||
89 | @@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const char *controller) { | ||
90 | if (r < 0) | ||
91 | return r; | ||
92 | |||
93 | - r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
94 | + r = write_string_file(fs, "", 0); | ||
95 | if (r < 0) | ||
96 | return r; | ||
97 | |||
98 | @@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri | ||
99 | if (r < 0) | 62 | if (r < 0) |
100 | return r; | 63 | return r; |
101 | 64 | ||
@@ -105,29 +68,29 @@ index d2be79622f..e65fecb68d 100644 | |||
105 | 68 | ||
106 | int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { | 69 | int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { |
107 | diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c | 70 | diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c |
108 | index 2101f617ad..63817bae17 100644 | 71 | index 332e8cdfd5..804498127d 100644 |
109 | --- a/src/basic/namespace-util.c | 72 | --- a/src/basic/namespace-util.c |
110 | +++ b/src/basic/namespace-util.c | 73 | +++ b/src/basic/namespace-util.c |
111 | @@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { | 74 | @@ -359,12 +359,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { |
112 | freeze(); | 75 | freeze(); |
113 | 76 | ||
114 | xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); | 77 | xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); |
115 | - r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | 78 | - r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER); |
116 | + r = write_string_file(path, uid_map, 0); | 79 | + r = write_string_file(path, uid_map, 0); |
117 | if (r < 0) | 80 | if (r < 0) |
118 | return log_error_errno(r, "Failed to write UID map: %m"); | 81 | return log_debug_errno(r, "Failed to write UID map: %m"); |
119 | 82 | ||
120 | xsprintf(path, "/proc/" PID_FMT "/gid_map", pid); | 83 | xsprintf(path, "/proc/" PID_FMT "/gid_map", pid); |
121 | - r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | 84 | - r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER); |
122 | + r = write_string_file(path, gid_map, 0); | 85 | + r = write_string_file(path, gid_map, 0); |
123 | if (r < 0) | 86 | if (r < 0) |
124 | return log_error_errno(r, "Failed to write GID map: %m"); | 87 | return log_debug_errno(r, "Failed to write GID map: %m"); |
125 | 88 | ||
126 | diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c | 89 | diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c |
127 | index 6cb0ddf575..247cf9e1d1 100644 | 90 | index d7cfcd9105..58fb5918a3 100644 |
128 | --- a/src/basic/procfs-util.c | 91 | --- a/src/basic/procfs-util.c |
129 | +++ b/src/basic/procfs-util.c | 92 | +++ b/src/basic/procfs-util.c |
130 | @@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limit) { | 93 | @@ -63,13 +63,13 @@ int procfs_tasks_set_limit(uint64_t limit) { |
131 | * decrease it, as threads-max is the much more relevant sysctl. */ | 94 | * decrease it, as threads-max is the much more relevant sysctl. */ |
132 | if (limit > pid_max-1) { | 95 | if (limit > pid_max-1) { |
133 | sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ | 96 | sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ |
@@ -144,15 +107,15 @@ index 6cb0ddf575..247cf9e1d1 100644 | |||
144 | uint64_t threads_max; | 107 | uint64_t threads_max; |
145 | 108 | ||
146 | diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c | 109 | diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c |
147 | index b66a6622ae..8d1c93008a 100644 | 110 | index 2feb4917d7..4c74620a00 100644 |
148 | --- a/src/basic/sysctl-util.c | 111 | --- a/src/basic/sysctl-util.c |
149 | +++ b/src/basic/sysctl-util.c | 112 | +++ b/src/basic/sysctl-util.c |
150 | @@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) { | 113 | @@ -97,7 +97,7 @@ int sysctl_write_full(const char *property, const char *value, Hashmap **shadow) |
151 | 114 | if (r < 0) | |
152 | log_debug("Setting '%s' to '%s'", p, value); | 115 | return r; |
153 | 116 | ||
154 | - return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | 117 | - return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); |
155 | + return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | 118 | + return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0 | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); |
156 | } | 119 | } |
157 | 120 | ||
158 | int sysctl_writef(const char *property, const char *format, ...) { | 121 | int sysctl_writef(const char *property, const char *format, ...) { |
@@ -188,23 +151,36 @@ index d21f3f79ff..258607cc7e 100644 | |||
188 | log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); | 151 | log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); |
189 | else | 152 | else |
190 | diff --git a/src/core/cgroup.c b/src/core/cgroup.c | 153 | diff --git a/src/core/cgroup.c b/src/core/cgroup.c |
191 | index 61ac4df1a6..ea18970196 100644 | 154 | index 6933aae54d..ab6fccc0e4 100644 |
192 | --- a/src/core/cgroup.c | 155 | --- a/src/core/cgroup.c |
193 | +++ b/src/core/cgroup.c | 156 | +++ b/src/core/cgroup.c |
194 | @@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { | 157 | @@ -5175,7 +5175,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { |
195 | u->freezer_state = FREEZER_THAWING; | 158 | if (r < 0) |
196 | } | 159 | return r; |
197 | 160 | ||
198 | - r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER); | 161 | - r = write_string_file(path, one_zero(objective == FREEZER_FROZEN), WRITE_STRING_FILE_DISABLE_BUFFER); |
199 | + r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0); | 162 | + r = write_string_file(path, one_zero(objective == FREEZER_FROZEN), 0); |
200 | if (r < 0) | 163 | if (r < 0) |
201 | return r; | 164 | return r; |
202 | 165 | ||
166 | diff --git a/src/core/ipe-setup.c b/src/core/ipe-setup.c | ||
167 | index 4648d43829..80d03d87d4 100644 | ||
168 | --- a/src/core/ipe-setup.c | ||
169 | +++ b/src/core/ipe-setup.c | ||
170 | @@ -94,7 +94,7 @@ int ipe_setup(void) { | ||
171 | if (!activate_path) | ||
172 | return log_oom(); | ||
173 | |||
174 | - r = write_string_file(activate_path, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
175 | + r = write_string_file(activate_path, "1", 0); | ||
176 | if (r == -ESTALE) { | ||
177 | log_debug_errno(r, | ||
178 | "IPE policy %s is already loaded with a version that is equal or higher, skipping.", | ||
203 | diff --git a/src/core/main.c b/src/core/main.c | 179 | diff --git a/src/core/main.c b/src/core/main.c |
204 | index 3f71cc0947..0e5aec3e9e 100644 | 180 | index 172742c769..e68ce2a6d8 100644 |
205 | --- a/src/core/main.c | 181 | --- a/src/core/main.c |
206 | +++ b/src/core/main.c | 182 | +++ b/src/core/main.c |
207 | @@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) { | 183 | @@ -1826,7 +1826,7 @@ static void initialize_core_pattern(bool skip_setup) { |
208 | if (getpid_cached() != 1) | 184 | if (getpid_cached() != 1) |
209 | return; | 185 | return; |
210 | 186 | ||
@@ -214,7 +190,7 @@ index 3f71cc0947..0e5aec3e9e 100644 | |||
214 | log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", | 190 | log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", |
215 | arg_early_core_pattern); | 191 | arg_early_core_pattern); |
216 | diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c | 192 | diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c |
217 | index 7ea902b6f9..1aef2988d0 100644 | 193 | index 7ea902b6f9..ee4cd56023 100644 |
218 | --- a/src/core/smack-setup.c | 194 | --- a/src/core/smack-setup.c |
219 | +++ b/src/core/smack-setup.c | 195 | +++ b/src/core/smack-setup.c |
220 | @@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) { | 196 | @@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) { |
@@ -230,8 +206,7 @@ index 7ea902b6f9..1aef2988d0 100644 | |||
230 | if (r < 0) | 206 | if (r < 0) |
231 | log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); | 207 | log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); |
232 | r = write_string_file("/sys/fs/smackfs/netlabel", | 208 | r = write_string_file("/sys/fs/smackfs/netlabel", |
233 | - "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | 209 | "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); |
234 | + "0.0.0.0/0 " SMACK_RUN_LABEL, 0); | ||
235 | if (r < 0) | 210 | if (r < 0) |
236 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); | 211 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); |
237 | - r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); | 212 | - r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); |
@@ -240,23 +215,23 @@ index 7ea902b6f9..1aef2988d0 100644 | |||
240 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); | 215 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); |
241 | #endif | 216 | #endif |
242 | diff --git a/src/home/homework.c b/src/home/homework.c | 217 | diff --git a/src/home/homework.c b/src/home/homework.c |
243 | index 066483e342..5f92dd7064 100644 | 218 | index 00e74894b3..7457113efe 100644 |
244 | --- a/src/home/homework.c | 219 | --- a/src/home/homework.c |
245 | +++ b/src/home/homework.c | 220 | +++ b/src/home/homework.c |
246 | @@ -278,7 +278,7 @@ static void drop_caches_now(void) { | 221 | @@ -304,7 +304,7 @@ static void drop_caches_now(void) { |
247 | * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but | 222 | * for details. We write "3" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but |
248 | * not more. */ | 223 | * not more. */ |
249 | 224 | ||
250 | - r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER); | 225 | - r = write_string_file("/proc/sys/vm/drop_caches", "3\n", WRITE_STRING_FILE_DISABLE_BUFFER); |
251 | + r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0); | 226 | + r = write_string_file("/proc/sys/vm/drop_caches", "3\n", 0); |
252 | if (r < 0) | 227 | if (r < 0) |
253 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); | 228 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); |
254 | else | 229 | else |
255 | diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c | 230 | diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c |
256 | index 2fbc619a34..09d9591e37 100644 | 231 | index 01fa90b1ff..83ab655bf4 100644 |
257 | --- a/src/libsystemd/sd-device/sd-device.c | 232 | --- a/src/libsystemd/sd-device/sd-device.c |
258 | +++ b/src/libsystemd/sd-device/sd-device.c | 233 | +++ b/src/libsystemd/sd-device/sd-device.c |
259 | @@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, | 234 | @@ -2564,7 +2564,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, |
260 | if (!value) | 235 | if (!value) |
261 | return -ENOMEM; | 236 | return -ENOMEM; |
262 | 237 | ||
@@ -266,23 +241,23 @@ index 2fbc619a34..09d9591e37 100644 | |||
266 | /* On failure, clear cache entry, as we do not know how it fails. */ | 241 | /* On failure, clear cache entry, as we do not know how it fails. */ |
267 | device_remove_cached_sysattr_value(device, sysattr); | 242 | device_remove_cached_sysattr_value(device, sysattr); |
268 | diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c | 243 | diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c |
269 | index a5002437c6..b12e6cd9c9 100644 | 244 | index 4f28b4a225..c899c218b2 100644 |
270 | --- a/src/nspawn/nspawn-cgroup.c | 245 | --- a/src/nspawn/nspawn-cgroup.c |
271 | +++ b/src/nspawn/nspawn-cgroup.c | 246 | +++ b/src/nspawn/nspawn-cgroup.c |
272 | @@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { | 247 | @@ -93,7 +93,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { |
273 | fn = strjoina(tree, cgroup, "/cgroup.procs"); | 248 | fn = strjoina(tree, cgroup, "/cgroup.procs"); |
274 | 249 | ||
275 | sprintf(pid_string, PID_FMT, pid); | 250 | sprintf(pid_string, PID_FMT, pid); |
276 | - r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); | 251 | - r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); |
277 | + r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755); | 252 | + r = write_string_file(fn, pid_string, 0|WRITE_STRING_FILE_MKDIR_0755); |
278 | if (r < 0) { | 253 | if (r < 0) { |
279 | log_error_errno(r, "Failed to move process: %m"); | 254 | log_error_errno(r, "Failed to move process: %m"); |
280 | goto finish; | 255 | goto finish; |
281 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c | 256 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c |
282 | index 6ab604d3dc..bbec6b686c 100644 | 257 | index 500725d35f..745b6815db 100644 |
283 | --- a/src/nspawn/nspawn.c | 258 | --- a/src/nspawn/nspawn.c |
284 | +++ b/src/nspawn/nspawn.c | 259 | +++ b/src/nspawn/nspawn.c |
285 | @@ -2688,7 +2688,7 @@ static int reset_audit_loginuid(void) { | 260 | @@ -2857,7 +2857,7 @@ static int reset_audit_loginuid(void) { |
286 | if (streq(p, "4294967295")) | 261 | if (streq(p, "4294967295")) |
287 | return 0; | 262 | return 0; |
288 | 263 | ||
@@ -291,7 +266,7 @@ index 6ab604d3dc..bbec6b686c 100644 | |||
291 | if (r < 0) { | 266 | if (r < 0) { |
292 | log_error_errno(r, | 267 | log_error_errno(r, |
293 | "Failed to reset audit login UID. This probably means that your kernel is too\n" | 268 | "Failed to reset audit login UID. This probably means that your kernel is too\n" |
294 | @@ -4141,7 +4141,7 @@ static int setup_uid_map( | 269 | @@ -4588,7 +4588,7 @@ static int setup_uid_map( |
295 | return log_oom(); | 270 | return log_oom(); |
296 | 271 | ||
297 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); | 272 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); |
@@ -300,7 +275,7 @@ index 6ab604d3dc..bbec6b686c 100644 | |||
300 | if (r < 0) | 275 | if (r < 0) |
301 | return log_error_errno(r, "Failed to write UID map: %m"); | 276 | return log_error_errno(r, "Failed to write UID map: %m"); |
302 | 277 | ||
303 | @@ -4151,7 +4151,7 @@ static int setup_uid_map( | 278 | @@ -4598,7 +4598,7 @@ static int setup_uid_map( |
304 | return log_oom(); | 279 | return log_oom(); |
305 | 280 | ||
306 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); | 281 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); |
@@ -323,10 +298,10 @@ index a26175474b..1413a9c72c 100644 | |||
323 | return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); | 298 | return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); |
324 | 299 | ||
325 | diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c | 300 | diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c |
326 | index 934a16eaf3..c921ced861 100644 | 301 | index 49d40f60d8..0f4aa8512a 100644 |
327 | --- a/src/shared/cgroup-setup.c | 302 | --- a/src/shared/cgroup-setup.c |
328 | +++ b/src/shared/cgroup-setup.c | 303 | +++ b/src/shared/cgroup-setup.c |
329 | @@ -351,7 +351,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { | 304 | @@ -369,7 +369,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { |
330 | 305 | ||
331 | xsprintf(c, PID_FMT "\n", pid); | 306 | xsprintf(c, PID_FMT "\n", pid); |
332 | 307 | ||
@@ -335,29 +310,56 @@ index 934a16eaf3..c921ced861 100644 | |||
335 | if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0) | 310 | if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0) |
336 | /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ | 311 | /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ |
337 | return -EUCLEAN; | 312 | return -EUCLEAN; |
338 | @@ -966,7 +966,7 @@ int cg_enable_everywhere( | 313 | @@ -399,7 +399,7 @@ int cg_fd_attach(int fd, pid_t pid) { |
339 | return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); | 314 | |
340 | } | 315 | xsprintf(c, PID_FMT "\n", pid); |
341 | |||
342 | - r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
343 | + r = write_string_stream(f, s, 0); | ||
344 | if (r < 0) { | ||
345 | log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", | ||
346 | FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); | ||
347 | diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c | ||
348 | index 805503f366..01a7ccb291 100644 | ||
349 | --- a/src/shared/coredump-util.c | ||
350 | +++ b/src/shared/coredump-util.c | ||
351 | @@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) { | ||
352 | xsprintf(t, "0x%"PRIx64, value); | ||
353 | 316 | ||
354 | return write_string_file("/proc/self/coredump_filter", t, | 317 | - return write_string_file_at(fd, "cgroup.procs", c, WRITE_STRING_FILE_DISABLE_BUFFER); |
355 | - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); | 318 | + return write_string_file_at(fd, "cgroup.procs", c, 0); |
356 | + 0); | ||
357 | } | 319 | } |
358 | 320 | ||
359 | /* Turn off core dumps but only if we're running outside of a container. */ | 321 | int cg_attach_fallback(const char *controller, const char *path, pid_t pid) { |
360 | @@ -173,7 +173,7 @@ void disable_coredumps(void) { | 322 | @@ -1049,7 +1049,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { |
323 | |||
324 | sc = strstrip(contents); | ||
325 | if (isempty(sc)) { | ||
326 | - r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
327 | + r = write_string_file(fs, agent, 0); | ||
328 | if (r < 0) | ||
329 | return r; | ||
330 | } else if (!path_equal(sc, agent)) | ||
331 | @@ -1067,7 +1067,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { | ||
332 | |||
333 | sc = strstrip(contents); | ||
334 | if (streq(sc, "0")) { | ||
335 | - r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
336 | + r = write_string_file(fs, "1", 0); | ||
337 | if (r < 0) | ||
338 | return r; | ||
339 | |||
340 | @@ -1094,7 +1094,7 @@ int cg_uninstall_release_agent(const char *controller) { | ||
341 | if (r < 0) | ||
342 | return r; | ||
343 | |||
344 | - r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
345 | + r = write_string_file(fs, "0", 0); | ||
346 | if (r < 0) | ||
347 | return r; | ||
348 | |||
349 | @@ -1104,7 +1104,7 @@ int cg_uninstall_release_agent(const char *controller) { | ||
350 | if (r < 0) | ||
351 | return r; | ||
352 | |||
353 | - r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
354 | + r = write_string_file(fs, "", 0); | ||
355 | if (r < 0) | ||
356 | return r; | ||
357 | |||
358 | diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c | ||
359 | index 805503f366..3234a1d76e 100644 | ||
360 | --- a/src/shared/coredump-util.c | ||
361 | +++ b/src/shared/coredump-util.c | ||
362 | @@ -180,7 +180,7 @@ void disable_coredumps(void) { | ||
361 | if (detect_container() > 0) | 363 | if (detect_container() > 0) |
362 | return; | 364 | return; |
363 | 365 | ||
@@ -367,10 +369,10 @@ index 805503f366..01a7ccb291 100644 | |||
367 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); | 369 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); |
368 | } | 370 | } |
369 | diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c | 371 | diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c |
370 | index 3eb13d48f6..d09b901be1 100644 | 372 | index 1213fdc2c7..4c26e6a4ee 100644 |
371 | --- a/src/shared/hibernate-util.c | 373 | --- a/src/shared/hibernate-util.c |
372 | +++ b/src/shared/hibernate-util.c | 374 | +++ b/src/shared/hibernate-util.c |
373 | @@ -481,7 +481,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { | 375 | @@ -498,7 +498,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { |
374 | 376 | ||
375 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so | 377 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so |
376 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ | 378 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ |
@@ -379,7 +381,7 @@ index 3eb13d48f6..d09b901be1 100644 | |||
379 | if (r == -ENOENT) { | 381 | if (r == -ENOENT) { |
380 | if (offset != 0) | 382 | if (offset != 0) |
381 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), | 383 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), |
382 | @@ -497,7 +497,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { | 384 | @@ -514,7 +514,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { |
383 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", | 385 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", |
384 | offset_str, device); | 386 | offset_str, device); |
385 | 387 | ||
@@ -389,7 +391,7 @@ index 3eb13d48f6..d09b901be1 100644 | |||
389 | return log_error_errno(r, | 391 | return log_error_errno(r, |
390 | "Failed to write device '%s' (%s) to /sys/power/resume: %m", | 392 | "Failed to write device '%s' (%s) to /sys/power/resume: %m", |
391 | diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c | 393 | diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c |
392 | index 1f88e724d0..feb18b320a 100644 | 394 | index d0a79b2635..0c82d9943a 100644 |
393 | --- a/src/shared/smack-util.c | 395 | --- a/src/shared/smack-util.c |
394 | +++ b/src/shared/smack-util.c | 396 | +++ b/src/shared/smack-util.c |
395 | @@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { | 397 | @@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { |
@@ -401,46 +403,24 @@ index 1f88e724d0..feb18b320a 100644 | |||
401 | if (r < 0) | 403 | if (r < 0) |
402 | return r; | 404 | return r; |
403 | 405 | ||
404 | diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c | ||
405 | index 4c1a968718..6faf6806a5 100644 | ||
406 | --- a/src/shared/watchdog.c | ||
407 | +++ b/src/shared/watchdog.c | ||
408 | @@ -93,7 +93,7 @@ static int set_pretimeout_governor(const char *governor) { | ||
409 | |||
410 | r = write_string_file(sys_fn, | ||
411 | governor, | ||
412 | - WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
413 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
414 | if (r < 0) | ||
415 | return log_error_errno(r, "Failed to set pretimeout_governor to '%s': %m", governor); | ||
416 | |||
417 | diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c | 406 | diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c |
418 | index 21af3e9e52..6d4b84b5d5 100644 | 407 | index 181bb4ccef..2dbb3f4bc6 100644 |
419 | --- a/src/sleep/sleep.c | 408 | --- a/src/sleep/sleep.c |
420 | +++ b/src/sleep/sleep.c | 409 | +++ b/src/sleep/sleep.c |
421 | @@ -137,7 +137,7 @@ static int write_state(int fd, char * const *states) { | 410 | @@ -158,7 +158,7 @@ static int write_mode(const char *path, char * const *modes) { |
422 | if (k < 0) | 411 | assert(path); |
423 | return RET_GATHER(r, k); | ||
424 | |||
425 | - k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
426 | + k = write_string_stream(f, *state, 0); | ||
427 | if (k >= 0) { | ||
428 | log_debug("Using sleep state '%s'.", *state); | ||
429 | return 0; | ||
430 | @@ -155,7 +155,7 @@ static int write_mode(char * const *modes) { | ||
431 | STRV_FOREACH(mode, modes) { | ||
432 | int k; | ||
433 | 412 | ||
434 | - k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER); | 413 | STRV_FOREACH(mode, modes) { |
435 | + k = write_string_file("/sys/power/disk", *mode, 0); | 414 | - r = write_string_file(path, *mode, WRITE_STRING_FILE_DISABLE_BUFFER); |
436 | if (k >= 0) { | 415 | + r = write_string_file(path, *mode, 0); |
437 | log_debug("Using sleep disk mode '%s'.", *mode); | 416 | if (r >= 0) { |
417 | log_debug("Using sleep mode '%s' for %s.", *mode, path); | ||
438 | return 0; | 418 | return 0; |
439 | diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c | 419 | diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c |
440 | index ae63baaf79..82eeca479a 100644 | 420 | index ca8e886d37..5c27c54f09 100644 |
441 | --- a/src/storagetm/storagetm.c | 421 | --- a/src/storagetm/storagetm.c |
442 | +++ b/src/storagetm/storagetm.c | 422 | +++ b/src/storagetm/storagetm.c |
443 | @@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) { | 423 | @@ -197,7 +197,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) { |
444 | if (!enable_fn) | 424 | if (!enable_fn) |
445 | return log_oom(); | 425 | return log_oom(); |
446 | 426 | ||
@@ -449,7 +429,7 @@ index ae63baaf79..82eeca479a 100644 | |||
449 | if (r < 0) | 429 | if (r < 0) |
450 | log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name); | 430 | log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name); |
451 | 431 | ||
452 | @@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { | 432 | @@ -265,7 +265,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { |
453 | _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */ | 433 | _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */ |
454 | 434 | ||
455 | /* The default string stored in 'attr_model' is "Linux" btw. */ | 435 | /* The default string stored in 'attr_model' is "Linux" btw. */ |
@@ -458,7 +438,7 @@ index ae63baaf79..82eeca479a 100644 | |||
458 | if (r < 0) | 438 | if (r < 0) |
459 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w); | 439 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w); |
460 | } | 440 | } |
461 | @@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { | 441 | @@ -279,7 +279,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { |
462 | return log_oom(); | 442 | return log_oom(); |
463 | 443 | ||
464 | /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */ | 444 | /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */ |
@@ -467,7 +447,7 @@ index ae63baaf79..82eeca479a 100644 | |||
467 | if (r < 0) | 447 | if (r < 0) |
468 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated); | 448 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated); |
469 | } | 449 | } |
470 | @@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { | 450 | @@ -306,7 +306,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) { |
471 | if (!truncated) | 451 | if (!truncated) |
472 | return log_oom(); | 452 | return log_oom(); |
473 | 453 | ||
@@ -476,7 +456,7 @@ index ae63baaf79..82eeca479a 100644 | |||
476 | if (r < 0) | 456 | if (r < 0) |
477 | log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated); | 457 | log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated); |
478 | } | 458 | } |
479 | @@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co | 459 | @@ -356,7 +356,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co |
480 | id = id128_digest(j, l); | 460 | id = id128_digest(j, l); |
481 | } | 461 | } |
482 | 462 | ||
@@ -485,7 +465,7 @@ index ae63baaf79..82eeca479a 100644 | |||
485 | if (r < 0) | 465 | if (r < 0) |
486 | log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id)); | 466 | log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id)); |
487 | 467 | ||
488 | @@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi | 468 | @@ -419,7 +419,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi |
489 | if (subsystem_fd < 0) | 469 | if (subsystem_fd < 0) |
490 | return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j); | 470 | return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j); |
491 | 471 | ||
@@ -494,7 +474,7 @@ index ae63baaf79..82eeca479a 100644 | |||
494 | if (r < 0) | 474 | if (r < 0) |
495 | return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m"); | 475 | return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m"); |
496 | 476 | ||
497 | @@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi | 477 | @@ -434,11 +434,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi |
498 | 478 | ||
499 | /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others | 479 | /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others |
500 | * via configfs, and by including the PID it's clear to who the stuff belongs. */ | 480 | * via configfs, and by including the PID it's clear to who the stuff belongs. */ |
@@ -508,7 +488,7 @@ index ae63baaf79..82eeca479a 100644 | |||
508 | if (r < 0) | 488 | if (r < 0) |
509 | return log_error_errno(r, "Failed to write 'enable' attribute: %m"); | 489 | return log_error_errno(r, "Failed to write 'enable' attribute: %m"); |
510 | 490 | ||
511 | @@ -557,19 +557,19 @@ static int nvme_port_add_portnr( | 491 | @@ -568,19 +568,19 @@ static int nvme_port_add_portnr( |
512 | return 0; | 492 | return 0; |
513 | } | 493 | } |
514 | 494 | ||
@@ -532,23 +512,11 @@ index ae63baaf79..82eeca479a 100644 | |||
532 | if (r < 0) | 512 | if (r < 0) |
533 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); | 513 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); |
534 | 514 | ||
535 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | ||
536 | index febe345b4c..a90b610ba1 100644 | ||
537 | --- a/src/udev/udev-rules.c | ||
538 | +++ b/src/udev/udev-rules.c | ||
539 | @@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_event( | ||
540 | log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value); | ||
541 | r = write_string_file(buf, value, | ||
542 | WRITE_STRING_FILE_VERIFY_ON_FAILURE | | ||
543 | - WRITE_STRING_FILE_DISABLE_BUFFER | | ||
544 | WRITE_STRING_FILE_AVOID_NEWLINE | | ||
545 | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
546 | if (r < 0) | ||
547 | diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c | 515 | diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c |
548 | index 4d82c65f0a..3a3d861b83 100644 | 516 | index ba742dda69..6f20e81615 100644 |
549 | --- a/src/vconsole/vconsole-setup.c | 517 | --- a/src/vconsole/vconsole-setup.c |
550 | +++ b/src/vconsole/vconsole-setup.c | 518 | +++ b/src/vconsole/vconsole-setup.c |
551 | @@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { | 519 | @@ -277,7 +277,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { |
552 | static int toggle_utf8_sysfs(bool utf8) { | 520 | static int toggle_utf8_sysfs(bool utf8) { |
553 | int r; | 521 | int r; |
554 | 522 | ||
diff --git a/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch index 43f75373a6..35009cba42 100644 --- a/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch +++ b/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001 | 1 | From ab4fda874b26542de96720db58cb0e8704a40108 Mon Sep 17 00:00:00 2001 |
2 | From: Scott Murray <scott.murray@konsulko.com> | 2 | From: Scott Murray <scott.murray@konsulko.com> |
3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 | 3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 |
4 | Subject: [PATCH 13/22] Handle __cpu_mask usage | 4 | Subject: [PATCH 13/26] Handle __cpu_mask usage |
5 | 5 | ||
6 | Fixes errors: | 6 | Fixes errors: |
7 | 7 | ||
@@ -24,7 +24,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
24 | 2 files changed, 3 insertions(+), 1 deletion(-) | 24 | 2 files changed, 3 insertions(+), 1 deletion(-) |
25 | 25 | ||
26 | diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h | 26 | diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h |
27 | index 3c63a58826..4c2d4347fc 100644 | 27 | index 2c477d8a01..c026ce77a6 100644 |
28 | --- a/src/shared/cpu-set-util.h | 28 | --- a/src/shared/cpu-set-util.h |
29 | +++ b/src/shared/cpu-set-util.h | 29 | +++ b/src/shared/cpu-set-util.h |
30 | @@ -6,6 +6,8 @@ | 30 | @@ -6,6 +6,8 @@ |
diff --git a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch index a751e1ba6f..0aabae6d82 100644 --- a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch +++ b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001 | 1 | From c5165f6adf8a9cfe8c0784c598b87d7d7e8b7d1a Mon Sep 17 00:00:00 2001 |
2 | From: Alex Kiernan <alex.kiernan@gmail.com> | 2 | From: Alex Kiernan <alex.kiernan@gmail.com> |
3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 | 3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 |
4 | Subject: [PATCH 14/22] Handle missing gshadow | 4 | Subject: [PATCH 14/26] Handle missing gshadow |
5 | 5 | ||
6 | gshadow usage is now present in the userdb code. Mask all uses of it to | 6 | gshadow usage is now present in the userdb code. Mask all uses of it to |
7 | allow compilation on musl | 7 | allow compilation on musl |
@@ -17,10 +17,10 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | |||
17 | 3 files changed, 30 insertions(+), 1 deletion(-) | 17 | 3 files changed, 30 insertions(+), 1 deletion(-) |
18 | 18 | ||
19 | diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c | 19 | diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c |
20 | index 414a49331b..1a4e1b628c 100644 | 20 | index 9223a2e6ca..f9eb1a5b64 100644 |
21 | --- a/src/shared/user-record-nss.c | 21 | --- a/src/shared/user-record-nss.c |
22 | +++ b/src/shared/user-record-nss.c | 22 | +++ b/src/shared/user-record-nss.c |
23 | @@ -329,8 +329,10 @@ int nss_group_to_group_record( | 23 | @@ -286,8 +286,10 @@ int nss_group_to_group_record( |
24 | if (isempty(grp->gr_name)) | 24 | if (isempty(grp->gr_name)) |
25 | return -EINVAL; | 25 | return -EINVAL; |
26 | 26 | ||
@@ -31,7 +31,7 @@ index 414a49331b..1a4e1b628c 100644 | |||
31 | 31 | ||
32 | g = group_record_new(); | 32 | g = group_record_new(); |
33 | if (!g) | 33 | if (!g) |
34 | @@ -346,6 +348,7 @@ int nss_group_to_group_record( | 34 | @@ -303,6 +305,7 @@ int nss_group_to_group_record( |
35 | 35 | ||
36 | g->gid = grp->gr_gid; | 36 | g->gid = grp->gr_gid; |
37 | 37 | ||
@@ -39,15 +39,15 @@ index 414a49331b..1a4e1b628c 100644 | |||
39 | if (sgrp) { | 39 | if (sgrp) { |
40 | if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) { | 40 | if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) { |
41 | g->hashed_password = strv_new(sgrp->sg_passwd); | 41 | g->hashed_password = strv_new(sgrp->sg_passwd); |
42 | @@ -361,6 +364,7 @@ int nss_group_to_group_record( | 42 | @@ -318,6 +321,7 @@ int nss_group_to_group_record( |
43 | if (r < 0) | 43 | if (r < 0) |
44 | return r; | 44 | return r; |
45 | } | 45 | } |
46 | +#endif | 46 | +#endif |
47 | 47 | ||
48 | r = json_build(&g->json, JSON_BUILD_OBJECT( | 48 | r = sd_json_buildo( |
49 | JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), | 49 | &g->json, |
50 | @@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | 50 | @@ -345,6 +349,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re |
51 | assert(ret_sgrp); | 51 | assert(ret_sgrp); |
52 | assert(ret_buffer); | 52 | assert(ret_buffer); |
53 | 53 | ||
@@ -55,7 +55,7 @@ index 414a49331b..1a4e1b628c 100644 | |||
55 | for (;;) { | 55 | for (;;) { |
56 | _cleanup_free_ char *buf = NULL; | 56 | _cleanup_free_ char *buf = NULL; |
57 | struct sgrp sgrp, *result; | 57 | struct sgrp sgrp, *result; |
58 | @@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | 58 | @@ -373,6 +378,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re |
59 | buflen *= 2; | 59 | buflen *= 2; |
60 | buf = mfree(buf); | 60 | buf = mfree(buf); |
61 | } | 61 | } |
@@ -65,25 +65,25 @@ index 414a49331b..1a4e1b628c 100644 | |||
65 | } | 65 | } |
66 | 66 | ||
67 | int nss_group_record_by_name( | 67 | int nss_group_record_by_name( |
68 | @@ -426,7 +434,9 @@ int nss_group_record_by_name( | 68 | @@ -383,7 +391,9 @@ int nss_group_record_by_name( |
69 | struct group grp, *result; | 69 | _cleanup_free_ char *sbuf = NULL; |
70 | _cleanup_free_ struct group *result = NULL; | ||
70 | bool incomplete = false; | 71 | bool incomplete = false; |
71 | size_t buflen = 4096; | ||
72 | +#if ENABLE_GSHADOW | 72 | +#if ENABLE_GSHADOW |
73 | struct sgrp sgrp, *sresult = NULL; | 73 | struct sgrp sgrp, *sresult = NULL; |
74 | +#endif | 74 | +#endif |
75 | int r; | 75 | int r; |
76 | 76 | ||
77 | assert(name); | 77 | assert(name); |
78 | @@ -455,6 +465,7 @@ int nss_group_record_by_name( | 78 | @@ -392,6 +402,7 @@ int nss_group_record_by_name( |
79 | buf = mfree(buf); | 79 | if (r < 0) |
80 | } | 80 | return r; |
81 | 81 | ||
82 | +#if ENABLE_GSHADOW | 82 | +#if ENABLE_GSHADOW |
83 | if (with_shadow) { | 83 | if (with_shadow) { |
84 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | 84 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); |
85 | if (r < 0) { | 85 | if (r < 0) { |
86 | @@ -466,6 +477,9 @@ int nss_group_record_by_name( | 86 | @@ -403,6 +414,9 @@ int nss_group_record_by_name( |
87 | incomplete = true; | 87 | incomplete = true; |
88 | 88 | ||
89 | r = nss_group_to_group_record(result, sresult, ret); | 89 | r = nss_group_to_group_record(result, sresult, ret); |
@@ -93,25 +93,24 @@ index 414a49331b..1a4e1b628c 100644 | |||
93 | if (r < 0) | 93 | if (r < 0) |
94 | return r; | 94 | return r; |
95 | 95 | ||
96 | @@ -483,7 +497,9 @@ int nss_group_record_by_gid( | 96 | @@ -419,13 +433,16 @@ int nss_group_record_by_gid( |
97 | struct group grp, *result; | 97 | _cleanup_free_ char *sbuf = NULL; |
98 | _cleanup_free_ struct group *result = NULL; | ||
98 | bool incomplete = false; | 99 | bool incomplete = false; |
99 | size_t buflen = 4096; | ||
100 | +#if ENABLE_GSHADOW | 100 | +#if ENABLE_GSHADOW |
101 | struct sgrp sgrp, *sresult = NULL; | 101 | struct sgrp sgrp, *sresult = NULL; |
102 | +#endif | 102 | +#endif |
103 | int r; | 103 | int r; |
104 | 104 | ||
105 | for (;;) { | 105 | r = getgrgid_malloc(gid, &result); |
106 | @@ -509,6 +525,7 @@ int nss_group_record_by_gid( | 106 | if (r < 0) |
107 | buf = mfree(buf); | 107 | return r; |
108 | } | ||
109 | 108 | ||
110 | +#if ENABLE_GSHADOW | 109 | +#if ENABLE_GSHADOW |
111 | if (with_shadow) { | 110 | if (with_shadow) { |
112 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | 111 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); |
113 | if (r < 0) { | 112 | if (r < 0) { |
114 | @@ -520,6 +537,9 @@ int nss_group_record_by_gid( | 113 | @@ -437,6 +454,9 @@ int nss_group_record_by_gid( |
115 | incomplete = true; | 114 | incomplete = true; |
116 | 115 | ||
117 | r = nss_group_to_group_record(result, sresult, ret); | 116 | r = nss_group_to_group_record(result, sresult, ret); |
@@ -138,10 +137,10 @@ index 22ab04d6ee..4e52e7a911 100644 | |||
138 | #include <shadow.h> | 137 | #include <shadow.h> |
139 | 138 | ||
140 | diff --git a/src/shared/userdb.c b/src/shared/userdb.c | 139 | diff --git a/src/shared/userdb.c b/src/shared/userdb.c |
141 | index f60d48ace4..e878199a28 100644 | 140 | index ff83d4bf90..54d36cc706 100644 |
142 | --- a/src/shared/userdb.c | 141 | --- a/src/shared/userdb.c |
143 | +++ b/src/shared/userdb.c | 142 | +++ b/src/shared/userdb.c |
144 | @@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | 143 | @@ -1042,13 +1042,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { |
145 | if (gr) { | 144 | if (gr) { |
146 | _cleanup_free_ char *buffer = NULL; | 145 | _cleanup_free_ char *buffer = NULL; |
147 | bool incomplete = false; | 146 | bool incomplete = false; |
@@ -158,7 +157,7 @@ index f60d48ace4..e878199a28 100644 | |||
158 | if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { | 157 | if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { |
159 | r = nss_sgrp_for_group(gr, &sgrp, &buffer); | 158 | r = nss_sgrp_for_group(gr, &sgrp, &buffer); |
160 | if (r < 0) { | 159 | if (r < 0) { |
161 | @@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | 160 | @@ -1061,6 +1063,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { |
162 | } | 161 | } |
163 | 162 | ||
164 | r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); | 163 | r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); |
diff --git a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index e112766a9b..1443c5082b 100644 --- a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001 | 1 | From ef9ad83759f78de983d2d7c4f95bc48b83bb8f66 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 | 3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 |
4 | Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl | 4 | Subject: [PATCH 15/26] missing_syscall.h: Define MIPS ABI defines for musl |
5 | 5 | ||
6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 | 6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 |
7 | unlike glibc where these are provided by libc headers, therefore define | 7 | unlike glibc where these are provided by libc headers, therefore define |
@@ -15,8 +15,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | src/shared/base-filesystem.c | 1 + | 15 | src/shared/base-filesystem.c | 1 + |
16 | 2 files changed, 7 insertions(+) | 16 | 2 files changed, 7 insertions(+) |
17 | 17 | ||
18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h | ||
19 | index d795efd8f2..d6729d3c1d 100644 | ||
20 | --- a/src/basic/missing_syscall.h | 18 | --- a/src/basic/missing_syscall.h |
21 | +++ b/src/basic/missing_syscall.h | 19 | +++ b/src/basic/missing_syscall.h |
22 | @@ -20,6 +20,12 @@ | 20 | @@ -20,6 +20,12 @@ |
@@ -31,9 +29,7 @@ index d795efd8f2..d6729d3c1d 100644 | |||
31 | + | 29 | + |
32 | #include "macro.h" | 30 | #include "macro.h" |
33 | #include "missing_keyctl.h" | 31 | #include "missing_keyctl.h" |
34 | #include "missing_stat.h" | 32 | #include "missing_sched.h" |
35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
36 | index 7ae921a113..0ef9d1fd39 100644 | ||
37 | --- a/src/shared/base-filesystem.c | 33 | --- a/src/shared/base-filesystem.c |
38 | +++ b/src/shared/base-filesystem.c | 34 | +++ b/src/shared/base-filesystem.c |
39 | @@ -20,6 +20,7 @@ | 35 | @@ -20,6 +20,7 @@ |
@@ -42,8 +38,5 @@ index 7ae921a113..0ef9d1fd39 100644 | |||
42 | #include "user-util.h" | 38 | #include "user-util.h" |
43 | +#include "missing_syscall.h" | 39 | +#include "missing_syscall.h" |
44 | 40 | ||
45 | typedef struct BaseFilesystem { | 41 | typedef enum BaseFilesystemFlags { |
46 | const char *dir; /* directory or symlink to create */ | 42 | BASE_FILESYSTEM_IGNORE_ON_FAILURE = 1 << 0, |
47 | -- | ||
48 | 2.34.1 | ||
49 | |||
diff --git a/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch b/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch index 0be817e62d..b802106155 100644 --- a/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch +++ b/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001 | 1 | From 9079b158779a9c395c24f882f72a1c734795045d Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 | 3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 |
4 | Subject: [PATCH 16/22] pass correct parameters to getdents64 | 4 | Subject: [PATCH 16/26] pass correct parameters to getdents64 |
5 | 5 | ||
6 | Fixes | 6 | Fixes |
7 | ../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] | 7 | ../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] |
@@ -20,10 +20,10 @@ Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | |||
20 | 1 file changed, 1 insertion(+), 1 deletion(-) | 20 | 1 file changed, 1 insertion(+), 1 deletion(-) |
21 | 21 | ||
22 | diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c | 22 | diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c |
23 | index 5e98b7a5d8..aef065047b 100644 | 23 | index 378fd92b06..5b567b457d 100644 |
24 | --- a/src/basic/recurse-dir.c | 24 | --- a/src/basic/recurse-dir.c |
25 | +++ b/src/basic/recurse-dir.c | 25 | +++ b/src/basic/recurse-dir.c |
26 | @@ -55,7 +55,7 @@ int readdir_all(int dir_fd, | 26 | @@ -56,7 +56,7 @@ int readdir_all(int dir_fd, |
27 | bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); | 27 | bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); |
28 | assert(bs > de->buffer_size); | 28 | assert(bs > de->buffer_size); |
29 | 29 | ||
diff --git a/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch b/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch index 4176522a1c..5a2bc3c552 100644 --- a/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch +++ b/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001 | 1 | From be9d8f221ab9d31c0df8b2b3e66172bb9bc0f71f Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 | 3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 |
4 | Subject: [PATCH 17/22] Adjust for musl headers | 4 | Subject: [PATCH 17/26] Adjust for musl headers |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl specific] | 6 | Upstream-Status: Inappropriate [musl specific] |
7 | 7 | ||
@@ -10,11 +10,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
10 | [Rebased for v255.1] | 10 | [Rebased for v255.1] |
11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
12 | --- | 12 | --- |
13 | src/basic/linux/ethtool.h | 3 ++- | ||
13 | src/libsystemd-network/sd-dhcp6-client.c | 2 +- | 14 | src/libsystemd-network/sd-dhcp6-client.c | 2 +- |
14 | src/network/netdev/bareudp.c | 2 +- | 15 | src/network/netdev/bareudp.c | 2 +- |
15 | src/network/netdev/batadv.c | 2 +- | 16 | src/network/netdev/batadv.c | 2 +- |
16 | src/network/netdev/bond.c | 2 +- | 17 | src/network/netdev/bond.c | 2 +- |
17 | src/network/netdev/bridge.c | 2 +- | 18 | src/network/netdev/bridge.c | 3 ++- |
18 | src/network/netdev/dummy.c | 2 +- | 19 | src/network/netdev/dummy.c | 2 +- |
19 | src/network/netdev/geneve.c | 2 +- | 20 | src/network/netdev/geneve.c | 2 +- |
20 | src/network/netdev/ifb.c | 2 +- | 21 | src/network/netdev/ifb.c | 2 +- |
@@ -34,7 +35,6 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
34 | src/network/netdev/vxlan.c | 2 +- | 35 | src/network/netdev/vxlan.c | 2 +- |
35 | src/network/netdev/wireguard.c | 2 +- | 36 | src/network/netdev/wireguard.c | 2 +- |
36 | src/network/netdev/xfrm.c | 2 +- | 37 | src/network/netdev/xfrm.c | 2 +- |
37 | src/network/networkd-bridge-mdb.c | 4 ++-- | ||
38 | src/network/networkd-dhcp-common.c | 3 ++- | 38 | src/network/networkd-dhcp-common.c | 3 ++- |
39 | src/network/networkd-dhcp-prefix-delegation.c | 3 ++- | 39 | src/network/networkd-dhcp-prefix-delegation.c | 3 ++- |
40 | src/network/networkd-dhcp-server.c | 2 +- | 40 | src/network/networkd-dhcp-server.c | 2 +- |
@@ -42,16 +42,28 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
42 | src/network/networkd-ipv6ll.c | 2 +- | 42 | src/network/networkd-ipv6ll.c | 2 +- |
43 | src/network/networkd-link.c | 2 +- | 43 | src/network/networkd-link.c | 2 +- |
44 | src/network/networkd-ndisc.c | 2 +- | 44 | src/network/networkd-ndisc.c | 2 +- |
45 | src/network/networkd-route.c | 8 ++++---- | ||
46 | src/network/networkd-setlink.c | 2 +- | 45 | src/network/networkd-setlink.c | 2 +- |
47 | src/network/networkd-sysctl.c | 2 +- | 46 | src/network/networkd-sysctl.c | 2 +- |
48 | src/shared/linux/ethtool.h | 3 ++- | ||
49 | src/shared/netif-util.c | 2 +- | 47 | src/shared/netif-util.c | 2 +- |
50 | src/udev/udev-builtin-net_id.c | 2 +- | 48 | src/udev/udev-builtin-net_id.c | 2 +- |
51 | 38 files changed, 45 insertions(+), 42 deletions(-) | 49 | 36 files changed, 40 insertions(+), 36 deletions(-) |
52 | 50 | ||
51 | diff --git a/src/basic/linux/ethtool.h b/src/basic/linux/ethtool.h | ||
52 | index a32293ba20..2aad67e9c0 100644 | ||
53 | --- a/src/basic/linux/ethtool.h | ||
54 | +++ b/src/basic/linux/ethtool.h | ||
55 | @@ -16,7 +16,8 @@ | ||
56 | |||
57 | #include <linux/const.h> | ||
58 | #include <linux/types.h> | ||
59 | -#include <linux/if_ether.h> | ||
60 | +#include <netinet/if_ether.h> | ||
61 | +//#include <linux/if_ether.h> | ||
62 | |||
63 | #include <limits.h> /* for INT_MAX */ | ||
64 | |||
53 | diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c | 65 | diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c |
54 | index c20367dfc9..b8d4cd8c2a 100644 | 66 | index 3e992d7cad..c7e1ff4dbf 100644 |
55 | --- a/src/libsystemd-network/sd-dhcp6-client.c | 67 | --- a/src/libsystemd-network/sd-dhcp6-client.c |
56 | +++ b/src/libsystemd-network/sd-dhcp6-client.c | 68 | +++ b/src/libsystemd-network/sd-dhcp6-client.c |
57 | @@ -5,7 +5,7 @@ | 69 | @@ -5,7 +5,7 @@ |
@@ -64,7 +76,7 @@ index c20367dfc9..b8d4cd8c2a 100644 | |||
64 | 76 | ||
65 | #include "sd-dhcp6-client.h" | 77 | #include "sd-dhcp6-client.h" |
66 | diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c | 78 | diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c |
67 | index 1df886573b..c8b6714726 100644 | 79 | index e122abd97f..c120c2969b 100644 |
68 | --- a/src/network/netdev/bareudp.c | 80 | --- a/src/network/netdev/bareudp.c |
69 | +++ b/src/network/netdev/bareudp.c | 81 | +++ b/src/network/netdev/bareudp.c |
70 | @@ -2,7 +2,7 @@ | 82 | @@ -2,7 +2,7 @@ |
@@ -77,7 +89,7 @@ index 1df886573b..c8b6714726 100644 | |||
77 | #include "bareudp.h" | 89 | #include "bareudp.h" |
78 | #include "netlink-util.h" | 90 | #include "netlink-util.h" |
79 | diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c | 91 | diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c |
80 | index 26da0231d4..2e8002af8c 100644 | 92 | index 9806d8eb7c..19c3d881c2 100644 |
81 | --- a/src/network/netdev/batadv.c | 93 | --- a/src/network/netdev/batadv.c |
82 | +++ b/src/network/netdev/batadv.c | 94 | +++ b/src/network/netdev/batadv.c |
83 | @@ -3,7 +3,7 @@ | 95 | @@ -3,7 +3,7 @@ |
@@ -90,7 +102,7 @@ index 26da0231d4..2e8002af8c 100644 | |||
90 | #include "batadv.h" | 102 | #include "batadv.h" |
91 | #include "fileio.h" | 103 | #include "fileio.h" |
92 | diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c | 104 | diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c |
93 | index 4d75a0d6bf..985b3197e0 100644 | 105 | index b866940b7a..a0eaf0a866 100644 |
94 | --- a/src/network/netdev/bond.c | 106 | --- a/src/network/netdev/bond.c |
95 | +++ b/src/network/netdev/bond.c | 107 | +++ b/src/network/netdev/bond.c |
96 | @@ -1,7 +1,7 @@ | 108 | @@ -1,7 +1,7 @@ |
@@ -103,20 +115,21 @@ index 4d75a0d6bf..985b3197e0 100644 | |||
103 | #include "alloc-util.h" | 115 | #include "alloc-util.h" |
104 | #include "bond.h" | 116 | #include "bond.h" |
105 | diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c | 117 | diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c |
106 | index 3e394edadf..f12f667687 100644 | 118 | index d3ba4989d9..4f7301c4f1 100644 |
107 | --- a/src/network/netdev/bridge.c | 119 | --- a/src/network/netdev/bridge.c |
108 | +++ b/src/network/netdev/bridge.c | 120 | +++ b/src/network/netdev/bridge.c |
109 | @@ -2,7 +2,7 @@ | 121 | @@ -2,7 +2,8 @@ |
110 | 122 | ||
123 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
111 | #include <net/if.h> | 124 | #include <net/if.h> |
112 | #include <netinet/in.h> | ||
113 | -#include <linux/if_arp.h> | 125 | -#include <linux/if_arp.h> |
126 | +#include <netinet/in.h> | ||
114 | +//#include <linux/if_arp.h> | 127 | +//#include <linux/if_arp.h> |
115 | #include <linux/if_bridge.h> | 128 | #include <linux/if_bridge.h> |
129 | #include <netinet/in.h> | ||
116 | 130 | ||
117 | #include "bridge.h" | ||
118 | diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c | 131 | diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c |
119 | index 00df1d2787..77b506b422 100644 | 132 | index 8b2893d5b4..412123f036 100644 |
120 | --- a/src/network/netdev/dummy.c | 133 | --- a/src/network/netdev/dummy.c |
121 | +++ b/src/network/netdev/dummy.c | 134 | +++ b/src/network/netdev/dummy.c |
122 | @@ -1,6 +1,6 @@ | 135 | @@ -1,6 +1,6 @@ |
@@ -128,18 +141,18 @@ index 00df1d2787..77b506b422 100644 | |||
128 | #include "dummy.h" | 141 | #include "dummy.h" |
129 | 142 | ||
130 | diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c | 143 | diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c |
131 | index bc655ec7ff..a77e8e17e4 100644 | 144 | index 1d68be9bc8..539151c49e 100644 |
132 | --- a/src/network/netdev/geneve.c | 145 | --- a/src/network/netdev/geneve.c |
133 | +++ b/src/network/netdev/geneve.c | 146 | +++ b/src/network/netdev/geneve.c |
134 | @@ -2,7 +2,7 @@ | 147 | @@ -2,7 +2,7 @@ |
135 | 148 | ||
149 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
136 | #include <net/if.h> | 150 | #include <net/if.h> |
137 | #include <netinet/in.h> | ||
138 | -#include <linux/if_arp.h> | 151 | -#include <linux/if_arp.h> |
139 | +//#include <linux/if_arp.h> | 152 | +//#include <linux/if_arp.h> |
153 | #include <netinet/in.h> | ||
140 | 154 | ||
141 | #include "alloc-util.h" | 155 | #include "alloc-util.h" |
142 | #include "conf-parser.h" | ||
143 | diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c | 156 | diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c |
144 | index d7ff44cb9e..e037629ae4 100644 | 157 | index d7ff44cb9e..e037629ae4 100644 |
145 | --- a/src/network/netdev/ifb.c | 158 | --- a/src/network/netdev/ifb.c |
@@ -154,7 +167,7 @@ index d7ff44cb9e..e037629ae4 100644 | |||
154 | #include "ifb.h" | 167 | #include "ifb.h" |
155 | 168 | ||
156 | diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c | 169 | diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c |
157 | index d5fe299b7b..c9c8002eac 100644 | 170 | index 6932c62e2a..fc458da9e8 100644 |
158 | --- a/src/network/netdev/ipoib.c | 171 | --- a/src/network/netdev/ipoib.c |
159 | +++ b/src/network/netdev/ipoib.c | 172 | +++ b/src/network/netdev/ipoib.c |
160 | @@ -1,6 +1,6 @@ | 173 | @@ -1,6 +1,6 @@ |
@@ -166,11 +179,11 @@ index d5fe299b7b..c9c8002eac 100644 | |||
166 | 179 | ||
167 | #include "ipoib.h" | 180 | #include "ipoib.h" |
168 | diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c | 181 | diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c |
169 | index 05d5d010f6..d440f49537 100644 | 182 | index 6e50f72aaa..49acfee25e 100644 |
170 | --- a/src/network/netdev/ipvlan.c | 183 | --- a/src/network/netdev/ipvlan.c |
171 | +++ b/src/network/netdev/ipvlan.c | 184 | +++ b/src/network/netdev/ipvlan.c |
172 | @@ -2,7 +2,7 @@ | 185 | @@ -3,7 +3,7 @@ |
173 | 186 | /* Make sure the net/if.h header is included before any linux/ one */ | |
174 | #include <net/if.h> | 187 | #include <net/if.h> |
175 | #include <netinet/in.h> | 188 | #include <netinet/in.h> |
176 | -#include <linux/if_arp.h> | 189 | -#include <linux/if_arp.h> |
@@ -179,7 +192,7 @@ index 05d5d010f6..d440f49537 100644 | |||
179 | #include "conf-parser.h" | 192 | #include "conf-parser.h" |
180 | #include "ipvlan.h" | 193 | #include "ipvlan.h" |
181 | diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c | 194 | diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c |
182 | index 17d6acefb6..679d0984f9 100644 | 195 | index 6dd434f803..f9fbe9f51a 100644 |
183 | --- a/src/network/netdev/macsec.c | 196 | --- a/src/network/netdev/macsec.c |
184 | +++ b/src/network/netdev/macsec.c | 197 | +++ b/src/network/netdev/macsec.c |
185 | @@ -1,7 +1,7 @@ | 198 | @@ -1,7 +1,7 @@ |
@@ -192,11 +205,11 @@ index 17d6acefb6..679d0984f9 100644 | |||
192 | #include <linux/if_macsec.h> | 205 | #include <linux/if_macsec.h> |
193 | #include <linux/genetlink.h> | 206 | #include <linux/genetlink.h> |
194 | diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c | 207 | diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c |
195 | index 203807e3a5..8ab09a387e 100644 | 208 | index fd112b58e1..b038740bda 100644 |
196 | --- a/src/network/netdev/macvlan.c | 209 | --- a/src/network/netdev/macvlan.c |
197 | +++ b/src/network/netdev/macvlan.c | 210 | +++ b/src/network/netdev/macvlan.c |
198 | @@ -2,7 +2,7 @@ | 211 | @@ -3,7 +3,7 @@ |
199 | 212 | /* Make sure the net/if.h header is included before any linux/ one */ | |
200 | #include <net/if.h> | 213 | #include <net/if.h> |
201 | #include <netinet/in.h> | 214 | #include <netinet/in.h> |
202 | -#include <linux/if_arp.h> | 215 | -#include <linux/if_arp.h> |
@@ -205,11 +218,11 @@ index 203807e3a5..8ab09a387e 100644 | |||
205 | #include "conf-parser.h" | 218 | #include "conf-parser.h" |
206 | #include "macvlan.h" | 219 | #include "macvlan.h" |
207 | diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c | 220 | diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c |
208 | index 57127a861a..7f787d0b9f 100644 | 221 | index c2986aafb5..147f1c95d0 100644 |
209 | --- a/src/network/netdev/netdev.c | 222 | --- a/src/network/netdev/netdev.c |
210 | +++ b/src/network/netdev/netdev.c | 223 | +++ b/src/network/netdev/netdev.c |
211 | @@ -2,7 +2,7 @@ | 224 | @@ -3,7 +3,7 @@ |
212 | 225 | /* Make sure the net/if.h header is included before any linux/ one */ | |
213 | #include <net/if.h> | 226 | #include <net/if.h> |
214 | #include <netinet/in.h> | 227 | #include <netinet/in.h> |
215 | -#include <linux/if_arp.h> | 228 | -#include <linux/if_arp.h> |
@@ -218,7 +231,7 @@ index 57127a861a..7f787d0b9f 100644 | |||
218 | 231 | ||
219 | #include "alloc-util.h" | 232 | #include "alloc-util.h" |
220 | diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c | 233 | diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c |
221 | index 15d5c132f9..a3ffa48b15 100644 | 234 | index 59958c3bbe..61169016b0 100644 |
222 | --- a/src/network/netdev/netdevsim.c | 235 | --- a/src/network/netdev/netdevsim.c |
223 | +++ b/src/network/netdev/netdevsim.c | 236 | +++ b/src/network/netdev/netdevsim.c |
224 | @@ -1,6 +1,6 @@ | 237 | @@ -1,6 +1,6 @@ |
@@ -242,7 +255,7 @@ index ff372092e6..eef66811f4 100644 | |||
242 | #include "nlmon.h" | 255 | #include "nlmon.h" |
243 | 256 | ||
244 | diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c | 257 | diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c |
245 | index db84e7cf6e..93d5642962 100644 | 258 | index af05cfda81..f659bed3a6 100644 |
246 | --- a/src/network/netdev/tunnel.c | 259 | --- a/src/network/netdev/tunnel.c |
247 | +++ b/src/network/netdev/tunnel.c | 260 | +++ b/src/network/netdev/tunnel.c |
248 | @@ -2,7 +2,7 @@ | 261 | @@ -2,7 +2,7 @@ |
@@ -267,46 +280,47 @@ index 380547ee1e..137c1adf8a 100644 | |||
267 | #include "vcan.h" | 280 | #include "vcan.h" |
268 | 281 | ||
269 | diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c | 282 | diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c |
270 | index e0f5b4ebb1..8a424ed03d 100644 | 283 | index 54d3b59734..f3f75e22b5 100644 |
271 | --- a/src/network/netdev/veth.c | 284 | --- a/src/network/netdev/veth.c |
272 | +++ b/src/network/netdev/veth.c | 285 | +++ b/src/network/netdev/veth.c |
273 | @@ -3,7 +3,7 @@ | 286 | @@ -3,7 +3,7 @@ |
274 | #include <errno.h> | 287 | /* Make sure the net/if.h header is included before any linux/ one */ |
275 | #include <net/if.h> | 288 | #include <net/if.h> |
276 | #include <netinet/in.h> | 289 | #include <errno.h> |
277 | -#include <linux/if_arp.h> | 290 | -#include <linux/if_arp.h> |
278 | +//#include <linux/if_arp.h> | 291 | +//#include <linux/if_arp.h> |
279 | #include <linux/veth.h> | 292 | #include <linux/veth.h> |
293 | #include <netinet/in.h> | ||
280 | 294 | ||
281 | #include "netlink-util.h" | ||
282 | diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c | 295 | diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c |
283 | index 2390206993..efec630e30 100644 | 296 | index 60e49a5b8a..266fd58813 100644 |
284 | --- a/src/network/netdev/vlan.c | 297 | --- a/src/network/netdev/vlan.c |
285 | +++ b/src/network/netdev/vlan.c | 298 | +++ b/src/network/netdev/vlan.c |
286 | @@ -2,7 +2,7 @@ | 299 | @@ -3,7 +3,7 @@ |
287 | 300 | /* Make sure the net/if.h header is included before any linux/ one */ | |
288 | #include <errno.h> | ||
289 | #include <net/if.h> | 301 | #include <net/if.h> |
302 | #include <errno.h> | ||
290 | -#include <linux/if_arp.h> | 303 | -#include <linux/if_arp.h> |
291 | +//#include <linux/if_arp.h> | 304 | +//#include <linux/if_arp.h> |
292 | #include <linux/if_vlan.h> | 305 | #include <linux/if_vlan.h> |
293 | 306 | ||
294 | #include "parse-util.h" | 307 | #include "parse-util.h" |
295 | diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c | 308 | diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c |
296 | index b75ec2bcc6..6aeeea640b 100644 | 309 | index c35419f859..4d1d3ef141 100644 |
297 | --- a/src/network/netdev/vrf.c | 310 | --- a/src/network/netdev/vrf.c |
298 | +++ b/src/network/netdev/vrf.c | 311 | +++ b/src/network/netdev/vrf.c |
299 | @@ -2,7 +2,7 @@ | 312 | @@ -2,8 +2,8 @@ |
300 | 313 | ||
314 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
301 | #include <net/if.h> | 315 | #include <net/if.h> |
302 | #include <netinet/in.h> | ||
303 | -#include <linux/if_arp.h> | 316 | -#include <linux/if_arp.h> |
317 | #include <netinet/in.h> | ||
304 | +//#include <linux/if_arp.h> | 318 | +//#include <linux/if_arp.h> |
305 | 319 | ||
306 | #include "vrf.h" | 320 | #include "vrf.h" |
307 | 321 | ||
308 | diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c | 322 | diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c |
309 | index c0343f45b6..f9e718f40b 100644 | 323 | index 2de89b8e24..ce1b8f9b69 100644 |
310 | --- a/src/network/netdev/vxcan.c | 324 | --- a/src/network/netdev/vxcan.c |
311 | +++ b/src/network/netdev/vxcan.c | 325 | +++ b/src/network/netdev/vxcan.c |
312 | @@ -1,7 +1,7 @@ | 326 | @@ -1,7 +1,7 @@ |
@@ -319,11 +333,11 @@ index c0343f45b6..f9e718f40b 100644 | |||
319 | #include "vxcan.h" | 333 | #include "vxcan.h" |
320 | 334 | ||
321 | diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c | 335 | diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c |
322 | index b11fdbbd0d..a971a917f0 100644 | 336 | index d8a066370d..8f94eeb763 100644 |
323 | --- a/src/network/netdev/vxlan.c | 337 | --- a/src/network/netdev/vxlan.c |
324 | +++ b/src/network/netdev/vxlan.c | 338 | +++ b/src/network/netdev/vxlan.c |
325 | @@ -2,7 +2,7 @@ | 339 | @@ -3,7 +3,7 @@ |
326 | 340 | /* Make sure the net/if.h header is included before any linux/ one */ | |
327 | #include <net/if.h> | 341 | #include <net/if.h> |
328 | #include <netinet/in.h> | 342 | #include <netinet/in.h> |
329 | -#include <linux/if_arp.h> | 343 | -#include <linux/if_arp.h> |
@@ -332,18 +346,18 @@ index b11fdbbd0d..a971a917f0 100644 | |||
332 | #include "conf-parser.h" | 346 | #include "conf-parser.h" |
333 | #include "alloc-util.h" | 347 | #include "alloc-util.h" |
334 | diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c | 348 | diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c |
335 | index 4c7d837c41..6df6dfb816 100644 | 349 | index 8d1dddf828..5182783f45 100644 |
336 | --- a/src/network/netdev/wireguard.c | 350 | --- a/src/network/netdev/wireguard.c |
337 | +++ b/src/network/netdev/wireguard.c | 351 | +++ b/src/network/netdev/wireguard.c |
338 | @@ -6,7 +6,7 @@ | 352 | @@ -5,7 +5,7 @@ |
339 | #include <sys/ioctl.h> | 353 | |
354 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
340 | #include <net/if.h> | 355 | #include <net/if.h> |
341 | #include <netinet/in.h> | ||
342 | -#include <linux/if_arp.h> | 356 | -#include <linux/if_arp.h> |
343 | +//#include <linux/if_arp.h> | 357 | +//#include <linux/if_arp.h> |
344 | #include <linux/ipv6_route.h> | 358 | #include <linux/ipv6_route.h> |
345 | 359 | #include <netinet/in.h> | |
346 | #include "sd-resolve.h" | 360 | #include <sys/ioctl.h> |
347 | diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c | 361 | diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c |
348 | index 905bfc0bdf..39e34dbb3b 100644 | 362 | index 905bfc0bdf..39e34dbb3b 100644 |
349 | --- a/src/network/netdev/xfrm.c | 363 | --- a/src/network/netdev/xfrm.c |
@@ -356,29 +370,8 @@ index 905bfc0bdf..39e34dbb3b 100644 | |||
356 | 370 | ||
357 | #include "missing_network.h" | 371 | #include "missing_network.h" |
358 | #include "xfrm.h" | 372 | #include "xfrm.h" |
359 | diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c | ||
360 | index bd1a9745dc..949d3da029 100644 | ||
361 | --- a/src/network/networkd-bridge-mdb.c | ||
362 | +++ b/src/network/networkd-bridge-mdb.c | ||
363 | @@ -1,7 +1,5 @@ | ||
364 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
365 | |||
366 | -#include <net/if.h> | ||
367 | -#include <linux/if_bridge.h> | ||
368 | |||
369 | #include "netlink-util.h" | ||
370 | #include "networkd-bridge-mdb.h" | ||
371 | @@ -11,6 +9,8 @@ | ||
372 | #include "networkd-queue.h" | ||
373 | #include "string-util.h" | ||
374 | #include "vlan-util.h" | ||
375 | +#include <net/if.h> | ||
376 | +#include <linux/if_bridge.h> | ||
377 | |||
378 | #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U | ||
379 | |||
380 | diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c | 373 | diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c |
381 | index 080b15387c..efe8283957 100644 | 374 | index 8b64dfe8f0..caa2885728 100644 |
382 | --- a/src/network/networkd-dhcp-common.c | 375 | --- a/src/network/networkd-dhcp-common.c |
383 | +++ b/src/network/networkd-dhcp-common.c | 376 | +++ b/src/network/networkd-dhcp-common.c |
384 | @@ -1,7 +1,8 @@ | 377 | @@ -1,7 +1,8 @@ |
@@ -392,7 +385,7 @@ index 080b15387c..efe8283957 100644 | |||
392 | #include "bus-error.h" | 385 | #include "bus-error.h" |
393 | #include "bus-locator.h" | 386 | #include "bus-locator.h" |
394 | diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c | 387 | diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c |
395 | index af2fe9efcd..511565700f 100644 | 388 | index 16426de981..3d8efc05f1 100644 |
396 | --- a/src/network/networkd-dhcp-prefix-delegation.c | 389 | --- a/src/network/networkd-dhcp-prefix-delegation.c |
397 | +++ b/src/network/networkd-dhcp-prefix-delegation.c | 390 | +++ b/src/network/networkd-dhcp-prefix-delegation.c |
398 | @@ -1,6 +1,5 @@ | 391 | @@ -1,6 +1,5 @@ |
@@ -402,7 +395,7 @@ index af2fe9efcd..511565700f 100644 | |||
402 | 395 | ||
403 | #include "dhcp6-lease-internal.h" | 396 | #include "dhcp6-lease-internal.h" |
404 | #include "hashmap.h" | 397 | #include "hashmap.h" |
405 | @@ -20,6 +19,8 @@ | 398 | @@ -21,6 +20,8 @@ |
406 | #include "strv.h" | 399 | #include "strv.h" |
407 | #include "tunnel.h" | 400 | #include "tunnel.h" |
408 | 401 | ||
@@ -412,7 +405,7 @@ index af2fe9efcd..511565700f 100644 | |||
412 | assert(link); | 405 | assert(link); |
413 | 406 | ||
414 | diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c | 407 | diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c |
415 | index 607fe0053c..9ce4005874 100644 | 408 | index c35102af74..3be469ae16 100644 |
416 | --- a/src/network/networkd-dhcp-server.c | 409 | --- a/src/network/networkd-dhcp-server.c |
417 | +++ b/src/network/networkd-dhcp-server.c | 410 | +++ b/src/network/networkd-dhcp-server.c |
418 | @@ -1,7 +1,7 @@ | 411 | @@ -1,7 +1,7 @@ |
@@ -425,7 +418,7 @@ index 607fe0053c..9ce4005874 100644 | |||
425 | 418 | ||
426 | #include "sd-dhcp-server.h" | 419 | #include "sd-dhcp-server.h" |
427 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c | 420 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c |
428 | index efbae6d868..1ea2151d50 100644 | 421 | index d94ac1a213..b8fe82cb6a 100644 |
429 | --- a/src/network/networkd-dhcp4.c | 422 | --- a/src/network/networkd-dhcp4.c |
430 | +++ b/src/network/networkd-dhcp4.c | 423 | +++ b/src/network/networkd-dhcp4.c |
431 | @@ -3,7 +3,7 @@ | 424 | @@ -3,7 +3,7 @@ |
@@ -436,9 +429,9 @@ index efbae6d868..1ea2151d50 100644 | |||
436 | +//#include <linux/if_arp.h> | 429 | +//#include <linux/if_arp.h> |
437 | 430 | ||
438 | #include "alloc-util.h" | 431 | #include "alloc-util.h" |
439 | #include "dhcp-client-internal.h" | 432 | #include "device-private.h" |
440 | diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c | 433 | diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c |
441 | index 32229a3fc7..662a345d6e 100644 | 434 | index 04f51ab530..c4580754f7 100644 |
442 | --- a/src/network/networkd-ipv6ll.c | 435 | --- a/src/network/networkd-ipv6ll.c |
443 | +++ b/src/network/networkd-ipv6ll.c | 436 | +++ b/src/network/networkd-ipv6ll.c |
444 | @@ -1,7 +1,7 @@ | 437 | @@ -1,7 +1,7 @@ |
@@ -451,10 +444,10 @@ index 32229a3fc7..662a345d6e 100644 | |||
451 | #include "in-addr-util.h" | 444 | #include "in-addr-util.h" |
452 | #include "networkd-address.h" | 445 | #include "networkd-address.h" |
453 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c | 446 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c |
454 | index ee5f0f2c0a..ea5269a2de 100644 | 447 | index 3c042e6c18..05fe2cb900 100644 |
455 | --- a/src/network/networkd-link.c | 448 | --- a/src/network/networkd-link.c |
456 | +++ b/src/network/networkd-link.c | 449 | +++ b/src/network/networkd-link.c |
457 | @@ -3,7 +3,7 @@ | 450 | @@ -4,7 +4,7 @@ |
458 | #include <net/if.h> | 451 | #include <net/if.h> |
459 | #include <netinet/in.h> | 452 | #include <netinet/in.h> |
460 | #include <linux/if.h> | 453 | #include <linux/if.h> |
@@ -464,7 +457,7 @@ index ee5f0f2c0a..ea5269a2de 100644 | |||
464 | #include <linux/netdevice.h> | 457 | #include <linux/netdevice.h> |
465 | #include <sys/socket.h> | 458 | #include <sys/socket.h> |
466 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c | 459 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c |
467 | index ab9eeb13a5..dd96fe7483 100644 | 460 | index 33e86fb04e..51292871fc 100644 |
468 | --- a/src/network/networkd-ndisc.c | 461 | --- a/src/network/networkd-ndisc.c |
469 | +++ b/src/network/networkd-ndisc.c | 462 | +++ b/src/network/networkd-ndisc.c |
470 | @@ -6,7 +6,7 @@ | 463 | @@ -6,7 +6,7 @@ |
@@ -476,33 +469,8 @@ index ab9eeb13a5..dd96fe7483 100644 | |||
476 | 469 | ||
477 | #include "sd-ndisc.h" | 470 | #include "sd-ndisc.h" |
478 | 471 | ||
479 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c | ||
480 | index 7218d799fc..30d5574eae 100644 | ||
481 | --- a/src/network/networkd-route.c | ||
482 | +++ b/src/network/networkd-route.c | ||
483 | @@ -1,9 +1,5 @@ | ||
484 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
485 | |||
486 | -#include <linux/icmpv6.h> | ||
487 | -#include <linux/ipv6_route.h> | ||
488 | -#include <linux/nexthop.h> | ||
489 | - | ||
490 | #include "alloc-util.h" | ||
491 | #include "event-util.h" | ||
492 | #include "netlink-util.h" | ||
493 | @@ -21,6 +17,10 @@ | ||
494 | #include "vrf.h" | ||
495 | #include "wireguard.h" | ||
496 | |||
497 | +#include <linux/icmpv6.h> | ||
498 | +#include <linux/ipv6_route.h> | ||
499 | +#include <linux/nexthop.h> | ||
500 | + | ||
501 | int route_new(Route **ret) { | ||
502 | _cleanup_(route_freep) Route *route = NULL; | ||
503 | |||
504 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c | 472 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c |
505 | index 2298f9ea3a..7d5f87de53 100644 | 473 | index 8519e6e7a0..7aca2bbecc 100644 |
506 | --- a/src/network/networkd-setlink.c | 474 | --- a/src/network/networkd-setlink.c |
507 | +++ b/src/network/networkd-setlink.c | 475 | +++ b/src/network/networkd-setlink.c |
508 | @@ -2,7 +2,7 @@ | 476 | @@ -2,7 +2,7 @@ |
@@ -512,10 +480,10 @@ index 2298f9ea3a..7d5f87de53 100644 | |||
512 | -#include <linux/if_arp.h> | 480 | -#include <linux/if_arp.h> |
513 | +//#include <linux/if_arp.h> | 481 | +//#include <linux/if_arp.h> |
514 | #include <linux/if_bridge.h> | 482 | #include <linux/if_bridge.h> |
483 | #include <linux/ipv6.h> | ||
515 | 484 | ||
516 | #include "missing_network.h" | ||
517 | diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c | 485 | diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c |
518 | index 2b226b2e2a..f12a474e2f 100644 | 486 | index 10a35bc44b..84c6b68ee4 100644 |
519 | --- a/src/network/networkd-sysctl.c | 487 | --- a/src/network/networkd-sysctl.c |
520 | +++ b/src/network/networkd-sysctl.c | 488 | +++ b/src/network/networkd-sysctl.c |
521 | @@ -2,7 +2,7 @@ | 489 | @@ -2,7 +2,7 @@ |
@@ -525,24 +493,10 @@ index 2b226b2e2a..f12a474e2f 100644 | |||
525 | -#include <linux/if_arp.h> | 493 | -#include <linux/if_arp.h> |
526 | +//#include <linux/if_arp.h> | 494 | +//#include <linux/if_arp.h> |
527 | 495 | ||
528 | #include "missing_network.h" | 496 | #include "sd-messages.h" |
529 | #include "networkd-link.h" | ||
530 | diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h | ||
531 | index 3d1da515c0..3fca9a4faf 100644 | ||
532 | --- a/src/shared/linux/ethtool.h | ||
533 | +++ b/src/shared/linux/ethtool.h | ||
534 | @@ -16,7 +16,8 @@ | ||
535 | |||
536 | #include <linux/const.h> | ||
537 | #include <linux/types.h> | ||
538 | -#include <linux/if_ether.h> | ||
539 | +#include <netinet/if_ether.h> | ||
540 | +//#include <linux/if_ether.h> | ||
541 | |||
542 | #include <limits.h> /* for INT_MAX */ | ||
543 | 497 | ||
544 | diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c | 498 | diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c |
545 | index f56c5646c1..5af28ff119 100644 | 499 | index 978ce42341..899b5f613f 100644 |
546 | --- a/src/shared/netif-util.c | 500 | --- a/src/shared/netif-util.c |
547 | +++ b/src/shared/netif-util.c | 501 | +++ b/src/shared/netif-util.c |
548 | @@ -1,7 +1,7 @@ | 502 | @@ -1,7 +1,7 @@ |
@@ -555,10 +509,10 @@ index f56c5646c1..5af28ff119 100644 | |||
555 | #include "arphrd-util.h" | 509 | #include "arphrd-util.h" |
556 | #include "device-util.h" | 510 | #include "device-util.h" |
557 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | 511 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c |
558 | index f528a46b8e..830318cda5 100644 | 512 | index 09c04b9a7f..4686897dbf 100644 |
559 | --- a/src/udev/udev-builtin-net_id.c | 513 | --- a/src/udev/udev-builtin-net_id.c |
560 | +++ b/src/udev/udev-builtin-net_id.c | 514 | +++ b/src/udev/udev-builtin-net_id.c |
561 | @@ -18,7 +18,7 @@ | 515 | @@ -19,7 +19,7 @@ |
562 | #include <stdarg.h> | 516 | #include <stdarg.h> |
563 | #include <unistd.h> | 517 | #include <unistd.h> |
564 | #include <linux/if.h> | 518 | #include <linux/if.h> |
diff --git a/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch index 75f6b9094a..a92b8cc80f 100644 --- a/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch +++ b/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001 | 1 | From 349f9a0f9ecfc6575a3d9eeaffe89536e6a43914 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 | 3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 |
4 | Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU | 4 | Subject: [PATCH 18/26] test-bus-error: strerror() is assumed to be GNU |
5 | specific version mark it so | 5 | specific version mark it so |
6 | 6 | ||
7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] | 7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] |
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | 2 files changed, 4 insertions(+), 1 deletion(-) | 13 | 2 files changed, 4 insertions(+), 1 deletion(-) |
14 | 14 | ||
15 | diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c | 15 | diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c |
16 | index a55f3f9856..4123bf3da0 100644 | 16 | index 91045c06c2..a06b9bac0c 100644 |
17 | --- a/src/libsystemd/sd-bus/test-bus-error.c | 17 | --- a/src/libsystemd/sd-bus/test-bus-error.c |
18 | +++ b/src/libsystemd/sd-bus/test-bus-error.c | 18 | +++ b/src/libsystemd/sd-bus/test-bus-error.c |
19 | @@ -99,7 +99,9 @@ TEST(error) { | 19 | @@ -99,7 +99,9 @@ TEST(error) { |
@@ -27,7 +27,7 @@ index a55f3f9856..4123bf3da0 100644 | |||
27 | assert_se(sd_bus_error_get_errno(&error) == EBUSY); | 27 | assert_se(sd_bus_error_get_errno(&error) == EBUSY); |
28 | assert_se(sd_bus_error_is_set(&error)); | 28 | assert_se(sd_bus_error_is_set(&error)); |
29 | diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c | 29 | diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c |
30 | index 376d532281..967cfd4d67 100644 | 30 | index ab463bd1b3..e2ebcaaf33 100644 |
31 | --- a/src/test/test-errno-util.c | 31 | --- a/src/test/test-errno-util.c |
32 | +++ b/src/test/test-errno-util.c | 32 | +++ b/src/test/test-errno-util.c |
33 | @@ -4,7 +4,7 @@ | 33 | @@ -4,7 +4,7 @@ |
diff --git a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch index e038b73678..56083cc7b3 100644 --- a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001 | 1 | From 28fa1d5f56c6ddee9e336e6f2051c55e9f2f98b4 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 | 3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 |
4 | Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl | 4 | Subject: [PATCH 19/26] errno-util: Make STRERROR portable for musl |
5 | 5 | ||
6 | Sadly, systemd has decided to use yet another GNU extention in a macro | 6 | Sadly, systemd has decided to use yet another GNU extention in a macro |
7 | lets make this such that we can use XSI compliant strerror_r() for | 7 | lets make this such that we can use XSI compliant strerror_r() for |
@@ -11,11 +11,11 @@ Upstream-Status: Inappropriate [musl specific] | |||
11 | 11 | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
13 | --- | 13 | --- |
14 | src/basic/errno-util.h | 12 ++++++++++-- | 14 | src/basic/errno-util.h | 10 +++++++++- |
15 | 1 file changed, 10 insertions(+), 2 deletions(-) | 15 | 1 file changed, 9 insertions(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h | 17 | diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h |
18 | index 27804e6382..274c1c6ef1 100644 | 18 | index 48b76e4bf7..6e7653e2d9 100644 |
19 | --- a/src/basic/errno-util.h | 19 | --- a/src/basic/errno-util.h |
20 | +++ b/src/basic/errno-util.h | 20 | +++ b/src/basic/errno-util.h |
21 | @@ -15,8 +15,16 @@ | 21 | @@ -15,8 +15,16 @@ |
@@ -23,9 +23,8 @@ index 27804e6382..274c1c6ef1 100644 | |||
23 | * | 23 | * |
24 | * Note that we use the GNU variant of strerror_r() here. */ | 24 | * Note that we use the GNU variant of strerror_r() here. */ |
25 | -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) | 25 | -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) |
26 | - | ||
27 | +static inline const char * STRERROR(int errnum); | 26 | +static inline const char * STRERROR(int errnum); |
28 | + | 27 | |
29 | +static inline const char * STRERROR(int errnum) { | 28 | +static inline const char * STRERROR(int errnum) { |
30 | +#ifdef __GLIBC__ | 29 | +#ifdef __GLIBC__ |
31 | + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); | 30 | + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); |
diff --git a/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch index b83fffe793..16df44cd86 100644 --- a/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch +++ b/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001 | 1 | From 66de8a53849f76f5596327c38ae5f002b9f534cd Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 | 3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 |
4 | Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc | 4 | Subject: [PATCH 20/26] sd-event: Make malloc_trim() conditional on glibc |
5 | 5 | ||
6 | musl does not have this API | 6 | musl does not have this API |
7 | 7 | ||
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
12 | 1 file changed, 3 insertions(+), 1 deletion(-) | 12 | 1 file changed, 3 insertions(+), 1 deletion(-) |
13 | 13 | ||
14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c | 14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c |
15 | index 288798a0dc..6419a7f216 100644 | 15 | index 7aea7d2581..d3f4001f53 100644 |
16 | --- a/src/libsystemd/sd-event/sd-event.c | 16 | --- a/src/libsystemd/sd-event/sd-event.c |
17 | +++ b/src/libsystemd/sd-event/sd-event.c | 17 | +++ b/src/libsystemd/sd-event/sd-event.c |
18 | @@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( | 18 | @@ -1881,7 +1881,7 @@ _public_ int sd_event_add_exit( |
19 | } | 19 | } |
20 | 20 | ||
21 | _public_ int sd_event_trim_memory(void) { | 21 | _public_ int sd_event_trim_memory(void) { |
@@ -24,7 +24,7 @@ index 288798a0dc..6419a7f216 100644 | |||
24 | 24 | ||
25 | /* A default implementation of a memory pressure callback. Simply releases our own allocation caches | 25 | /* A default implementation of a memory pressure callback. Simply releases our own allocation caches |
26 | * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a | 26 | * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a |
27 | @@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) { | 27 | @@ -1895,7 +1895,9 @@ _public_ int sd_event_trim_memory(void) { |
28 | 28 | ||
29 | usec_t before_timestamp = now(CLOCK_MONOTONIC); | 29 | usec_t before_timestamp = now(CLOCK_MONOTONIC); |
30 | hashmap_trim_pools(); | 30 | hashmap_trim_pools(); |
diff --git a/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch b/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch index 7eff069bb7..7ab56ef8fb 100644 --- a/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch +++ b/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001 | 1 | From 93d13363c605fb2de484f38f3726f8fbad1c3540 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 | 3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 |
4 | Subject: [PATCH 21/22] shared: Do not use malloc_info on musl | 4 | Subject: [PATCH 21/26] shared: Do not use malloc_info on musl |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl-specific] | 6 | Upstream-Status: Inappropriate [musl-specific] |
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
11 | 2 files changed, 5 insertions(+), 4 deletions(-) | 11 | 2 files changed, 5 insertions(+), 4 deletions(-) |
12 | 12 | ||
13 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | 13 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c |
14 | index 74f148c8b4..2d862a123d 100644 | 14 | index ff80e580fc..a628a29d0c 100644 |
15 | --- a/src/shared/bus-util.c | 15 | --- a/src/shared/bus-util.c |
16 | +++ b/src/shared/bus-util.c | 16 | +++ b/src/shared/bus-util.c |
17 | @@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat | 17 | @@ -787,15 +787,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat |
18 | _cleanup_close_ int fd = -EBADF; | 18 | _cleanup_close_ int fd = -EBADF; |
19 | size_t dump_size; | 19 | size_t dump_size; |
20 | FILE *f; | 20 | FILE *f; |
diff --git a/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch b/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch index 24f3bf74a0..d06967f8d5 100644 --- a/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch +++ b/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From fd52f1764647e03a35e8f0ed0ef952049073ccbd Mon Sep 17 00:00:00 2001 | 1 | From 5b8df64993b68a5a4af0f214d8cae77f4e716593 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 | 3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 |
4 | Subject: [PATCH 22/22] avoid missing LOCK_EX declaration | 4 | Subject: [PATCH 22/26] avoid missing LOCK_EX declaration |
5 | 5 | ||
6 | This only happens on MUSL. Include sys/file.h to avoid compilation | 6 | This only happens on MUSL. Include sys/file.h to avoid compilation |
7 | error about missing LOCK_EX declaration. | 7 | error about missing LOCK_EX declaration. |
@@ -10,15 +10,28 @@ Upstream-Status: Inappropriate [musl specific] | |||
10 | 10 | ||
11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
12 | --- | 12 | --- |
13 | src/basic/fd-util.h | 1 + | ||
13 | src/core/exec-invoke.c | 1 + | 14 | src/core/exec-invoke.c | 1 + |
14 | src/shared/dev-setup.h | 1 + | 15 | src/shared/dev-setup.h | 1 + |
15 | 2 files changed, 2 insertions(+) | 16 | 3 files changed, 3 insertions(+) |
16 | 17 | ||
18 | diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h | ||
19 | index 93b254c680..5f0b1a816d 100644 | ||
20 | --- a/src/basic/fd-util.h | ||
21 | +++ b/src/basic/fd-util.h | ||
22 | @@ -6,6 +6,7 @@ | ||
23 | #include <stdbool.h> | ||
24 | #include <stdio.h> | ||
25 | #include <sys/socket.h> | ||
26 | +#include <sys/file.h> | ||
27 | |||
28 | #include "macro.h" | ||
29 | #include "missing_fcntl.h" | ||
17 | diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c | 30 | diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c |
18 | index 70d963e269..7084811439 100644 | 31 | index 9d636f5529..6be43caa57 100644 |
19 | --- a/src/core/exec-invoke.c | 32 | --- a/src/core/exec-invoke.c |
20 | +++ b/src/core/exec-invoke.c | 33 | +++ b/src/core/exec-invoke.c |
21 | @@ -4,6 +4,7 @@ | 34 | @@ -5,6 +5,7 @@ |
22 | #include <sys/ioctl.h> | 35 | #include <sys/ioctl.h> |
23 | #include <sys/mount.h> | 36 | #include <sys/mount.h> |
24 | #include <sys/prctl.h> | 37 | #include <sys/prctl.h> |
@@ -27,7 +40,7 @@ index 70d963e269..7084811439 100644 | |||
27 | #if HAVE_PAM | 40 | #if HAVE_PAM |
28 | #include <security/pam_appl.h> | 41 | #include <security/pam_appl.h> |
29 | diff --git a/src/shared/dev-setup.h b/src/shared/dev-setup.h | 42 | diff --git a/src/shared/dev-setup.h b/src/shared/dev-setup.h |
30 | index 5339bc4e5e..0697495f23 100644 | 43 | index 92ba6cf764..ba01a0ae55 100644 |
31 | --- a/src/shared/dev-setup.h | 44 | --- a/src/shared/dev-setup.h |
32 | +++ b/src/shared/dev-setup.h | 45 | +++ b/src/shared/dev-setup.h |
33 | @@ -2,6 +2,7 @@ | 46 | @@ -2,6 +2,7 @@ |
@@ -36,7 +49,7 @@ index 5339bc4e5e..0697495f23 100644 | |||
36 | #include <sys/types.h> | 49 | #include <sys/types.h> |
37 | +#include <sys/file.h> | 50 | +#include <sys/file.h> |
38 | 51 | ||
39 | int lock_dev_console(void); | 52 | int dev_setup(const char *prefix, uid_t uid, gid_t gid); |
40 | 53 | ||
41 | -- | 54 | -- |
42 | 2.34.1 | 55 | 2.34.1 |
diff --git a/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch b/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch new file mode 100644 index 0000000000..c8bcd9e355 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From e39afec7e5a2f3a9de7202affab4d0340ba879d7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 2 Jul 2024 22:18:47 -0700 | ||
4 | Subject: [PATCH 23/26] include signal.h to avoid the 'undeclared' error | ||
5 | |||
6 | Upstream-Status: Inappropriate [musl specific] | ||
7 | |||
8 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
9 | --- | ||
10 | src/basic/pidref.h | 1 + | ||
11 | 1 file changed, 1 insertion(+) | ||
12 | |||
13 | diff --git a/src/basic/pidref.h b/src/basic/pidref.h | ||
14 | index 42ddf4e50b..b9cf53680f 100644 | ||
15 | --- a/src/basic/pidref.h | ||
16 | +++ b/src/basic/pidref.h | ||
17 | @@ -3,6 +3,7 @@ | ||
18 | |||
19 | typedef struct PidRef PidRef; | ||
20 | |||
21 | +#include <signal.h> | ||
22 | #include "macro.h" | ||
23 | #include "process-util.h" | ||
24 | |||
25 | -- | ||
26 | 2.34.1 | ||
27 | |||
diff --git a/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch b/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch new file mode 100644 index 0000000000..9532e6b9af --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 5a4334fde21b896cd75b2d1a56e06a4f365e9c4d Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 2 Jul 2024 22:44:31 -0700 | ||
4 | Subject: [PATCH 24/26] undef stdin for references using stdin as a struct | ||
5 | member | ||
6 | |||
7 | In musl stdio.h, we have: | ||
8 | include/stdio.h:#define stdin (stdin) | ||
9 | |||
10 | This causes error when a struct member is also named stdin. undef it. | ||
11 | |||
12 | Upstream-Status: Inappropriate [musl specific] | ||
13 | |||
14 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
15 | --- | ||
16 | src/shared/edit-util.c | 2 ++ | ||
17 | src/systemctl/systemctl-edit.c | 2 ++ | ||
18 | 2 files changed, 4 insertions(+) | ||
19 | |||
20 | diff --git a/src/shared/edit-util.c b/src/shared/edit-util.c | ||
21 | index e37609c2e1..1b212ae7b4 100644 | ||
22 | --- a/src/shared/edit-util.c | ||
23 | +++ b/src/shared/edit-util.c | ||
24 | @@ -3,6 +3,8 @@ | ||
25 | #include <errno.h> | ||
26 | #include <stdio.h> | ||
27 | |||
28 | +#undef stdin | ||
29 | + | ||
30 | #include "alloc-util.h" | ||
31 | #include "copy.h" | ||
32 | #include "edit-util.h" | ||
33 | diff --git a/src/systemctl/systemctl-edit.c b/src/systemctl/systemctl-edit.c | ||
34 | index c42a31153d..7695ceeead 100644 | ||
35 | --- a/src/systemctl/systemctl-edit.c | ||
36 | +++ b/src/systemctl/systemctl-edit.c | ||
37 | @@ -13,6 +13,8 @@ | ||
38 | #include "systemctl.h" | ||
39 | #include "terminal-util.h" | ||
40 | |||
41 | +#undef stdin | ||
42 | + | ||
43 | int verb_cat(int argc, char *argv[], void *userdata) { | ||
44 | _cleanup_hashmap_free_ Hashmap *cached_id_map = NULL, *cached_name_map = NULL; | ||
45 | _cleanup_(lookup_paths_done) LookupPaths lp = {}; | ||
46 | -- | ||
47 | 2.34.1 | ||
48 | |||
diff --git a/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch b/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch new file mode 100644 index 0000000000..d791ad2da1 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch | |||
@@ -0,0 +1,288 @@ | |||
1 | From a90044320eecda424ed678d283ef60806c70fcda Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 2 Jul 2024 23:23:57 -0700 | ||
4 | Subject: [PATCH 25/26] adjust header inclusion order to avoid redeclaration | ||
5 | |||
6 | Upstream-Status: Inappropriate [musl specific] | ||
7 | |||
8 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
9 | --- | ||
10 | src/basic/parse-util.c | 3 ++- | ||
11 | src/libsystemd-network/ndisc-option.c | 6 +++--- | ||
12 | src/libsystemd-network/sd-radv.c | 5 +++-- | ||
13 | src/network/netdev/l2tp-tunnel.c | 9 ++++----- | ||
14 | src/network/netdev/l2tp-tunnel.h | 6 +++--- | ||
15 | src/network/netdev/wireguard.c | 2 +- | ||
16 | src/network/networkctl-link-info.c | 4 ++-- | ||
17 | src/network/networkd-bridge-mdb.c | 3 ++- | ||
18 | src/network/networkd-route.c | 8 ++++---- | ||
19 | src/resolve/resolved-dns-stream.c | 5 +++-- | ||
20 | src/resolve/resolved-manager.c | 5 +++-- | ||
21 | src/shared/conf-parser.c | 3 ++- | ||
22 | 12 files changed, 32 insertions(+), 27 deletions(-) | ||
23 | |||
24 | diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c | ||
25 | index faa5344921..0fc9d12c89 100644 | ||
26 | --- a/src/basic/parse-util.c | ||
27 | +++ b/src/basic/parse-util.c | ||
28 | @@ -2,7 +2,6 @@ | ||
29 | |||
30 | #include <errno.h> | ||
31 | #include <inttypes.h> | ||
32 | -#include <linux/ipv6.h> | ||
33 | #include <net/if.h> | ||
34 | #include <stdio.h> | ||
35 | #include <stdlib.h> | ||
36 | @@ -20,6 +19,8 @@ | ||
37 | #include "string-util.h" | ||
38 | #include "strv.h" | ||
39 | |||
40 | +#include <linux/ipv6.h> | ||
41 | + | ||
42 | int parse_boolean(const char *v) { | ||
43 | if (!v) | ||
44 | return -EINVAL; | ||
45 | diff --git a/src/libsystemd-network/ndisc-option.c b/src/libsystemd-network/ndisc-option.c | ||
46 | index 3aab51f51b..feeb4c78e5 100644 | ||
47 | --- a/src/libsystemd-network/ndisc-option.c | ||
48 | +++ b/src/libsystemd-network/ndisc-option.c | ||
49 | @@ -1,8 +1,5 @@ | ||
50 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
51 | |||
52 | -#include <linux/ipv6.h> | ||
53 | -#include <netinet/icmp6.h> | ||
54 | - | ||
55 | #include "dns-resolver-internal.h" | ||
56 | #include "dns-domain.h" | ||
57 | #include "ether-addr-util.h" | ||
58 | @@ -16,6 +13,9 @@ | ||
59 | #include "strv.h" | ||
60 | #include "unaligned.h" | ||
61 | |||
62 | +#include <linux/ipv6.h> | ||
63 | +#include <netinet/icmp6.h> | ||
64 | + | ||
65 | /* RFC does not say anything about the maximum number of options, but let's limit the number of options for | ||
66 | * safety. Typically, the number of options in an ICMPv6 message should be only a few. */ | ||
67 | #define MAX_OPTIONS 128 | ||
68 | diff --git a/src/libsystemd-network/sd-radv.c b/src/libsystemd-network/sd-radv.c | ||
69 | index f241929ad5..7cef3c3f71 100644 | ||
70 | --- a/src/libsystemd-network/sd-radv.c | ||
71 | +++ b/src/libsystemd-network/sd-radv.c | ||
72 | @@ -3,8 +3,6 @@ | ||
73 | Copyright © 2017 Intel Corporation. All rights reserved. | ||
74 | ***/ | ||
75 | |||
76 | -#include <linux/ipv6.h> | ||
77 | -#include <netinet/icmp6.h> | ||
78 | #include <netinet/in.h> | ||
79 | #include <arpa/inet.h> | ||
80 | |||
81 | @@ -29,6 +27,9 @@ | ||
82 | #include "strv.h" | ||
83 | #include "unaligned.h" | ||
84 | |||
85 | +#include <linux/ipv6.h> | ||
86 | +#include <netinet/icmp6.h> | ||
87 | + | ||
88 | int sd_radv_new(sd_radv **ret) { | ||
89 | _cleanup_(sd_radv_unrefp) sd_radv *ra = NULL; | ||
90 | |||
91 | diff --git a/src/network/netdev/l2tp-tunnel.c b/src/network/netdev/l2tp-tunnel.c | ||
92 | index c87e44797b..437b40c114 100644 | ||
93 | --- a/src/network/netdev/l2tp-tunnel.c | ||
94 | +++ b/src/network/netdev/l2tp-tunnel.c | ||
95 | @@ -1,10 +1,5 @@ | ||
96 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
97 | |||
98 | -#include <netinet/in.h> | ||
99 | -#include <linux/if_arp.h> | ||
100 | -#include <linux/l2tp.h> | ||
101 | -#include <linux/genetlink.h> | ||
102 | - | ||
103 | #include "conf-parser.h" | ||
104 | #include "hashmap.h" | ||
105 | #include "l2tp-tunnel.h" | ||
106 | @@ -17,6 +12,10 @@ | ||
107 | #include "string-table.h" | ||
108 | #include "string-util.h" | ||
109 | |||
110 | +#include <netinet/in.h> | ||
111 | +#include <linux/l2tp.h> | ||
112 | +#include <linux/genetlink.h> | ||
113 | + | ||
114 | static const char* const l2tp_l2spec_type_table[_NETDEV_L2TP_L2SPECTYPE_MAX] = { | ||
115 | [NETDEV_L2TP_L2SPECTYPE_NONE] = "none", | ||
116 | [NETDEV_L2TP_L2SPECTYPE_DEFAULT] = "default", | ||
117 | diff --git a/src/network/netdev/l2tp-tunnel.h b/src/network/netdev/l2tp-tunnel.h | ||
118 | index c558ed49de..8419ef34c5 100644 | ||
119 | --- a/src/network/netdev/l2tp-tunnel.h | ||
120 | +++ b/src/network/netdev/l2tp-tunnel.h | ||
121 | @@ -1,13 +1,13 @@ | ||
122 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
123 | #pragma once | ||
124 | |||
125 | -#include <netinet/in.h> | ||
126 | -#include <linux/l2tp.h> | ||
127 | - | ||
128 | #include "in-addr-util.h" | ||
129 | #include "netdev.h" | ||
130 | #include "networkd-util.h" | ||
131 | |||
132 | +#include <netinet/in.h> | ||
133 | +#include <linux/l2tp.h> | ||
134 | + | ||
135 | typedef enum L2tpL2specType { | ||
136 | NETDEV_L2TP_L2SPECTYPE_NONE = L2TP_L2SPECTYPE_NONE, | ||
137 | NETDEV_L2TP_L2SPECTYPE_DEFAULT = L2TP_L2SPECTYPE_DEFAULT, | ||
138 | diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c | ||
139 | index 5182783f45..79b21cb4ba 100644 | ||
140 | --- a/src/network/netdev/wireguard.c | ||
141 | +++ b/src/network/netdev/wireguard.c | ||
142 | @@ -5,9 +5,9 @@ | ||
143 | |||
144 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
145 | #include <net/if.h> | ||
146 | +#include <netinet/in.h> | ||
147 | //#include <linux/if_arp.h> | ||
148 | #include <linux/ipv6_route.h> | ||
149 | -#include <netinet/in.h> | ||
150 | #include <sys/ioctl.h> | ||
151 | |||
152 | #include "sd-resolve.h" | ||
153 | diff --git a/src/network/networkctl-link-info.c b/src/network/networkctl-link-info.c | ||
154 | index f356d3c231..216c442de1 100644 | ||
155 | --- a/src/network/networkctl-link-info.c | ||
156 | +++ b/src/network/networkctl-link-info.c | ||
157 | @@ -1,7 +1,5 @@ | ||
158 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
159 | |||
160 | -#include <linux/if_tunnel.h> | ||
161 | - | ||
162 | #include "bus-common-errors.h" | ||
163 | #include "bus-error.h" | ||
164 | #include "bus-util.h" | ||
165 | @@ -16,6 +14,8 @@ | ||
166 | #include "strxcpyx.h" | ||
167 | #include "wifi-util.h" | ||
168 | |||
169 | +#include <linux/if_tunnel.h> | ||
170 | + | ||
171 | /* use 128 kB for receive socket kernel queue, we shouldn't need more here */ | ||
172 | #define RCVBUF_SIZE (128*1024) | ||
173 | |||
174 | diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c | ||
175 | index 358ca4d294..fe87f7c093 100644 | ||
176 | --- a/src/network/networkd-bridge-mdb.c | ||
177 | +++ b/src/network/networkd-bridge-mdb.c | ||
178 | @@ -2,7 +2,6 @@ | ||
179 | |||
180 | /* Make sure the net/if.h header is included before any linux/ one */ | ||
181 | #include <net/if.h> | ||
182 | -#include <linux/if_bridge.h> | ||
183 | |||
184 | #include "netlink-util.h" | ||
185 | #include "networkd-bridge-mdb.h" | ||
186 | @@ -13,6 +12,8 @@ | ||
187 | #include "string-util.h" | ||
188 | #include "vlan-util.h" | ||
189 | |||
190 | +#include <linux/if_bridge.h> | ||
191 | + | ||
192 | #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U | ||
193 | |||
194 | /* remove MDB entry. */ | ||
195 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c | ||
196 | index 0f3f79ec4f..325743bebf 100644 | ||
197 | --- a/src/network/networkd-route.c | ||
198 | +++ b/src/network/networkd-route.c | ||
199 | @@ -1,9 +1,5 @@ | ||
200 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
201 | |||
202 | -#include <linux/if.h> | ||
203 | -#include <linux/ipv6_route.h> | ||
204 | -#include <linux/nexthop.h> | ||
205 | - | ||
206 | #include "alloc-util.h" | ||
207 | #include "event-util.h" | ||
208 | #include "netlink-util.h" | ||
209 | @@ -21,6 +17,10 @@ | ||
210 | #include "vrf.h" | ||
211 | #include "wireguard.h" | ||
212 | |||
213 | +#include <linux/if.h> | ||
214 | +#include <linux/ipv6_route.h> | ||
215 | +#include <linux/nexthop.h> | ||
216 | + | ||
217 | static Route* route_detach_impl(Route *route) { | ||
218 | assert(route); | ||
219 | assert(!!route->network + !!route->manager + !!route->wireguard <= 1); | ||
220 | diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c | ||
221 | index e57af66221..f66d8f0606 100644 | ||
222 | --- a/src/resolve/resolved-dns-stream.c | ||
223 | +++ b/src/resolve/resolved-dns-stream.c | ||
224 | @@ -1,7 +1,5 @@ | ||
225 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
226 | |||
227 | -#include <linux/if_arp.h> | ||
228 | -#include <netinet/tcp.h> | ||
229 | #include <unistd.h> | ||
230 | |||
231 | #include "alloc-util.h" | ||
232 | @@ -12,6 +10,9 @@ | ||
233 | #include "resolved-dns-stream.h" | ||
234 | #include "resolved-manager.h" | ||
235 | |||
236 | +//#include <linux/if_arp.h> | ||
237 | +#include <netinet/tcp.h> | ||
238 | + | ||
239 | #define DNS_STREAMS_MAX 128 | ||
240 | |||
241 | #define DNS_QUERIES_PER_STREAM 32 | ||
242 | diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c | ||
243 | index dbaad81734..b988e75851 100644 | ||
244 | --- a/src/resolve/resolved-manager.c | ||
245 | +++ b/src/resolve/resolved-manager.c | ||
246 | @@ -1,8 +1,6 @@ | ||
247 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
248 | |||
249 | #include <fcntl.h> | ||
250 | -#include <linux/ipv6.h> | ||
251 | -#include <netinet/in.h> | ||
252 | #include <poll.h> | ||
253 | #include <sys/ioctl.h> | ||
254 | #include <sys/stat.h> | ||
255 | @@ -46,6 +44,9 @@ | ||
256 | #include "utf8.h" | ||
257 | #include "varlink-util.h" | ||
258 | |||
259 | +#include <linux/ipv6.h> | ||
260 | +#include <netinet/in.h> | ||
261 | + | ||
262 | #define SEND_TIMEOUT_USEC (200 * USEC_PER_MSEC) | ||
263 | |||
264 | static int manager_process_link(sd_netlink *rtnl, sd_netlink_message *mm, void *userdata) { | ||
265 | diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c | ||
266 | index eaa8a5f11c..03379e7474 100644 | ||
267 | --- a/src/shared/conf-parser.c | ||
268 | +++ b/src/shared/conf-parser.c | ||
269 | @@ -2,7 +2,6 @@ | ||
270 | |||
271 | #include <errno.h> | ||
272 | #include <limits.h> | ||
273 | -#include <linux/ipv6.h> | ||
274 | #include <stdint.h> | ||
275 | #include <stdio.h> | ||
276 | #include <stdlib.h> | ||
277 | @@ -47,6 +46,8 @@ | ||
278 | #include "time-util.h" | ||
279 | #include "utf8.h" | ||
280 | |||
281 | +#include <linux/ipv6.h> | ||
282 | + | ||
283 | DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(config_file_hash_ops_fclose, | ||
284 | char, path_hash_func, path_compare, | ||
285 | FILE, safe_fclose); | ||
286 | -- | ||
287 | 2.34.1 | ||
288 | |||
diff --git a/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch b/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch new file mode 100644 index 0000000000..a7549ee151 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From f2a7cf1d2a2bc2516a180809efd85c828cd9c7f4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Wed, 3 Jul 2024 07:18:42 -0700 | ||
4 | Subject: [PATCH 26/26] build-path.c: avoid boot time segfault for musl | ||
5 | |||
6 | This function, at runtime, should return -ENOEXEC. For musl, it | ||
7 | somehow segfaults. I think it's related to getauxval, but it's | ||
8 | really does not matter, just return -ENOEXEC. | ||
9 | |||
10 | Upstream-Status: Inappropriate [musl specific] | ||
11 | |||
12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
13 | --- | ||
14 | src/basic/build-path.c | 1 + | ||
15 | 1 file changed, 1 insertion(+) | ||
16 | |||
17 | diff --git a/src/basic/build-path.c b/src/basic/build-path.c | ||
18 | index b5972658df..4ef551034e 100644 | ||
19 | --- a/src/basic/build-path.c | ||
20 | +++ b/src/basic/build-path.c | ||
21 | @@ -151,6 +151,7 @@ int get_build_exec_dir(char **ret) { | ||
22 | */ | ||
23 | |||
24 | static int runpath_cached = -ERRNO_MAX-1; | ||
25 | + return -ENOEXEC; | ||
26 | if (runpath_cached == -ERRNO_MAX-1) { | ||
27 | const char *runpath = NULL; | ||
28 | |||
29 | -- | ||
30 | 2.34.1 | ||
31 | |||
diff --git a/meta/recipes-core/systemd/systemd_255.4.bb b/meta/recipes-core/systemd/systemd_257.6.bb index e7498c802d..5f7f20c434 100644 --- a/meta/recipes-core/systemd/systemd_255.4.bb +++ b/meta/recipes-core/systemd/systemd_257.6.bb | |||
@@ -4,11 +4,11 @@ PROVIDES = "udev" | |||
4 | 4 | ||
5 | PE = "1" | 5 | PE = "1" |
6 | 6 | ||
7 | DEPENDS = "intltool-native gperf-native libcap util-linux python3-jinja2-native" | 7 | DEPENDS = "gperf-native libcap util-linux python3-jinja2-native" |
8 | 8 | ||
9 | SECTION = "base/shell" | 9 | SECTION = "base/shell" |
10 | 10 | ||
11 | inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check | 11 | inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives systemd gettext bash-completion manpages features_check mime |
12 | 12 | ||
13 | # unmerged-usr support is deprecated upstream, taints the system and will be | 13 | # unmerged-usr support is deprecated upstream, taints the system and will be |
14 | # removed in the near future. Fail the build if it is not enabled. | 14 | # removed in the near future. Fail the build if it is not enabled. |
@@ -26,20 +26,19 @@ SRC_URI += " \ | |||
26 | file://init \ | 26 | file://init \ |
27 | file://99-default.preset \ | 27 | file://99-default.preset \ |
28 | file://systemd-pager.sh \ | 28 | file://systemd-pager.sh \ |
29 | file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ | 29 | file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ |
30 | file://0008-implment-systemd-sysv-install-for-OE.patch \ | 30 | file://0002-implment-systemd-sysv-install-for-OE.patch \ |
31 | file://0001-Do-not-create-var-log-README.patch \ | ||
31 | " | 32 | " |
32 | 33 | ||
33 | # patches needed by musl | 34 | # patches needed by musl |
34 | SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" | 35 | SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" |
35 | SRC_URI_MUSL = "\ | 36 | SRC_URI_MUSL = "\ |
36 | file://0001-missing_type.h-add-comparison_fn_t.patch \ | 37 | file://0003-missing_type.h-add-comparison_fn_t.patch \ |
37 | file://0002-add-fallback-parse_printf_format-implementation.patch \ | 38 | file://0004-add-fallback-parse_printf_format-implementation.patch \ |
38 | file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \ | 39 | file://0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ |
39 | file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ | 40 | file://0006-add-missing-FTW_-macros-for-musl.patch \ |
40 | file://0005-add-missing-FTW_-macros-for-musl.patch \ | 41 | file://0007-Use-uintmax_t-for-handling-rlim_t.patch \ |
41 | file://0006-Use-uintmax_t-for-handling-rlim_t.patch \ | ||
42 | file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ | ||
43 | file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ | 42 | file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ |
44 | file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ | 43 | file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ |
45 | file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ | 44 | file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ |
@@ -55,6 +54,10 @@ SRC_URI_MUSL = "\ | |||
55 | file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \ | 54 | file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \ |
56 | file://0021-shared-Do-not-use-malloc_info-on-musl.patch \ | 55 | file://0021-shared-Do-not-use-malloc_info-on-musl.patch \ |
57 | file://0022-avoid-missing-LOCK_EX-declaration.patch \ | 56 | file://0022-avoid-missing-LOCK_EX-declaration.patch \ |
57 | file://0023-include-signal.h-to-avoid-the-undeclared-error.patch \ | ||
58 | file://0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch \ | ||
59 | file://0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch \ | ||
60 | file://0026-build-path.c-avoid-boot-time-segfault-for-musl.patch \ | ||
58 | " | 61 | " |
59 | 62 | ||
60 | PAM_PLUGINS = " \ | 63 | PAM_PLUGINS = " \ |
@@ -65,14 +68,13 @@ PAM_PLUGINS = " \ | |||
65 | " | 68 | " |
66 | 69 | ||
67 | PACKAGECONFIG ??= " \ | 70 | PACKAGECONFIG ??= " \ |
68 | ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam pni-names selinux smack usrmerge polkit seccomp', d)} \ | 71 | ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit apparmor efi ldconfig pam pni-names selinux smack polkit seccomp', d)} \ |
69 | ${@bb.utils.contains('DISTRO_FEATURES', 'minidebuginfo', 'coredump elfutils', '', d)} \ | 72 | ${@bb.utils.contains('DISTRO_FEATURES', 'minidebuginfo', 'coredump elfutils', '', d)} \ |
70 | ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ | 73 | ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ |
71 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ | 74 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ |
72 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', 'link-udev-shared', d)} \ | 75 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit', 'link-udev-shared', d)} \ |
73 | backlight \ | 76 | backlight \ |
74 | binfmt \ | 77 | binfmt \ |
75 | cgroupv2 \ | ||
76 | gshadow \ | 78 | gshadow \ |
77 | hibernate \ | 79 | hibernate \ |
78 | hostnamed \ | 80 | hostnamed \ |
@@ -90,9 +92,9 @@ PACKAGECONFIG ??= " \ | |||
90 | quotacheck \ | 92 | quotacheck \ |
91 | randomseed \ | 93 | randomseed \ |
92 | resolved \ | 94 | resolved \ |
95 | serial-getty-generator \ | ||
93 | set-time-epoch \ | 96 | set-time-epoch \ |
94 | sysusers \ | 97 | sysusers \ |
95 | sysvinit \ | ||
96 | timedated \ | 98 | timedated \ |
97 | timesyncd \ | 99 | timesyncd \ |
98 | userdb \ | 100 | userdb \ |
@@ -128,68 +130,72 @@ TARGET_CC_ARCH:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 -D_LARGEFILE64_SOURCE" | |||
128 | # systemd-serialgetty.bb - not enabled by default. | 130 | # systemd-serialgetty.bb - not enabled by default. |
129 | PACKAGECONFIG[serial-getty-generator] = "" | 131 | PACKAGECONFIG[serial-getty-generator] = "" |
130 | 132 | ||
131 | PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" | 133 | PACKAGECONFIG[acl] = "-Dacl=enabled,-Dacl=disabled,acl" |
132 | PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" | 134 | PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit" |
135 | PACKAGECONFIG[apparmor] = "-Dapparmor=enabled,-Dapparmor=disabled,apparmor" | ||
133 | PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" | 136 | PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" |
134 | PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" | 137 | PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" |
135 | PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" | 138 | PACKAGECONFIG[bpf-framework] = "-Dbpf-framework=enabled,-Dbpf-framework=disabled,clang-native bpftool-native libbpf,libbpf" |
136 | PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" | 139 | PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2" |
137 | PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" | 140 | PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" |
138 | PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" | 141 | PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=enabled,-Dlibcryptsetup=disabled,cryptsetup,,cryptsetup" |
139 | PACKAGECONFIG[cryptsetup-plugins] = "-Dlibcryptsetup-plugins=true,-Dlibcryptsetup-plugins=false,cryptsetup,,cryptsetup" | 142 | PACKAGECONFIG[cryptsetup-plugins] = "-Dlibcryptsetup-plugins=enabled,-Dlibcryptsetup-plugins=disabled,cryptsetup,,cryptsetup" |
140 | PACKAGECONFIG[tpm2] = "-Dtpm2=true,-Dtpm2=false,tpm2-tss,tpm2-tss libtss2 libtss2-tcti-device" | 143 | PACKAGECONFIG[tpm2] = "-Dtpm2=enabled,-Dtpm2=disabled,tpm2-tss,tpm2-tss libtss2 libtss2-tcti-device" |
141 | # If multiple compression libraries are enabled, the format to use for compression is chosen implicitly, | 144 | # If multiple compression libraries are enabled, the format to use for compression is chosen implicitly, |
142 | # so if you want to compress with e.g. lz4 you cannot enable zstd, so you cannot read zstd-compressed journal files. | 145 | # so if you want to compress with e.g. lz4 you cannot enable zstd, so you cannot read zstd-compressed journal files. |
143 | # This option allows to enable all compression formats for reading, but choosing a specific one for writing. | 146 | # This option allows to enable all compression formats for reading, but choosing a specific one for writing. |
144 | PACKAGECONFIG[default-compression-lz4] = "-Dlz4=true -Ddefault-compression=lz4,,lz4" | 147 | PACKAGECONFIG[default-compression-lz4] = "-Dlz4=true -Ddefault-compression=lz4,,lz4" |
145 | PACKAGECONFIG[default-compression-xz] = "-Dxz=true -Ddefault-compression=xz,,xz" | 148 | PACKAGECONFIG[default-compression-xz] = "-Dxz=true -Ddefault-compression=xz,,xz" |
146 | PACKAGECONFIG[default-compression-zstd] = "-Dzstd=true -Ddefault-compression=zstd,,zstd" | 149 | PACKAGECONFIG[default-compression-zstd] = "-Dzstd=true -Ddefault-compression=zstd,,zstd" |
147 | PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" | 150 | PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus" |
148 | PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=true,-Defi=false -Dbootloader=false,python3-pyelftools-native" | 151 | PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=enabled,-Defi=false -Dbootloader=disabled,python3-pyelftools-native" |
149 | PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils,,libelf libdw" | 152 | PACKAGECONFIG[elfutils] = "-Delfutils=enabled,-Delfutils=disabled,elfutils,,libelf libdw" |
153 | PACKAGECONFIG[fido] = "-Dlibfido2=enabled,-Dlibfido2=disabled,libfido2" | ||
150 | PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" | 154 | PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" |
151 | PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false" | 155 | PACKAGECONFIG[repart] = "-Drepart=enabled,-Drepart=disabled" |
152 | PACKAGECONFIG[homed] = "-Dhomed=true,-Dhomed=false" | 156 | PACKAGECONFIG[homed] = "-Dhomed=enabled,-Dhomed=disabled" |
153 | # Sign the journal for anti-tampering | 157 | # Sign the journal for anti-tampering |
154 | PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" | 158 | PACKAGECONFIG[gcrypt] = "-Dgcrypt=enabled,-Dgcrypt=disabled,libgcrypt" |
155 | PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" | 159 | PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" |
156 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" | 160 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" |
157 | PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" | 161 | PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" |
158 | PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" | 162 | PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" |
159 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" | 163 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" |
160 | PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" | 164 | PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" |
161 | # importd requires journal-upload/xz/zlib/bzip2/gcrypt | 165 | # importd requires journal-upload/xz/zlib/bzip2/gcrypt |
162 | PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false,glib-2.0" | 166 | PACKAGECONFIG[importd] = "-Dimportd=enabled,-Dimportd=disabled,glib-2.0" |
163 | # Update NAT firewall rules | 167 | # Update NAT firewall rules |
164 | PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" | 168 | PACKAGECONFIG[iptc] = "-Dlibiptc=enabled,-Dlibiptc=disabled,iptables" |
165 | PACKAGECONFIG[journal-color] = ",,,less" | 169 | PACKAGECONFIG[journal-color] = ",,,less" |
166 | PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" | 170 | PACKAGECONFIG[journal-upload] = "-Dlibcurl=enabled,-Dlibcurl=disabled,curl" |
167 | PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" | 171 | PACKAGECONFIG[kmod] = "-Dkmod=enabled,-Dkmod=disabled,kmod,libkmod" |
168 | PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" | 172 | PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" |
169 | PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" | 173 | PACKAGECONFIG[libidn] = "-Dlibidn=enabled,-Dlibidn=disabled,libidn,,libidn" |
170 | PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" | 174 | PACKAGECONFIG[libidn2] = "-Dlibidn2=enabled,-Dlibidn2=disabled,libidn2,,libidn2" |
171 | # Link udev shared with systemd helper library. | 175 | # Link udev shared with systemd helper library. |
172 | # If enabled the udev package depends on the systemd package (which has the needed shared library). | 176 | # If enabled the udev package depends on the systemd package (which has the needed shared library). |
173 | PACKAGECONFIG[link-udev-shared] = "-Dlink-udev-shared=true,-Dlink-udev-shared=false" | 177 | PACKAGECONFIG[link-udev-shared] = "-Dlink-udev-shared=true,-Dlink-udev-shared=false" |
174 | PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" | 178 | PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" |
175 | PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" | 179 | PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" |
176 | PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" | 180 | PACKAGECONFIG[lz4] = "-Dlz4=enabled,-Dlz4=disabled,lz4" |
177 | PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" | 181 | PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" |
178 | PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" | 182 | PACKAGECONFIG[manpages] = "-Dman=enabled,-Dman=disabled,python3-lxml-native libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" |
179 | PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" | 183 | PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=enabled,-Dmicrohttpd=disabled,libmicrohttpd" |
184 | PACKAGECONFIG[mountfsd] = "-Dmountfsd=true,-Dmountfsd=false" | ||
180 | PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" | 185 | PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" |
186 | PACKAGECONFIG[nsresourced] = "-Dnsresourced=true,-Dnsresourced=false" | ||
181 | PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" | 187 | PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" |
182 | PACKAGECONFIG[no-dns-fallback] = "-Ddns-servers=" | 188 | PACKAGECONFIG[no-dns-fallback] = "-Ddns-servers=" |
183 | PACKAGECONFIG[no-ntp-fallback] = "-Dntp-servers=" | 189 | PACKAGECONFIG[no-ntp-fallback] = "-Dntp-servers=" |
184 | PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false,,libnss-systemd" | 190 | PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false,,libnss-systemd" |
185 | PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" | 191 | PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=enabled,-Dnss-mymachines=disabled" |
186 | PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" | 192 | PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=enabled,-Dnss-resolve=disabled" |
187 | PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" | 193 | PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" |
188 | PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" | 194 | PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" |
189 | PACKAGECONFIG[p11kit] = "-Dp11kit=true,-Dp11kit=false,p11-kit" | 195 | PACKAGECONFIG[p11kit] = "-Dp11kit=enabled,-Dp11kit=disabled,p11-kit" |
190 | PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" | 196 | PACKAGECONFIG[pam] = "-Dpam=enabled,-Dpam=disabled,libpam,${PAM_PLUGINS}" |
191 | PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" | 197 | PACKAGECONFIG[pcre2] = "-Dpcre2=enabled,-Dpcre2=disabled,libpcre2" |
192 | PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" | 198 | PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled" |
193 | # If polkit is disabled and networkd+hostnamed are in use, enabling this option and | 199 | # If polkit is disabled and networkd+hostnamed are in use, enabling this option and |
194 | # using dbus-broker will allow networkd to be authorized to change the | 200 | # using dbus-broker will allow networkd to be authorized to change the |
195 | # hostname without acquiring additional privileges | 201 | # hostname without acquiring additional privileges |
@@ -197,13 +203,13 @@ PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" | |||
197 | PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" | 203 | PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" |
198 | PACKAGECONFIG[pstore] = "-Dpstore=true,-Dpstore=false" | 204 | PACKAGECONFIG[pstore] = "-Dpstore=true,-Dpstore=false" |
199 | PACKAGECONFIG[pni-names] = ",,," | 205 | PACKAGECONFIG[pni-names] = ",,," |
200 | PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" | 206 | PACKAGECONFIG[qrencode] = "-Dqrencode=enabled,-Dqrencode=disabled,qrencode,,qrencode" |
201 | PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" | 207 | PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" |
202 | PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" | 208 | PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" |
203 | PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" | 209 | PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" |
204 | PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" | 210 | PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" |
205 | PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" | 211 | PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp" |
206 | PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" | 212 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux,initscripts-sushell" |
207 | PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" | 213 | PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" |
208 | PACKAGECONFIG[sysext] = "-Dsysext=true, -Dsysext=false" | 214 | PACKAGECONFIG[sysext] = "-Dsysext=true, -Dsysext=false" |
209 | PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" | 215 | PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" |
@@ -216,7 +222,6 @@ def build_epoch(d): | |||
216 | PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" | 222 | PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" |
217 | PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" | 223 | PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" |
218 | PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" | 224 | PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" |
219 | PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" | ||
220 | PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" | 225 | PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" |
221 | PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" | 226 | PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" |
222 | PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" | 227 | PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" |
@@ -225,30 +230,26 @@ PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setu | |||
225 | PACKAGECONFIG[wheel-group] = "-Dwheel-group=true, -Dwheel-group=false" | 230 | PACKAGECONFIG[wheel-group] = "-Dwheel-group=true, -Dwheel-group=false" |
226 | PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" | 231 | PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" |
227 | # Verify keymaps on locale change | 232 | # Verify keymaps on locale change |
228 | PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" | 233 | PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=enabled,-Dxkbcommon=disabled,libxkbcommon" |
229 | PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" | 234 | PACKAGECONFIG[xz] = "-Dxz=enabled,-Dxz=disabled,xz" |
230 | PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" | 235 | PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib" |
231 | PACKAGECONFIG[zstd] = "-Dzstd=true,-Dzstd=false,zstd" | 236 | PACKAGECONFIG[zstd] = "-Dzstd=enabled,-Dzstd=disabled,zstd" |
232 | 237 | ||
233 | RESOLV_CONF ??= "" | 238 | RESOLV_CONF ??= "" |
234 | 239 | ||
235 | # Helper variables to clarify locations. This mirrors the logic in systemd's | 240 | # bpf-framework: pass the recipe-sysroot to the compiler used to build |
236 | # build system. | 241 | # the eBPFs, so that it can find needed system includes in there. |
237 | rootprefix ?= "${root_prefix}" | 242 | CFLAGS:append = " --sysroot=${STAGING_DIR_TARGET}" |
238 | rootlibdir ?= "${base_libdir}" | 243 | LDFLAGS:append:aarch64 = " ${@bb.utils.contains('PACKAGECONFIG', 'openssl', '-Wl,-z,gcs-report-dynamic=none', '', d)}" |
239 | rootlibexecdir = "${rootprefix}/lib" | ||
240 | 244 | ||
241 | EXTRA_OEMESON += "-Dnobody-user=nobody \ | 245 | EXTRA_OEMESON += "-Dnobody-user=nobody \ |
242 | -Dnobody-group=nogroup \ | 246 | -Dnobody-group=nogroup \ |
243 | -Drootlibdir=${rootlibdir} \ | ||
244 | -Drootprefix=${rootprefix} \ | ||
245 | -Ddefault-locale=C \ | 247 | -Ddefault-locale=C \ |
246 | -Dmode=release \ | 248 | -Dmode=release \ |
247 | -Dsystem-alloc-uid-min=101 \ | 249 | -Dsystem-alloc-uid-min=101 \ |
248 | -Dsystem-uid-max=999 \ | 250 | -Dsystem-uid-max=999 \ |
249 | -Dsystem-alloc-gid-min=101 \ | 251 | -Dsystem-alloc-gid-min=101 \ |
250 | -Dsystem-gid-max=999 \ | 252 | -Dsystem-gid-max=999 \ |
251 | -Dcreate-log-dirs=false \ | ||
252 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', '-Ddefault-mdns=no -Ddefault-llmnr=no', '', d)} \ | 253 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', '-Ddefault-mdns=no -Ddefault-llmnr=no', '', d)} \ |
253 | " | 254 | " |
254 | 255 | ||
@@ -269,45 +270,56 @@ EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ | |||
269 | # The 60 seconds is watchdog's default vaule. | 270 | # The 60 seconds is watchdog's default vaule. |
270 | WATCHDOG_TIMEOUT ??= "60" | 271 | WATCHDOG_TIMEOUT ??= "60" |
271 | 272 | ||
273 | # To make use of the hardware watchdog it is sufficient to set WATCHDOG_RUNTIME_SEC | ||
274 | # (RuntimeWatchdogSec= option in /etc/systemd/system.conf) to a value like 20s | ||
275 | # and the watchdog is enabled. (defaults is no hardware watchdog use) | ||
276 | WATCHDOG_RUNTIME_SEC ??= "" | ||
277 | |||
272 | do_install() { | 278 | do_install() { |
273 | meson_do_install | 279 | meson_do_install |
274 | # Change the root user's home directory in /lib/sysusers.d/basic.conf. | 280 | |
275 | # This is done merely for backward compatibility with previous systemd recipes. | 281 | if ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', 'true', 'false', d)}; then |
276 | # systemd hardcodes root user's HOME to be "/root". Changing to use other values | 282 | # Change the root user's home directory in /lib/sysusers.d/basic.conf. |
277 | # may have unexpected runtime behaviors. | 283 | # This is done merely for backward compatibility with previous systemd recipes. |
278 | if [ "${ROOT_HOME}" != "/root" ]; then | 284 | # systemd hardcodes root user's HOME to be "/root". Changing to use other values |
279 | bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd" | 285 | # may have unexpected runtime behaviors. |
280 | sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf | 286 | if [ "${ROOT_HOME}" != "/root" ]; then |
287 | bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd" | ||
288 | sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf | ||
289 | fi | ||
281 | fi | 290 | fi |
282 | install -d ${D}/${base_sbindir} | 291 | install -d ${D}/${base_sbindir} |
283 | if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then | 292 | |
284 | # Provided by a separate recipe | 293 | if ! ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'true', 'false', d)}; then |
285 | rm ${D}${systemd_system_unitdir}/serial-getty* -f | 294 | # Remove the serial-getty generator and instead use explicit services |
295 | # created by the systemd-serialgetty recipe | ||
296 | find ${D} -name \*getty-generator\* -delete | ||
286 | fi | 297 | fi |
287 | 298 | ||
288 | # Provide support for initramfs | 299 | # Provide support for initramfs |
289 | [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init | 300 | [ ! -e ${D}/init ] && ln -s ${nonarch_libdir}/systemd/systemd ${D}/init |
290 | [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd | 301 | [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${nonarch_libdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd |
291 | 302 | ||
292 | install -d ${D}${sysconfdir}/udev/rules.d/ | 303 | install -d ${D}${sysconfdir}/udev/rules.d/ |
293 | install -d ${D}${nonarch_libdir}/tmpfiles.d | 304 | install -d ${D}${nonarch_libdir}/tmpfiles.d |
294 | for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do | 305 | for rule in $(find ${UNPACKDIR} -maxdepth 1 -type f -name "*.rules"); do |
295 | install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ | 306 | install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ |
296 | done | 307 | done |
297 | 308 | ||
298 | install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/ | 309 | install -m 0644 ${UNPACKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/ |
299 | 310 | ||
300 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then | 311 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then |
301 | install -d ${D}${sysconfdir}/init.d | 312 | install -d ${D}${sysconfdir}/init.d |
302 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd | 313 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd |
303 | sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd | 314 | sed -i s%@UDEVD@%${nonarch_libdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd |
304 | install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install | 315 | install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install |
305 | fi | 316 | fi |
306 | 317 | ||
307 | if "${@'true' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR')) else 'false'}"; then | 318 | if ${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-log.txt', 'true', 'false', d)}; then |
308 | # /var/log is typically a symbolic link to inside /var/volatile, | 319 | # base-files recipe provides /var/log which is a symlink to /var/volatile/log |
309 | # which is expected to be empty. | ||
310 | rm -rf ${D}${localstatedir}/log | 320 | rm -rf ${D}${localstatedir}/log |
321 | printf 'L\t\t%s/log\t\t-\t-\t-\t-\t%s/volatile/log\n' "${localstatedir}" \ | ||
322 | "${localstatedir}" >>${D}${nonarch_libdir}/tmpfiles.d/00-create-volatile.conf | ||
311 | elif [ -e ${D}${localstatedir}/log/journal ]; then | 323 | elif [ -e ${D}${localstatedir}/log/journal ]; then |
312 | chown root:systemd-journal ${D}${localstatedir}/log/journal | 324 | chown root:systemd-journal ${D}${localstatedir}/log/journal |
313 | 325 | ||
@@ -317,9 +329,9 @@ do_install() { | |||
317 | 329 | ||
318 | # if the user requests /tmp be on persistent storage (i.e. not volatile) | 330 | # if the user requests /tmp be on persistent storage (i.e. not volatile) |
319 | # then don't use a tmpfs for /tmp | 331 | # then don't use a tmpfs for /tmp |
320 | if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then | 332 | if ! ${@bb.utils.contains('FILESYSTEM_PERMS_TABLES', 'files/fs-perms-volatile-tmp.txt', 'true', 'false', d)}; then |
321 | rm -f ${D}${rootlibdir}/systemd/system/tmp.mount | 333 | rm -f ${D}${nonarch_libdir}/systemd/system/tmp.mount |
322 | rm -f ${D}${rootlibdir}/systemd/system/local-fs.target.wants/tmp.mount | 334 | rm -f ${D}${nonarch_libdir}/systemd/system/local-fs.target.wants/tmp.mount |
323 | fi | 335 | fi |
324 | 336 | ||
325 | install -d ${D}${systemd_system_unitdir}/graphical.target.wants | 337 | install -d ${D}${systemd_system_unitdir}/graphical.target.wants |
@@ -329,7 +341,7 @@ do_install() { | |||
329 | install -d ${D}${systemd_system_unitdir}/rescue.target.wants | 341 | install -d ${D}${systemd_system_unitdir}/rescue.target.wants |
330 | 342 | ||
331 | # Create symlinks for systemd-update-utmp-runlevel.service | 343 | # Create symlinks for systemd-update-utmp-runlevel.service |
332 | if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then | 344 | if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)} && ${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'true', 'false', d)}; then |
333 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service | 345 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service |
334 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service | 346 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service |
335 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service | 347 | ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_system_unitdir}/poweroff.target.wants/systemd-update-utmp-runlevel.service |
@@ -350,7 +362,7 @@ do_install() { | |||
350 | ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd | 362 | ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd |
351 | else | 363 | else |
352 | resolv_conf="${@bb.utils.contains('RESOLV_CONF', 'stub-resolv', 'run/systemd/resolve/stub-resolv.conf', 'run/systemd/resolve/resolv.conf', d)}" | 364 | resolv_conf="${@bb.utils.contains('RESOLV_CONF', 'stub-resolv', 'run/systemd/resolve/stub-resolv.conf', 'run/systemd/resolve/resolv.conf', d)}" |
353 | sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../${resolv_conf}%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf | 365 | sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../${resolv_conf}%g" ${D}${exec_prefix}/lib/tmpfiles.d/systemd-resolve.conf |
354 | ln -s ../${resolv_conf} ${D}${sysconfdir}/resolv-conf.systemd | 366 | ln -s ../${resolv_conf} ${D}${sysconfdir}/resolv-conf.systemd |
355 | fi | 367 | fi |
356 | if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then | 368 | if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then |
@@ -358,21 +370,13 @@ do_install() { | |||
358 | rm -r ${D}${sysconfdir}/X11 | 370 | rm -r ${D}${sysconfdir}/X11 |
359 | fi | 371 | fi |
360 | 372 | ||
361 | # If polkit is setup fixup permissions and ownership | ||
362 | if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then | ||
363 | if [ -d ${D}${datadir}/polkit-1/rules.d ]; then | ||
364 | chmod 700 ${D}${datadir}/polkit-1/rules.d | ||
365 | chown polkitd:root ${D}${datadir}/polkit-1/rules.d | ||
366 | fi | ||
367 | fi | ||
368 | |||
369 | # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to | 373 | # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to |
370 | # request hostname changes via DBUS without elevating its privileges | 374 | # request hostname changes via DBUS without elevating its privileges |
371 | if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then | 375 | if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then |
372 | install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ | 376 | install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ |
373 | install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ | 377 | install -m 0644 ${UNPACKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ |
374 | install -d ${D}${datadir}/dbus-1/system.d/ | 378 | install -d ${D}${datadir}/dbus-1/system.d/ |
375 | install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ | 379 | install -m 0644 ${UNPACKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ |
376 | fi | 380 | fi |
377 | 381 | ||
378 | # create link for existing udev rules | 382 | # create link for existing udev rules |
@@ -380,28 +384,36 @@ do_install() { | |||
380 | 384 | ||
381 | # install default policy for presets | 385 | # install default policy for presets |
382 | # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto | 386 | # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto |
383 | install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset | 387 | install -Dm 0644 ${UNPACKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset |
384 | 388 | ||
385 | # add a profile fragment to disable systemd pager with busybox less | 389 | # add a profile fragment to disable systemd pager with busybox less |
386 | install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh | 390 | install -Dm 0644 ${UNPACKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh |
387 | 391 | ||
388 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then | 392 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then |
389 | sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ | 393 | sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ |
390 | ${D}/${sysconfdir}/systemd/system.conf | 394 | ${D}/${sysconfdir}/systemd/system.conf |
391 | fi | 395 | fi |
396 | |||
397 | if [ -n "${WATCHDOG_RUNTIME_SEC}" ]; then | ||
398 | sed -i -e 's/#RuntimeWatchdogSec=off/RuntimeWatchdogSec=${WATCHDOG_RUNTIME_SEC}/' \ | ||
399 | ${D}/${sysconfdir}/systemd/system.conf | ||
400 | fi | ||
392 | 401 | ||
393 | if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', d)}; then | 402 | if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', d)}; then |
394 | if ! grep -q '^NamePolicy=.*mac' ${D}${rootlibexecdir}/systemd/network/99-default.link; then | 403 | if ! grep -q '^NamePolicy=.*mac' ${D}${nonarch_libdir}/systemd/network/99-default.link; then |
395 | sed -i '/^NamePolicy=/s/$/ mac/' ${D}${rootlibexecdir}/systemd/network/99-default.link | 404 | sed -i '/^NamePolicy=/s/$/ mac/' ${D}${nonarch_libdir}/systemd/network/99-default.link |
396 | fi | 405 | fi |
397 | if ! grep -q 'AlternativeNamesPolicy=.*mac' ${D}${rootlibexecdir}/systemd/network/99-default.link; then | 406 | if ! grep -q 'AlternativeNamesPolicy=.*mac' ${D}${nonarch_libdir}/systemd/network/99-default.link; then |
398 | sed -i '/AlternativeNamesPolicy=/s/$/ mac/' ${D}${rootlibexecdir}/systemd/network/99-default.link | 407 | sed -i '/AlternativeNamesPolicy=/s/$/ mac/' ${D}${nonarch_libdir}/systemd/network/99-default.link |
399 | fi | 408 | fi |
409 | else | ||
410 | # Actively disable Predictable Network Interface Names | ||
411 | sed -i 's/^NamePolicy=.*/NamePolicy=/;s/^AlternativeNamesPolicy=.*/AlternativeNamesPolicy=/' ${D}${nonarch_libdir}/systemd/network/99-default.link | ||
400 | fi | 412 | fi |
401 | } | 413 | } |
402 | 414 | ||
403 | python populate_packages:prepend (){ | 415 | python populate_packages:prepend (){ |
404 | systemdlibdir = d.getVar("rootlibdir") | 416 | systemdlibdir = d.getVar("libdir") |
405 | do_split_packages(d, systemdlibdir, r'^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) | 417 | do_split_packages(d, systemdlibdir, r'^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) |
406 | } | 418 | } |
407 | PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" | 419 | PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" |
@@ -418,6 +430,8 @@ PACKAGE_BEFORE_PN = "\ | |||
418 | ${PN}-journal-upload \ | 430 | ${PN}-journal-upload \ |
419 | ${PN}-journal-remote \ | 431 | ${PN}-journal-remote \ |
420 | ${PN}-kernel-install \ | 432 | ${PN}-kernel-install \ |
433 | ${PN}-mime \ | ||
434 | ${PN}-networkd \ | ||
421 | ${PN}-rpm-macros \ | 435 | ${PN}-rpm-macros \ |
422 | ${PN}-udev-rules \ | 436 | ${PN}-udev-rules \ |
423 | ${PN}-vconsole-setup \ | 437 | ${PN}-vconsole-setup \ |
@@ -446,6 +460,7 @@ SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfm | |||
446 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ | 460 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ |
447 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ | 461 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ |
448 | ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ | 462 | ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ |
463 | ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \ | ||
449 | " | 464 | " |
450 | SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service" | 465 | SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service" |
451 | 466 | ||
@@ -454,13 +469,14 @@ USERADD_PACKAGES = "${PN} \ | |||
454 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ | 469 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ |
455 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ | 470 | ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ |
456 | ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ | 471 | ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ |
472 | ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \ | ||
457 | " | 473 | " |
458 | GROUPADD_PARAM:${PN} = "-r systemd-journal;" | 474 | GROUPADD_PARAM:${PN} = "-r systemd-journal;" |
459 | GROUPADD_PARAM:udev = "-r render" | 475 | GROUPADD_PARAM:udev = "-r render" |
460 | GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" | 476 | GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" |
461 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" | 477 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" |
462 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" | 478 | USERADD_PARAM:${PN}-networkd = "--system -d / -M --shell /sbin/nologin systemd-network" |
463 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" | 479 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${datadir}/polkit-1 polkitd;', '', d)}" |
464 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" | 480 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" |
465 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" | 481 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" |
466 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'oomd', '--system -d / -M --shell /sbin/nologin systemd-oom;', '', d)}" | 482 | USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'oomd', '--system -d / -M --shell /sbin/nologin systemd-oom;', '', d)}" |
@@ -480,7 +496,7 @@ RDEPENDS:${PN}-initramfs = "${PN}" | |||
480 | 496 | ||
481 | FILES:${PN}-gui = "${bindir}/systemadm" | 497 | FILES:${PN}-gui = "${bindir}/systemadm" |
482 | 498 | ||
483 | FILES:${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ | 499 | FILES:${PN}-vconsole-setup = "${nonarch_libdir}/systemd/systemd-vconsole-setup \ |
484 | ${systemd_system_unitdir}/systemd-vconsole-setup.service \ | 500 | ${systemd_system_unitdir}/systemd-vconsole-setup.service \ |
485 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-vconsole-setup.service" | 501 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-vconsole-setup.service" |
486 | 502 | ||
@@ -496,15 +512,14 @@ FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions" | |||
496 | 512 | ||
497 | FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ | 513 | FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ |
498 | ${exec_prefix}/lib/binfmt.d \ | 514 | ${exec_prefix}/lib/binfmt.d \ |
499 | ${rootlibexecdir}/systemd/systemd-binfmt \ | 515 | ${nonarch_libdir}/systemd/systemd-binfmt \ |
500 | ${systemd_system_unitdir}/proc-sys-fs-binfmt_misc.* \ | 516 | ${systemd_system_unitdir}/proc-sys-fs-binfmt_misc.* \ |
501 | ${systemd_system_unitdir}/systemd-binfmt.service" | 517 | ${systemd_system_unitdir}/systemd-binfmt.service" |
502 | RRECOMMENDS:${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', 'kernel-module-binfmt-misc', '', d)}" | 518 | RRECOMMENDS:${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', 'kernel-module-binfmt-misc', '', d)}" |
503 | 519 | ||
504 | RDEPENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}" | 520 | RDEPENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}" |
505 | 521 | ||
506 | 522 | FILES:${PN}-journal-gatewayd = "${nonarch_libdir}/systemd/systemd-journal-gatewayd \ | |
507 | FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ | ||
508 | ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ | 523 | ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ |
509 | ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ | 524 | ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ |
510 | ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ | 525 | ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ |
@@ -512,20 +527,20 @@ FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewa | |||
512 | " | 527 | " |
513 | SYSTEMD_SERVICE:${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" | 528 | SYSTEMD_SERVICE:${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" |
514 | 529 | ||
515 | FILES:${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ | 530 | FILES:${PN}-journal-upload = "${nonarch_libdir}/systemd/systemd-journal-upload \ |
516 | ${systemd_system_unitdir}/systemd-journal-upload.service \ | 531 | ${systemd_system_unitdir}/systemd-journal-upload.service \ |
517 | ${sysconfdir}/systemd/journal-upload.conf \ | 532 | ${sysconfdir}/systemd/journal-upload.conf \ |
518 | " | 533 | " |
519 | SYSTEMD_SERVICE:${PN}-journal-upload = "systemd-journal-upload.service" | 534 | SYSTEMD_SERVICE:${PN}-journal-upload = "systemd-journal-upload.service" |
520 | 535 | ||
521 | FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ | 536 | FILES:${PN}-journal-remote = "${nonarch_libdir}/systemd/systemd-journal-remote \ |
537 | ${nonarch_libdir}/sysusers.d/systemd-remote.conf \ | ||
522 | ${sysconfdir}/systemd/journal-remote.conf \ | 538 | ${sysconfdir}/systemd/journal-remote.conf \ |
523 | ${systemd_system_unitdir}/systemd-journal-remote.service \ | 539 | ${systemd_system_unitdir}/systemd-journal-remote.service \ |
524 | ${systemd_system_unitdir}/systemd-journal-remote.socket \ | 540 | ${systemd_system_unitdir}/systemd-journal-remote.socket \ |
525 | " | 541 | " |
526 | SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" | 542 | SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" |
527 | 543 | ||
528 | |||
529 | FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ | 544 | FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ |
530 | ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ | 545 | ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ |
531 | ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ | 546 | ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ |
@@ -545,10 +560,10 @@ FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c | |||
545 | ${systemd_system_unitdir}/systemd-machined.service \ | 560 | ${systemd_system_unitdir}/systemd-machined.service \ |
546 | ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ | 561 | ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ |
547 | ${systemd_system_unitdir}/var-lib-machines.mount \ | 562 | ${systemd_system_unitdir}/var-lib-machines.mount \ |
548 | ${rootlibexecdir}/systemd/systemd-import \ | 563 | ${nonarch_libdir}/systemd/systemd-import \ |
549 | ${rootlibexecdir}/systemd/systemd-importd \ | 564 | ${nonarch_libdir}/systemd/systemd-importd \ |
550 | ${rootlibexecdir}/systemd/systemd-machined \ | 565 | ${nonarch_libdir}/systemd/systemd-machined \ |
551 | ${rootlibexecdir}/systemd/systemd-pull \ | 566 | ${nonarch_libdir}/systemd/systemd-pull \ |
552 | ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ | 567 | ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ |
553 | ${exec_prefix}/lib/tmpfiles.d/README \ | 568 | ${exec_prefix}/lib/tmpfiles.d/README \ |
554 | ${systemd_system_unitdir}/systemd-nspawn@.service \ | 569 | ${systemd_system_unitdir}/systemd-nspawn@.service \ |
@@ -586,28 +601,18 @@ FILES:${PN}-extra-utils = "\ | |||
586 | ${bindir}/systemd-cgls \ | 601 | ${bindir}/systemd-cgls \ |
587 | ${bindir}/systemd-cgtop \ | 602 | ${bindir}/systemd-cgtop \ |
588 | ${bindir}/systemd-stdio-bridge \ | 603 | ${bindir}/systemd-stdio-bridge \ |
589 | ${base_bindir}/systemd-ask-password \ | ||
590 | ${base_bindir}/systemd-tty-ask-password-agent \ | ||
591 | ${base_sbindir}/mount.ddi \ | 604 | ${base_sbindir}/mount.ddi \ |
592 | ${systemd_system_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.path \ | 605 | ${systemd_system_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.path \ |
593 | ${systemd_system_unitdir}/systemd-ask-password-console.path \ | ||
594 | ${systemd_system_unitdir}/systemd-ask-password-console.service \ | ||
595 | ${systemd_system_unitdir}/systemd-ask-password-wall.path \ | ||
596 | ${systemd_system_unitdir}/systemd-ask-password-wall.service \ | ||
597 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-console.path \ | ||
598 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-ask-password-wall.path \ | ||
599 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-pcrphase.path \ | 606 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-pcrphase.path \ |
600 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.path \ | 607 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.path \ |
601 | ${systemd_system_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path \ | 608 | ${nonarch_libdir}/systemd/systemd-resolve-host \ |
602 | ${rootlibexecdir}/systemd/systemd-resolve-host \ | 609 | ${nonarch_libdir}/systemd/systemd-ac-power \ |
603 | ${rootlibexecdir}/systemd/systemd-ac-power \ | 610 | ${nonarch_libdir}/systemd/systemd-activate \ |
604 | ${rootlibexecdir}/systemd/systemd-activate \ | 611 | ${nonarch_libdir}/systemd/systemd-measure \ |
605 | ${rootlibexecdir}/systemd/systemd-measure \ | 612 | ${nonarch_libdir}/systemd/systemd-pcrphase \ |
606 | ${rootlibexecdir}/systemd/systemd-pcrphase \ | 613 | ${nonarch_libdir}/systemd/systemd-socket-proxyd \ |
607 | ${rootlibexecdir}/systemd/systemd-socket-proxyd \ | 614 | ${nonarch_libdir}/systemd/systemd-sleep \ |
608 | ${rootlibexecdir}/systemd/systemd-reply-password \ | 615 | ${nonarch_libdir}/systemd/system-sleep \ |
609 | ${rootlibexecdir}/systemd/systemd-sleep \ | ||
610 | ${rootlibexecdir}/systemd/system-sleep \ | ||
611 | ${systemd_system_unitdir}/systemd-hibernate.service \ | 616 | ${systemd_system_unitdir}/systemd-hibernate.service \ |
612 | ${systemd_system_unitdir}/systemd-hybrid-sleep.service \ | 617 | ${systemd_system_unitdir}/systemd-hybrid-sleep.service \ |
613 | ${systemd_system_unitdir}/systemd-pcrphase-initrd.service \ | 618 | ${systemd_system_unitdir}/systemd-pcrphase-initrd.service \ |
@@ -615,25 +620,48 @@ FILES:${PN}-extra-utils = "\ | |||
615 | ${systemd_system_unitdir}/systemd-pcrphase-sysinit.service \ | 620 | ${systemd_system_unitdir}/systemd-pcrphase-sysinit.service \ |
616 | ${systemd_system_unitdir}/systemd-suspend.service \ | 621 | ${systemd_system_unitdir}/systemd-suspend.service \ |
617 | ${systemd_system_unitdir}/sleep.target \ | 622 | ${systemd_system_unitdir}/sleep.target \ |
618 | ${rootlibexecdir}/systemd/systemd-initctl \ | 623 | ${nonarch_libdir}/systemd/systemd-initctl \ |
619 | ${systemd_system_unitdir}/systemd-initctl.service \ | 624 | ${systemd_system_unitdir}/systemd-initctl.service \ |
620 | ${systemd_system_unitdir}/systemd-initctl.socket \ | 625 | ${systemd_system_unitdir}/systemd-initctl.socket \ |
621 | ${systemd_system_unitdir}/sockets.target.wants/systemd-initctl.socket \ | 626 | ${systemd_system_unitdir}/sockets.target.wants/systemd-initctl.socket \ |
622 | ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ | 627 | ${nonarch_libdir}/systemd/system-generators/systemd-gpt-auto-generator \ |
623 | ${rootlibexecdir}/systemd/systemd-cgroups-agent \ | 628 | ${nonarch_libdir}/systemd/systemd-cgroups-agent \ |
629 | " | ||
630 | |||
631 | FILES:${PN}-mime = "${MIMEDIR}" | ||
632 | RRECOMMENDS:${PN} += "${PN}-mime" | ||
633 | |||
634 | FILES:${PN}-networkd = "\ | ||
635 | ${bindir}/networkctl \ | ||
636 | ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \ | ||
637 | ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ | ||
638 | ${datadir}/polkit-1/actions/org.freedesktop.network1.policy \ | ||
639 | ${nonarch_libdir}/sysusers.d/systemd-network.conf \ | ||
640 | ${nonarch_libdir}/tmpfiles.d/systemd-network.conf \ | ||
641 | ${sysconfdir}/systemd/networkd.conf \ | ||
642 | ${systemd_system_unitdir}/systemd-networkd* \ | ||
643 | ${systemd_unitdir}/network/*.network \ | ||
644 | ${systemd_unitdir}/network/*.network.example \ | ||
645 | ${systemd_unitdir}/networkd.conf \ | ||
646 | ${systemd_unitdir}/systemd-networkd* \ | ||
624 | " | 647 | " |
648 | # systemd-networkd-persistent-storage.service BindsTo=systemd-networkd.service | ||
649 | # systemd-networkd.service has Also=systemd-networkd-wait-online.service | ||
650 | SYSTEMD_SERVICE:${PN}-networkd = "systemd-networkd.service" | ||
651 | CONFFILES:${PN}-networkd = "${sysconfdir}/systemd/networkd.conf" | ||
652 | RDEPENDS:${PN}-networkd += "${PN}" | ||
653 | RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)}" | ||
625 | 654 | ||
626 | FILES:${PN}-udev-rules = "\ | 655 | FILES:${PN}-udev-rules = "\ |
627 | ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ | 656 | ${nonarch_libdir}/udev/rules.d/70-uaccess.rules \ |
628 | ${rootlibexecdir}/udev/rules.d/71-seat.rules \ | 657 | ${nonarch_libdir}/udev/rules.d/71-seat.rules \ |
629 | ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ | 658 | ${nonarch_libdir}/udev/rules.d/73-seat-late.rules \ |
630 | ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ | 659 | ${nonarch_libdir}/udev/rules.d/99-systemd.rules \ |
631 | " | 660 | " |
632 | 661 | ||
633 | CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ | 662 | CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ |
634 | ${sysconfdir}/systemd/journald.conf \ | 663 | ${sysconfdir}/systemd/journald.conf \ |
635 | ${sysconfdir}/systemd/logind.conf \ | 664 | ${sysconfdir}/systemd/logind.conf \ |
636 | ${sysconfdir}/systemd/networkd.conf \ | ||
637 | ${sysconfdir}/systemd/pstore.conf \ | 665 | ${sysconfdir}/systemd/pstore.conf \ |
638 | ${sysconfdir}/systemd/resolved.conf \ | 666 | ${sysconfdir}/systemd/resolved.conf \ |
639 | ${sysconfdir}/systemd/sleep.conf \ | 667 | ${sysconfdir}/systemd/sleep.conf \ |
@@ -669,8 +697,10 @@ FILES:${PN} = " ${base_bindir}/* \ | |||
669 | ${sysconfdir}/init.d/README \ | 697 | ${sysconfdir}/init.d/README \ |
670 | ${sysconfdir}/resolv-conf.systemd \ | 698 | ${sysconfdir}/resolv-conf.systemd \ |
671 | ${sysconfdir}/X11/xinit/xinitrc.d/* \ | 699 | ${sysconfdir}/X11/xinit/xinitrc.d/* \ |
672 | ${rootlibexecdir}/systemd/* \ | 700 | ${sysconfdir}/ssh/ssh_config.d/20-systemd-ssh-proxy.conf \ |
673 | ${rootlibdir}/systemd/libsystemd-core* \ | 701 | ${sysconfdir}/ssh/sshd_config.d/20-systemd-userdb.conf \ |
702 | ${nonarch_libdir}/systemd/* \ | ||
703 | ${libdir}/systemd/libsystemd-core* \ | ||
674 | ${libdir}/pam.d \ | 704 | ${libdir}/pam.d \ |
675 | ${nonarch_libdir}/pam.d \ | 705 | ${nonarch_libdir}/pam.d \ |
676 | ${systemd_unitdir}/* \ | 706 | ${systemd_unitdir}/* \ |
@@ -695,11 +725,10 @@ FILES:${PN} = " ${base_bindir}/* \ | |||
695 | ${exec_prefix}/lib/environment.d \ | 725 | ${exec_prefix}/lib/environment.d \ |
696 | ${exec_prefix}/lib/pcrlock.d \ | 726 | ${exec_prefix}/lib/pcrlock.d \ |
697 | ${localstatedir} \ | 727 | ${localstatedir} \ |
698 | ${rootlibexecdir}/modprobe.d/systemd.conf \ | 728 | ${nonarch_libdir}/modprobe.d/systemd.conf \ |
699 | ${rootlibexecdir}/modprobe.d/README \ | 729 | ${nonarch_libdir}/modprobe.d/README \ |
700 | ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ | 730 | ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ |
701 | ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ | 731 | ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ |
702 | ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ | ||
703 | ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ | 732 | ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ |
704 | ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ | 733 | ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ |
705 | ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ | 734 | ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ |
@@ -713,11 +742,11 @@ FILES:${PN} = " ${base_bindir}/* \ | |||
713 | 742 | ||
714 | FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" | 743 | FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" |
715 | 744 | ||
716 | RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff" | 745 | RDEPENDS:${PN} += "kmod ${VIRTUAL-RUNTIME_dbus} util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff util-linux-mkswap" |
717 | RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" | 746 | RDEPENDS:${PN} += "systemd-serialgetty" |
718 | RDEPENDS:${PN} += "volatile-binds" | 747 | RDEPENDS:${PN} += "volatile-binds" |
719 | 748 | ||
720 | RRECOMMENDS:${PN} += "systemd-extra-utils \ | 749 | RRECOMMENDS:${PN} += "${PN}-extra-utils \ |
721 | udev-hwdb \ | 750 | udev-hwdb \ |
722 | e2fsprogs-e2fsck \ | 751 | e2fsprogs-e2fsck \ |
723 | kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ | 752 | kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ |
@@ -731,7 +760,7 @@ INSANE_SKIP:${PN}-dbg += "libdir" | |||
731 | INSANE_SKIP:${PN}-doc += " libdir" | 760 | INSANE_SKIP:${PN}-doc += " libdir" |
732 | INSANE_SKIP:libsystemd-shared += "libdir" | 761 | INSANE_SKIP:libsystemd-shared += "libdir" |
733 | 762 | ||
734 | FILES:libsystemd-shared = "${rootlibdir}/systemd/libsystemd-shared*.so" | 763 | FILES:libsystemd-shared = "${libdir}/systemd/libsystemd-shared*.so" |
735 | 764 | ||
736 | RPROVIDES:udev = "hotplug" | 765 | RPROVIDES:udev = "hotplug" |
737 | 766 | ||
@@ -739,58 +768,58 @@ RDEPENDS:udev-bash-completion += "bash-completion" | |||
739 | RDEPENDS:udev-hwdb += "udev" | 768 | RDEPENDS:udev-hwdb += "udev" |
740 | 769 | ||
741 | FILES:udev += "${base_sbindir}/udevd \ | 770 | FILES:udev += "${base_sbindir}/udevd \ |
742 | ${rootlibexecdir}/systemd/network/99-default.link \ | 771 | ${nonarch_libdir}/systemd/network/99-default.link \ |
743 | ${rootlibexecdir}/systemd/systemd-udevd \ | 772 | ${nonarch_libdir}/systemd/systemd-udevd \ |
744 | ${rootlibexecdir}/udev/accelerometer \ | 773 | ${nonarch_libdir}/udev/accelerometer \ |
745 | ${rootlibexecdir}/udev/ata_id \ | 774 | ${nonarch_libdir}/udev/ata_id \ |
746 | ${rootlibexecdir}/udev/cdrom_id \ | 775 | ${nonarch_libdir}/udev/cdrom_id \ |
747 | ${rootlibexecdir}/udev/collect \ | 776 | ${nonarch_libdir}/udev/collect \ |
748 | ${rootlibexecdir}/udev/dmi_memory_id \ | 777 | ${nonarch_libdir}/udev/dmi_memory_id \ |
749 | ${rootlibexecdir}/udev/fido_id \ | 778 | ${nonarch_libdir}/udev/fido_id \ |
750 | ${rootlibexecdir}/udev/findkeyboards \ | 779 | ${nonarch_libdir}/udev/findkeyboards \ |
751 | ${rootlibexecdir}/udev/iocost \ | 780 | ${nonarch_libdir}/udev/iocost \ |
752 | ${rootlibexecdir}/udev/keyboard-force-release.sh \ | 781 | ${nonarch_libdir}/udev/keyboard-force-release.sh \ |
753 | ${rootlibexecdir}/udev/keymap \ | 782 | ${nonarch_libdir}/udev/keymap \ |
754 | ${rootlibexecdir}/udev/mtd_probe \ | 783 | ${nonarch_libdir}/udev/mtd_probe \ |
755 | ${rootlibexecdir}/udev/scsi_id \ | 784 | ${nonarch_libdir}/udev/scsi_id \ |
756 | ${rootlibexecdir}/udev/v4l_id \ | 785 | ${nonarch_libdir}/udev/v4l_id \ |
757 | ${rootlibexecdir}/udev/keymaps \ | 786 | ${nonarch_libdir}/udev/keymaps \ |
758 | ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ | 787 | ${nonarch_libdir}/udev/rules.d/50-udev-default.rules \ |
759 | ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ | 788 | ${nonarch_libdir}/udev/rules.d/60-autosuspend.rules \ |
760 | ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ | 789 | ${nonarch_libdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ |
761 | ${rootlibexecdir}/udev/rules.d/60-block.rules \ | 790 | ${nonarch_libdir}/udev/rules.d/60-block.rules \ |
762 | ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ | 791 | ${nonarch_libdir}/udev/rules.d/60-cdrom_id.rules \ |
763 | ${rootlibexecdir}/udev/rules.d/60-dmi-id.rules \ | 792 | ${nonarch_libdir}/udev/rules.d/60-dmi-id.rules \ |
764 | ${rootlibexecdir}/udev/rules.d/60-drm.rules \ | 793 | ${nonarch_libdir}/udev/rules.d/60-drm.rules \ |
765 | ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ | 794 | ${nonarch_libdir}/udev/rules.d/60-evdev.rules \ |
766 | ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ | 795 | ${nonarch_libdir}/udev/rules.d/60-fido-id.rules \ |
767 | ${rootlibexecdir}/udev/rules.d/60-infiniband.rules \ | 796 | ${nonarch_libdir}/udev/rules.d/60-infiniband.rules \ |
768 | ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ | 797 | ${nonarch_libdir}/udev/rules.d/60-input-id.rules \ |
769 | ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ | 798 | ${nonarch_libdir}/udev/rules.d/60-persistent-alsa.rules \ |
770 | ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ | 799 | ${nonarch_libdir}/udev/rules.d/60-persistent-input.rules \ |
771 | ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ | 800 | ${nonarch_libdir}/udev/rules.d/60-persistent-storage.rules \ |
772 | ${rootlibexecdir}/udev/rules.d/60-persistent-storage-mtd.rules \ | 801 | ${nonarch_libdir}/udev/rules.d/60-persistent-storage-mtd.rules \ |
773 | ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ | 802 | ${nonarch_libdir}/udev/rules.d/60-persistent-storage-tape.rules \ |
774 | ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ | 803 | ${nonarch_libdir}/udev/rules.d/60-persistent-v4l.rules \ |
775 | ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ | 804 | ${nonarch_libdir}/udev/rules.d/60-sensor.rules \ |
776 | ${rootlibexecdir}/udev/rules.d/60-serial.rules \ | 805 | ${nonarch_libdir}/udev/rules.d/60-serial.rules \ |
777 | ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ | 806 | ${nonarch_libdir}/udev/rules.d/61-autosuspend-manual.rules \ |
778 | ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ | 807 | ${nonarch_libdir}/udev/rules.d/64-btrfs.rules \ |
779 | ${rootlibexecdir}/udev/rules.d/70-camera.rules \ | 808 | ${nonarch_libdir}/udev/rules.d/70-camera.rules \ |
780 | ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ | 809 | ${nonarch_libdir}/udev/rules.d/70-joystick.rules \ |
781 | ${rootlibexecdir}/udev/rules.d/70-memory.rules \ | 810 | ${nonarch_libdir}/udev/rules.d/70-memory.rules \ |
782 | ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ | 811 | ${nonarch_libdir}/udev/rules.d/70-mouse.rules \ |
783 | ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ | 812 | ${nonarch_libdir}/udev/rules.d/70-power-switch.rules \ |
784 | ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ | 813 | ${nonarch_libdir}/udev/rules.d/70-touchpad.rules \ |
785 | ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ | 814 | ${nonarch_libdir}/udev/rules.d/75-net-description.rules \ |
786 | ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ | 815 | ${nonarch_libdir}/udev/rules.d/75-probe_mtd.rules \ |
787 | ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ | 816 | ${nonarch_libdir}/udev/rules.d/78-sound-card.rules \ |
788 | ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ | 817 | ${nonarch_libdir}/udev/rules.d/80-drivers.rules \ |
789 | ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ | 818 | ${nonarch_libdir}/udev/rules.d/80-net-setup-link.rules \ |
790 | ${rootlibexecdir}/udev/rules.d/81-net-dhcp.rules \ | 819 | ${nonarch_libdir}/udev/rules.d/81-net-dhcp.rules \ |
791 | ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ | 820 | ${nonarch_libdir}/udev/rules.d/90-vconsole.rules \ |
792 | ${rootlibexecdir}/udev/rules.d/90-iocost.rules \ | 821 | ${nonarch_libdir}/udev/rules.d/90-iocost.rules \ |
793 | ${rootlibexecdir}/udev/rules.d/README \ | 822 | ${nonarch_libdir}/udev/rules.d/README \ |
794 | ${sysconfdir}/udev \ | 823 | ${sysconfdir}/udev \ |
795 | ${sysconfdir}/init.d/systemd-udevd \ | 824 | ${sysconfdir}/init.d/systemd-udevd \ |
796 | ${systemd_system_unitdir}/*udev* \ | 825 | ${systemd_system_unitdir}/*udev* \ |
@@ -802,7 +831,7 @@ FILES:udev += "${base_sbindir}/udevd \ | |||
802 | " | 831 | " |
803 | 832 | ||
804 | FILES:udev-bash-completion = "${datadir}/bash-completion/completions/udevadm" | 833 | FILES:udev-bash-completion = "${datadir}/bash-completion/completions/udevadm" |
805 | FILES:udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ | 834 | FILES:udev-hwdb = "${nonarch_libdir}/udev/hwdb.d \ |
806 | " | 835 | " |
807 | 836 | ||
808 | RCONFLICTS:${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" | 837 | RCONFLICTS:${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" |
@@ -831,7 +860,9 @@ python do_warn_musl() { | |||
831 | } | 860 | } |
832 | addtask warn_musl before do_configure | 861 | addtask warn_musl before do_configure |
833 | 862 | ||
834 | ALTERNATIVE:${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" | 863 | ALTERNATIVE:${PN} = "halt reboot shutdown poweroff \ |
864 | ${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'runlevel', '', d)} \ | ||
865 | ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" | ||
835 | 866 | ||
836 | ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" | 867 | ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" |
837 | ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" | 868 | ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" |
@@ -857,6 +888,12 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" | |||
857 | ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" | 888 | ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" |
858 | ALTERNATIVE_PRIORITY[runlevel] ?= "300" | 889 | ALTERNATIVE_PRIORITY[runlevel] ?= "300" |
859 | 890 | ||
891 | pkg_postinst:${PN}:append () { | ||
892 | if ${@bb.utils.contains('PACKAGECONFIG', 'set-time-epoch', 'true', 'false', d)}; then | ||
893 | touch $D${nonarch_libdir}/clock-epoch | ||
894 | fi | ||
895 | } | ||
896 | |||
860 | pkg_postinst:${PN}:libc-glibc () { | 897 | pkg_postinst:${PN}:libc-glibc () { |
861 | if ${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 'true', 'false', d)}; then | 898 | if ${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 'true', 'false', d)}; then |
862 | sed -e '/^hosts:/s/\s*\<myhostname\>//' \ | 899 | sed -e '/^hosts:/s/\s*\<myhostname\>//' \ |
@@ -885,15 +922,19 @@ pkg_prerm:${PN}:libc-glibc () { | |||
885 | fi | 922 | fi |
886 | } | 923 | } |
887 | 924 | ||
888 | PACKAGE_WRITE_DEPS += "qemu-native" | 925 | PACKAGE_WRITE_DEPS += "qemuwrapper-cross" |
926 | |||
889 | pkg_postinst:udev-hwdb () { | 927 | pkg_postinst:udev-hwdb () { |
890 | if test -n "$D"; then | 928 | if test -n "$D"; then |
891 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" base_bindir="${base_bindir}" | 929 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} \ |
930 | rootlibexecdir="${nonarch_libdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" base_bindir="${base_bindir}" | ||
892 | else | 931 | else |
893 | udevadm hwdb --update | 932 | systemd-hwdb update |
894 | fi | 933 | fi |
895 | } | 934 | } |
896 | 935 | ||
897 | pkg_prerm:udev-hwdb () { | 936 | pkg_prerm:udev-hwdb () { |
898 | rm -f $D${sysconfdir}/udev/hwdb.bin | 937 | rm -f $D${sysconfdir}/udev/hwdb.bin |
899 | } | 938 | } |
939 | |||
940 | require dlopen-deps.inc | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index 6bbe517df1..c77266e71e 100644 --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb | |||
@@ -2,11 +2,10 @@ SUMMARY = "Inittab configuration for SysVinit" | |||
2 | LICENSE = "GPL-2.0-only" | 2 | LICENSE = "GPL-2.0-only" |
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
4 | 4 | ||
5 | |||
6 | SRC_URI = "file://inittab \ | 5 | SRC_URI = "file://inittab \ |
7 | file://start_getty" | 6 | file://start_getty" |
8 | 7 | ||
9 | S = "${WORKDIR}" | 8 | S = "${UNPACKDIR}" |
10 | 9 | ||
11 | INHIBIT_DEFAULT_DEPS = "1" | 10 | INHIBIT_DEFAULT_DEPS = "1" |
12 | 11 | ||
@@ -16,9 +15,9 @@ do_compile() { | |||
16 | 15 | ||
17 | do_install() { | 16 | do_install() { |
18 | install -d ${D}${sysconfdir} | 17 | install -d ${D}${sysconfdir} |
19 | install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab | 18 | install -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab |
20 | install -d ${D}${base_bindir} | 19 | install -d ${D}${base_bindir} |
21 | install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty | 20 | install -m 0755 ${S}/start_getty ${D}${base_bindir}/start_getty |
22 | sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty | 21 | sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty |
23 | 22 | ||
24 | CONSOLES="${SERIAL_CONSOLES}" | 23 | CONSOLES="${SERIAL_CONSOLES}" |
diff --git a/meta/recipes-core/sysvinit/sysvinit/0001-hddown-include-libgen.h-for-basename-API.patch b/meta/recipes-core/sysvinit/sysvinit/0001-hddown-include-libgen.h-for-basename-API.patch deleted file mode 100644 index 5e4053bad1..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/0001-hddown-include-libgen.h-for-basename-API.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From a07c1d94e79840c59563741b45e690e77d4f3dfa Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 3 Dec 2023 20:09:30 -0800 | ||
4 | Subject: [PATCH] hddown: include libgen.h for basename API | ||
5 | |||
6 | musl has removed the non-prototype declaration of basename from string.h [1] which now results in build errors with clang-17+ compiler | ||
7 | |||
8 | include libgen.h for using the posix declaration of the funciton. | ||
9 | |||
10 | Fixes | ||
11 | |||
12 | hddown.c:135:8: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] | ||
13 | 135 | ptr = basename(lnk); | ||
14 | | ^ ~~~~~~~~~~~~~ | ||
15 | |||
16 | [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 | ||
17 | |||
18 | Upstream-Status: Submitted [https://github.com/slicer69/sysvinit/pull/21] | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | --- | ||
21 | src/hddown.c | 1 + | ||
22 | 1 file changed, 1 insertion(+) | ||
23 | |||
24 | diff --git a/src/hddown.c b/src/hddown.c | ||
25 | index 7a2cf28..3b31bc0 100644 | ||
26 | --- a/src/hddown.c | ||
27 | +++ b/src/hddown.c | ||
28 | @@ -24,6 +24,7 @@ char *v_hddown = "@(#)hddown.c 1.02 22-Apr-2003 miquels@cistron.nl"; | ||
29 | #ifndef _GNU_SOURCE | ||
30 | #define _GNU_SOURCE | ||
31 | #endif | ||
32 | +#include <libgen.h> | ||
33 | #include <stdio.h> | ||
34 | #include <stdlib.h> | ||
35 | #include <unistd.h> | ||
36 | -- | ||
37 | 2.43.0 | ||
38 | |||
diff --git a/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch b/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch deleted file mode 100644 index 60fbd87534..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From c710a3accd1fabdb671274e1a458405282d51e0c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 6 Aug 2018 15:38:58 -0700 | ||
4 | Subject: [PATCH] include sys/sysmacros.h for major/minor definitions | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | Upstream-Status: Pending | ||
8 | |||
9 | --- | ||
10 | src/bootlogd.c | 1 + | ||
11 | src/mountpoint.c | 1 + | ||
12 | src/shutdown.c | 1 + | ||
13 | 3 files changed, 3 insertions(+) | ||
14 | |||
15 | diff --git a/src/bootlogd.c b/src/bootlogd.c | ||
16 | index 787db87..8b07903 100644 | ||
17 | --- a/src/bootlogd.c | ||
18 | +++ b/src/bootlogd.c | ||
19 | @@ -29,6 +29,7 @@ | ||
20 | #include <sys/types.h> | ||
21 | #include <sys/time.h> | ||
22 | #include <sys/stat.h> | ||
23 | +#include <sys/sysmacros.h> | ||
24 | #include <sys/ioctl.h> | ||
25 | #include <sys/utsname.h> | ||
26 | #include <time.h> | ||
27 | diff --git a/src/mountpoint.c b/src/mountpoint.c | ||
28 | index 5f20522..94df7a1 100644 | ||
29 | --- a/src/mountpoint.c | ||
30 | +++ b/src/mountpoint.c | ||
31 | @@ -25,6 +25,7 @@ | ||
32 | |||
33 | #include <sys/types.h> | ||
34 | #include <sys/stat.h> | ||
35 | +#include <sys/sysmacros.h> | ||
36 | #include <unistd.h> | ||
37 | #include <stdlib.h> | ||
38 | #include <string.h> | ||
39 | diff --git a/src/shutdown.c b/src/shutdown.c | ||
40 | index b744a2c..40b7faf 100644 | ||
41 | --- a/src/shutdown.c | ||
42 | +++ b/src/shutdown.c | ||
43 | @@ -40,6 +40,7 @@ | ||
44 | #endif | ||
45 | #include <sys/types.h> | ||
46 | #include <sys/stat.h> | ||
47 | +#include <sys/sysmacros.h> | ||
48 | #include <sys/wait.h> | ||
49 | #ifdef __linux__ | ||
50 | #include <sys/sysmacros.h> /* brought in my LFS patch */ | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch b/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch index 5c39fb001b..1ac54fb667 100644 --- a/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch +++ b/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch | |||
@@ -1,33 +1,33 @@ | |||
1 | From c3a068cf24a22bea7349849ec111ae8d91a54db4 Mon Sep 17 00:00:00 2001 | 1 | From f040b04c50d13755b2063c4db0e0be0647cf5d14 Mon Sep 17 00:00:00 2001 |
2 | From: Jeff Dike <jdike@x86_64.user-mode-linux.org> | 2 | From: Jeff Dike <jdike@x86_64.user-mode-linux.org> |
3 | Date: Wed, 14 Jul 2010 14:35:52 -0400 | 3 | Date: Wed, 14 Jul 2010 14:35:52 -0400 |
4 | Subject: [PATCH] sysvinit - Remove sulogin dependency on /usr/lib*/libcrypt.a | 4 | Subject: [PATCH] sysvinit - Remove sulogin dependency on /usr/lib*/libcrypt.a |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [configuration] | 6 | The src Makefile was checking for libcrypt.a on the host, not in the |
7 | 7 | build environment. This patch checks for $LCRYPT in the environment | |
8 | # The src Makefile was checking for libcrypt.a on the host, not in the | 8 | and uses it if it's there. |
9 | # build environment. This patch checks for $LCRYPT in the environment | 9 | jdike@linux.intel.com |
10 | # and uses it if it's there. | ||
11 | # - jdike@linux.intel.com | ||
12 | 10 | ||
11 | Upstream-Status: Inappropriate [configuration] | ||
13 | --- | 12 | --- |
14 | src/Makefile | 11 ++--------- | 13 | src/Makefile | 12 ++---------- |
15 | 1 file changed, 2 insertions(+), 9 deletions(-) | 14 | 1 file changed, 2 insertions(+), 10 deletions(-) |
16 | 15 | ||
17 | diff --git a/src/Makefile b/src/Makefile | 16 | diff --git a/src/Makefile b/src/Makefile |
18 | index 5b1a5a2..b686394 100644 | 17 | index 6d9f01c..b12a233 100644 |
19 | --- a/src/Makefile | 18 | --- a/src/Makefile |
20 | +++ b/src/Makefile | 19 | +++ b/src/Makefile |
21 | @@ -97,15 +97,8 @@ else | 20 | @@ -97,16 +97,8 @@ else |
21 | SULOGINLIBS = | ||
22 | endif | 22 | endif |
23 | 23 | ||
24 | # Additional libs for GNU libc. | 24 | -# Additional libs for GNU libc. |
25 | -ifneq ($(wildcard $(ROOT)/usr/lib*/libcrypt.*),) | 25 | -ifneq ($(wildcard $(ROOT)/$(usrdir)/lib*/libcrypt.*),) |
26 | - SULOGINLIBS += -lcrypt | 26 | - SULOGINLIBS += -lcrypt |
27 | -endif | 27 | -endif |
28 | - | 28 | - |
29 | -# Additional libs for GNU libc / multiarch on Debian based systems. | 29 | -# Additional libs for GNU libc / multiarch on Debian based systems. |
30 | -ifneq ($(wildcard $(ROOT)/usr/lib/*/libcrypt.*),) | 30 | -ifneq ($(wildcard $(ROOT)/$(usrdir)/lib/*/libcrypt.*),) |
31 | -ifneq ($(findstring -lcrypt, $(SULOGINLIBS)), -lcrypt) | 31 | -ifneq ($(findstring -lcrypt, $(SULOGINLIBS)), -lcrypt) |
32 | - SULOGINLIBS += -lcrypt | 32 | - SULOGINLIBS += -lcrypt |
33 | -endif | 33 | -endif |
diff --git a/meta/recipes-core/sysvinit/sysvinit/install.patch b/meta/recipes-core/sysvinit/sysvinit/install.patch deleted file mode 100644 index bc6d493c2b..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/install.patch +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | From 5e35aa105e7a2e85db2a89fee4114090b1ac55be Mon Sep 17 00:00:00 2001 | ||
2 | From: Qing He <qing.he@intel.com> | ||
3 | Date: Fri, 18 Jun 2010 09:40:30 +0800 | ||
4 | Subject: [PATCH] sysvinit: upgrade to version 2.88dsf | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/slicer69/sysvinit/pull/13] | ||
7 | |||
8 | --- | ||
9 | src/Makefile | 53 +++++++++++++++++++++++++++++----------------------- | ||
10 | 1 file changed, 30 insertions(+), 23 deletions(-) | ||
11 | |||
12 | diff --git a/src/Makefile b/src/Makefile | ||
13 | index 1b368dc..5b1a5a2 100644 | ||
14 | --- a/src/Makefile | ||
15 | +++ b/src/Makefile | ||
16 | @@ -77,7 +77,14 @@ else | ||
17 | INSTALL_DATA = install -m 644 | ||
18 | endif | ||
19 | INSTALL_DIR = install -m 755 -d | ||
20 | -MANDIR = /usr/share/man | ||
21 | + | ||
22 | +ROOT ?= | ||
23 | +base_bindir ?= /bin | ||
24 | +base_sbindir ?= /sbin | ||
25 | +bindir ?= /usr/bin | ||
26 | +sysconfdir ?= /etc | ||
27 | +includedir ?= /usr/include | ||
28 | +mandir ?= /usr/share/man | ||
29 | |||
30 | ifeq ($(WITH_SELINUX),yes) | ||
31 | SELINUX_DEF = -DWITH_SELINUX | ||
32 | @@ -191,43 +198,43 @@ clobber: cleanobjs | ||
33 | distclean: clobber | ||
34 | |||
35 | install: all | ||
36 | - $(INSTALL_DIR) $(ROOT)/bin/ $(ROOT)/sbin/ | ||
37 | - $(INSTALL_DIR) $(ROOT)/usr/bin/ | ||
38 | + $(INSTALL_DIR) $(ROOT)$(base_bindir)/ $(ROOT)$(base_sbindir)/ | ||
39 | + $(INSTALL_DIR) $(ROOT)$(bindir)/ | ||
40 | for i in $(BIN); do \ | ||
41 | - $(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \ | ||
42 | + $(INSTALL_EXEC) $$i $(ROOT)$(base_bindir)/ ; \ | ||
43 | done | ||
44 | for i in $(SBIN); do \ | ||
45 | - $(INSTALL_EXEC) $$i $(ROOT)/sbin/ ; \ | ||
46 | + $(INSTALL_EXEC) $$i $(ROOT)$(base_sbindir)/ ; \ | ||
47 | done | ||
48 | for i in $(USRBIN); do \ | ||
49 | - $(INSTALL_EXEC) $$i $(ROOT)/usr/bin/ ; \ | ||
50 | + $(INSTALL_EXEC) $$i $(ROOT)$(bindir)/ ; \ | ||
51 | done | ||
52 | # $(INSTALL_DIR) $(ROOT)/etc/ | ||
53 | $(INSTALL_DIR) $(ROOT)/etc/inittab.d | ||
54 | # $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/ | ||
55 | - ln -sf halt $(ROOT)/sbin/reboot | ||
56 | - ln -sf halt $(ROOT)/sbin/poweroff | ||
57 | - ln -sf init $(ROOT)/sbin/telinit | ||
58 | - ln -sf /sbin/killall5 $(ROOT)/bin/pidof | ||
59 | - if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ | ||
60 | - ln -sf last $(ROOT)/usr/bin/lastb; \ | ||
61 | + ln -sf halt $(ROOT)$(base_sbindir)/reboot | ||
62 | + ln -sf halt $(ROOT)$(base_sbindir)/poweroff | ||
63 | + ln -sf init $(ROOT)$(base_sbindir)/telinit | ||
64 | + ln -sf $(base_sbindir)/killall5 $(ROOT)$(base_bindir)/pidof | ||
65 | + if [ ! -f $(ROOT)$(bindir)/lastb ]; then \ | ||
66 | + ln -sf last $(ROOT)$(bindir)/lastb; \ | ||
67 | fi | ||
68 | - $(INSTALL_DIR) $(ROOT)/usr/include/ | ||
69 | - $(INSTALL_DATA) initreq.h $(ROOT)/usr/include/ | ||
70 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/ | ||
71 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man5/ | ||
72 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man8/ | ||
73 | + $(INSTALL_DIR) $(ROOT)$(includedir)/ | ||
74 | + $(INSTALL_DATA) initreq.h $(ROOT)$(includedir)/ | ||
75 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man1/ | ||
76 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man5/ | ||
77 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man8/ | ||
78 | for man in $(MAN1); do \ | ||
79 | - $(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man1/; \ | ||
80 | - sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man1/$$man ; \ | ||
81 | + $(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man1/; \ | ||
82 | + sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man1/$$man ; \ | ||
83 | done | ||
84 | for man in $(MAN5); do \ | ||
85 | - $(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man5/; \ | ||
86 | - sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man5/$$man ; \ | ||
87 | + $(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man5/; \ | ||
88 | + sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man5/$$man ; \ | ||
89 | done | ||
90 | for man in $(MAN8); do \ | ||
91 | - $(INSTALL_DATA) ../man/$$man $(ROOT)$(MANDIR)/man8/; \ | ||
92 | - sed -i "1{ $(MANDB); }" $(ROOT)$(MANDIR)/man8/$$man ; \ | ||
93 | + $(INSTALL_DATA) ../man/$$man $(ROOT)$(mandir)/man8/; \ | ||
94 | + sed -i "1{ $(MANDB); }" $(ROOT)$(mandir)/man8/$$man ; \ | ||
95 | done | ||
96 | ifeq ($(ROOT),) | ||
97 | # | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch b/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch deleted file mode 100644 index 8ef292ed12..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch +++ /dev/null | |||
@@ -1,191 +0,0 @@ | |||
1 | From 0e441712d0e366a0384ff3fa879f5a2d2607c24f Mon Sep 17 00:00:00 2001 | ||
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
3 | Date: Wed, 24 Jul 2013 17:07:22 +0800 | ||
4 | Subject: [PATCH] pidof: add -m option | ||
5 | |||
6 | When used with -o, will also omit any processes that have the same | ||
7 | argv[0] and argv[1] as any explicitly omitted process ids. This can be | ||
8 | used to avoid multiple shell scripts concurrently calling pidof returning | ||
9 | each other's pids. | ||
10 | |||
11 | https://bugzilla.redhat.com/show_bug.cgi?id=883856 | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | Imported patch from: https://bugzilla.redhat.com/attachment.cgi?id=658166 | ||
15 | |||
16 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
17 | |||
18 | --- | ||
19 | man/pidof.8 | 6 +++++ | ||
20 | src/killall5.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++--- | ||
21 | 2 files changed, 65 insertions(+), 3 deletions(-) | ||
22 | |||
23 | diff --git a/man/pidof.8 b/man/pidof.8 | ||
24 | index 6866cb3..a87d878 100644 | ||
25 | --- a/man/pidof.8 | ||
26 | +++ b/man/pidof.8 | ||
27 | @@ -25,6 +25,7 @@ pidof - find the process ID of a running program | ||
28 | .RB [ \-n ] | ||
29 | .RB [ \-x ] | ||
30 | .RB [ \-z ] | ||
31 | +.RB [ \-m ] | ||
32 | .RB [ \-o | ||
33 | .IR omitpid[,omitpid...] ] | ||
34 | .RB [ \-o | ||
35 | @@ -77,6 +78,11 @@ is shown. The default separator is a space. | ||
36 | Tells \fIpidof\fP to omit processes with that process id. The special | ||
37 | pid \fB%PPID\fP can be used to name the parent process of the \fBpidof\fP | ||
38 | program, in other words the calling shell or shell script. | ||
39 | +.IP -m | ||
40 | +When used with -o, will also omit any processes that have the same | ||
41 | +argv[0] and argv[1] as any explicitly omitted process ids. This can be | ||
42 | +used to avoid multiple shell scripts concurrently calling pidof returning | ||
43 | +each other's pids. | ||
44 | .SH "EXIT STATUS" | ||
45 | .TP | ||
46 | .B 0 | ||
47 | diff --git a/src/killall5.c b/src/killall5.c | ||
48 | index b0728fa..72289e3 100644 | ||
49 | --- a/src/killall5.c | ||
50 | +++ b/src/killall5.c | ||
51 | @@ -121,6 +121,7 @@ typedef struct _s_nfs | ||
52 | |||
53 | /* List of processes. */ | ||
54 | PROC *plist; | ||
55 | +PROC *olist; | ||
56 | |||
57 | /* List of processes to omit. */ | ||
58 | OMIT *omit; | ||
59 | @@ -356,6 +357,20 @@ static void clear_mnt(void) | ||
60 | } | ||
61 | } | ||
62 | |||
63 | +static void clear_omit(void) | ||
64 | +{ | ||
65 | + OMIT *o; | ||
66 | + PROC *p; | ||
67 | + for (o = omit; o; o = omit) { | ||
68 | + omit = omit->next; | ||
69 | + free(o); | ||
70 | + } | ||
71 | + for (p = olist; p; p = olist) { | ||
72 | + olist = olist->next; | ||
73 | + free(p); | ||
74 | + } | ||
75 | +} | ||
76 | + | ||
77 | /* | ||
78 | * Check if path is a shadow off a NFS partition. | ||
79 | */ | ||
80 | @@ -481,6 +496,7 @@ int readproc() | ||
81 | DIR *dir; | ||
82 | FILE *fp; | ||
83 | PROC *p, *n; | ||
84 | + OMIT *o, *m; | ||
85 | struct dirent *d; | ||
86 | char path[PATH_MAX+1]; | ||
87 | char buf[PATH_MAX+1]; | ||
88 | @@ -670,6 +686,17 @@ int readproc() | ||
89 | p->next = plist; | ||
90 | plist = p; | ||
91 | p->pid = pid; | ||
92 | + /* Could be smarter, but it's a small list. */ | ||
93 | + m = omit; | ||
94 | + for (o = omit; m; o = m) { | ||
95 | + m = o->next; | ||
96 | + if (o->pid == p->pid) { | ||
97 | + n = (PROC*)xmalloc(sizeof(PROC)); | ||
98 | + *n = *p; | ||
99 | + n->next = olist; | ||
100 | + olist = n; | ||
101 | + } | ||
102 | + } | ||
103 | } | ||
104 | closedir(dir); | ||
105 | |||
106 | @@ -870,6 +897,26 @@ PIDQ_HEAD *pidof(char *prog) | ||
107 | return q; | ||
108 | } | ||
109 | |||
110 | +int matches(PROC *o, PROC *p) | ||
111 | +{ | ||
112 | + int ret = 0; | ||
113 | + char *oargv1, *pargv1; | ||
114 | + if ((o->argv0 && p->argv0 && !strcmp(o->argv0,p->argv0))) { | ||
115 | + if (o->argv1 && p->argv1) { | ||
116 | + if ((oargv1 = canonicalize_file_name(o->argv1)) == NULL) | ||
117 | + oargv1 = strdup(o->argv1); | ||
118 | + if ((pargv1 = canonicalize_file_name(p->argv1)) == NULL) | ||
119 | + pargv1 = strdup(p->argv1); | ||
120 | + if (! strcmp(oargv1, pargv1)) { | ||
121 | + ret = 1; | ||
122 | + } | ||
123 | + free(oargv1); | ||
124 | + free(pargv1); | ||
125 | + } | ||
126 | + } | ||
127 | + return ret; | ||
128 | +} | ||
129 | + | ||
130 | /* Give usage message and exit. */ | ||
131 | void usage(void) | ||
132 | { | ||
133 | @@ -920,6 +967,7 @@ void nsyslog(int pri, char *fmt, ...) | ||
134 | #define PIDOF_OMIT 0x02 | ||
135 | #define PIDOF_NETFS 0x04 | ||
136 | #define PIDOF_QUIET 0x08 | ||
137 | +#define PIDOF_OMIT_OMIT_MATCHES 0x08 | ||
138 | |||
139 | /* | ||
140 | * Pidof functionality. | ||
141 | @@ -937,6 +985,7 @@ int main_pidof(int argc, char **argv) | ||
142 | char tmp[512]; | ||
143 | char sep = ' '; | ||
144 | |||
145 | + olist = (PROC*)0; | ||
146 | omit = (OMIT*)0; | ||
147 | nlist = (NFS*)0; | ||
148 | opterr = 0; | ||
149 | @@ -944,7 +993,7 @@ int main_pidof(int argc, char **argv) | ||
150 | if ((token = getenv("PIDOF_NETFS")) && (strcmp(token,"no") != 0)) | ||
151 | flags |= PIDOF_NETFS; | ||
152 | |||
153 | - while ((opt = getopt(argc,argv,"qhco:d:sxzn")) != EOF) switch (opt) { | ||
154 | + while ((opt = getopt(argc,argv,"qhcmo:d:sxzn")) != EOF) switch (opt) { | ||
155 | case '?': | ||
156 | nsyslog(LOG_ERR,"invalid options on command line!\n"); | ||
157 | closelog(); | ||
158 | @@ -995,6 +1044,9 @@ int main_pidof(int argc, char **argv) | ||
159 | case 'z': | ||
160 | list_dz_processes = TRUE; | ||
161 | break; | ||
162 | + case 'm': | ||
163 | + flags |= PIDOF_OMIT_OMIT_MATCHES; | ||
164 | + break; | ||
165 | case 'n': | ||
166 | flags |= PIDOF_NETFS; | ||
167 | break; | ||
168 | @@ -1026,10 +1078,13 @@ int main_pidof(int argc, char **argv) | ||
169 | pid_t spid = 0; | ||
170 | while ((p = get_next_from_pid_q(q))) { | ||
171 | if ((flags & PIDOF_OMIT) && omit) { | ||
172 | - OMIT * optr; | ||
173 | - for (optr = omit; optr; optr = optr->next) { | ||
174 | + PROC * optr; | ||
175 | + for (optr = olist; optr; optr = optr->next) { | ||
176 | if (optr->pid == p->pid) | ||
177 | break; | ||
178 | + if (flags & PIDOF_OMIT_OMIT_MATCHES) | ||
179 | + if (matches(optr, p)) | ||
180 | + break; | ||
181 | } | ||
182 | |||
183 | /* | ||
184 | @@ -1071,6 +1126,7 @@ int main_pidof(int argc, char **argv) | ||
185 | printf("\n"); | ||
186 | } | ||
187 | |||
188 | + clear_omit(); | ||
189 | clear_mnt(); | ||
190 | |||
191 | closelog(); | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit/realpath.patch b/meta/recipes-core/sysvinit/sysvinit/realpath.patch deleted file mode 100644 index b559aa3b49..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/realpath.patch +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | From eb158c97f19d473d01befe96359a7f93ae834517 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 19 Nov 2015 00:10:03 +0000 | ||
4 | Subject: [PATCH] Fix build on musl use realpath() API its available on all | ||
5 | libcs | ||
6 | |||
7 | realpath() API doesnt work on systems with PATH_MAX set to be unlimited e.g. GNU/Hurd | ||
8 | However for Linux it should always work | ||
9 | |||
10 | Upstream-Status: Inappropriate [Linux specific] | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | |||
14 | --- | ||
15 | src/killall5.c | 4 ++-- | ||
16 | src/mountpoint.c | 1 + | ||
17 | src/wall.c | 1 + | ||
18 | 3 files changed, 4 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/src/killall5.c b/src/killall5.c | ||
21 | index a664954..9798423 100644 | ||
22 | --- a/src/killall5.c | ||
23 | +++ b/src/killall5.c | ||
24 | @@ -977,9 +977,9 @@ int matches(PROC *o, PROC *p) | ||
25 | char *oargv1, *pargv1; | ||
26 | if ((o->argv0 && p->argv0 && !strcmp(o->argv0,p->argv0))) { | ||
27 | if (o->argv1 && p->argv1) { | ||
28 | - if ((oargv1 = canonicalize_file_name(o->argv1)) == NULL) | ||
29 | + if ((oargv1 = realpath(o->argv1, NULL)) == NULL) | ||
30 | oargv1 = strdup(o->argv1); | ||
31 | - if ((pargv1 = canonicalize_file_name(p->argv1)) == NULL) | ||
32 | + if ((pargv1 = realpath(p->argv1, NULL)) == NULL) | ||
33 | pargv1 = strdup(p->argv1); | ||
34 | if (! strcmp(oargv1, pargv1)) { | ||
35 | ret = 1; | ||
36 | diff --git a/src/mountpoint.c b/src/mountpoint.c | ||
37 | index b24335e..5f20522 100644 | ||
38 | --- a/src/mountpoint.c | ||
39 | +++ b/src/mountpoint.c | ||
40 | @@ -23,6 +23,7 @@ | ||
41 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
42 | */ | ||
43 | |||
44 | +#include <sys/types.h> | ||
45 | #include <sys/stat.h> | ||
46 | #include <unistd.h> | ||
47 | #include <stdlib.h> | ||
48 | diff --git a/src/wall.c b/src/wall.c | ||
49 | index d3a2c70..00826e9 100644 | ||
50 | --- a/src/wall.c | ||
51 | +++ b/src/wall.c | ||
52 | @@ -30,6 +30,7 @@ | ||
53 | #include <pwd.h> | ||
54 | #include <syslog.h> | ||
55 | #include <sys/types.h> | ||
56 | +#include <time.h> | ||
57 | #include "init.h" | ||
58 | |||
59 | |||
diff --git a/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch b/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch deleted file mode 100644 index 89d65c23b7..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | # From glibc 2.36, <linux/mount.h> (included from <linux/fs.h>) and | ||
2 | # <sys/mount.h> (included from glibc) are no longer compatible: | ||
3 | # https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | |||
8 | --- sysvinit-3.04/src/sulogin.c.orig 2022-08-07 23:07:42.952576274 +0200 | ||
9 | +++ sysvinit-3.04/src/sulogin.c 2022-08-07 23:08:26.511470983 +0200 | ||
10 | @@ -51,7 +51,6 @@ | ||
11 | #ifdef __linux__ | ||
12 | # include <sys/statfs.h> | ||
13 | # include <sys/mount.h> | ||
14 | -# include <linux/fs.h> | ||
15 | # include <linux/magic.h> | ||
16 | # include <linux/major.h> | ||
17 | # ifndef TMPFS_MAGIC | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit_3.04.bb b/meta/recipes-core/sysvinit/sysvinit_3.14.bb index 6a612468f3..d4bb797624 100644 --- a/meta/recipes-core/sysvinit/sysvinit_3.04.bb +++ b/meta/recipes-core/sysvinit/sysvinit_3.14.bb | |||
@@ -9,25 +9,20 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | |||
9 | 9 | ||
10 | RDEPENDS:${PN} = "${PN}-inittab" | 10 | RDEPENDS:${PN} = "${PN}-inittab" |
11 | 11 | ||
12 | SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.xz \ | 12 | GITHUB_BASE_URI = "https://github.com/slicer69/${BPN}/releases/" |
13 | file://install.patch \ | 13 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \ |
14 | file://crypt-lib.patch \ | 14 | file://crypt-lib.patch \ |
15 | file://pidof-add-m-option.patch \ | ||
16 | file://realpath.patch \ | ||
17 | file://0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch \ | ||
18 | file://sysvinit_remove_linux_fs.patch \ | ||
19 | file://rcS-default \ | 15 | file://rcS-default \ |
20 | file://rc \ | 16 | file://rc \ |
21 | file://rcS \ | 17 | file://rcS \ |
22 | file://bootlogd.init \ | 18 | file://bootlogd.init \ |
23 | file://01_bootlogd \ | 19 | file://01_bootlogd \ |
24 | file://0001-hddown-include-libgen.h-for-basename-API.patch \ | ||
25 | " | 20 | " |
26 | SRC_URI[sha256sum] = "2a621fe6e4528bc91308b74867ddaaebbdf7753f02395c0c5bae817bd2b7e3a5" | 21 | SRC_URI[sha256sum] = "c90874b8c054a35991fb8c4d30c443ed1e9b1815ff6165c7b483f558be4e4b53" |
27 | 22 | ||
28 | S = "${WORKDIR}/sysvinit-${PV}" | 23 | S = "${UNPACKDIR}/sysvinit-${PV}" |
29 | 24 | ||
30 | inherit update-alternatives features_check | 25 | inherit update-alternatives features_check github-releases |
31 | DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" | 26 | DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" |
32 | do_package_setscene[depends] = "${MLPREFIX}base-passwd:do_populate_sysroot" | 27 | do_package_setscene[depends] = "${MLPREFIX}base-passwd:do_populate_sysroot" |
33 | 28 | ||
@@ -97,18 +92,18 @@ do_install () { | |||
97 | 92 | ||
98 | sed -e \ | 93 | sed -e \ |
99 | 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ | 94 | 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ |
100 | ${WORKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS | 95 | ${UNPACKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS |
101 | chmod 0644 ${D}${sysconfdir}/default/rcS | 96 | chmod 0644 ${D}${sysconfdir}/default/rcS |
102 | install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d | 97 | install -m 0755 ${UNPACKDIR}/rc ${D}${sysconfdir}/init.d |
103 | install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d | 98 | install -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d |
104 | install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd | 99 | install -m 0755 ${UNPACKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd |
105 | ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd | 100 | ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd |
106 | 101 | ||
107 | update-rc.d -r ${D} bootlogd start 07 S . | 102 | update-rc.d -r ${D} bootlogd start 07 S . |
108 | update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . | 103 | update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . |
109 | 104 | ||
110 | install -d ${D}${sysconfdir}/default/volatiles | 105 | install -d ${D}${sysconfdir}/default/volatiles |
111 | install -m 0644 ${WORKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles | 106 | install -m 0644 ${UNPACKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles |
112 | 107 | ||
113 | chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown | 108 | chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown |
114 | chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown | 109 | chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown |
diff --git a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb b/meta/recipes-core/ttyrun/ttyrun_2.38.0.bb index 9a8be15dab..90380e51ea 100644 --- a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb +++ b/meta/recipes-core/ttyrun/ttyrun_2.38.0.bb | |||
@@ -6,10 +6,10 @@ HOMEPAGE = "https://github.com/ibm-s390-linux/s390-tools" | |||
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af" |
8 | 8 | ||
9 | SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master" | 9 | SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master;tag=v${PV}" |
10 | SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7" | 10 | SRCREV = "660bab6e68fded26b2117e1dcec0844549a22fed" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | 12 | CVE_PRODUCT = "s390-tools" |
13 | 13 | ||
14 | EXTRA_OEMAKE = "\ | 14 | EXTRA_OEMAKE = "\ |
15 | V=1 \ | 15 | V=1 \ |
diff --git a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch b/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch new file mode 100644 index 0000000000..668aa731ac --- /dev/null +++ b/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch | |||
@@ -0,0 +1,138 @@ | |||
1 | From 95c871b7b912f39539777ac222ef7f8798bb0225 Mon Sep 17 00:00:00 2001 | ||
2 | From: Masahisa Kojima <kojima.masahisa@socionext.com> | ||
3 | Date: Thu, 25 Apr 2024 17:23:10 +0900 | ||
4 | Subject: [PATCH] random-util.c: sync dev_urandom implementation to | ||
5 | systemd-udev | ||
6 | |||
7 | Current dev_urandom() assumes that reading /dev/urandom | ||
8 | will never block regardless if the random pool is fully | ||
9 | initialized or not. | ||
10 | This assumption is no longer applicable since linux kerrnel | ||
11 | enforces the /dev/urandom entropy initialization from | ||
12 | v5.18-rc2 with the commit: | ||
13 | 48bff1053c17 ("random: opportunistically initialize on /dev/urandom reads"). | ||
14 | |||
15 | With this, when we use the linux v5.18-rc2 or later, | ||
16 | dev_urandom() will block if enough random pool is not supplied. | ||
17 | It causes the boot delay, typically 1024msec(4msec * 256 = 1024msec) | ||
18 | delay to fill the 256 bits entropy for the case CONFIG_HZ=250. | ||
19 | |||
20 | To prevent this boot delay, this commit syncs dev_urandom() | ||
21 | implementation to the systemd-udev. | ||
22 | The systemd-udev implementation of reading /dev/urandom is as follows. | ||
23 | - Try to get random with calling getrandom(GRND_INSECURE) | ||
24 | - If kernel does not support GRND_INSECURE, fallback to GRND_NONBLOCK | ||
25 | - If enough entropy is not supplied, fallback to reading /dev/urandom, | ||
26 | this will block when the kernel version is v5.18-rc2 or later | ||
27 | |||
28 | With this modification, dev_urandom() tries not to block | ||
29 | as much as possible. | ||
30 | |||
31 | This modification still keeps the backword compatibility, | ||
32 | dev_random() will never block if the commit(48bff1053c17) is not | ||
33 | applied to the linux kernel, the behavior is same as before | ||
34 | in this case. | ||
35 | |||
36 | Upstream-Status: Backport [a49a3aaa460add6ae7ea208b4cac630e56fe1180] | ||
37 | Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com> | ||
38 | --- | ||
39 | src/shared/missing.h | 4 +++ | ||
40 | src/shared/random-util.c | 70 ++++++++++++++++++---------------------- | ||
41 | 2 files changed, 35 insertions(+), 39 deletions(-) | ||
42 | |||
43 | diff --git a/src/shared/missing.h b/src/shared/missing.h | ||
44 | index 1967840cdbf3..1caec0f9207c 100644 | ||
45 | --- a/src/shared/missing.h | ||
46 | +++ b/src/shared/missing.h | ||
47 | @@ -79,6 +79,10 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) { | ||
48 | #define GRND_RANDOM 0x0002 | ||
49 | #endif | ||
50 | |||
51 | +#ifndef GRND_INSECURE | ||
52 | +#define GRND_INSECURE 0x0004 | ||
53 | +#endif | ||
54 | + | ||
55 | #ifndef BTRFS_IOCTL_MAGIC | ||
56 | #define BTRFS_IOCTL_MAGIC 0x94 | ||
57 | #endif | ||
58 | diff --git a/src/shared/random-util.c b/src/shared/random-util.c | ||
59 | index 01a28c8ef4e9..852b00e4ce2b 100644 | ||
60 | --- a/src/shared/random-util.c | ||
61 | +++ b/src/shared/random-util.c | ||
62 | @@ -31,45 +31,37 @@ | ||
63 | #include "util.h" | ||
64 | |||
65 | int dev_urandom(void *p, size_t n) { | ||
66 | - static int have_syscall = -1; | ||
67 | - | ||
68 | - _cleanup_close_ int fd = -1; | ||
69 | - int r; | ||
70 | - | ||
71 | - /* Gathers some randomness from the kernel. This call will | ||
72 | - * never block, and will always return some data from the | ||
73 | - * kernel, regardless if the random pool is fully initialized | ||
74 | - * or not. It thus makes no guarantee for the quality of the | ||
75 | - * returned entropy, but is good enough for or usual usecases | ||
76 | - * of seeding the hash functions for hashtable */ | ||
77 | - | ||
78 | - /* Use the getrandom() syscall unless we know we don't have | ||
79 | - * it, or when the requested size is too large for it. */ | ||
80 | - if (have_syscall != 0 || (size_t) (int) n != n) { | ||
81 | - r = getrandom(p, n, GRND_NONBLOCK); | ||
82 | - if (r == (int) n) { | ||
83 | - have_syscall = true; | ||
84 | - return 0; | ||
85 | - } | ||
86 | - | ||
87 | - if (r < 0) { | ||
88 | - if (errno == ENOSYS) | ||
89 | - /* we lack the syscall, continue with | ||
90 | - * reading from /dev/urandom */ | ||
91 | - have_syscall = false; | ||
92 | - else if (errno == EAGAIN) | ||
93 | - /* not enough entropy for now. Let's | ||
94 | - * remember to use the syscall the | ||
95 | - * next time, again, but also read | ||
96 | - * from /dev/urandom for now, which | ||
97 | - * doesn't care about the current | ||
98 | - * amount of entropy. */ | ||
99 | - have_syscall = true; | ||
100 | - else | ||
101 | - return -errno; | ||
102 | - } else | ||
103 | - /* too short read? */ | ||
104 | - return -ENODATA; | ||
105 | + static bool have_getrandom = true, have_grndinsecure = true; | ||
106 | + _cleanup_close_ int fd = -EBADF; | ||
107 | + | ||
108 | + if (n == 0) | ||
109 | + return 0; | ||
110 | + | ||
111 | + for (;;) { | ||
112 | + ssize_t l; | ||
113 | + | ||
114 | + if (!have_getrandom) | ||
115 | + break; | ||
116 | + | ||
117 | + l = getrandom(p, n, have_grndinsecure ? GRND_INSECURE : GRND_NONBLOCK); | ||
118 | + if (l > 0) { | ||
119 | + if ((size_t) l == n) | ||
120 | + return 0; /* Done reading, success. */ | ||
121 | + p = (uint8_t *) p + l; | ||
122 | + n -= l; | ||
123 | + continue; /* Interrupted by a signal; keep going. */ | ||
124 | + } else if (l == 0) | ||
125 | + break; /* Weird, so fallback to /dev/urandom. */ | ||
126 | + else if (errno == ENOSYS) { | ||
127 | + have_getrandom = false; | ||
128 | + break; /* No syscall, so fallback to /dev/urandom. */ | ||
129 | + } else if (errno == EINVAL && have_grndinsecure) { | ||
130 | + have_grndinsecure = false; | ||
131 | + continue; /* No GRND_INSECURE; fallback to GRND_NONBLOCK. */ | ||
132 | + } else if (errno == EAGAIN && !have_grndinsecure) | ||
133 | + break; /* Will block, but no GRND_INSECURE, so fallback to /dev/urandom. */ | ||
134 | + | ||
135 | + break; /* Unexpected, so just give up and fallback to /dev/urandom. */ | ||
136 | } | ||
137 | |||
138 | fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY); | ||
diff --git a/meta/recipes-core/udev/eudev/init b/meta/recipes-core/udev/eudev/init index 477a525b21..790cd3b933 100644 --- a/meta/recipes-core/udev/eudev/init +++ b/meta/recipes-core/udev/eudev/init | |||
@@ -27,8 +27,7 @@ make_static_nodes () { | |||
27 | [ -e /lib/modules/$(uname -r)/modules.devname ] || return 0 | 27 | [ -e /lib/modules/$(uname -r)/modules.devname ] || return 0 |
28 | [ -x @KMOD@ ] || return 0 | 28 | [ -x @KMOD@ ] || return 0 |
29 | 29 | ||
30 | #output to /proc/self/fd/1 since /dev/stdout not created by udevd yet | 30 | @KMOD@ static-nodes --format=tmpfiles | |
31 | @KMOD@ static-nodes --format=tmpfiles --output=/proc/self/fd/1 | | ||
32 | while read TTYPE TPATH TMODE TUSER TGROUP TAGE TARG; do | 31 | while read TTYPE TPATH TMODE TUSER TGROUP TAGE TARG; do |
33 | case "${TTYPE}" in | 32 | case "${TTYPE}" in |
34 | 'd') | 33 | 'd') |
diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.14.bb index 18696679c8..a2d222e655 100644 --- a/meta/recipes-core/udev/eudev_3.2.14.bb +++ b/meta/recipes-core/udev/eudev_3.2.14.bb | |||
@@ -13,13 +13,14 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ | |||
13 | file://netifnames.patch \ | 13 | file://netifnames.patch \ |
14 | file://init \ | 14 | file://init \ |
15 | file://local.rules \ | 15 | file://local.rules \ |
16 | file://0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch \ | ||
16 | " | 17 | " |
17 | 18 | ||
18 | SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" | 19 | SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" |
19 | 20 | ||
20 | GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" | 21 | GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" |
21 | 22 | ||
22 | inherit autotools update-rc.d qemu pkgconfig features_check manpages github-releases | 23 | inherit autotools update-rc.d pkgconfig features_check manpages github-releases |
23 | 24 | ||
24 | CONFLICT_DISTRO_FEATURES = "systemd" | 25 | CONFLICT_DISTRO_FEATURES = "systemd" |
25 | 26 | ||
@@ -42,12 +43,12 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" | |||
42 | 43 | ||
43 | do_install:append() { | 44 | do_install:append() { |
44 | install -d ${D}${sysconfdir}/init.d | 45 | install -d ${D}${sysconfdir}/init.d |
45 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev | 46 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/udev |
46 | sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev | 47 | sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev |
47 | sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev | 48 | sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev |
48 | 49 | ||
49 | install -d ${D}${sysconfdir}/udev/rules.d | 50 | install -d ${D}${sysconfdir}/udev/rules.d |
50 | install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules | 51 | install -m 0644 ${UNPACKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules |
51 | 52 | ||
52 | # Use classic network interface naming scheme if no 'pni-names' distro feature | 53 | # Use classic network interface naming scheme if no 'pni-names' distro feature |
53 | if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then | 54 | if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then |
@@ -76,7 +77,7 @@ RDEPENDS:${PN} += "kmod" | |||
76 | RPROVIDES:${PN} = "hotplug udev" | 77 | RPROVIDES:${PN} = "hotplug udev" |
77 | RPROVIDES:${PN}-hwdb += "udev-hwdb" | 78 | RPROVIDES:${PN}-hwdb += "udev-hwdb" |
78 | 79 | ||
79 | PACKAGE_WRITE_DEPS += "qemu-native" | 80 | PACKAGE_WRITE_DEPS += "qemuwrapper-cross" |
80 | pkg_postinst:${PN}-hwdb () { | 81 | pkg_postinst:${PN}-hwdb () { |
81 | if test -n "$D"; then | 82 | if test -n "$D"; then |
82 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} | 83 | $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} |
diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh index c19e2aa68a..0cbae48729 100644 --- a/meta/recipes-core/udev/udev-extraconf/mount.sh +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh | |||
@@ -83,11 +83,11 @@ automount_systemd() { | |||
83 | 83 | ||
84 | MOUNT="$MOUNT -o silent" | 84 | MOUNT="$MOUNT -o silent" |
85 | 85 | ||
86 | # If filesystemtype is vfat, change the ownership group to 'disk', and | 86 | # If filesystemtype is vfat, change the ownership group to mount group, and |
87 | # grant it with w/r/x permissions. | 87 | # grant it with w/r/x permissions. |
88 | case $ID_FS_TYPE in | 88 | case $ID_FS_TYPE in |
89 | vfat|fat) | 89 | vfat|fat) |
90 | MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" | 90 | MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^@MOUNT_GROUP@:/{print $3}' /etc/group`" |
91 | ;; | 91 | ;; |
92 | swap) | 92 | swap) |
93 | return ;; | 93 | return ;; |
@@ -98,7 +98,7 @@ automount_systemd() { | |||
98 | ;; | 98 | ;; |
99 | esac | 99 | esac |
100 | 100 | ||
101 | if ! $MOUNT --no-block -t auto $DEVNAME "$MOUNT_BASE/$name" | 101 | if ! $MOUNT --collect --no-block -t auto $DEVNAME "$MOUNT_BASE/$name" |
102 | then | 102 | then |
103 | #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!" | 103 | #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!" |
104 | rm_dir "$MOUNT_BASE/$name" | 104 | rm_dir "$MOUNT_BASE/$name" |
@@ -138,11 +138,11 @@ automount() { | |||
138 | MOUNT="$MOUNT -o silent" | 138 | MOUNT="$MOUNT -o silent" |
139 | fi | 139 | fi |
140 | 140 | ||
141 | # If filesystem type is vfat, change the ownership group to 'disk', and | 141 | # If filesystem type is vfat, change the ownership group to mount group, and |
142 | # grant it with w/r/x permissions. | 142 | # grant it with w/r/x permissions. |
143 | case $ID_FS_TYPE in | 143 | case $ID_FS_TYPE in |
144 | vfat|fat) | 144 | vfat|fat) |
145 | MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" | 145 | MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^@MOUNT_GROUP@:/{print $3}' /etc/group`" |
146 | ;; | 146 | ;; |
147 | swap) | 147 | swap) |
148 | return ;; | 148 | return ;; |
diff --git a/meta/recipes-core/udev/udev-extraconf/network.sh b/meta/recipes-core/udev/udev-extraconf/network.sh index 3ee92714af..500e60ae61 100644 --- a/meta/recipes-core/udev/udev-extraconf/network.sh +++ b/meta/recipes-core/udev/udev-extraconf/network.sh | |||
@@ -6,44 +6,12 @@ echo "$INTERFACE" | grep -q wifi && exit 0 | |||
6 | # udevd does clearenv(). Export shell PATH to children. | 6 | # udevd does clearenv(). Export shell PATH to children. |
7 | export PATH | 7 | export PATH |
8 | 8 | ||
9 | # Check if /etc/init.d/network has been run yet to see if we are | ||
10 | # called by starting /etc/rcS.d/S03udev and not by hotplugging a device | ||
11 | # | ||
12 | # At this stage, network interfaces should not be brought up | ||
13 | # automatically because: | ||
14 | # a) /etc/init.d/network has not been run yet (security issue) | ||
15 | # b) /var has not been populated yet so /etc/resolv,conf points to | ||
16 | # oblivion, making the network unusable | ||
17 | # | ||
18 | |||
19 | spoofp="`grep ^spoofprotect /etc/network/options`" | ||
20 | if test -z "$spoofp" | ||
21 | then | ||
22 | # This is the default from /etc/init.d/network | ||
23 | spoofp_val=yes | ||
24 | else | ||
25 | spoofp_val=${spoofp#spoofprotect=} | ||
26 | fi | ||
27 | |||
28 | test "$spoofp_val" = yes && spoofp_val=1 || spoofp_val=0 | ||
29 | |||
30 | # I think it is safe to assume that "lo" will always be there ;) | ||
31 | if test "`cat /proc/sys/net/ipv4/conf/lo/rp_filter`" != "$spoofp_val" -a -n "$spoofp_val" | ||
32 | then | ||
33 | echo "$INTERFACE" >> /dev/udev_network_queue | ||
34 | exit 0 | ||
35 | fi | ||
36 | |||
37 | # | ||
38 | # Code taken from pcmcia-cs:/etc/pcmcia/network | ||
39 | # | ||
40 | |||
41 | # if this interface has an entry in /etc/network/interfaces, let ifupdown | 9 | # if this interface has an entry in /etc/network/interfaces, let ifupdown |
42 | # handle it | 10 | # handle it |
43 | if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then | 11 | if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then |
44 | case $ACTION in | 12 | case $ACTION in |
45 | add) | 13 | add) |
46 | ifconfig | grep -q "^$INTERFACE" || ifup $INTERFACE | 14 | ip addr show dev "$INTERFACE" up | grep -q "$INTERFACE" || ifup $INTERFACE |
47 | ;; | 15 | ;; |
48 | remove) | 16 | remove) |
49 | ifdown $INTERFACE | 17 | ifdown $INTERFACE |
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb index 30f1fe76d0..2ba6606c05 100644 --- a/meta/recipes-core/udev/udev-extraconf_1.1.bb +++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb | |||
@@ -13,28 +13,31 @@ SRC_URI = " \ | |||
13 | file://localextra.rules \ | 13 | file://localextra.rules \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${UNPACKDIR}" |
17 | 17 | ||
18 | MOUNT_BASE = "/run/media" | 18 | MOUNT_BASE = "/run/media" |
19 | MOUNT_GROUP ?= "disk" | ||
19 | 20 | ||
20 | do_install() { | 21 | do_install() { |
21 | install -d ${D}${sysconfdir}/udev/rules.d | 22 | install -d ${D}${sysconfdir}/udev/rules.d |
22 | 23 | ||
23 | install -m 0644 ${WORKDIR}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules | 24 | install -m 0644 ${S}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules |
24 | install -m 0644 ${WORKDIR}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules | 25 | install -m 0644 ${S}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules |
25 | install -m 0644 ${WORKDIR}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules | 26 | install -m 0644 ${S}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules |
26 | 27 | ||
27 | install -d ${D}${sysconfdir}/udev/mount.ignorelist.d | 28 | install -d ${D}${sysconfdir}/udev/mount.ignorelist.d |
28 | install -m 0644 ${WORKDIR}/mount.ignorelist ${D}${sysconfdir}/udev/ | 29 | install -m 0644 ${S}/mount.ignorelist ${D}${sysconfdir}/udev/ |
29 | 30 | ||
30 | install -d ${D}${sysconfdir}/udev/scripts/ | 31 | install -d ${D}${sysconfdir}/udev/scripts/ |
31 | 32 | ||
32 | install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh | 33 | install -m 0755 ${S}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh |
33 | sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 34 | sed -e 's|@systemd_unitdir@|${systemd_unitdir}|g' \ |
34 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 35 | -e 's|@base_sbindir@|${base_sbindir}|g' \ |
35 | sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 36 | -e 's|@MOUNT_BASE@|${MOUNT_BASE}|g' \ |
37 | -e 's|@MOUNT_GROUP@|${MOUNT_GROUP}|g' \ | ||
38 | -i ${D}${sysconfdir}/udev/scripts/mount.sh | ||
36 | 39 | ||
37 | install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts | 40 | install -m 0755 ${S}/network.sh ${D}${sysconfdir}/udev/scripts |
38 | } | 41 | } |
39 | 42 | ||
40 | pkg_postinst:${PN} () { | 43 | pkg_postinst:${PN} () { |
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb index ba622fe716..124b7d32a2 100644 --- a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb +++ b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb | |||
@@ -8,11 +8,10 @@ LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f5354 | |||
8 | 8 | ||
9 | SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https" | 9 | SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https" |
10 | SRCREV = "b8f950105010270a768aa12245d6abf166346015" | 10 | SRCREV = "b8f950105010270a768aa12245d6abf166346015" |
11 | PV .= "+git" | ||
11 | 12 | ||
12 | UPSTREAM_CHECK_COMMITS = "1" | 13 | UPSTREAM_CHECK_COMMITS = "1" |
13 | 14 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit allarch | 15 | inherit allarch |
17 | 16 | ||
18 | do_compile() { | 17 | do_compile() { |
diff --git a/meta/recipes-core/util-linux/util-linux-libuuid_2.39.3.bb b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb index ec04c1d384..5ad2997c27 100644 --- a/meta/recipes-core/util-linux/util-linux-libuuid_2.39.3.bb +++ b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb | |||
@@ -3,15 +3,17 @@ | |||
3 | 3 | ||
4 | require util-linux.inc | 4 | require util-linux.inc |
5 | 5 | ||
6 | LICENSE = "BSD-3-Clause" | ||
7 | LIC_FILES_CHKSUM = "file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \ | ||
8 | file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af" | ||
9 | |||
6 | inherit autotools gettext pkgconfig | 10 | inherit autotools gettext pkgconfig |
7 | 11 | ||
8 | S = "${WORKDIR}/util-linux-${PV}" | 12 | S = "${UNPACKDIR}/util-linux-${PV}" |
9 | 13 | ||
10 | EXTRA_AUTORECONF += "--exclude=gtkdocize" | 14 | EXTRA_AUTORECONF += "--exclude=gtkdocize" |
11 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" | 15 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" |
12 | 16 | ||
13 | LICENSE = "BSD-3-Clause" | ||
14 | |||
15 | do_install:append() { | 17 | do_install:append() { |
16 | rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin | 18 | rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin |
17 | } | 19 | } |
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index d506783f9a..111f29cb92 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc | |||
@@ -6,31 +6,9 @@ disk partitioning, kernel message management, filesystem creation, and system lo | |||
6 | 6 | ||
7 | SECTION = "base" | 7 | SECTION = "base" |
8 | 8 | ||
9 | LICENSE = "GPL-1.0-or-later & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT" | ||
10 | LICENSE:${PN}-fcntl-lock = "MIT" | ||
11 | LICENSE:${PN}-fdisk = "GPL-1.0-or-later" | ||
12 | LICENSE:${PN}-libblkid = "LGPL-2.1-or-later" | ||
13 | LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later" | ||
14 | LICENSE:${PN}-libmount = "LGPL-2.1-or-later" | ||
15 | LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later" | ||
16 | |||
17 | LIC_FILES_CHKSUM = "file://README.licensing;md5=cc80239f106687ab39ef0271ff5cf4ba \ | ||
18 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
19 | file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
20 | file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \ | ||
21 | file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \ | ||
22 | file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \ | ||
23 | file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \ | ||
24 | file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \ | ||
25 | file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
26 | file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
27 | file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
28 | " | ||
29 | |||
30 | FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:" | 9 | FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:" |
31 | MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" | 10 | MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" |
32 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ | 11 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ |
33 | file://mit-license.patch \ | ||
34 | file://configure-sbindir.patch \ | 12 | file://configure-sbindir.patch \ |
35 | file://runuser.pamd \ | 13 | file://runuser.pamd \ |
36 | file://runuser-l.pamd \ | 14 | file://runuser-l.pamd \ |
@@ -38,8 +16,12 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin | |||
38 | file://run-ptest \ | 16 | file://run-ptest \ |
39 | file://display_testname_for_subtest.patch \ | 17 | file://display_testname_for_subtest.patch \ |
40 | file://avoid_parallel_tests.patch \ | 18 | file://avoid_parallel_tests.patch \ |
41 | file://0001-login-utils-include-libgen.h-for-basename-API.patch \ | ||
42 | file://fcntl-lock.c \ | 19 | file://fcntl-lock.c \ |
20 | file://0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch \ | ||
21 | file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \ | ||
22 | file://0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch \ | ||
43 | " | 23 | " |
44 | 24 | ||
45 | SRC_URI[sha256sum] = "7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f" | 25 | SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6" |
26 | |||
27 | CVE_PRODUCT = "util-linux" | ||
diff --git a/meta/recipes-core/util-linux/util-linux/0001-login-utils-include-libgen.h-for-basename-API.patch b/meta/recipes-core/util-linux/util-linux/0001-login-utils-include-libgen.h-for-basename-API.patch deleted file mode 100644 index 6258710e1e..0000000000 --- a/meta/recipes-core/util-linux/util-linux/0001-login-utils-include-libgen.h-for-basename-API.patch +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
1 | From d44e3ad1f6f8b5c1b3098bb7d537943a4c21d22f Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 3 Dec 2023 19:59:46 -0800 | ||
4 | Subject: [PATCH] login-utils: include libgen.h for basename API | ||
5 | |||
6 | musl has removed the non-prototype declaration of basename from string.h [1] which now results in build errors with clang-17+ compiler | ||
7 | |||
8 | include libgen.h for using the posix declaration of the funciton. | ||
9 | |||
10 | Fixes | ||
11 | |||
12 | ../util-linux-2.39.2/login-utils/su-common.c:847:20: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] | ||
13 | 847 | shell_basename = basename(shell); | ||
14 | | ^ | ||
15 | |||
16 | [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 | ||
17 | |||
18 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/2615] | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | |||
21 | --- | ||
22 | login-utils/su-common.c | 10 +++++++--- | ||
23 | 1 file changed, 7 insertions(+), 3 deletions(-) | ||
24 | |||
25 | diff --git a/login-utils/su-common.c b/login-utils/su-common.c | ||
26 | index b674920..3297c78 100644 | ||
27 | --- a/login-utils/su-common.c | ||
28 | +++ b/login-utils/su-common.c | ||
29 | @@ -26,6 +26,7 @@ | ||
30 | #include <sys/types.h> | ||
31 | #include <pwd.h> | ||
32 | #include <grp.h> | ||
33 | +#include <libgen.h> | ||
34 | #include <security/pam_appl.h> | ||
35 | #ifdef HAVE_SECURITY_PAM_MISC_H | ||
36 | # include <security/pam_misc.h> | ||
37 | @@ -840,17 +841,20 @@ static void run_shell( | ||
38 | su->simulate_login ? " login" : "", | ||
39 | su->fast_startup ? " fast-start" : "")); | ||
40 | |||
41 | + char* tmp = xstrdup(shell); | ||
42 | if (su->simulate_login) { | ||
43 | char *arg0; | ||
44 | char *shell_basename; | ||
45 | |||
46 | - shell_basename = basename(shell); | ||
47 | + shell_basename = basename(tmp); | ||
48 | arg0 = xmalloc(strlen(shell_basename) + 2); | ||
49 | arg0[0] = '-'; | ||
50 | strcpy(arg0 + 1, shell_basename); | ||
51 | args[0] = arg0; | ||
52 | - } else | ||
53 | - args[0] = basename(shell); | ||
54 | + } else { | ||
55 | + args[0] = basename(tmp); | ||
56 | + } | ||
57 | + free(tmp); | ||
58 | |||
59 | if (su->fast_startup) | ||
60 | args[argno++] = "-f"; | ||
diff --git a/meta/recipes-core/util-linux/util-linux/0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch b/meta/recipes-core/util-linux/util-linux/0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch new file mode 100644 index 0000000000..e3f9112192 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux/0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From b3a1d92a9078fada31b2cf64b802edd616026766 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Mon, 26 May 2025 15:24:16 +0800 | ||
4 | Subject: [PATCH] lsfd/mkfds-foreign-sockets: skip when lacking sock_diag | ||
5 | ability | ||
6 | |||
7 | The ENDPOINTS will need sock_diag ability. The kernel might not | ||
8 | enable related configs. Check and skip in case of lacking such ability. | ||
9 | |||
10 | Fixes: https://github.com/util-linux/util-linux/issues/3590 | ||
11 | |||
12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
13 | |||
14 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3591] | ||
15 | |||
16 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
17 | --- | ||
18 | tests/ts/lsfd/mkfds-foreign-sockets | 2 ++ | ||
19 | 1 file changed, 2 insertions(+) | ||
20 | |||
21 | diff --git a/tests/ts/lsfd/mkfds-foreign-sockets b/tests/ts/lsfd/mkfds-foreign-sockets | ||
22 | index cd94da799..76138a7a6 100755 | ||
23 | --- a/tests/ts/lsfd/mkfds-foreign-sockets | ||
24 | +++ b/tests/ts/lsfd/mkfds-foreign-sockets | ||
25 | @@ -30,6 +30,8 @@ ts_skip_nonroot | ||
26 | ts_skip_qemu_user | ||
27 | ts_cd "$TS_OUTDIR" | ||
28 | |||
29 | +lsfd_check_sockdiag "unix" | ||
30 | + | ||
31 | declare -A tcase | ||
32 | tcase[NAME]="state=connected" | ||
33 | tcase[SOCK.NETNS]= | ||
34 | -- | ||
35 | 2.34.1 | ||
36 | |||
diff --git a/meta/recipes-core/util-linux/util-linux/0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch b/meta/recipes-core/util-linux/util-linux/0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch new file mode 100644 index 0000000000..dece0e94b7 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux/0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From d2eeccf36542d506b660641a07a44f3976772897 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Thu, 15 May 2025 16:44:33 +0800 | ||
4 | Subject: [PATCH] tests/ts/kill/decode: avoid using shell built-in kill command | ||
5 | |||
6 | This test case should do the same as other kill test cases, avoiding | ||
7 | using shell built-in kill command. | ||
8 | |||
9 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
10 | |||
11 | Upstream-Status: Backport [https://github.com/util-linux/util-linux/commit/d2eeccf36542d506b660641a07a44f3976772897] | ||
12 | |||
13 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
14 | --- | ||
15 | tests/ts/kill/decode | 5 +++++ | ||
16 | 1 file changed, 5 insertions(+) | ||
17 | |||
18 | diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode | ||
19 | index 03bc25ff6..57149899e 100755 | ||
20 | --- a/tests/ts/kill/decode | ||
21 | +++ b/tests/ts/kill/decode | ||
22 | @@ -18,6 +18,11 @@ TS_DESC="decode functions" | ||
23 | . "$TS_TOPDIR/functions.sh" | ||
24 | ts_init "$*" | ||
25 | |||
26 | +# make sure we do not use shell built-in command | ||
27 | +if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then | ||
28 | + TS_CMD_KILL="$(which kill)" | ||
29 | +fi | ||
30 | + | ||
31 | ts_skip_qemu_user | ||
32 | |||
33 | ts_check_test_command "$TS_CMD_KILL" | ||
34 | -- | ||
35 | 2.34.1 | ||
36 | |||
diff --git a/meta/recipes-core/util-linux/util-linux/0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch b/meta/recipes-core/util-linux/util-linux/0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch new file mode 100644 index 0000000000..f4e2f9e745 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux/0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From c5d5e8873029d170fcab38a6fbd5d5a355574b9f Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Wed, 4 Jun 2025 16:27:19 +0800 | ||
4 | Subject: [PATCH] ts/kill/decode: use RTMIN from 'kill -L' instead of | ||
5 | hardcoding 34 | ||
6 | |||
7 | glibc uses 34 as the value of SIGRTMIN: | ||
8 | https://sourceware.org/git/?p=glibc.git;a=blob;f=signal/allocrtsig.c;h=8ed8e37dd6c41f94be6eef042ce9db1af1153228;hb=HEAD#l27 """ | ||
9 | static int current_rtmin = __SIGRTMIN + RESERVED_SIGRT; """ | ||
10 | |||
11 | musl uses 35 as the value of SIGRTMIN: | ||
12 | https://git.musl-libc.org/cgit/musl/tree/src/signal/sigrtmin.c | ||
13 | |||
14 | With the hardcoded 34, test case fails with the following difference: | ||
15 | |||
16 | -Ignored: HUP QUIT TRAP PIPE ALRM | ||
17 | +Ignored: HUP QUIT TRAP PIPE ALRM 34 | ||
18 | |||
19 | Extract the value of RTMIN from 'kill -L' to avoid such hardcoding. | ||
20 | |||
21 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
22 | |||
23 | Upstream-Status: Backport [https://github.com/util-linux/util-linux/commit/c5d5e8873029d170fcab38a6fbd5d5a355574b9f] | ||
24 | |||
25 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
26 | --- | ||
27 | tests/ts/kill/decode | 9 +++++++-- | ||
28 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
29 | |||
30 | diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode | ||
31 | index 57149899e..524b4e5e2 100755 | ||
32 | --- a/tests/ts/kill/decode | ||
33 | +++ b/tests/ts/kill/decode | ||
34 | @@ -53,14 +53,19 @@ ACK= | ||
35 | # Sending one more USR1 is for making the signal pending state. | ||
36 | "$TS_CMD_KILL" -USR1 "$PID" | ||
37 | "$TS_CMD_KILL" -d "$PID" | { | ||
38 | - if [[ $("$TS_CMD_KILL" --list=34) == RT0 ]]; then | ||
39 | + SIGRTMIN=$("$TS_CMD_KILL" -L | grep -o '[0-9]\+ RTMIN' | cut -d " " -f 1) | ||
40 | + if [[ $("$TS_CMD_KILL" --list=$SIGRTMIN) == RT0 ]]; then | ||
41 | # See man signal(7). | ||
42 | # The Linux kernel supports a range of 33 different real-time signals, | ||
43 | # numbered 32 to 64. However, the glibc POSIX threads implementation in‐ | ||
44 | # ternally uses two (for NPTL) or three (for LinuxThreads) real-time sig‐ | ||
45 | # nals (see pthreads(7)), and adjusts the value of SIGRTMIN suitably (to | ||
46 | # 34 or 35). | ||
47 | - sed -e s/' 32 33'// -e s/' 34'// | ||
48 | + sed_cmd="sed" | ||
49 | + for ((i=32; i<=SIGRTMIN; i++)); do | ||
50 | + sed_cmd+=" -e s/' $i'//" | ||
51 | + done | ||
52 | + eval $sed_cmd | ||
53 | else | ||
54 | cat | ||
55 | fi | ||
56 | -- | ||
57 | 2.34.1 | ||
58 | |||
diff --git a/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch b/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch index 85ad7a5575..fe92afbc53 100644 --- a/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch +++ b/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0b05e4695a0616badef71dfa459a00ef6ff1b521 Mon Sep 17 00:00:00 2001 | 1 | From 43030388e831642d36cb7b9d4b63755e9696714a Mon Sep 17 00:00:00 2001 |
2 | From: Tudor Florea <tudor.florea@enea.com> | 2 | From: Tudor Florea <tudor.florea@enea.com> |
3 | Date: Mon, 14 Jun 2021 14:00:31 +0200 | 3 | Date: Mon, 14 Jun 2021 14:00:31 +0200 |
4 | Subject: [PATCH] util-linux: Add ptest | 4 | Subject: [PATCH] util-linux: Add ptest |
@@ -9,13 +9,12 @@ Revert run.sh script accordingly to serialize running tests | |||
9 | 9 | ||
10 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | 10 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> |
11 | Upstream-Status: Inappropriate | 11 | Upstream-Status: Inappropriate |
12 | |||
13 | --- | 12 | --- |
14 | configure.ac | 2 +- | 13 | configure.ac | 2 +- |
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
16 | 15 | ||
17 | diff --git a/configure.ac b/configure.ac | 16 | diff --git a/configure.ac b/configure.ac |
18 | index 890212f..870e817 100644 | 17 | index 43a23a5..4a84531 100644 |
19 | --- a/configure.ac | 18 | --- a/configure.ac |
20 | +++ b/configure.ac | 19 | +++ b/configure.ac |
21 | @@ -11,7 +11,7 @@ AC_CONFIG_MACRO_DIR([m4]) | 20 | @@ -11,7 +11,7 @@ AC_CONFIG_MACRO_DIR([m4]) |
diff --git a/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch index 75adeca188..ebb32a6845 100644 --- a/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch +++ b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c79222a9a5e3425c55e150edc0b7ac59c573aa2f Mon Sep 17 00:00:00 2001 | 1 | From 378998bf82e3b6ff46569077b29f95e72b734681 Mon Sep 17 00:00:00 2001 |
2 | From: Phil Blundell <pb@pbcl.net> | 2 | From: Phil Blundell <pb@pbcl.net> |
3 | Date: Mon, 24 Sep 2012 07:24:51 +0100 | 3 | Date: Mon, 24 Sep 2012 07:24:51 +0100 |
4 | Subject: [PATCH] util-linux: Ensure that ${sbindir} is respected | 4 | Subject: [PATCH] util-linux: Ensure that ${sbindir} is respected |
@@ -9,16 +9,15 @@ fix the test, the [ ] syntax was getting eaten by autoconf | |||
9 | Signed-off-by: Phil Blundell <pb@pbcl.net> | 9 | Signed-off-by: Phil Blundell <pb@pbcl.net> |
10 | Signed-off-by: Saul Wold <sgw@linux.intel.com | 10 | Signed-off-by: Saul Wold <sgw@linux.intel.com |
11 | Upstream-Status: Inappropriate [configuration] | 11 | Upstream-Status: Inappropriate [configuration] |
12 | |||
13 | --- | 12 | --- |
14 | configure.ac | 5 ++++- | 13 | configure.ac | 5 ++++- |
15 | 1 file changed, 4 insertions(+), 1 deletion(-) | 14 | 1 file changed, 4 insertions(+), 1 deletion(-) |
16 | 15 | ||
17 | diff --git a/configure.ac b/configure.ac | 16 | diff --git a/configure.ac b/configure.ac |
18 | index 36c24b4..890212f 100644 | 17 | index a5d9102..43a23a5 100644 |
19 | --- a/configure.ac | 18 | --- a/configure.ac |
20 | +++ b/configure.ac | 19 | +++ b/configure.ac |
21 | @@ -102,7 +102,10 @@ AC_SUBST([runstatedir]) | 20 | @@ -110,7 +110,10 @@ AC_SUBST([runstatedir]) |
22 | usrbin_execdir='${exec_prefix}/bin' | 21 | usrbin_execdir='${exec_prefix}/bin' |
23 | AC_SUBST([usrbin_execdir]) | 22 | AC_SUBST([usrbin_execdir]) |
24 | 23 | ||
diff --git a/meta/recipes-core/util-linux/util-linux/display_testname_for_subtest.patch b/meta/recipes-core/util-linux/util-linux/display_testname_for_subtest.patch index 815ae9c915..fa4ae02bc3 100644 --- a/meta/recipes-core/util-linux/util-linux/display_testname_for_subtest.patch +++ b/meta/recipes-core/util-linux/util-linux/display_testname_for_subtest.patch | |||
@@ -1,20 +1,19 @@ | |||
1 | From fc5de1de898fd1a372a2fd2fa493dc57323a029d Mon Sep 17 00:00:00 2001 | 1 | From 728c2abd889d225535008c3e7a1eef4b8a0aeea2 Mon Sep 17 00:00:00 2001 |
2 | From: Tudor Florea <tudor.florea@enea.com> | 2 | From: Tudor Florea <tudor.florea@enea.com> |
3 | Date: Thu, 3 Dec 2015 04:08:00 +0100 | 3 | Date: Thu, 3 Dec 2015 04:08:00 +0100 |
4 | Subject: [PATCH] Display testname for subtest | 4 | Subject: [PATCH] Display testname for subtest |
5 | 5 | ||
6 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | 6 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> |
7 | Upstream-Status: Pending | 7 | Upstream-Status: Pending |
8 | |||
9 | --- | 8 | --- |
10 | tests/functions.sh | 2 +- | 9 | tests/functions.sh | 2 +- |
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
12 | 11 | ||
13 | diff --git a/tests/functions.sh b/tests/functions.sh | 12 | diff --git a/tests/functions.sh b/tests/functions.sh |
14 | index 5a562a3..098145e 100644 | 13 | index 1d7a425..b1f0986 100644 |
15 | --- a/tests/functions.sh | 14 | --- a/tests/functions.sh |
16 | +++ b/tests/functions.sh | 15 | +++ b/tests/functions.sh |
17 | @@ -437,7 +437,7 @@ function ts_init_subtest { | 16 | @@ -455,7 +455,7 @@ function ts_init_subtest { |
18 | 17 | ||
19 | if [ "$TS_PARSABLE" != "yes" ]; then | 18 | if [ "$TS_PARSABLE" != "yes" ]; then |
20 | [ $TS_NSUBTESTS -eq 1 ] && echo | 19 | [ $TS_NSUBTESTS -eq 1 ] && echo |
diff --git a/meta/recipes-core/util-linux/util-linux/mit-license.patch b/meta/recipes-core/util-linux/util-linux/mit-license.patch deleted file mode 100644 index afbec98f18..0000000000 --- a/meta/recipes-core/util-linux/util-linux/mit-license.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From 5b8fab1584017d9d9be008c23b90128bba41a7b5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Thu, 28 Mar 2024 12:16:57 +0000 | ||
4 | Subject: [PATCH] README.licensing/flock: Add MIT license mention | ||
5 | |||
6 | Looking at the license text, flock.c is under the MIT license (see | ||
7 | https://spdx.org/licenses/MIT). | ||
8 | |||
9 | Add an SPDX license identifier header and add to the list of licenses the | ||
10 | source so everything is correctly listed/identified. | ||
11 | |||
12 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
13 | |||
14 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/2870] | ||
15 | |||
16 | --- | ||
17 | README.licensing | 2 ++ | ||
18 | sys-utils/flock.c | 4 +++- | ||
19 | 2 files changed, 5 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/README.licensing b/README.licensing | ||
22 | index 4454f8392a..535ad34813 100644 | ||
23 | --- a/README.licensing | ||
24 | +++ b/README.licensing | ||
25 | @@ -12,6 +12,8 @@ There is code under: | ||
26 | |||
27 | * LGPL-2.1-or-later - GNU Lesser General Public License 2.1 or any later version | ||
28 | |||
29 | + * MIT - MIT License | ||
30 | + | ||
31 | * BSD-2-Clause - Simplified BSD License | ||
32 | |||
33 | * BSD-3-Clause - BSD 3-Clause "New" or "Revised" License | ||
34 | diff --git a/sys-utils/flock.c b/sys-utils/flock.c | ||
35 | index fed29d7270..7d878ff810 100644 | ||
36 | --- a/sys-utils/flock.c | ||
37 | +++ b/sys-utils/flock.c | ||
38 | @@ -1,4 +1,6 @@ | ||
39 | -/* Copyright 2003-2005 H. Peter Anvin - All Rights Reserved | ||
40 | +/* SPDX-License-Identifier: MIT | ||
41 | + * | ||
42 | + * Copyright 2003-2005 H. Peter Anvin - All Rights Reserved | ||
43 | * | ||
44 | * Permission is hereby granted, free of charge, to any person | ||
45 | * obtaining a copy of this software and associated documentation | ||
diff --git a/meta/recipes-core/util-linux/util-linux/ptest.patch b/meta/recipes-core/util-linux/util-linux/ptest.patch index 6221de7182..ad23001cfa 100644 --- a/meta/recipes-core/util-linux/util-linux/ptest.patch +++ b/meta/recipes-core/util-linux/util-linux/ptest.patch | |||
@@ -1,24 +1,23 @@ | |||
1 | From d0a69ce80c579cbb7627a2f20e8b92e006a8d8ad Mon Sep 17 00:00:00 2001 | 1 | From 18bf6aded9b2a75185ae4b23a41cd2e4322c5e31 Mon Sep 17 00:00:00 2001 |
2 | From: Tudor Florea <tudor.florea@enea.com> | 2 | From: Tudor Florea <tudor.florea@enea.com> |
3 | Date: Thu, 3 Dec 2015 04:08:00 +0100 | 3 | Date: Thu, 3 Dec 2015 04:08:00 +0100 |
4 | Subject: [PATCH] Define TESTS variable | 4 | Subject: [PATCH] Define TESTS variable |
5 | 5 | ||
6 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | 6 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> |
7 | Upstream-Status: Pending | 7 | Upstream-Status: Pending |
8 | |||
9 | --- | 8 | --- |
10 | Makefile.am | 1 + | 9 | Makefile.am | 1 + |
11 | 1 file changed, 1 insertion(+) | 10 | 1 file changed, 1 insertion(+) |
12 | 11 | ||
13 | diff --git a/Makefile.am b/Makefile.am | 12 | diff --git a/Makefile.am b/Makefile.am |
14 | index effbb02..7d2bd1e 100644 | 13 | index 01e9970..c3313ff 100644 |
15 | --- a/Makefile.am | 14 | --- a/Makefile.am |
16 | +++ b/Makefile.am | 15 | +++ b/Makefile.am |
17 | @@ -57,6 +57,7 @@ systemdsystemunit_DATA = | 16 | @@ -66,6 +66,7 @@ sysusers_DATA = |
18 | dist_bashcompletion_DATA = | 17 | dist_bashcompletion_DATA = |
19 | check_PROGRAMS = | 18 | check_PROGRAMS = |
20 | dist_check_SCRIPTS = | 19 | dist_check_SCRIPTS = |
21 | +TESTS = $(check_PROGRAMS) | 20 | +TESTS = $(check_PROGRAMS) |
22 | 21 | ||
23 | PATHFILES = | 22 | BUILT_SOURCES = |
24 | ADOCFILES_COMMON = | 23 | |
diff --git a/meta/recipes-core/util-linux/util-linux/run-ptest b/meta/recipes-core/util-linux/util-linux/run-ptest index 7b6b1d1dc2..1410229172 100644 --- a/meta/recipes-core/util-linux/util-linux/run-ptest +++ b/meta/recipes-core/util-linux/util-linux/run-ptest | |||
@@ -22,9 +22,8 @@ modprobe loop | |||
22 | # for a long description of mount namespaces in Linux | 22 | # for a long description of mount namespaces in Linux |
23 | mount --make-shared / | 23 | mount --make-shared / |
24 | 24 | ||
25 | # lsfd/option-inet has races in the test script: | 25 | # lsfd/mkfds-bpf* have issues with the gcc 15 upgrade |
26 | # https://github.com/util-linux/util-linux/issues/2399 | 26 | ./tests/run.sh --use-system-commands --parsable --show-diff --exclude='lsfd/mkfds-bpf-map lsfd/mkfds-bpf-prog' | sed -u '{ |
27 | ./tests/run.sh --use-system-commands --parsable --show-diff --exclude=lsfd/option-inet | sed -u '{ | ||
28 | s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/ | 27 | s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/ |
29 | s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/ | 28 | s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/ |
30 | s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/ | 29 | s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/ |
diff --git a/meta/recipes-core/util-linux/util-linux_2.39.3.bb b/meta/recipes-core/util-linux/util-linux_2.41.bb index 83b3f4e05b..41fb3e5951 100644 --- a/meta/recipes-core/util-linux/util-linux_2.39.3.bb +++ b/meta/recipes-core/util-linux/util-linux_2.41.bb | |||
@@ -1,5 +1,58 @@ | |||
1 | require util-linux.inc | 1 | require util-linux.inc |
2 | 2 | ||
3 | # Most of the applications and the libraries are linked with libcommon.la, | ||
4 | # which uses these licenses | ||
5 | LIBCOMMON_LICENSES = "LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT" | ||
6 | |||
7 | # The default license is GPL-2.0-or-later | ||
8 | DEFAULT_LICENSES = "GPL-2.0-or-later & ${LIBCOMMON_LICENSES}" | ||
9 | |||
10 | LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT & EUPL-1.2" | ||
11 | LICENSE:${PN}-bash-completion = "GPL-2.0-or-later" | ||
12 | LICENSE:${PN}-dev = "${LIBCOMMON_LICENSES}" | ||
13 | # All dynamic packages use ${DEFAULT_LICENSES} with the following exceptions | ||
14 | LICENSE:${PN}-cal = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
15 | LICENSE:${PN}-col = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
16 | LICENSE:${PN}-colcrt = "BSD-4-Clause-UC" | ||
17 | LICENSE:${PN}-colrm = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
18 | LICENSE:${PN}-column = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
19 | LICENSE:${PN}-coresched = "EUPL-1.2 & ${LIBCOMMON_LICENSES}" | ||
20 | LICENSE:${PN}-fcntl-lock = "MIT" | ||
21 | LICENSE:${PN}-fdisk = "GPL-1.0-or-later & ${DEFAULT_LICENSES}" | ||
22 | LICENSE:${PN}-fsfreeze = "GPL-1.0-or-later" | ||
23 | LICENSE:${PN}-hexdump = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
24 | LICENSE:${PN}-kill = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
25 | LICENSE:${PN}-libblkid = "${LIBCOMMON_LICENSES}" | ||
26 | LICENSE:${PN}-libfdisk = "${LIBCOMMON_LICENSES}" | ||
27 | LICENSE:${PN}-libmount = "${LIBCOMMON_LICENSES}" | ||
28 | LICENSE:${PN}-libsmartcols = "${LIBCOMMON_LICENSES}" | ||
29 | LICENSE:${PN}-logger = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
30 | LICENSE:${PN}-look = "BSD-4-Clause-UC" | ||
31 | LICENSE:${PN}-lscpu = "GPL-2.0-only & ${DEFAULT_LICENSES}" | ||
32 | LICENSE:${PN}-mesg = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
33 | LICENSE:${PN}-nsenter = "GPL-2.0-only & ${DEFAULT_LICENSES}" | ||
34 | LICENSE:${PN}-renice = "BSD-4-Clause-UC" | ||
35 | LICENSE:${PN}-rev = "BSD-4-Clause-UC" | ||
36 | LICENSE:${PN}-script = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
37 | LICENSE:${PN}-ul = "BSD-4-Clause-UC" | ||
38 | LICENSE:${PN}-vipw = "BSD-4-Clause-UC & ${DEFAULT_LICENSES}" | ||
39 | LICENSE:${PN}-wall = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
40 | LICENSE:${PN}-whereis = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
41 | LICENSE:${PN}-write = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
42 | |||
43 | LIC_FILES_CHKSUM = "file://README.licensing;md5=55e895a80bdd4ffc65e167a76d2e7569 \ | ||
44 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
45 | file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
46 | file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \ | ||
47 | file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \ | ||
48 | file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \ | ||
49 | file://Documentation/licenses/COPYING.EUPL-1.2;md5=c075d2767167a2355b23392018a1cbbd \ | ||
50 | file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \ | ||
51 | file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
52 | file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
53 | file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \ | ||
54 | " | ||
55 | |||
3 | inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc | 56 | inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc |
4 | DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" | 57 | DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" |
5 | 58 | ||
@@ -11,6 +64,9 @@ python util_linux_binpackages () { | |||
11 | pn = d.getVar('PN') | 64 | pn = d.getVar('PN') |
12 | d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg) | 65 | d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg) |
13 | 66 | ||
67 | if not d.getVar('LICENSE:' + pkg): | ||
68 | d.setVar('LICENSE:' + pkg, '${DEFAULT_LICENSES}') | ||
69 | |||
14 | if d.getVar('ALTERNATIVE:' + pkg): | 70 | if d.getVar('ALTERNATIVE:' + pkg): |
15 | return | 71 | return |
16 | if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename): | 72 | if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename): |
@@ -59,7 +115,8 @@ python util_linux_libpackages() { | |||
59 | 115 | ||
60 | PACKAGESPLITFUNCS =+ "util_linux_libpackages" | 116 | PACKAGESPLITFUNCS =+ "util_linux_libpackages" |
61 | 117 | ||
62 | PACKAGES_DYNAMIC = "^${PN}-.*" | 118 | PACKAGES_DYNAMIC = "^${PN}(?!.*-native)-.*" |
119 | PACKAGES_DYNAMIC:class-native = "^${BPN}-.*-native" | ||
63 | 120 | ||
64 | UTIL_LINUX_LIBDIR = "${libdir}" | 121 | UTIL_LINUX_LIBDIR = "${libdir}" |
65 | UTIL_LINUX_LIBDIR:class-target = "${base_libdir}" | 122 | UTIL_LINUX_LIBDIR:class-target = "${base_libdir}" |
@@ -90,7 +147,10 @@ EXTRA_OECONF:append = " --disable-hwclock-gplv3" | |||
90 | # build host versions during development | 147 | # build host versions during development |
91 | # | 148 | # |
92 | PACKAGECONFIG ?= "pcre2" | 149 | PACKAGECONFIG ?= "pcre2" |
93 | PACKAGECONFIG:class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}" | 150 | PACKAGECONFIG:class-target ?= "\ |
151 | libmount-mountfd-support \ | ||
152 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam lastlog2', '', d)} \ | ||
153 | " | ||
94 | # inherit manpages requires this to be present, however util-linux does not have | 154 | # inherit manpages requires this to be present, however util-linux does not have |
95 | # configuration options, and installs manpages always | 155 | # configuration options, and installs manpages always |
96 | PACKAGECONFIG[manpages] = "" | 156 | PACKAGECONFIG[manpages] = "" |
@@ -106,6 +166,14 @@ PACKAGECONFIG[pcre2] = ",,libpcre2" | |||
106 | PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup" | 166 | PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup" |
107 | PACKAGECONFIG[chfn-chsh] = "--enable-chfn-chsh,--disable-chfn-chsh," | 167 | PACKAGECONFIG[chfn-chsh] = "--enable-chfn-chsh,--disable-chfn-chsh," |
108 | PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" | 168 | PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" |
169 | PACKAGECONFIG[lastlog2] = "--enable-liblastlog2,--disable-liblastlog2,sqlite3" | ||
170 | # Using the new file descriptors based mount kernel API can cause rootfs remount failure with some older kernels. | ||
171 | # Of currently supported LTS kernels, the old mount API should be used with: | ||
172 | # - versions prior to 6.6.18 in the 6.6.y series. | ||
173 | # - versions prior to 6.1.79 in the 6.1.y series. | ||
174 | # - versions till at least 5.15.164 in the 5.15.y series. | ||
175 | # - with 5.10.y, 5.4.y and 4.19.y series kernels, libmount seemed to use the old API regardless of this option. | ||
176 | PACKAGECONFIG[libmount-mountfd-support] = "--enable-libmount-mountfd-support,--disable-libmount-mountfd-support" | ||
109 | 177 | ||
110 | EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'" | 178 | EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'" |
111 | 179 | ||
@@ -117,6 +185,9 @@ FILES:${PN}-mount = "${sysconfdir}/default/mountall" | |||
117 | FILES:${PN}-runuser = "${sysconfdir}/pam.d/runuser*" | 185 | FILES:${PN}-runuser = "${sysconfdir}/pam.d/runuser*" |
118 | FILES:${PN}-su = "${sysconfdir}/pam.d/su-l" | 186 | FILES:${PN}-su = "${sysconfdir}/pam.d/su-l" |
119 | CONFFILES:${PN}-su = "${sysconfdir}/pam.d/su-l" | 187 | CONFFILES:${PN}-su = "${sysconfdir}/pam.d/su-l" |
188 | FILES:${PN}-lastlog2 += "${base_libdir}/security/pam_lastlog2.so \ | ||
189 | ${nonarch_libdir}/tmpfiles.d/lastlog2.conf \ | ||
190 | ${sysconfdir}/default/volatiles/99_lastlog2" | ||
120 | FILES:${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ | 191 | FILES:${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ |
121 | ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \ | 192 | ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \ |
122 | ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*" | 193 | ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*" |
@@ -135,8 +206,8 @@ RDEPENDS:${PN}-dev += " util-linux-libuuid-dev" | |||
135 | 206 | ||
136 | RPROVIDES:${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev" | 207 | RPROVIDES:${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev" |
137 | 208 | ||
138 | RDEPENDS:${PN}-bash-completion += "${PN}-lsblk" | 209 | RDEPENDS:${PN}-bash-completion += "${PN}-lsblk ${PN}-findmnt" |
139 | RDEPENDS:${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod procps sed socat which xz" | 210 | RDEPENDS:${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod procps sed socat which xz diffutils" |
140 | RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop kernel-module-algif-hash" | 211 | RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop kernel-module-algif-hash" |
141 | RDEPENDS:${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" | 212 | RDEPENDS:${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" |
142 | ALLOW_EMPTY:${PN}-swaponoff = "1" | 213 | ALLOW_EMPTY:${PN}-swaponoff = "1" |
@@ -147,18 +218,21 @@ SYSTEMD_AUTO_ENABLE:${PN}-uuidd = "disable" | |||
147 | SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service" | 218 | SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service" |
148 | SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable" | 219 | SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable" |
149 | 220 | ||
221 | do_compile:prepend () { | ||
222 | # this is a workaround for the unnecessary remake problem. Issue and PR are as below: | ||
223 | # https://github.com/util-linux/util-linux/issues/3061 | ||
224 | # https://github.com/util-linux/util-linux/pull/3064 | ||
225 | # When newly release tarball contains the above fix, the following workaround could be dropped. | ||
226 | [ -e ${S}/libsmartcols/src/filter-scanner.c ] && touch ${S}/libsmartcols/src/filter-scanner.c | ||
227 | [ -e ${S}/libsmartcols/src/filter-parser.c ] && touch ${S}/libsmartcols/src/filter-parser.c | ||
228 | } | ||
229 | |||
150 | do_compile:append () { | 230 | do_compile:append () { |
151 | cp ${WORKDIR}/fcntl-lock.c ${S}/fcntl-lock.c | 231 | cp ${UNPACKDIR}/fcntl-lock.c ${S}/fcntl-lock.c |
152 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock | 232 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock |
153 | } | 233 | } |
154 | 234 | ||
155 | do_install () { | 235 | do_install:append () { |
156 | # with ccache the timestamps on compiled files may | ||
157 | # end up earlier than on their inputs, this allows | ||
158 | # for the resultant compilation in the install step. | ||
159 | oe_runmake 'CC=${CC}' 'LD=${LD}' \ | ||
160 | 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install | ||
161 | |||
162 | mkdir -p ${D}${base_bindir} | 236 | mkdir -p ${D}${base_bindir} |
163 | 237 | ||
164 | sbinprogs="agetty ctrlaltdel cfdisk vipw vigr" | 238 | sbinprogs="agetty ctrlaltdel cfdisk vipw vigr" |
@@ -194,12 +268,24 @@ do_install () { | |||
194 | do_install:append:class-target () { | 268 | do_install:append:class-target () { |
195 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then | 269 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then |
196 | install -d ${D}${sysconfdir}/pam.d | 270 | install -d ${D}${sysconfdir}/pam.d |
197 | install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser | 271 | install -m 0644 ${UNPACKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser |
198 | install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l | 272 | install -m 0644 ${UNPACKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l |
199 | # Required for "su -" aka "su --login" because | 273 | # Required for "su -" aka "su --login" because |
200 | # otherwise it uses "other", which has "auth pam_deny.so" | 274 | # otherwise it uses "other", which has "auth pam_deny.so" |
201 | # and thus prevents the operation. | 275 | # and thus prevents the operation. |
202 | ln -s su ${D}${sysconfdir}/pam.d/su-l | 276 | ln -s su ${D}${sysconfdir}/pam.d/su-l |
277 | |||
278 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
279 | install -d ${D}${nonarch_libdir}/tmpfiles.d | ||
280 | install -m 0644 ${S}/misc-utils/lastlog2-tmpfiles.conf.in \ | ||
281 | ${D}${nonarch_libdir}/tmpfiles.d/lastlog2.conf | ||
282 | fi | ||
283 | |||
284 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | ||
285 | install -d ${D}${sysconfdir}/default/volatiles | ||
286 | echo "d root root 0755 /var/lib/lastlog none" \ | ||
287 | > ${D}${sysconfdir}/default/volatiles/99_lastlog2 | ||
288 | fi | ||
203 | fi | 289 | fi |
204 | } | 290 | } |
205 | # nologin causes a conflict with shadow-native | 291 | # nologin causes a conflict with shadow-native |
@@ -282,8 +368,11 @@ blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 | |||
282 | mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ | 368 | mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ |
283 | " | 369 | " |
284 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" | 370 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" |
371 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'chfn-chsh', 'chfn.1 chsh.1', '', d)}" | ||
285 | 372 | ||
286 | ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" | 373 | ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" |
374 | ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1" | ||
375 | ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1" | ||
287 | ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" | 376 | ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" |
288 | ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" | 377 | ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" |
289 | ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" | 378 | ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" |
@@ -319,13 +408,15 @@ do_install_ptest() { | |||
319 | cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ | 408 | cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ |
320 | cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected | 409 | cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected |
321 | cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ | 410 | cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ |
322 | cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} | 411 | cp ${B}/config.h ${D}${PTEST_PATH} |
323 | 412 | ||
324 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest | 413 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest |
325 | 414 | ||
326 | # chfn needs PAM | ||
327 | if ! ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then | 415 | if ! ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then |
416 | # chfn needs PAM | ||
328 | rm -rf ${D}${PTEST_PATH}/tests/ts/chfn | 417 | rm -rf ${D}${PTEST_PATH}/tests/ts/chfn |
418 | # su is not enabled when pam is not in PACKAGECONFIG | ||
419 | rm -rf ${D}${PTEST_PATH}/tests/ts/su | ||
329 | fi | 420 | fi |
330 | # remove raid tests, known failures and avoid dependency on mdadm therefore | 421 | # remove raid tests, known failures and avoid dependency on mdadm therefore |
331 | # See https://github.com/util-linux/util-linux/commit/7519c3edab120b14623931d5ddb16fdc6e7cad5d | 422 | # See https://github.com/util-linux/util-linux/commit/7519c3edab120b14623931d5ddb16fdc6e7cad5d |
@@ -339,6 +430,7 @@ do_install_ptest() { | |||
339 | do_install_ptest:append:libc-musl() { | 430 | do_install_ptest:append:libc-musl() { |
340 | for t in tests/ts/col/multibyte \ | 431 | for t in tests/ts/col/multibyte \ |
341 | tests/ts/lib/timeutils \ | 432 | tests/ts/lib/timeutils \ |
433 | tests/ts/misc/enosys \ | ||
342 | tests/ts/dmesg/limit; do | 434 | tests/ts/dmesg/limit; do |
343 | rm -rf ${D}${PTEST_PATH}/$t | 435 | rm -rf ${D}${PTEST_PATH}/$t |
344 | done | 436 | done |
diff --git a/meta/recipes-core/volatile-binds/files/mount-copybind b/meta/recipes-core/volatile-binds/files/mount-copybind index ddc4357615..5885880534 100755 --- a/meta/recipes-core/volatile-binds/files/mount-copybind +++ b/meta/recipes-core/volatile-binds/files/mount-copybind | |||
@@ -45,9 +45,11 @@ if [ -d "$mountpoint" ]; then | |||
45 | 45 | ||
46 | # Fast version of calculating `dirname ${spec}`/.`basename ${spec}`-work | 46 | # Fast version of calculating `dirname ${spec}`/.`basename ${spec}`-work |
47 | overlay_workdir="${spec%/*}/.${spec##*/}-work" | 47 | overlay_workdir="${spec%/*}/.${spec##*/}-work" |
48 | mkdir "${overlay_workdir}" | 48 | if [ "$MOUNT_COPYBIND_AVOID_OVERLAYFS" != 1 ]; then |
49 | mkdir "${overlay_workdir}" | ||
50 | fi | ||
49 | 51 | ||
50 | # Try to mount using overlay, which is must faster than copying files. | 52 | # Try to mount using overlay, which is much faster than copying files. |
51 | # If that fails, fall back to slower copy. | 53 | # If that fails, fall back to slower copy. |
52 | if command -v selinuxenabled > /dev/null 2>&1; then | 54 | if command -v selinuxenabled > /dev/null 2>&1; then |
53 | if selinuxenabled; then | 55 | if selinuxenabled; then |
@@ -55,6 +57,7 @@ if [ -d "$mountpoint" ]; then | |||
55 | fi | 57 | fi |
56 | fi | 58 | fi |
57 | if [ "$MOUNT_COPYBIND_AVOID_OVERLAYFS" = 1 ] || ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then | 59 | if [ "$MOUNT_COPYBIND_AVOID_OVERLAYFS" = 1 ] || ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then |
60 | rm -rf "$overlay_workdir" | ||
58 | 61 | ||
59 | if [ "$specdir_existed" != "yes" ]; then | 62 | if [ "$specdir_existed" != "yes" ]; then |
60 | cp -aPR "$mountpoint"/. "$spec/" | 63 | cp -aPR "$mountpoint"/. "$spec/" |
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb index cca8a65fb4..857bcc93ff 100644 --- a/meta/recipes-core/volatile-binds/volatile-binds.bb +++ b/meta/recipes-core/volatile-binds/volatile-binds.bb | |||
@@ -9,7 +9,7 @@ SRC_URI = "\ | |||
9 | file://volatile-binds.service.in \ | 9 | file://volatile-binds.service.in \ |
10 | " | 10 | " |
11 | 11 | ||
12 | S = "${WORKDIR}" | 12 | S = "${UNPACKDIR}" |
13 | 13 | ||
14 | inherit allarch systemd features_check | 14 | inherit allarch systemd features_check |
15 | 15 | ||
@@ -64,7 +64,6 @@ END | |||
64 | "$var_lib_servicefile" | 64 | "$var_lib_servicefile" |
65 | fi | 65 | fi |
66 | } | 66 | } |
67 | do_compile[dirs] = "${WORKDIR}" | ||
68 | 67 | ||
69 | do_install () { | 68 | do_install () { |
70 | install -d ${D}${base_sbindir} | 69 | install -d ${D}${base_sbindir} |
@@ -82,4 +81,3 @@ do_install () { | |||
82 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf | 81 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf |
83 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf | 82 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf |
84 | } | 83 | } |
85 | do_install[dirs] = "${WORKDIR}" | ||
diff --git a/meta/recipes-core/zlib/site_config/headers b/meta/recipes-core/zlib/site_config/headers deleted file mode 100644 index 50268918aa..0000000000 --- a/meta/recipes-core/zlib/site_config/headers +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | zlib.h | ||
diff --git a/meta/recipes-core/zlib/zlib_1.3.1.bb b/meta/recipes-core/zlib/zlib_1.3.1.bb index e6a81ef789..e62c50c5df 100644 --- a/meta/recipes-core/zlib/zlib_1.3.1.bb +++ b/meta/recipes-core/zlib/zlib_1.3.1.bb | |||
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b | |||
19 | # to PREMIRRORS so it is also searched automatically. | 19 | # to PREMIRRORS so it is also searched automatically. |
20 | PREMIRRORS:append = " https://zlib.net/ https://zlib.net/fossils/" | 20 | PREMIRRORS:append = " https://zlib.net/ https://zlib.net/fossils/" |
21 | 21 | ||
22 | CFLAGS += "-D_REENTRANT" | 22 | CFLAGS += "-D_REENTRANT -fPIE" |
23 | 23 | ||
24 | RDEPENDS:${PN}-ptest += "make" | 24 | RDEPENDS:${PN}-ptest += "make" |
25 | 25 | ||
@@ -47,4 +47,6 @@ do_install_ptest() { | |||
47 | BBCLASSEXTEND = "native nativesdk" | 47 | BBCLASSEXTEND = "native nativesdk" |
48 | 48 | ||
49 | CVE_STATUS[CVE-2023-45853] = "not-applicable-config: we don't build minizip" | 49 | CVE_STATUS[CVE-2023-45853] = "not-applicable-config: we don't build minizip" |
50 | CVE_STATUS[CVE-2023-6992] = "cpe-incorrect: this CVE is for cloudflare zlib" | 50 | |
51 | # Adding 'CVE_PRODUCT' to avoid false detection of CVEs | ||
52 | CVE_PRODUCT = "zlib:zlib gnu:zlib" | ||