diff mbox series

nghttp2: Fix do_rootfs error as following:

Message ID 1676014485-3128-1-git-send-email-leimaohui@fujitsu.com
State New
Headers show
Series nghttp2: Fix do_rootfs error as following: | expand

Commit Message

Maohui Lei (Fujitsu) Feb. 10, 2023, 7:34 a.m. UTC
Problem: conflicting requests
  - nothing provides nghttp2-client >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64
  - nothing provides nghttp2-server >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
---
 meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
 1 file changed, 2 insertions(+)

Comments

Alexander Kanavin Feb. 10, 2023, 7:44 a.m. UTC | #1
If neither client nor server packages contain any files, then what is
installed? Is there some other useful package than nghttp2 package
pulls in, or does it itself contain something useful?

Alex

On Fri, 10 Feb 2023 at 08:35, leimaohui <leimaohui@fujitsu.com> wrote:
>
> Problem: conflicting requests
>   - nothing provides nghttp2-client >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64
>   - nothing provides nghttp2-server >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64
>
> Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
> ---
>  meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> index 8ddb851f71..72a4372214 100644
> --- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> +++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> @@ -24,6 +24,8 @@ RDEPENDS:${PN}:class-native = ""
>  RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
>
>  ALLOW_EMPTY:${PN} = "1"
> +ALLOW_EMPTY:${PN}-server = "1"
> +ALLOW_EMPTY:${PN}-client = "1"
>  FILES:${PN} = ""
>  FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
>  FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176983): https://lists.openembedded.org/g/openembedded-core/message/176983
> Mute This Topic: https://lists.openembedded.org/mt/96872036/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
ChenQi Feb. 10, 2023, 7:49 a.m. UTC | #2
This does not seem correct. These two packages have FILES specified, and 
ALLOW_EMPTY:${PN} is set to "1". I suspect the actually problem lies in 
somewhere else.

Regards,
Qi

On 2/10/23 15:34, leimaohui wrote:
> Problem: conflicting requests
>    - nothing provides nghttp2-client >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64
>    - nothing provides nghttp2-server >= 1.51.0 needed by nghttp2-1.51.0-r0.core2_64
>
> Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
> ---
>   meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> index 8ddb851f71..72a4372214 100644
> --- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> +++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> @@ -24,6 +24,8 @@ RDEPENDS:${PN}:class-native = ""
>   RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
>   
>   ALLOW_EMPTY:${PN} = "1"
> +ALLOW_EMPTY:${PN}-server = "1"
> +ALLOW_EMPTY:${PN}-client = "1"
>   FILES:${PN} = ""
>   FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
>   FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176983): https://lists.openembedded.org/g/openembedded-core/message/176983
> Mute This Topic: https://lists.openembedded.org/mt/96872036/7304865
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Qi.Chen@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Maohui Lei (Fujitsu) Feb. 24, 2023, 1:40 a.m. UTC | #3
Hi, Alex

I'm sorry for late reply.

> If neither client nor server packages contain any files, then what is installed? Is
> there some other useful package than nghttp2 package pulls in, or does it itself
> contain something useful?

I found this conflicting requests error when I added nghttp2 package into my image file by accident. 
Although there is no files in nghttp2 package, it is really an issue, isn't it?

My patch is just following the existing code. But maybe it is not a best way.
How about deleted the RDEPENDS relationships among nghttp2, -client and -server?

$ cat ./meta/recipes-support/nghttp2/nghttp2_1.52.0.bb
......
RDEPENDS:${PN} = "${PN}-client (>= ${PV}) ${PN}-proxy (>= ${PV}) ${PN}-server (>= ${PV})"
......


Best regards
Lei

