Page MenuHomePhabricator

build: document and cleanup Qt hacks
ClosedPublic

Authored by PiRK on Apr 10 2023, 14:12.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC0fa49f845d7c: build: document and cleanup Qt hacks
Summary

build: convert "echo" usage into a patch in qt package

build: pass XCODE_VERSION through to qt macOS cross compile conf

This should mostly be a no-op, however it would seem to make more sense
that we pass through the XCODE_VERSION we now have in depends, rather
than leaving the version set to 4.3.

build: remove plugin_no_soname from mac qt qmake.conf

plugin_no_soname was removed from Qt some time ago, see upstream commit
1d034244c261520d5e739534dc264c2500e02b5f. It was replaced with
plugin_with_soname, however that is currently only used (as of 5.15.x)
in the Android Clang mkspec.

build: don't copy Info.plist.* into mkspec for macOS qt build

We generate our own Info.plist as part of make deploy, and as far as I
can tell, it doesn't seem to have an effect wether these are present
during qt's build.

I also can't find a single mention of the .app plist in the qt code,
whereas there are multiple instances of .lib.

build: document preprocessing steps in qt package

build: remove global_init_link_order from mac qt qmake.conf

This has been around since the original import of Qt
(38be0d13830efd2d98281c645c3a60afe05ffece), however there
are now only two instatnces of it left in the qt codebase,
and from what I can gather, it's unused.

This is a backport of core#19867

Test Plan

gitian builds

Diff Detail

Repository
rABC Bitcoin ABC
Branch
qt_mk
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 23134
Build 45888: Build Diff
Build 45887: arc lint + arc unit

Event Timeline

PiRK requested review of this revision.Apr 10 2023, 14:12

@bot gitian-linux gitian-win gitian-osx

Tail of the build log:

