mbox series

[0/6,v3] From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de> (branch yem/libglib2)

Message ID cover.1725225634.git.yann.morin.1998@free.fr
Headers show
Series From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de> (branch yem/libglib2) | expand

Message

Yann E. MORIN Sept. 1, 2024, 9:20 p.m. UTC
Hello All!

Since 2.79.0 libglib2 needs to be bootstrapped without introspection
support before gobject-introspection can be built, the added
libglib2-bootstrap sub-package takes care of that. See NEWS:

    https://gitlab.gnome.org/GNOME/glib/-/blob/17d1bf3c4962d942feea0830aeee6833104fef5d/NEWS#L429-438

Here's a defconfig that can be used to test Network-Manager i11n from
python in qemu:
    BR2_aarch64=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
    BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
    BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
    BR2_PER_PACKAGE_DIRECTORIES=y
    BR2_INIT_SYSTEMD=y
    BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
    BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
    BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
    BR2_LINUX_KERNEL=y
    BR2_LINUX_KERNEL_CUSTOM_VERSION=y
    BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.32"
    BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
    BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
    BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
    BR2_PACKAGE_PYTHON3=y
    BR2_PACKAGE_PYTHON_GOBJECT=y
    # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
    BR2_PACKAGE_NETWORK_MANAGER=y
    BR2_PACKAGE_NETWORK_MANAGER_TUI=y
    BR2_PACKAGE_NETWORK_MANAGER_CLI=y
    BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
    # BR2_PACKAGE_SYSTEMD_PSTORE is not set
    # BR2_PACKAGE_SYSTEMD_HOSTNAMED is not set
    # BR2_PACKAGE_SYSTEMD_MYHOSTNAME is not set
    # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
    # BR2_PACKAGE_SYSTEMD_RESOLVED is not set
    # BR2_PACKAGE_SYSTEMD_TIMEDATED is not set
    # BR2_PACKAGE_SYSTEMD_TIMESYNCD is not set
    BR2_TARGET_ROOTFS_EXT2=y
    BR2_TARGET_ROOTFS_EXT2_4=y
    BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
    # BR2_TARGET_ROOTFS_TAR is not set

That can be run with the command line in:
    board/qemu/aarch64-virt/readme.txt

By running the test script there:
    https://networkmanager.dev/docs/developers/

Thanks in advance for the review,
Fiona
Yann

Changes v2 -> v3: (Yann):
* split homepage and musl support to their own patches
* introduce qemu wrapper
* extend/rewite commit log for versions bumps
* add defconfig to test

Changes v1 -> v2:
* Update libglib2 to 2.82.0 instead of 2.80.4, drop one more patch
* make building introspection data for libglib2 conditional on
  BR2_PACKAGE_GOBJECT_INTROSPECTION=y
* skip bootstrap for target package when building without
  introspection, do not depend on Qemu in that case

Regards,
Yann E. MORIN.


----------------------------------------------------------------
Fiona Klute (WIWA) (3):
      package/{gobject-introspection, libglib2}: bump to {1.80.1, 2.82.0}
      package/python-gobject: bump to version 3.48.2
      package/network-manager: optional gobject-introspection

Yann E. MORIN (3):
      package/gobject-introspection: don't depend on cairo
      package/gobject-introspection: update homepage
      package/gobject-introspection: works with musl now

 package/gobject-introspection/Config.in            | 10 +--
 .../gobject-introspection.hash                     |  4 +-
 .../gobject-introspection/gobject-introspection.mk | 20 +++--
 ...or-format-in-gio-gunixconnection.c-part-2.patch | 93 ---------------------
 ...html-documentation-generation-with-gtk_do.patch | 96 ----------------------
 ...etection-of-a-system-provided-proxy-libin.patch | 53 ------------
 .../0005-meson-try-iconv-in-libintl-lookup.patch   | 53 ------------
 .../0006-link-with-latomic-when-needed.patch       | 52 ------------
 ...-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 38 +++++----
 package/libglib2/Config.in                         |  4 +
 package/libglib2/libglib2-bootstrap/2.82.0         |  1 +
 package/libglib2/libglib2-bootstrap/Config.in      |  9 ++
 .../libglib2-bootstrap/libglib2-bootstrap.hash     |  1 +
 .../libglib2-bootstrap/libglib2-bootstrap.mk       | 77 +++++++++++++++++
 package/libglib2/libglib2-qemu-wrapper.in          |  9 ++
 package/libglib2/libglib2.hash                     |  4 +-
 package/libglib2/libglib2.mk                       | 30 ++++++-
 package/network-manager/network-manager.mk         |  7 +-
 package/python-gobject/Config.in                   |  8 +-
 package/python-gobject/python-gobject.hash         |  4 +-
 package/python-gobject/python-gobject.mk           |  2 +-
 21 files changed, 182 insertions(+), 393 deletions(-)
 delete mode 100644 package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
 delete mode 100644 package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
 delete mode 100644 package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
 delete mode 100644 package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
 delete mode 100644 package/libglib2/0006-link-with-latomic-when-needed.patch
 rename package/libglib2/{ => 2.82.0}/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch (53%)
 create mode 120000 package/libglib2/libglib2-bootstrap/2.82.0
 create mode 100644 package/libglib2/libglib2-bootstrap/Config.in
 create mode 120000 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
 create mode 100644 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
 create mode 100644 package/libglib2/libglib2-qemu-wrapper.in

--
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

Comments

Yann E. MORIN Sept. 1, 2024, 9:24 p.m. UTC | #1
All.

The title for the cover letter should have read:

    libglib2 2.82 series with bootstrap

I messed up when copy-pasting, sorry for the mess...

