hi Khem,
It is rebased to master already. do you want me to upstream to master-next too ?

Regards,
Ms Nisha Parrakat
KPIT Technologies GmbH




From: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> on behalf of Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org>
Sent: 26 May 2021 19:53
To: Nisha Parrakat <Nisha.Parrakat@kpit.com>; openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org>
Subject: Re: [oe] [meta-oe][master][PATCH 1/2] p7zip: build and package lib7z.so needed for fastboot
 
please rebase these patches on top of master or master-next and resend.

On 5/26/21 10:32 AM, Nisha Parrakat wrote:
> From: Nisha Parrakat <nisha.parrakat@kpit.com>
>
> a) use option 7z to build the lib7z.so library
> This is needed for android-tools for building fastboot
> from android-tools
>
> b) Packaged the lib7z.so and codec libraries as a part of this recipe
> Fastboot RDepends on it lib7z.so
>
> c) Fixed a C++17 forbidden error when lib7z.so is built
>
> fixes the below error
>
> | ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp: In member function 'virtual LONG NArchive::NWim::CHandler::GetArchiveProperty(PROPID, PROPVARIANT*)':
> | ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
> |   308 |           numMethods++;
> |       |           ^~~~~~~~~~
> | ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:318:9: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
> |   318 |         numMethods++;
>
> Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com>
> ---
>   ...nge_numMethods_from_bool_to_unsigned.patch | 25 +++++++++++++++++++
>   meta-oe/recipes-extended/p7zip/p7zip_16.02.bb | 21 ++++++++++++++--
>   2 files changed, 44 insertions(+), 2 deletions(-)
>   create mode 100644 meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch
>
> diff --git a/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch b/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch
> new file mode 100644
> index 000000000..edde52593
> --- /dev/null
> +++ b/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch
> @@ -0,0 +1,25 @@
> +fixes the below error
> +
> +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp: In member function 'virtual LONG NArchive::NWim::CHandler::GetArchiveProperty(PROPID, PROPVARIANT*)':
> +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
> +|   308 |           numMethods++;
> +|       |           ^~~~~~~~~~
> +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:318:9: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
> +|   318 |         numMethods++;
> +
> +
> +use unsigned instead of bool
> +Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com>
> +
> +Upstream-Status: Pending
> +--- ./CPP/7zip/Archive/Wim/WimHandler.cpp       2021-05-20 10:51:56.997402701 +0000
> ++++ ./CPP/7zip/Archive/Wim/WimHandler.cpp       2021-05-20 10:52:16.665604125 +0000
> +@@ -298,7 +298,7 @@
> +
> +       AString res;
> +
> +-      bool numMethods = 0;
> ++      unsigned numMethods = 0;
> +       for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++)
> +       {
> +         if (methodMask & ((UInt32)1 << i
> diff --git a/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
> index 13479a90f..ada49114c 100644
> --- a/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
> +++ b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
> @@ -9,6 +9,7 @@ SRC_URI = "https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdownloads.sourceforge.net%2Fp7zip%2Fp7zip%2F%24&amp;data=04%7C01%7CNisha.Parrakat%40kpit.com%7C4007f511cd0b4b0d527b08d9206f3956%7C3539451eb46e4a26a242ff61502855c7%7C0%7C0%7C637576484370502332%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=VGFDLma%2Bgwj5%2BsqrJlZRql2MDK4kKghHvq0FBP9pXP4%3D&amp;reserved=0{PV}/p7zip_${PV}_src_al
>              file://do_not_override_compiler_and_do_not_strip.patch \
>              file://CVE-2017-17969.patch \
>              file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \
> +           file://change_numMethods_from_bool_to_unsigned.patch \
>              "
>
>   SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf"
> @@ -16,10 +17,26 @@ SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6
>
>   S = "${WORKDIR}/${BPN}_${PV}"
>
> +do_compile_append() {
> +    oe_runmake 7z
> +}
> +FILES_${PN} += "${libdir}/* ${bindir}/7z"
> +
> +FILES_SOLIBSDEV = ""
> +INSANE_SKIP_${PN} += "dev-so"
> +
>   do_install() {
>          install -d ${D}${bindir}
> -       install -m 0755 ${S}/bin/* ${D}${bindir}
> +       install -d ${D}${bindir}/Codecs
> +       install -d ${D}${libdir}
> +       install -d ${D}${libdir}/Codecs
> +       install -m 0755 ${S}/bin/7za ${D}${bindir}
>          ln -s 7za ${D}${bindir}/7z
> +       install -m 0755 ${S}/bin/Codecs/* ${D}${libdir}/Codecs/
> +       install -m 0755 ${S}/bin/7z.so ${D}${libdir}/lib7z.so
>   }
>
> -BBCLASSEXTEND = "native"
> +RPROVIDES_${PN} += "lib7z.so()(64bit) 7z lib7z.so"
> +RPROVIDES_${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.17.1
>
> This message contains information that may be privileged or confidential and is the property of the KPIT Technologies Ltd. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. KPIT Technologies Ltd. does not accept any liability for virus infected mails.
>
This message contains information that may be privileged or confidential and is the property of the KPIT Technologies Ltd. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. KPIT Technologies Ltd. does not accept any liability for virus infected mails.