diff mbox series

[RFC] tests/vm/netbsd: Remove missing py311-expat package

Message ID 20240117112407.22462-1-philmd@linaro.org
State Superseded
Headers show
Series [RFC] tests/vm/netbsd: Remove missing py311-expat package | expand

Commit Message

Philippe Mathieu-Daudé Jan. 17, 2024, 11:24 a.m. UTC
Per commits a9dbde71da ("mkvenv: add better error message for
broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
py310-expat to NetBSD"), we need py-expat to use ensurepip.

However the py311-expat package isn't available anymore:

  ### Installing packages ...
  processing remote summary (http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All)...
  database for http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All is up-to-date
  py311-expat is not available in the repository
  ...
  calculating dependencies.../py311-expat is not available in the repository
  pkg_install error log can be found in /var/db/pkgin/pkg_install-err.log

Dropping it from the default packages list allows creating the
NetBSD VM and build / test QEMU, without error from ensurepip.

This reverts commit 1dee66c693 ("tests/vm: add py310-expat to NetBSD").

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2109
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
RFC because ensurepip seems important due to cited commits
    but I'm not sure where it is used, and this fixes my CI build.
---
 tests/vm/netbsd | 1 -
 1 file changed, 1 deletion(-)

Comments

Thomas Huth Jan. 17, 2024, 12:10 p.m. UTC | #1
On 17/01/2024 12.24, Philippe Mathieu-Daudé wrote:
> Per commits a9dbde71da ("mkvenv: add better error message for
> broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
> py310-expat to NetBSD"), we need py-expat to use ensurepip.
> 
> However the py311-expat package isn't available anymore:
> 
>    ### Installing packages ...
>    processing remote summary (http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All)...
>    database for http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All is up-to-date
>    py311-expat is not available in the repository
>    ...
>    calculating dependencies.../py311-expat is not available in the repository
>    pkg_install error log can be found in /var/db/pkgin/pkg_install-err.log
> 
> Dropping it from the default packages list allows creating the
> NetBSD VM and build / test QEMU, without error from ensurepip.
> 
> This reverts commit 1dee66c693 ("tests/vm: add py310-expat to NetBSD").
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2109
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> RFC because ensurepip seems important due to cited commits
>      but I'm not sure where it is used, and this fixes my CI build.

Thanks for tackling it, I also ran into this problem already and just did 
not have enough spare time yet to investigate.

I searched a little bit, and found this text here:
https://mail-index.netbsd.org/netbsd-announce/2024/01/01/msg000360.html

"
- Several packages have been folded into base packages.  While the
    result is simpler, those updating may need to force-remove the
    secondary packages, depending on the update method.  When doing
    make replace, one has to pkg_delete -f the secondary packages.
    pkgin handles at least the python packages correctly, removing the
    split package when updating python.  Specific packages and the
    former packages now included:

      * cairo: cairo-gobject
      * python: py-cElementTree py-curses py-cursespanel py-expat
        py-readline py-sqlite3
"

So it seems like the py-expat package has simply been merged into a base 
package now. Thus I think your patch is fine. It also fixes the problem for 
me, so:

Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé Jan. 17, 2024, 2:03 p.m. UTC | #2
On 17/1/24 13:10, Thomas Huth wrote:
> On 17/01/2024 12.24, Philippe Mathieu-Daudé wrote:
>> Per commits a9dbde71da ("mkvenv: add better error message for
>> broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
>> py310-expat to NetBSD"), we need py-expat to use ensurepip.
>>
>> However the py311-expat package isn't available anymore:
>>
>>    ### Installing packages ...
>>    processing remote summary 
>> (http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All)...
>>    database for 
>> http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All is 
>> up-to-date
>>    py311-expat is not available in the repository
>>    ...
>>    calculating dependencies.../py311-expat is not available in the 
>> repository
>>    pkg_install error log can be found in 
>> /var/db/pkgin/pkg_install-err.log
>>
>> Dropping it from the default packages list allows creating the
>> NetBSD VM and build / test QEMU, without error from ensurepip.
>>
>> This reverts commit 1dee66c693 ("tests/vm: add py310-expat to NetBSD").
>>
>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2109
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> RFC because ensurepip seems important due to cited commits
>>      but I'm not sure where it is used, and this fixes my CI build.
> 
> Thanks for tackling it, I also ran into this problem already and just 
> did not have enough spare time yet to investigate.
> 
> I searched a little bit, and found this text here:
> https://mail-index.netbsd.org/netbsd-announce/2024/01/01/msg000360.html
> 
> "
> - Several packages have been folded into base packages.  While the
>     result is simpler, those updating may need to force-remove the
>     secondary packages, depending on the update method.  When doing
>     make replace, one has to pkg_delete -f the secondary packages.
>     pkgin handles at least the python packages correctly, removing the
>     split package when updating python.  Specific packages and the
>     former packages now included:
> 
>       * cairo: cairo-gobject
>       * python: py-cElementTree py-curses py-cursespanel py-expat
>         py-readline py-sqlite3
> "

Thanks for digging, I'll update the description.

> So it seems like the py-expat package has simply been merged into a base 
> package now. Thus I think your patch is fine. It also fixes the problem 
> for me, so:
> 
> Tested-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
Alex Bennée Jan. 17, 2024, 3:09 p.m. UTC | #3
Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Per commits a9dbde71da ("mkvenv: add better error message for
> broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
> py310-expat to NetBSD"), we need py-expat to use ensurepip.

Queued to testing/next, thanks.
Philippe Mathieu-Daudé Jan. 17, 2024, 3:16 p.m. UTC | #4
On 17/1/24 16:09, Alex Bennée wrote:
> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> 
>> Per commits a9dbde71da ("mkvenv: add better error message for
>> broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
>> py310-expat to NetBSD"), we need py-expat to use ensurepip.
> 
> Queued to testing/next, thanks.

Please take v2 instead:
https://lore.kernel.org/qemu-devel/20240117140746.23511-1-philmd@linaro.org/
John Snow Feb. 1, 2024, 8:18 p.m. UTC | #5
On Wed, Jan 17, 2024 at 9:03 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> On 17/1/24 13:10, Thomas Huth wrote:
> > On 17/01/2024 12.24, Philippe Mathieu-Daudé wrote:
> >> Per commits a9dbde71da ("mkvenv: add better error message for
> >> broken or missing ensurepip") and 1dee66c693 ("tests/vm: add
> >> py310-expat to NetBSD"), we need py-expat to use ensurepip.
> >>
> >> However the py311-expat package isn't available anymore:
> >>
> >>    ### Installing packages ...
> >>    processing remote summary
> >> (http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All)...
> >>    database for
> >> http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All is
> >> up-to-date
> >>    py311-expat is not available in the repository
> >>    ...
> >>    calculating dependencies.../py311-expat is not available in the
> >> repository
> >>    pkg_install error log can be found in
> >> /var/db/pkgin/pkg_install-err.log
> >>
> >> Dropping it from the default packages list allows creating the
> >> NetBSD VM and build / test QEMU, without error from ensurepip.
> >>
> >> This reverts commit 1dee66c693 ("tests/vm: add py310-expat to NetBSD").
> >>
> >> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2109
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> >> ---
> >> RFC because ensurepip seems important due to cited commits
> >>      but I'm not sure where it is used, and this fixes my CI build.
> >
> > Thanks for tackling it, I also ran into this problem already and just
> > did not have enough spare time yet to investigate.
> >
> > I searched a little bit, and found this text here:
> > https://mail-index.netbsd.org/netbsd-announce/2024/01/01/msg000360.html
> >
> > "
> > - Several packages have been folded into base packages.  While the
> >     result is simpler, those updating may need to force-remove the
> >     secondary packages, depending on the update method.  When doing
> >     make replace, one has to pkg_delete -f the secondary packages.
> >     pkgin handles at least the python packages correctly, removing the
> >     split package when updating python.  Specific packages and the
> >     former packages now included:
> >
> >       * cairo: cairo-gobject
> >       * python: py-cElementTree py-curses py-cursespanel py-expat
> >         py-readline py-sqlite3
> > "
>
> Thanks for digging, I'll update the description.
>
> > So it seems like the py-expat package has simply been merged into a base
> > package now. Thus I think your patch is fine. It also fixes the problem
> > for me, so:
> >
> > Tested-by: Thomas Huth <thuth@redhat.com>
> > Reviewed-by: Thomas Huth <thuth@redhat.com>
> >
>

Quite late, but thank you both. If py-expat was folded in, then this
is definitely safe. mkvenv.py could possibly use a small update to its
error message hint:

            "(Hint: NetBSD's pkgsrc debundles this to e.g. 'py310-expat'.)"

I don't know if this is safe to remove in its entirety just yet,
because I don't know right away if any NetBSD distributions that we
consider "supported" still use a de-bundled py-expat. (Maybe this
error is still helpful for certain users in some cases we technically
support?)

If that's not the case, then we can simplify mkvenv and remove this
error handling case entirely.

--js
diff mbox series

Patch

diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index 649fcad353..a3f6dd6b3c 100755
--- a/tests/vm/netbsd
+++ b/tests/vm/netbsd
@@ -31,7 +31,6 @@  class NetBSDVM(basevm.BaseVM):
         "pkgconf",
         "xz",
         "python311",
-        "py311-expat",
         "ninja-build",
 
         # gnu tools