glib2: Split package into separate library packages, to cut down on size
Maintainer: Peter Wagner [email protected] Compile tested: ath79, TPlink TL-WDR3600, r24166+6-53039bf7f5 Run tested: ath79, TPlink TL-WDR3600, r24166+6-53039bf7f5, tested by installation and the fact that the gkrellmd package pulls in fewer libraries and the image is smaller Description: In order to be able to reduce the installed size of anything that depends of GLib2.0, which has 5 component libraries, split the package into 5 separate packages, and a full version which depends on on the others to pull in all five. Also test the split by altering gkrellmd to only pull in the specific libraries that it actually depends on
CI is failing, but I am thinking about one thing related to your PR, which bothers me a lot.
Why? You are saying to cut down on size. What is the difference? Does it make any sense? Is it worth doing it after so many years like it is? Every year, the demand for HW resources is higher and higher. It is same for computer games.
On Mon, 30 Oct 2023, Josef Schlehofer wrote:
CI is failing, but I am thinking about one thing related to your PR, which bothers me a lot.
Why? You are saying to cut down on size. What is the difference? Does it make any sense? Is it worth doing it after so many years like it is? Every year, the demand for HW resources is higher and higher. It is same for computer games.
Thanks for looking at it. Yes, I couldn't work out why the CI is failing.
The main reason I did it is that I updated, built exactly the same configuration as last time, and it wouldn't fit into my device (TL-WDR3600) any more. I went looking for the biggest things and found that GLib dwarfed everything else, and 2 out of the 5 libraries I didn't need at all, they just came packaged along with everything.
This potentially saves 2-3MB, pre-compression, which is significant when the device only has 8MB flash.
This should be a fairly non-invasive change. Anything that depends on glib2 will still pull in all the libraries, albeit with 6 packages, not one, but packages can if they only need some of the libraries only depend on the individual libraries, as I've demonstrated wth gkrellmd.
Works for me!
Peter
Uhhh, don't you need to figure out then which packages need what exactly? Unless you assign the full version to all of them...
Uhhh, don't you need to figure out then which packages need what exactly? Unless you assign the full version to all of them...
Yes, ultimately. This can go in, first, without breaking anything, then packages that depend on glib2 can gradually be moved across to the fine-grained packages.
Let's go back on track. Multiple CI checks are failing.
- Formality one:
: === Checking commit '891ff7292b103fb5c06d8f9299db9703fa20ce5f'
: Author name (Peter Denison) seems ok
: Commit subject line MUST start with '<package name>: ' (Split glib2 package into separate library packages, to cut down on size)
: Signed-off-by is missing or doesn't match author (should be 'Signed-off-by: Peter Denison <[email protected]>')
- Compile ones:
Package glib2-gio is missing dependencies for the following libraries:
libgmodule-2.0.so.0
libgobject-2.0.so.0
make[2]: *** [Makefile:213: /builder/bin/packages/arm_cortex-a15_neon-vfpv4/packages_ci/glib2-gio_2.74.0-5_arm_cortex-a15_neon-vfpv4.ipk] Error 1
make[2]: Leaving directory '/feed/libs/glib2'
time: package/feeds/packages_ci/glib2/compile#0.47#0.30#0.62
ERROR: package/feeds/packages_ci/glib2 failed to build.
Let's go back on track. Multiple CI checks are failing. 1. Formality one:
: Commit subject line MUST start with '<package name>: ' (Split glib2 package into separate library packages, to cut down on size) : Signed-off-by is missing or doesn't match author (should be 'Signed-off-by: Peter Denison <[email protected]>')
Apologies for this, should be easy to fix - shall I redo the commit and do a new PR? Or can this be fixed in this PR?
2. Compile ones:Package glib2-gio is missing dependencies for the following libraries: libgmodule-2.0.so.0 libgobject-2.0.so.0 make[2]: *** [Makefile:213: /builder/bin/packages/arm_cortex-a15_neon-vfpv4/packages_ci/glib2-gio_2.74.0-5_arm_cortex-a15_neon-vfpv4.ipk] Error 1 make[2]: Leaving directory '/feed/libs/glib2' time: package/feeds/packages_ci/glib2/compile#0.47#0.30#0.62 ERROR: package/feeds/packages_ci/glib2 failed to build.
Gah - that's a typo - I'll fix that when I fix the above.
There is no reason to open a new PR. You can do it within existing one.
Dne po 30. 10. 2023 23:29 uživatel Peter Denison @.***> napsal:
Let's go back on track. Multiple CI checks are failing.
- Formality one:
: Commit subject line MUST start with '
: ' (Split glib2 package into separate library packages, to cut down on size) : Signed-off-by is missing or doesn't match author (should be 'Signed-off-by: Peter Denison @.***>') Apologies for this, should be easy to fix - shall I redo the commit and do a new PR? Or can this be fixed in this PR?
- Compile ones:
Package glib2-gio is missing dependencies for the following libraries: libgmodule-2.0.so.0 libgobject-2.0.so.0 make[2]: *** [Makefile:213: /builder/bin/packages/arm_cortex-a15_neon-vfpv4/packages_ci/glib2-gio_2.74.0-5_arm_cortex-a15_neon-vfpv4.ipk] Error 1 make[2]: Leaving directory '/feed/libs/glib2' time: package/feeds/packages_ci/glib2/compile#0.47#0.30#0.62 ERROR: package/feeds/packages_ci/glib2 failed to build.
Gah - that's a typo - I'll fix that when I fix the above.
— Reply to this email directly, view it on GitHub https://github.com/openwrt/packages/pull/22544#issuecomment-1786146872, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7IDVFXX3VOEZ5LAJB5C5TYCAS5LAVCNFSM6AAAAAA6VC24R2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBWGE2DMOBXGI . You are receiving this because you commented.Message ID: @.***>
@BKPepe this PR modifies Makefiles for both admin/gkrellmd and lib/glib2. Would it not make sense to split into two separate commits, better yet PRs?
@BKPepe this PR modifies Makefiles for both admin/gkrellmd and lib/glib2. Would it not make sense to split into two separate commits, better yet PRs?
I can certainly split into two commits if you think it would be clearer. I thought putting in one PR would make sense since the change to admin/gkrellmd is a template following the split on how to make use of the newly split packages. I'm happy to go with the consensus though.
@pnd10 no updates in over two years, still relevant?
@pnd10 no updates in over two years, still relevant?
Yes, I think it still is. I addressed all of the review comments, and it all went quiet. What do I have to do to actually have someone merge it, or should I just do it myself?