Message ID | 1646210995-8717-1-git-send-email-akash.hadke@kpit.com |
---|---|
State | Under Review |
Delegated to: | Armin Kuster |
Headers | show |
Series | [meta-oe,dunfell] p7zip: build and package lib7z.so needed for fastboot | expand |
On 3/2/22 00:49, akash hadke via lists.openembedded.org wrote: > From: Nisha Parrakat <nishaparrakat@gmail.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> > Signed-off-by: Nisha Parrakat <nishaparrakat@gmail.com> > Signed-off-by: Khem Raj <raj.khem@gmail.com> > Signed-off-by: Akash Hadke <Akash.Hadke@kpit.com> > Signed-off-by: Akash Hadke <hadkeakash4@gmail.com> > (cherry picked from commit 3c36a8efe2a964c3aa9bfcd836cee3f80a837fcd) > --- > .../change_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 0000000..edde525 > --- /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 Missing "Upstream-Status": -armin > +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 ebe32f1..8984f96 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 = "http://downloads.sourceforge.net/p7zip/p7zip/${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 \ > file://CVE-2018-5996.patch \ > " > > @@ -17,10 +18,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" > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#95681): https://lists.openembedded.org/g/openembedded-devel/message/95681 > Mute This Topic: https://lists.openembedded.org/mt/89497302/3616698 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Armin, Do you want me to add 'Upstream-Status:' in ' change_numMethods_from_bool_to_unsigned.patch '? Its already present as 'Pending'.
On 3/6/22 22:03, akash hadke via lists.openembedded.org wrote: > Hi Armin, > > Do you want me to add 'Upstream-Status:' in > 'change_numMethods_from_bool_to_unsigned.patch'? Its already present > as 'Pending'. If only I could read. I just saw it - armin. > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#95832): https://lists.openembedded.org/g/openembedded-devel/message/95832 > Mute This Topic: https://lists.openembedded.org/mt/89497302/3616698 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
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 0000000..edde525 --- /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 ebe32f1..8984f96 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 = "http://downloads.sourceforge.net/p7zip/p7zip/${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 \ file://CVE-2018-5996.patch \ " @@ -17,10 +18,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"