> -----Original Message-----
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> Sent: Friday, February 10, 2023 3:44 PM
> To: Lei, Maohui <leimaohui@fujitsu.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] nghttp2: Fix do_rootfs error as following:
> 
> If neither client nor server packages contain any files, then what is installed? Is
> there some other useful package than nghttp2 package pulls in, or does it itself
> contain something useful?
> 
> Alex
> 
> On Fri, 10 Feb 2023 at 08:35, leimaohui <leimaohui@fujitsu.com> wrote:
> >
> > Problem: conflicting requests
> >   - nothing provides nghttp2-client >= 1.51.0 needed by
> nghttp2-1.51.0-r0.core2_64
> >   - nothing provides nghttp2-server >= 1.51.0 needed by
> > nghttp2-1.51.0-r0.core2_64
> >
> > Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
> > ---
> >  meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > index 8ddb851f71..72a4372214 100644
> > --- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > +++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > @@ -24,6 +24,8 @@ RDEPENDS:${PN}:class-native = ""
> >  RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
> >
> >  ALLOW_EMPTY:${PN} = "1"
> > +ALLOW_EMPTY:${PN}-server = "1"
> > +ALLOW_EMPTY:${PN}-client = "1"
> >  FILES:${PN} = ""
> >  FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
> >  FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
> > --
> > 2.34.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#176983):
> > https://lists.openembedded.org/g/openembedded-core/message/176983
> > Mute This Topic: https://lists.openembedded.org/mt/96872036/1686489
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
> > [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Maohui Lei (Fujitsu) Feb. 24, 2023, 1:45 a.m. UTC | #4
Hi

I'm sorry I missed this patch.

> This does not seem correct. These two packages have FILES specified, and
> ALLOW_EMPTY:${PN} is set to "1". I suspect the actually problem lies in
> somewhere else.

This recipe is special. Libsoup has a hard dependency on nghttp2, so it can't be moved to meta-oe. But nghttp2-client and nghttp2-server depend on recipes of meta-oe.
I tried to fix this error according to Alex's comment by PACKAGECONFIG entries. But dependences is too complex to complete.
My patch is just following the existing code. But maybe it is not a best way.
I'm talking this patch with Alex, welcome to give me some suggestion.

Best regards
Lei



> -----Original Message-----
> From: ChenQi <Qi.Chen@windriver.com>
> Sent: Friday, February 10, 2023 3:49 PM
> To: Lei, Maohui <leimaohui@fujitsu.com>;
> openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] nghttp2: Fix do_rootfs error as following:
> 
> This does not seem correct. These two packages have FILES specified, and
> ALLOW_EMPTY:${PN} is set to "1". I suspect the actually problem lies in
> somewhere else.
> 
> Regards,
> Qi
> 
> On 2/10/23 15:34, leimaohui wrote:
> > Problem: conflicting requests
> >    - nothing provides nghttp2-client >= 1.51.0 needed by
> nghttp2-1.51.0-r0.core2_64
> >    - nothing provides nghttp2-server >= 1.51.0 needed by
> > nghttp2-1.51.0-r0.core2_64
> >
> > Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
> > ---
> >   meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
> >   1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > index 8ddb851f71..72a4372214 100644
> > --- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > +++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
> > @@ -24,6 +24,8 @@ RDEPENDS:${PN}:class-native = ""
> >   RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
> >
> >   ALLOW_EMPTY:${PN} = "1"
> > +ALLOW_EMPTY:${PN}-server = "1"
> > +ALLOW_EMPTY:${PN}-client = "1"
> >   FILES:${PN} = ""
> >   FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
> >   FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#176983):
> > https://lists.openembedded.org/g/openembedded-core/message/176983
> > Mute This Topic: https://lists.openembedded.org/mt/96872036/7304865
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
> > [Qi.Chen@eng.windriver.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
ChenQi Feb. 24, 2023, 3:27 a.m. UTC | #5
On 2/24/23 09:45, leimaohui@fujitsu.com wrote:
> Hi
>
> I'm sorry I missed this patch.
>
>> This does not seem correct. These two packages have FILES specified, and
>> ALLOW_EMPTY:${PN} is set to "1". I suspect the actually problem lies in
>> somewhere else.
> This recipe is special. Libsoup has a hard dependency on nghttp2, so it can't be moved to meta-oe. But nghttp2-client and nghttp2-server depend on recipes of meta-oe.

Hi Lei,

Which ones? Do you have some local patch or some bbappend files? Also, 
if this is the case, I think Yocto's autobuilder will detect such issue 
by doing pure poky world build. I also just ran `bitbake -n nghttp2' and 
there's no error.

Regards,

Qi

> I tried to fix this error according to Alex's comment by PACKAGECONFIG entries. But dependences is too complex to complete.
> My patch is just following the existing code. But maybe it is not a best way.
> I'm talking this patch with Alex, welcome to give me some suggestion.
>
> Best regards
> Lei
>
>
>
>> -----Original Message-----
>> From: ChenQi <Qi.Chen@windriver.com>
>> Sent: Friday, February 10, 2023 3:49 PM
>> To: Lei, Maohui <leimaohui@fujitsu.com>;
>> openembedded-core@lists.openembedded.org
>> Subject: Re: [OE-core] [PATCH] nghttp2: Fix do_rootfs error as following:
>>
>> This does not seem correct. These two packages have FILES specified, and
>> ALLOW_EMPTY:${PN} is set to "1". I suspect the actually problem lies in
>> somewhere else.
>>
>> Regards,
>> Qi
>>
>> On 2/10/23 15:34, leimaohui wrote:
>>> Problem: conflicting requests
>>>     - nothing provides nghttp2-client >= 1.51.0 needed by
>> nghttp2-1.51.0-r0.core2_64
>>>     - nothing provides nghttp2-server >= 1.51.0 needed by
>>> nghttp2-1.51.0-r0.core2_64
>>>
>>> Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
>>> ---
>>>    meta/recipes-support/nghttp2/nghttp2_1.51.0.bb | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
>>> b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
>>> index 8ddb851f71..72a4372214 100644
>>> --- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
>>> +++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
>>> @@ -24,6 +24,8 @@ RDEPENDS:${PN}:class-native = ""
>>>    RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
>>>
>>>    ALLOW_EMPTY:${PN} = "1"
>>> +ALLOW_EMPTY:${PN}-server = "1"
>>> +ALLOW_EMPTY:${PN}-client = "1"
>>>    FILES:${PN} = ""
>>>    FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
>>>    FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online (#176983):
>>> https://lists.openembedded.org/g/openembedded-core/message/176983
>>> Mute This Topic: https://lists.openembedded.org/mt/96872036/7304865
>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
>>> [Qi.Chen@eng.windriver.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
Alexander Kanavin Feb. 24, 2023, 6:33 a.m. UTC | #6
On Fri, 24 Feb 2023 at 04:27, Chen Qi <Qi.Chen@windriver.com> wrote:
> > This recipe is special. Libsoup has a hard dependency on nghttp2, so it can't be moved to meta-oe. But nghttp2-client and nghttp2-server depend on recipes of meta-oe.
>
> Hi Lei,
>
> Which ones? Do you have some local patch or some bbappend files? Also,
> if this is the case, I think Yocto's autobuilder will detect such issue
> by doing pure poky world build. I also just ran `bitbake -n nghttp2' and
> there's no error.

I have built this locally. The recipe unconditionally disables client
and server with -DENABLE_APP=OFF (no packageconfig entries to change
that), and at the same time defines packaging for items that would
otherwise be built. But there is nothing to put into those packages.

Lei, I'd suggest that you make a patch that simply deletes the entries
for -client and -server, and removes a dependency on them from the
main package. If someone later needs to enable them, it should be done
by creating a correct, working build configuration, and then re-adding
packaging rules is comparatively trivial.

Alex
Maohui Lei (Fujitsu) Feb. 24, 2023, 7:53 a.m. UTC | #7
Hi Alex,

> Lei, I'd suggest that you make a patch that simply deletes the entries for -client
> and -server, and removes a dependency on them from the main package. If
> someone later needs to enable them, it should be done by creating a correct,
> working build configuration, and then re-adding packaging rules is comparatively
> trivial.

Ok, I got it. I'll fix this patch in V2. Thank you for your comment. 

Best regards
Lei



> -----Original Message-----
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> Sent: Friday, February 24, 2023 2:33 PM
> To: Chen Qi <Qi.Chen@windriver.com>
> Cc: Lei, Maohui <leimaohui@fujitsu.com>;
> openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] nghttp2: Fix do_rootfs error as following:
> 
> On Fri, 24 Feb 2023 at 04:27, Chen Qi <Qi.Chen@windriver.com> wrote:
> > > This recipe is special. Libsoup has a hard dependency on nghttp2, so it can't
> be moved to meta-oe. But nghttp2-client and nghttp2-server depend on recipes
> of meta-oe.
> >
> > Hi Lei,
> >
> > Which ones? Do you have some local patch or some bbappend files? Also,
> > if this is the case, I think Yocto's autobuilder will detect such
> > issue by doing pure poky world build. I also just ran `bitbake -n
> > nghttp2' and there's no error.
> 
> I have built this locally. The recipe unconditionally disables client and server with
> -DENABLE_APP=OFF (no packageconfig entries to change that), and at the same
> time defines packaging for items that would otherwise be built. But there is
> nothing to put into those packages.
> 
> Lei, I'd suggest that you make a patch that simply deletes the entries for -client
> and -server, and removes a dependency on them from the main package. If
> someone later needs to enable them, it should be done by creating a correct,
> working build configuration, and then re-adding packaging rules is comparatively
> trivial.
> 
> Alex
diff mbox series

Patch

diff --git a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
index 8ddb851f71..72a4372214 100644
--- a/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
+++ b/meta/recipes-support/nghttp2/nghttp2_1.51.0.bb
@@ -24,6 +24,8 @@  RDEPENDS:${PN}:class-native = ""
 RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell"
 
 ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-server = "1"
+ALLOW_EMPTY:${PN}-client = "1"
 FILES:${PN} = ""
 FILES:lib${BPN} = "${libdir}/*${SOLIBS}"
 FILES:${PN}-client = "${bindir}/h2load ${bindir}/nghttp"