| Message ID | 20250313021247.2615117-1-macpaul.lin@mediatek.com |
|---|---|
| State | Rejected |
| Delegated to: | Steve Sakoman |
| Headers | show |
| Series | [scarthgap] bluez5: upgrade 5.72 -> 5.77 | expand |
Sorry, I can't take these version bumps since policy only allows bug/security fix releases. These version bumps also include new features and hence aren't allowed. Steve On Wed, Mar 12, 2025 at 7:12 PM Macpaul Lin <macpaul.lin@mediatek.com> wrote: > > From: gudnimg <gudni.m.g@gmail.com> > > Changelog: > * https://github.com/bluez/bluez/releases/tag/5.77 > * https://github.com/bluez/bluez/releases/tag/5.76 > * https://github.com/bluez/bluez/releases/tag/5.75 > * https://github.com/bluez/bluez/releases/tag/5.74 > * https://github.com/bluez/bluez/releases/tag/5.73 > > Changes relevant to the build: > * One patch file is dropped. > * /etc/bluetooth is now installed with 555 permission bits when systemd > is not enabled. The do_install function was edited to change it back to > 755. This was causing test failure when testing SDK packaging > * Added a few missing PACKAGECONFIGs which are enabled by default. > - asha-profiles: new in BlueZ 5.77 > - ccp-profiles: new in BlueZ 5.73 > - micp-profiles: new in BlueZ 5.70 > - csip-profiles: new in BlueZ 5.67 > - bass-profiles: new in BlueZ 5.67 > - vcp-profiles: new in BlueZ 5.66 > - mcp-profiles: new in BlueZ 5.66 > - bap-profiles: new in BlueZ 5.66 > > (From OE-Core rev: ebbdb7cf5c0a3f0e6773704d4c4cc570358ec611) > > Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> > --- > meta/recipes-connectivity/bluez5/bluez5.inc | 22 +++++++- > ...d-without-systemd-in-the-user-sessio.patch | 56 ------------------- > .../0001-test-gatt-Fix-hung-issue.patch | 7 +-- > ...et-for-building-tests-without-runnin.patch | 7 +-- > .../bluez5/{bluez5_5.72.bb => bluez5_5.77.bb} | 2 +- > 5 files changed, 28 insertions(+), 66 deletions(-) > delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch > rename meta/recipes-connectivity/bluez5/{bluez5_5.72.bb => bluez5_5.77.bb} (94%) > > diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc > index 39e1bf389ce4..e927d3071e5d 100644 > --- a/meta/recipes-connectivity/bluez5/bluez5.inc > +++ b/meta/recipes-connectivity/bluez5/bluez5.inc > @@ -18,6 +18,14 @@ PACKAGECONFIG ??= "obex-profiles \ > ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ > a2dp-profiles \ > avrcp-profiles \ > + bap-profiles \ > + bass-profiles \ > + mcp-profiles \ > + ccp-profiles \ > + vcp-profiles \ > + micp-profiles \ > + csip-profiles \ > + asha-profiles \ > network-profiles \ > hid-profiles \ > hog-profiles \ > @@ -39,6 +47,14 @@ PACKAGECONFIG[network-profiles] = "--enable-network,--disable-network" > PACKAGECONFIG[hid-profiles] = "--enable-hid,--disable-hid" > PACKAGECONFIG[hog-profiles] = "--enable-hog,--disable-hog" > PACKAGECONFIG[health-profiles] = "--enable-health,--disable-health" > +PACKAGECONFIG[bap-profiles] = "--enable-bap,--disable-bap" > +PACKAGECONFIG[bass-profiles] = "--enable-bass,--disable-bass" > +PACKAGECONFIG[mcp-profiles] = "--enable-mcp,--disable-mcp" > +PACKAGECONFIG[ccp-profiles] = "--enable-ccp,--disable-ccp" > +PACKAGECONFIG[vcp-profiles] = "--enable-vcp,--disable-vcp" > +PACKAGECONFIG[micp-profiles] = "--enable-micp,--disable-micp" > +PACKAGECONFIG[csip-profiles] = "--enable-csip,--disable-csip" > +PACKAGECONFIG[asha-profiles] = "--enable-asha,--disable-asha" > PACKAGECONFIG[sixaxis] = "--enable-sixaxis,--disable-sixaxis" > PACKAGECONFIG[tools] = "--enable-tools,--disable-tools" > PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" > @@ -51,7 +67,6 @@ PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,python3-docutils > SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ > file://init \ > file://run-ptest \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \ > file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ > file://0001-test-gatt-Fix-hung-issue.patch \ > file://0001-adapter-Fix-up-address-type-when-loading-keys.patch \ > @@ -107,6 +122,11 @@ do_install:append() { > # Patch python tools to use Python 3; they should be source compatible, but > # still refer to Python 2 in the shebang > sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/bluez/test/* > + > + # Fix the /etc/bluetooth directory permissions when systemd is disabled > + if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'false', 'true', d)}; then > + chmod 0755 ${D}${sysconfdir}/bluetooth > + fi > } > > PACKAGES =+ "${PN}-testtools ${PN}-obex ${PN}-noinst-tools" > diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch > deleted file mode 100644 > index 618ed734a96a..000000000000 > --- a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch > +++ /dev/null > @@ -1,56 +0,0 @@ > -From f74eb97c9fb3c0ee2895742e773ac6a3c41c999c Mon Sep 17 00:00:00 2001 > -From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org> > -Date: Sat, 12 Oct 2013 17:45:25 +0200 > -Subject: [PATCH] Allow using obexd without systemd in the user session > - > -Not all sessions run systemd --user (actually, the majority > -doesn't), so the dbus daemon must be able to spawn obexd > -directly, and to do so it needs the full path of the daemon. > - > -Upstream-Status: Denied > - > -Not accepted by upstream maintainer for being a distro specific > -configuration. See thread: > - > -http://thread.gmane.org/gmane.linux.bluez.kernel/38725/focus=38843 > - > -Signed-off-by: Javier Viguera <javier.viguera@digi.com> > - > ---- > - Makefile.obexd | 4 ++-- > - .../src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +- > - 2 files changed, 3 insertions(+), 3 deletions(-) > - rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (76%) > - > -diff --git a/Makefile.obexd b/Makefile.obexd > -index de59d29..73004a3 100644 > ---- a/Makefile.obexd > -+++ b/Makefile.obexd > -@@ -1,12 +1,12 @@ > - if SYSTEMD > - systemduserunitdir = $(SYSTEMD_USERUNITDIR) > - systemduserunit_DATA = obexd/src/obex.service > -+endif > - > - dbussessionbusdir = $(DBUS_SESSIONBUSDIR) > - dbussessionbus_DATA = obexd/src/org.bluez.obex.service > --endif > - > --EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service > -+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in > - > - if OBEX > - > -diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service.in > -similarity index 76% > -rename from obexd/src/org.bluez.obex.service > -rename to obexd/src/org.bluez.obex.service.in > -index a538088..9c815f2 100644 > ---- a/obexd/src/org.bluez.obex.service > -+++ b/obexd/src/org.bluez.obex.service.in > -@@ -1,4 +1,4 @@ > - [D-BUS Service] > - Name=org.bluez.obex > --Exec=/bin/false > -+Exec=@libexecdir@/obexd > - SystemdService=dbus-org.bluez.obex.service > diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch > index b1e93dbe19ef..ae113a9a6d7a 100644 > --- a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch > +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch > @@ -1,4 +1,4 @@ > -From fb583a57f9f4ab956a09e9bb96d89aa13553bf21 Mon Sep 17 00:00:00 2001 > +From eeb62ab04b3789a27074236cd0bed7cc64759f4d Mon Sep 17 00:00:00 2001 > From: Mingli Yu <Mingli.Yu@windriver.com> > Date: Fri, 24 Aug 2018 12:04:03 +0800 > Subject: [PATCH] test-gatt: Fix hung issue > @@ -21,16 +21,15 @@ no action. > Upstream-Status: Submitted [https://marc.info/?l=linux-bluetooth&m=153508881804635&w=2] > > Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> > - > --- > unit/test-gatt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/unit/test-gatt.c b/unit/test-gatt.c > -index 5e06d4e..4864d36 100644 > +index 1613fbc..25dd614 100644 > --- a/unit/test-gatt.c > +++ b/unit/test-gatt.c > -@@ -4546,7 +4546,7 @@ int main(int argc, char *argv[]) > +@@ -4547,7 +4547,7 @@ int main(int argc, char *argv[]) > test_server, service_db_1, NULL, > raw_pdu(0x03, 0x00, 0x02), > raw_pdu(0xbf, 0x00), > diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch > index 881494a3543e..37253b9725b2 100644 > --- a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch > +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch > @@ -1,20 +1,19 @@ > -From 738e73b386352fd90f1f26cc1ee75427cf4dc23b Mon Sep 17 00:00:00 2001 > +From c06fecbb009f4c42f01d86383d4571c96ba872f0 Mon Sep 17 00:00:00 2001 > From: Alexander Kanavin <alex.kanavin@gmail.com> > Date: Fri, 1 Apr 2016 17:07:34 +0300 > Subject: [PATCH] tests: add a target for building tests without running them > > Upstream-Status: Inappropriate [oe specific] > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> > - > --- > Makefile.am | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Makefile.am b/Makefile.am > -index e738eb3..dab17dd 100644 > +index 0ae7211..c8bcaca 100644 > --- a/Makefile.am > +++ b/Makefile.am > -@@ -710,6 +710,9 @@ endif > +@@ -713,6 +713,9 @@ endif > TESTS = $(unit_tests) > AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69 > > diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb b/meta/recipes-connectivity/bluez5/bluez5_5.77.bb > similarity index 94% > rename from meta/recipes-connectivity/bluez5/bluez5_5.72.bb > rename to meta/recipes-connectivity/bluez5/bluez5_5.77.bb > index 9fda960ea72e..55264fd6b760 100644 > --- a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb > +++ b/meta/recipes-connectivity/bluez5/bluez5_5.77.bb > @@ -1,6 +1,6 @@ > require bluez5.inc > > -SRC_URI[sha256sum] = "499d7fa345a996c1bb650f5c6749e1d929111fa6ece0be0e98687fee6124536e" > +SRC_URI[sha256sum] = "5d032fdc1d4a085813554f57591e2e1fb0ceb2b3616ee56f689bc00e1d150812" > > CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes" > > -- > 2.45.2 >
Okay, thanks for the clearly explanation. I'll try to send a few patch for bug fix I've encountered if I could. Macpaul Lin
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index 39e1bf389ce4..e927d3071e5d 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -18,6 +18,14 @@ PACKAGECONFIG ??= "obex-profiles \ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ a2dp-profiles \ avrcp-profiles \ + bap-profiles \ + bass-profiles \ + mcp-profiles \ + ccp-profiles \ + vcp-profiles \ + micp-profiles \ + csip-profiles \ + asha-profiles \ network-profiles \ hid-profiles \ hog-profiles \ @@ -39,6 +47,14 @@ PACKAGECONFIG[network-profiles] = "--enable-network,--disable-network" PACKAGECONFIG[hid-profiles] = "--enable-hid,--disable-hid" PACKAGECONFIG[hog-profiles] = "--enable-hog,--disable-hog" PACKAGECONFIG[health-profiles] = "--enable-health,--disable-health" +PACKAGECONFIG[bap-profiles] = "--enable-bap,--disable-bap" +PACKAGECONFIG[bass-profiles] = "--enable-bass,--disable-bass" +PACKAGECONFIG[mcp-profiles] = "--enable-mcp,--disable-mcp" +PACKAGECONFIG[ccp-profiles] = "--enable-ccp,--disable-ccp" +PACKAGECONFIG[vcp-profiles] = "--enable-vcp,--disable-vcp" +PACKAGECONFIG[micp-profiles] = "--enable-micp,--disable-micp" +PACKAGECONFIG[csip-profiles] = "--enable-csip,--disable-csip" +PACKAGECONFIG[asha-profiles] = "--enable-asha,--disable-asha" PACKAGECONFIG[sixaxis] = "--enable-sixaxis,--disable-sixaxis" PACKAGECONFIG[tools] = "--enable-tools,--disable-tools" PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" @@ -51,7 +67,6 @@ PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,python3-docutils SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://init \ file://run-ptest \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ file://0001-test-gatt-Fix-hung-issue.patch \ file://0001-adapter-Fix-up-address-type-when-loading-keys.patch \ @@ -107,6 +122,11 @@ do_install:append() { # Patch python tools to use Python 3; they should be source compatible, but # still refer to Python 2 in the shebang sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/bluez/test/* + + # Fix the /etc/bluetooth directory permissions when systemd is disabled + if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'false', 'true', d)}; then + chmod 0755 ${D}${sysconfdir}/bluetooth + fi } PACKAGES =+ "${PN}-testtools ${PN}-obex ${PN}-noinst-tools" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch deleted file mode 100644 index 618ed734a96a..000000000000 --- a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f74eb97c9fb3c0ee2895742e773ac6a3c41c999c Mon Sep 17 00:00:00 2001 -From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org> -Date: Sat, 12 Oct 2013 17:45:25 +0200 -Subject: [PATCH] Allow using obexd without systemd in the user session - -Not all sessions run systemd --user (actually, the majority -doesn't), so the dbus daemon must be able to spawn obexd -directly, and to do so it needs the full path of the daemon. - -Upstream-Status: Denied - -Not accepted by upstream maintainer for being a distro specific -configuration. See thread: - -http://thread.gmane.org/gmane.linux.bluez.kernel/38725/focus=38843 - -Signed-off-by: Javier Viguera <javier.viguera@digi.com> - ---- - Makefile.obexd | 4 ++-- - .../src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (76%) - -diff --git a/Makefile.obexd b/Makefile.obexd -index de59d29..73004a3 100644 ---- a/Makefile.obexd -+++ b/Makefile.obexd -@@ -1,12 +1,12 @@ - if SYSTEMD - systemduserunitdir = $(SYSTEMD_USERUNITDIR) - systemduserunit_DATA = obexd/src/obex.service -+endif - - dbussessionbusdir = $(DBUS_SESSIONBUSDIR) - dbussessionbus_DATA = obexd/src/org.bluez.obex.service --endif - --EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service -+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in - - if OBEX - -diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service.in -similarity index 76% -rename from obexd/src/org.bluez.obex.service -rename to obexd/src/org.bluez.obex.service.in -index a538088..9c815f2 100644 ---- a/obexd/src/org.bluez.obex.service -+++ b/obexd/src/org.bluez.obex.service.in -@@ -1,4 +1,4 @@ - [D-BUS Service] - Name=org.bluez.obex --Exec=/bin/false -+Exec=@libexecdir@/obexd - SystemdService=dbus-org.bluez.obex.service diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch index b1e93dbe19ef..ae113a9a6d7a 100644 --- a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch @@ -1,4 +1,4 @@ -From fb583a57f9f4ab956a09e9bb96d89aa13553bf21 Mon Sep 17 00:00:00 2001 +From eeb62ab04b3789a27074236cd0bed7cc64759f4d Mon Sep 17 00:00:00 2001 From: Mingli Yu <Mingli.Yu@windriver.com> Date: Fri, 24 Aug 2018 12:04:03 +0800 Subject: [PATCH] test-gatt: Fix hung issue @@ -21,16 +21,15 @@ no action. Upstream-Status: Submitted [https://marc.info/?l=linux-bluetooth&m=153508881804635&w=2] Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> - --- unit/test-gatt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit/test-gatt.c b/unit/test-gatt.c -index 5e06d4e..4864d36 100644 +index 1613fbc..25dd614 100644 --- a/unit/test-gatt.c +++ b/unit/test-gatt.c -@@ -4546,7 +4546,7 @@ int main(int argc, char *argv[]) +@@ -4547,7 +4547,7 @@ int main(int argc, char *argv[]) test_server, service_db_1, NULL, raw_pdu(0x03, 0x00, 0x02), raw_pdu(0xbf, 0x00), diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch index 881494a3543e..37253b9725b2 100644 --- a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch @@ -1,20 +1,19 @@ -From 738e73b386352fd90f1f26cc1ee75427cf4dc23b Mon Sep 17 00:00:00 2001 +From c06fecbb009f4c42f01d86383d4571c96ba872f0 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 1 Apr 2016 17:07:34 +0300 Subject: [PATCH] tests: add a target for building tests without running them Upstream-Status: Inappropriate [oe specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - --- Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.am b/Makefile.am -index e738eb3..dab17dd 100644 +index 0ae7211..c8bcaca 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -710,6 +710,9 @@ endif +@@ -713,6 +713,9 @@ endif TESTS = $(unit_tests) AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69 diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb b/meta/recipes-connectivity/bluez5/bluez5_5.77.bb similarity index 94% rename from meta/recipes-connectivity/bluez5/bluez5_5.72.bb rename to meta/recipes-connectivity/bluez5/bluez5_5.77.bb index 9fda960ea72e..55264fd6b760 100644 --- a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb +++ b/meta/recipes-connectivity/bluez5/bluez5_5.77.bb @@ -1,6 +1,6 @@ require bluez5.inc -SRC_URI[sha256sum] = "499d7fa345a996c1bb650f5c6749e1d929111fa6ece0be0e98687fee6124536e" +SRC_URI[sha256sum] = "5d032fdc1d4a085813554f57591e2e1fb0ceb2b3616ee56f689bc00e1d150812" CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes"