-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] CI builds for SFOS 2.2.0 are abnormally large #45
Comments
@nephros, do you have any idea, why this happens? Briefly looking at the logs did not provide me with any clue. |
I can only guess - likely a difference in the SDK Setup. Either there is some link bloat happening (e.g. unnnecessary libs linked into the binary). Could also be that the binaries are not stripped. IIRC all "modern" build setups split up generated rpms into regular binary RPM plus the -debuginfo one. I seem to remember from waaay back that adding On a lower level, from a quick web search it seems the RPM macro |
Another approach: https://doc.qt.io/qt-5/qmake-variable-reference.html#installs Perhaps the [EDIT]: Nope, doesn't look like it: https://github.com/sailfishos/libsailfishapp/blob/master/data/sailfishapp.prf |
I can confirm all of these statements. BTW, this is also applicable to OBS' debug-flag at Thank you for the brainstorming: I will extract the binaries from the ballooned RPM file some day and check if they have debug-info embedded. P.S.: Another idea is to try if utilising Coderus' SDK-image for SFOS 2.2.1 yields a different result than the one for 2.2.0. |
Tested with 2.2.1.18: Same result, 4436972 bytes raw / 4421693 Bytes gzip'ped RPM for i486 only (thus > 8 GB for i486 & armv7hl, as observed with SDK for 2.2.0). |
Tested with 3.0.0.8: Same result, 4437256 bytes raw / 4421989 Bytes gzip'ped RPM for i486 only (thus > 8 GB for i486 & armv7hl, as observed with SDK for 2.2.0). |
Tested with 3.0.1.11: Same result, 4436976 bytes raw / 4421709 Bytes gzip'ped RPM for i486 only (thus > 8 GB for i486 & armv7hl, as observed with SDK for 2.2.0). |
Tested with 3.0.2.8: Now down to 541568 bytes raw / 525117 Bytes gzip'ped RPM for i486 only (thus ~ 1 GB for i486 & armv7hl, as observed with SDK for 3.1.0). |
* Update README.md * Update README.md: Fix typo * Use 3.0.2 to address issue #45 (#53) * [build-on-pull_req.yml] Try 2.2.1 to address issue #45 * [build-on-pull_req.yml] Try 3.0.0.8 to address issue #45 * build-on-pull_req.yml] Try 3.0.1.11 to address issue #45 * [build-on-pull_req.yml] Use 3.0.2.8 to address issue #45 * [build-on-tags.yml] Use SDKs for 3.0.2 & 3.2.0 instead of 3.1.0 * [filecase.spec] Add `BuildRequires: pkgconfig(Qt5Xml)` to fix issue #54 (#55) [Contributed](#54 (comment)) by @nephros * [filecase.spec] Up to `rc3` for a test
Exactly the same effect of ballooned binaries when building with Coderus' SDK-images 2.2.0, 2.2.1, 3.0.0 and 3.0.1 (but 3.0.2+ is fine) is observed for FlowPlayer. |
While I don't think it's the case with this issue, one reason for unstripped binaries being packaged binaries was OBS builder running out of disk space during stripping: |
Thank you for the hint, but I also do not think that GitHub-workflows run out of disk space easily. I still have to take a closer look at the resulting, oversized RPMs rsp. their content and specifically if the contained binaries are stripped or not (i.e contain debug symbols). This is on my ToDo list but with low priority, hence becomes moved down the list again and again. |
I found this sailfishos/meego-rpm-config@879399a which changes behaviour of the rpm stripper script (find command within). Also comparing the files Whether or not the different calls to |
@nephros, thank you very much for having continued research on this phenomenon. I also think you have found the root cause of it, though I still do not fully comprehend what exactly is happening. Still, you opened a path to a solution which seems to be well viable even with rough / partial understanding why this occurs. Ultimately your efforts triggered me to perform the inevitable: a thorough analysis what the effects are in detail. For a good part because I was increasingly having the impression you spend more time on this than me in my role as a repo maintainer, which I and maybe also bystanders may perceive as an imbalance, socially. Well, on to the technical stuff:
Consequently P.S.: Using the option |
Do I understand correctly that the idea of putting an excerpt from your finding into the P.S.: I think I finally understood, why setting up a build environment with Scratchbox2 (SB2) / MB2 is much easier than employing "real" cross-compilation (despite being much slower): I expect many such corner-cases (as with |
I have not the slightest idea, sorry. |
Please do not feel pressured by anything I do - I find myself drifting from project to project at the moment, tackling small stuff here and there after something bigger somewhere else has proven frustrating - not really getting anything done for good :) |
I will give it a try.
Sometimes a little pressure felt can be quite helpful, at least for me.
Well, you are always very helpful with your expertise and actions for me. But I know this state very well; basically all my actions at GitHub are to feel successful every now and then, despite many will perceive me as successful IRL, too, but I do not perceive it that way. |
SailfishOS VERSION (Settings → About product → Build): Coderus' SDK docker-images 2.2.0, 2.2.1, 3.0.0 & 3.0.1
HARDWARE (Settings → About product → Manufacturer & Product name): GitHub CI → Docker → Coderus' SDK-image → Scratchbox2 / MB2
FileCase VERSION (FileCase → [Top pulley] Settings → [Top pulley] About): all versions, e.g. 0.4.2-rc1
BUG DESCRIPTION
CI builds for SFOS 2.2.0 to 3.0.1 are abnormally large: > 4 MBytes, which is a magnitude larger than the usual 400 - 500 KBytes for all other CI builds.
See: https://github.com/sailfishos-applications/filecase/releases/tag/rc1%2F0.4.2
STEPS TO REPRODUCE
Trigger the
ci-on-tags
workflow by setting an appropriate git-tag.Exemplary workflow (including logs) yielding the aforementioned result: https://github.com/sailfishos-applications/filecase/actions/runs/6681032070
ADDITIONAL INFORMATION
N/A
The text was updated successfully, but these errors were encountered: