glib2: Split package into separate library packages, to cut down on size#22544
glib2: Split package into separate library packages, to cut down on size#22544pnd10 wants to merge 2 commits intoopenwrt:masterfrom
Conversation
|
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... |
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.
|
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?
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.
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 ***@***.***>')
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.
—
Reply to this email directly, view it on GitHub
<#22544 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA7IDVFXX3VOEZ5LAJB5C5TYCAS5LAVCNFSM6AAAAAA6VC24R2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBWGE2DMOBXGI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
a0ba7ad to
40872fd
Compare
|
@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. |
40872fd to
3322d75
Compare
|
@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? |
pprindeville
left a comment
There was a problem hiding this comment.
Needs PKG_RELEASE bumps but other than that looks okay.
8b4d77a to
11ed41c
Compare
Existing package contains five libraries, some of which are > 1MB. Allow packages which depend on only some of them to only pull in the ones they need by splitting this package into finer-grained packages. Transition can be done piecemeal as depending on glib2 will still pull in all the libraries. Signed-off-by: Peter Denison <openwrt@marshadder.org>
Following the split of glib2, depend on the more fine-grained packages to reduce the installed size. Gkrellmd only needs to depend on the core glib2 library, gmodule and gthread, and not on gobject or gio. Signed-off-by: Peter Denison <openwrt@marshadder.org>
11ed41c to
61d2e54
Compare
Maintainer: Peter Wagner tripolar@gmx.at
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