[14:19:01]W:		 [Publishing artifacts] Artifacts path 'results/artifacts' not found
[14:19:01]i:	 [Step 1/1] ##teamcity[publishArtifacts '+:results/artifacts=>artifacts.tar.gz']
[14:19:04]E:	 [Step 1/1] Build gitian-osx failed with exit code 1
[14:19:01]i:	 [Step 1/1] ##teamcity[buildProblem timestamp='2023-04-10T14:19:01.559' description='Build gitian-osx failed with exit code 1']
[14:19:01] :	 [Step 1/1]  * [new branch]          master                 -> master
[14:19:01] :	 [Step 1/1] --- Building for bullseye amd64 ---
[14:19:01] :	 [Step 1/1] Stopping target if it is up
[14:19:01] :	 [Step 1/1] Error response from daemon: No such container: gitian-target
[14:19:01] :	 [Step 1/1] Error: No such container: gitian-target
[14:19:01] :	 [Step 1/1] Making a new image copy
[14:19:01] :	 [Step 1/1] Starting target
[14:19:01] :	 [Step 1/1] Checking if target is up.
[14:19:01] :	 [Step 1/1] Preparing build environment
[14:19:01] :	 [Step 1/1] Updating apt-get repository (log in var/install.log)
[14:19:01] :	 [Step 1/1] Installing additional packages (log in var/install.log)
[14:19:01] :	 [Step 1/1] Upgrading system, may take a while (log in var/install.log)
[14:19:01] :	 [Step 1/1] Creating package manifest
[14:19:01] :	 [Step 1/1] Creating build script (var/build-script)
[14:19:01] :	 [Step 1/1] Running build script (log in var/build.log)
[14:19:01] :	 [Step 1/1] ./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:185:in `build_one_configuration'
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:339:in `block (2 levels) in <main>'
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:334:in `each'
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:334:in `block in <main>'
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:332:in `each'
[14:19:01] :	 [Step 1/1] 	from ./bin/gbuild:332:in `<main>'
[14:19:01] :	 [Step 1/1] Build gitian-osx failed with exit code 1
[14:19:01]W:	 [Step 1/1] + RESULT=1
[14:19:01]W:	 [Step 1/1] + pushd /home/teamcity/infra
[14:19:01]W:	 [Step 1/1] + docker-compose stop apt-cache-proxy
[14:19:01] :	 [Step 1/1] ~/infra ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:19:01]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ... 
[14:19:12] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:19:12]W:	 [Step 1/1]  [1A [2K
[14:19:12]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ...  [32mdone [0m
[14:19:12]W:	 [Step 1/1]  [1B+ popd
[14:19:12]W:	 [Step 1/1] + exit 1
[14:19:12]W:	 [Step 1/1] Process exited with code 1
[14:19:12]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
[14:19:12] :	 [Step 1/1] Waiting for 1 service processes to complete
[14:19:12]E:	 [Step 1/1] Ant JUnit report watcher
[14:19:12]E:		 [Ant JUnit report watcher] No reports found for paths:
[14:19:12]E:		 [Ant JUnit report watcher] /home/teamcity/buildAgent/work/jailed-build/results/artifacts/junit/*.xml
[14:19:13]E:	 [Step 1/1] Step Command Line failed
[14:19:13]E: Ant JUnit report watcher
[14:19:13]E:	 [Ant JUnit report watcher] No reports found for paths:
[14:19:13]E:	 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[14:19:13]E:	 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[14:19:13] : Publishing internal artifacts (2s)
[14:19:15] :	 [Publishing internal artifacts] Publishing 1 file using [ArtifactsCachePublisher]
[14:19:15] :	 [Publishing internal artifacts] Publishing 1 file using [WebPublisher]
[14:19:13]W: Publishing artifacts (3s)
[14:19:13] :	 [Publishing artifacts] Collecting files to publish: [+:results/**/junit_results*.xml, +:bitcoin-abc/abc-ci-builds/gitian-osx/gitian-results => gitian-osx.tar.gz]
[14:19:13]W:	 [Publishing artifacts] Artifacts path 'results/**/junit_results*.xml' not found
[14:19:13] :	 [Publishing artifacts] Creating archive gitian-osx.tar.gz
[14:19:13] :		 [Creating archive gitian-osx.tar.gz] Creating /home/teamcity/buildAgent/temp/buildTmp/TarPreprocessor5217213721054598038/gitian-osx.tar.gz
[14:19:13] :		 [Creating archive gitian-osx.tar.gz] Archive was created, file size 7.75 KB (7939 bytes)
[14:19:16] :	 [Publishing artifacts] Publishing 1 file using [ArtifactsCachePublisher]: bitcoin-abc/abc-ci-builds/gitian-osx/gitian-results => gitian-osx.tar.gz
[14:19:16] :	 [Publishing artifacts] Publishing 1 file using [WebPublisher]: bitcoin-abc/abc-ci-builds/gitian-osx/gitian-results => gitian-osx.tar.gz
[14:19:17] : Build finished

Tail of the build log:

[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/39431 -> phabricator/diff/39431
[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/39459 -> phabricator/diff/39459
[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/39460 -> phabricator/diff/39460
[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/39468 -> phabricator/diff/39468
[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/8992  -> phabricator/diff/8992
[14:20:32] :	 [Step 1/1]  * [new tag]             phabricator/diff/8993  -> phabricator/diff/8993
[14:20:32] :	 [Step 1/1]  * [new branch]          master                 -> master
[14:20:32] :	 [Step 1/1] --- Building for bullseye amd64 ---
[14:20:32] :	 [Step 1/1] Stopping target if it is up
[14:20:32] :	 [Step 1/1] Making a new image copy
[14:20:32] :	 [Step 1/1] Starting target
[14:20:32] :	 [Step 1/1] Checking if target is up.
[14:20:32] :	 [Step 1/1] Preparing build environment
[14:20:32] :	 [Step 1/1] Updating apt-get repository (log in var/install.log)
[14:20:32] :	 [Step 1/1] Installing additional packages (log in var/install.log)
[14:20:32] :	 [Step 1/1] Upgrading system, may take a while (log in var/install.log)
[14:20:32] :	 [Step 1/1] Creating package manifest
[14:20:32] :	 [Step 1/1] Creating build script (var/build-script)
[14:20:32] :	 [Step 1/1] Running build script (log in var/build.log)
[14:20:32] :	 [Step 1/1] ./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:185:in `build_one_configuration'
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:339:in `block (2 levels) in <main>'
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:334:in `each'
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:334:in `block in <main>'
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:332:in `each'
[14:20:32] :	 [Step 1/1] 	from ./bin/gbuild:332:in `<main>'
[14:20:32] :	 [Step 1/1] Build gitian-linux failed with exit code 1
[14:20:33] :	 [Step 1/1] ~/infra ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:20:33]W:	 [Step 1/1] + RESULT=1
[14:20:33]W:	 [Step 1/1] + pushd /home/teamcity/infra
[14:20:33]W:	 [Step 1/1] + docker-compose stop apt-cache-proxy
[14:20:33]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ... 
[14:20:43]W:	 [Step 1/1]  [1A [2K
[14:20:43]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ...  [32mdone [0m
[14:20:43]W:	 [Step 1/1]  [1B+ popd
[14:20:43]W:	 [Step 1/1] + exit 1
[14:20:43] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:20:43]W:	 [Step 1/1] Process exited with code 1
[14:20:43]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
[14:20:43] :	 [Step 1/1] Waiting for 1 service processes to complete
[14:20:44]E:	 [Step 1/1] Ant JUnit report watcher
[14:20:44]E:		 [Ant JUnit report watcher] No reports found for paths:
[14:20:44]E:		 [Ant JUnit report watcher] /home/teamcity/buildAgent/work/jailed-build/results/artifacts/junit/*.xml
[14:20:44]E:	 [Step 1/1] Step Command Line failed
[14:20:45]E: Ant JUnit report watcher
[14:20:45]E:	 [Ant JUnit report watcher] No reports found for paths:
[14:20:45]E:	 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[14:20:45]E:	 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[14:20:45] : Publishing internal artifacts (5s)
[14:20:49] :	 [Publishing internal artifacts] Publishing 1 file using [ArtifactsCachePublisher]
[14:20:49] :	 [Publishing internal artifacts] Publishing 1 file using [WebPublisher]
[14:20:45]W: Publishing artifacts (6s)
[14:20:45] :	 [Publishing artifacts] Collecting files to publish: [+:results/**/junit_results*.xml, +:bitcoin-abc/abc-ci-builds/gitian-linux/gitian-results => gitian-linux.tar.gz]
[14:20:45]W:	 [Publishing artifacts] Artifacts path 'results/**/junit_results*.xml' not found
[14:20:45] :	 [Publishing artifacts] Creating archive gitian-linux.tar.gz
[14:20:45] :		 [Creating archive gitian-linux.tar.gz] Creating /home/teamcity/buildAgent/temp/buildTmp/TarPreprocessor5971079038893994729/gitian-linux.tar.gz
[14:20:45] :		 [Creating archive gitian-linux.tar.gz] Archive was created, file size 5.8 KB (5947 bytes)
[14:20:51] :	 [Publishing artifacts] Publishing 1 file using [ArtifactsCachePublisher]: bitcoin-abc/abc-ci-builds/gitian-linux/gitian-results => gitian-linux.tar.gz
[14:20:51] :	 [Publishing artifacts] Publishing 1 file using [WebPublisher]: bitcoin-abc/abc-ci-builds/gitian-linux/gitian-results => gitian-linux.tar.gz
[14:20:51] : Build finished

Tail of the build log:

[14:21:36] :	 [Step 1/1]  * [new tag]             phabricator/diff/39460 -> phabricator/diff/39460
[14:21:36] :	 [Step 1/1]  * [new tag]             phabricator/diff/39468 -> phabricator/diff/39468
[14:21:36] :	 [Step 1/1]  * [new tag]             phabricator/diff/8992  -> phabricator/diff/8992
[14:21:36] :	 [Step 1/1]  * [new tag]             phabricator/diff/8993  -> phabricator/diff/8993
[14:21:36] :	 [Step 1/1]  * [new branch]          master                 -> master
[14:21:36] :	 [Step 1/1] --- Building for bullseye amd64 ---
[14:21:36] :	 [Step 1/1] Stopping target if it is up
[14:21:36] :	 [Step 1/1] Error response from daemon: No such container: gitian-target
[14:21:36] :	 [Step 1/1] Error: No such container: gitian-target
[14:21:36] :	 [Step 1/1] Making a new image copy
[14:21:36] :	 [Step 1/1] Starting target
[14:21:36] :	 [Step 1/1] Checking if target is up.
[14:21:36] :	 [Step 1/1] Preparing build environment
[14:21:36] :	 [Step 1/1] Updating apt-get repository (log in var/install.log)
[14:21:36] :	 [Step 1/1] Installing additional packages (log in var/install.log)
[14:21:36] :	 [Step 1/1] Upgrading system, may take a while (log in var/install.log)
[14:21:36] :	 [Step 1/1] Creating package manifest
[14:21:36] :	 [Step 1/1] Creating build script (var/build-script)
[14:21:36] :	 [Step 1/1] Running build script (log in var/build.log)
[14:21:36] :	 [Step 1/1] ./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:185:in `build_one_configuration'
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:339:in `block (2 levels) in <main>'
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:334:in `each'
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:334:in `block in <main>'
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:332:in `each'
[14:21:36] :	 [Step 1/1] 	from ./bin/gbuild:332:in `<main>'
[14:21:36] :	 [Step 1/1] Build gitian-win failed with exit code 1
[14:21:36]W:	 [Step 1/1] + RESULT=1
[14:21:36]W:	 [Step 1/1] + pushd /home/teamcity/infra
[14:21:36]W:	 [Step 1/1] + docker-compose stop apt-cache-proxy
[14:21:36] :	 [Step 1/1] ~/infra ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:21:36]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ... 
[14:21:47]W:	 [Step 1/1]  [1A [2K
[14:21:47] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[14:21:47]W:	 [Step 1/1] Stopping abc-apt-cache-proxy ...  [32mdone [0m
[14:21:47]W:	 [Step 1/1]  [1B+ popd
[14:21:47]W:	 [Step 1/1] + exit 1
[14:21:47]W:	 [Step 1/1] Process exited with code 1
[14:21:47]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
[14:21:47] :	 [Step 1/1] Waiting for 1 service processes to complete
[14:21:47]E:	 [Step 1/1] Ant JUnit report watcher
[14:21:47]E:		 [Ant JUnit report watcher] No reports found for paths:
[14:21:47]E:		 [Ant JUnit report watcher] /home/teamcity/buildAgent/work/jailed-build/results/artifacts/junit/*.xml
[14:21:47]E:	 [Step 1/1] Step Command Line failed
[14:21:48]E: Ant JUnit report watcher
[14:21:48]E:	 [Ant JUnit report watcher] No reports found for paths:
[14:21:48]E:	 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[14:21:48]E:	 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[14:21:48] : Publishing internal artifacts (4s)
[14:21:52] :	 [Publishing internal artifacts] Publishing 1 file using [ArtifactsCachePublisher]
[14:21:52] :	 [Publishing internal artifacts] Publishing 1 file using [WebPublisher]
[14:21:48]W: Publishing artifacts (4s)
[14:21:48] :	 [Publishing artifacts] Collecting files to publish: [+:results/**/junit_results*.xml, +:bitcoin-abc/abc-ci-builds/gitian-win/gitian-results => gitian-win.tar.gz]
[14:21:48]W:	 [Publishing artifacts] Artifacts path 'results/**/junit_results*.xml' not found
[14:21:48] :	 [Publishing artifacts] Creating archive gitian-win.tar.gz
[14:21:48] :		 [Creating archive gitian-win.tar.gz] Creating /home/teamcity/buildAgent/temp/buildTmp/TarPreprocessor6577724309940558370/gitian-win.tar.gz
[14:21:48] :		 [Creating archive gitian-win.tar.gz] Archive was created, file size 5.31 KB (5440 bytes)
[14:21:52] :	 [Publishing artifacts] Publishing 1 file using [ArtifactsCachePublisher]: bitcoin-abc/abc-ci-builds/gitian-win/gitian-results => gitian-win.tar.gz
[14:21:52] :	 [Publishing artifacts] Publishing 1 file using [WebPublisher]: bitcoin-abc/abc-ci-builds/gitian-win/gitian-results => gitian-win.tar.gz
[14:21:52] : Build finished
PiRK planned changes to this revision.Apr 10 2023, 14:28

@bot gitian-win gitian-osx

This revision is now accepted and ready to land.Apr 11 2023, 11:48
This revision was automatically updated to reflect the committed changes.