Regards,
Yann E. MORIN.

On 2024-09-01 23:20 +0200, Yann E. MORIN spake thusly:
> Hello All!
> 
> Since 2.79.0 libglib2 needs to be bootstrapped without introspection
> support before gobject-introspection can be built, the added
> libglib2-bootstrap sub-package takes care of that. See NEWS:
> 
>     https://gitlab.gnome.org/GNOME/glib/-/blob/17d1bf3c4962d942feea0830aeee6833104fef5d/NEWS#L429-438
> 
> Here's a defconfig that can be used to test Network-Manager i11n from
> python in qemu:
>     BR2_aarch64=y
>     BR2_TOOLCHAIN_EXTERNAL=y
>     BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
>     BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
>     BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
>     BR2_PER_PACKAGE_DIRECTORIES=y
>     BR2_INIT_SYSTEMD=y
>     BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
>     BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
>     BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
>     BR2_LINUX_KERNEL=y
>     BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>     BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.32"
>     BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>     BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
>     BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>     BR2_PACKAGE_PYTHON3=y
>     BR2_PACKAGE_PYTHON_GOBJECT=y
>     # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
>     BR2_PACKAGE_NETWORK_MANAGER=y
>     BR2_PACKAGE_NETWORK_MANAGER_TUI=y
>     BR2_PACKAGE_NETWORK_MANAGER_CLI=y
>     BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
>     # BR2_PACKAGE_SYSTEMD_PSTORE is not set
>     # BR2_PACKAGE_SYSTEMD_HOSTNAMED is not set
>     # BR2_PACKAGE_SYSTEMD_MYHOSTNAME is not set
>     # BR2_PACKAGE_SYSTEMD_NETWORKD is not set
>     # BR2_PACKAGE_SYSTEMD_RESOLVED is not set
>     # BR2_PACKAGE_SYSTEMD_TIMEDATED is not set
>     # BR2_PACKAGE_SYSTEMD_TIMESYNCD is not set
>     BR2_TARGET_ROOTFS_EXT2=y
>     BR2_TARGET_ROOTFS_EXT2_4=y
>     BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
>     # BR2_TARGET_ROOTFS_TAR is not set
> 
> That can be run with the command line in:
>     board/qemu/aarch64-virt/readme.txt
> 
> By running the test script there:
>     https://networkmanager.dev/docs/developers/
> 
> Thanks in advance for the review,
> Fiona
> Yann
> 
> Changes v2 -> v3: (Yann):
> * split homepage and musl support to their own patches
> * introduce qemu wrapper
> * extend/rewite commit log for versions bumps
> * add defconfig to test
> 
> Changes v1 -> v2:
> * Update libglib2 to 2.82.0 instead of 2.80.4, drop one more patch
> * make building introspection data for libglib2 conditional on
>   BR2_PACKAGE_GOBJECT_INTROSPECTION=y
> * skip bootstrap for target package when building without
>   introspection, do not depend on Qemu in that case
> 
> Regards,
> Yann E. MORIN.
> 
> 
> ----------------------------------------------------------------
> Fiona Klute (WIWA) (3):
>       package/{gobject-introspection, libglib2}: bump to {1.80.1, 2.82.0}
>       package/python-gobject: bump to version 3.48.2
>       package/network-manager: optional gobject-introspection
> 
> Yann E. MORIN (3):
>       package/gobject-introspection: don't depend on cairo
>       package/gobject-introspection: update homepage
>       package/gobject-introspection: works with musl now
> 
>  package/gobject-introspection/Config.in            | 10 +--
>  .../gobject-introspection.hash                     |  4 +-
>  .../gobject-introspection/gobject-introspection.mk | 20 +++--
>  ...or-format-in-gio-gunixconnection.c-part-2.patch | 93 ---------------------
>  ...html-documentation-generation-with-gtk_do.patch | 96 ----------------------
>  ...etection-of-a-system-provided-proxy-libin.patch | 53 ------------
>  .../0005-meson-try-iconv-in-libintl-lookup.patch   | 53 ------------
>  .../0006-link-with-latomic-when-needed.patch       | 52 ------------
>  ...-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 38 +++++----
>  package/libglib2/Config.in                         |  4 +
>  package/libglib2/libglib2-bootstrap/2.82.0         |  1 +
>  package/libglib2/libglib2-bootstrap/Config.in      |  9 ++
>  .../libglib2-bootstrap/libglib2-bootstrap.hash     |  1 +
>  .../libglib2-bootstrap/libglib2-bootstrap.mk       | 77 +++++++++++++++++
>  package/libglib2/libglib2-qemu-wrapper.in          |  9 ++
>  package/libglib2/libglib2.hash                     |  4 +-
>  package/libglib2/libglib2.mk                       | 30 ++++++-
>  package/network-manager/network-manager.mk         |  7 +-
>  package/python-gobject/Config.in                   |  8 +-
>  package/python-gobject/python-gobject.hash         |  4 +-
>  package/python-gobject/python-gobject.mk           |  2 +-
>  21 files changed, 182 insertions(+), 393 deletions(-)
>  delete mode 100644 package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
>  delete mode 100644 package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
>  delete mode 100644 package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
>  delete mode 100644 package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
>  delete mode 100644 package/libglib2/0006-link-with-latomic-when-needed.patch
>  rename package/libglib2/{ => 2.82.0}/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch (53%)
>  create mode 120000 package/libglib2/libglib2-bootstrap/2.82.0
>  create mode 100644 package/libglib2/libglib2-bootstrap/Config.in
>  create mode 120000 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
>  create mode 100644 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
>  create mode 100644 package/libglib2/libglib2-qemu-wrapper.in
> 
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'