Skip to content
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

guix: remove bzip2 from deps #29895

Merged
merged 11 commits into from Apr 29, 2024
Merged

guix: remove bzip2 from deps #29895

merged 11 commits into from Apr 29, 2024

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Apr 16, 2024

This moves packages in depends that use .tar.bzip2 to .tar.gz (which is what we use for our own release tarballs). Doing so means we can drop bzip2 from our Guix release env. You can observe that Guix building master without it would currently fail:

diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index 8f13c642d3..96818c7748 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -499,7 +499,6 @@ inspecting signatures in Mach-O binaries.")
         moreutils
         ;; Compression and archiving
         tar
-        bzip2
         gzip
         xz
         ;; Build tools

FORCE_DIRTY_WORKTREE=1 ./contrib/guix/guix-build

Extracting boost...
/sources/boost_1_81_0.tar.bz2: OK
tar (child): lbzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Guix Build:

8f6959d01ae972bae1340dfaf18753607152eca9844e6d8c4fa128314a4ba762  guix-build-b8e084b9781e/output/aarch64-linux-gnu/SHA256SUMS.part
3c9c1cc000e3e6b7c2853c9d530c9afa1c880a43e7ab4c766aaa88283ff0908c  guix-build-b8e084b9781e/output/aarch64-linux-gnu/bitcoin-b8e084b9781e-aarch64-linux-gnu-debug.tar.gz
f45fbece697b450538aded11f568e92b2af391e873e113c3038d022eff41688f  guix-build-b8e084b9781e/output/aarch64-linux-gnu/bitcoin-b8e084b9781e-aarch64-linux-gnu.tar.gz
08295d770c11b2057206f98aaf4123007c7475bd942840d048f5f9d5efec1ce1  guix-build-b8e084b9781e/output/arm-linux-gnueabihf/SHA256SUMS.part
0a0db6967168019b8b890ec4d31b3a87a88c4956b703938ec4447d514cfc231e  guix-build-b8e084b9781e/output/arm-linux-gnueabihf/bitcoin-b8e084b9781e-arm-linux-gnueabihf-debug.tar.gz
3d1538e8bf4edfb66a4875198dfa90b79dcfe44eb9c4e76e47d73a18175c838a  guix-build-b8e084b9781e/output/arm-linux-gnueabihf/bitcoin-b8e084b9781e-arm-linux-gnueabihf.tar.gz
87e7805155dbed3bd64763f199ea63843ed8c4eb37873753c7e60b0b42565eaf  guix-build-b8e084b9781e/output/arm64-apple-darwin/SHA256SUMS.part
fa33590296aeae2b738b023a4cbf2de4a4e06662a5f7d407c251a8af714bd587  guix-build-b8e084b9781e/output/arm64-apple-darwin/bitcoin-b8e084b9781e-arm64-apple-darwin-unsigned.tar.gz
32b8fbbdf240f9f08e44c7bb0a8ea2e8a40537e59ec2231cf6635edc6592f226  guix-build-b8e084b9781e/output/arm64-apple-darwin/bitcoin-b8e084b9781e-arm64-apple-darwin-unsigned.zip
d176f3b7c8140c8dfde03bd87fd5abd4a89b497ba11fa6849bc92a33cb621a07  guix-build-b8e084b9781e/output/arm64-apple-darwin/bitcoin-b8e084b9781e-arm64-apple-darwin.tar.gz
5273b17087e3565ab042a7989cfba71cf1629331d0267137d7eccabee1a06a13  guix-build-b8e084b9781e/output/dist-archive/bitcoin-b8e084b9781e.tar.gz
b84a9180181994a6a17a1c2a4701f8ba5a82654233d5a8afcf596d28dd8b3924  guix-build-b8e084b9781e/output/powerpc64-linux-gnu/SHA256SUMS.part
fd3396f6b64425a31b5a3565ab4d8a1c1668c291349a0f9e9b8904dad04ee24c  guix-build-b8e084b9781e/output/powerpc64-linux-gnu/bitcoin-b8e084b9781e-powerpc64-linux-gnu-debug.tar.gz
73cb4bd2a67934c93ea8e3f3bc04b8917627ec09d75c151bb01977bba97522c8  guix-build-b8e084b9781e/output/powerpc64-linux-gnu/bitcoin-b8e084b9781e-powerpc64-linux-gnu.tar.gz
15938e7f0f71303b96566d60e3b255816e7fd70d628601e592e1d6840eb8d2a1  guix-build-b8e084b9781e/output/riscv64-linux-gnu/SHA256SUMS.part
408b4973865e3a77be833438f71181fd88acd0490127257b3667309e8421030e  guix-build-b8e084b9781e/output/riscv64-linux-gnu/bitcoin-b8e084b9781e-riscv64-linux-gnu-debug.tar.gz
a5c02144ffb79cfa0179ff0d7ac0f81192ef1d3b1acfad334adf486e50b776bb  guix-build-b8e084b9781e/output/riscv64-linux-gnu/bitcoin-b8e084b9781e-riscv64-linux-gnu.tar.gz
de904843d8bb8601a2d763701ebb929e61b447e01040267a12149a2902489535  guix-build-b8e084b9781e/output/x86_64-apple-darwin/SHA256SUMS.part
414cb3cf3fa10b9a3cda47e98858222f01fdd164371dd54761642e6793099849  guix-build-b8e084b9781e/output/x86_64-apple-darwin/bitcoin-b8e084b9781e-x86_64-apple-darwin-unsigned.tar.gz
6ce43d7f007bf17eca16d3ee48190318e09aacd82c5396f9565e6345ec6bd2fa  guix-build-b8e084b9781e/output/x86_64-apple-darwin/bitcoin-b8e084b9781e-x86_64-apple-darwin-unsigned.zip
24eba9c0dd1312a68c2b2a800cc915595e343c0ead982b6cbe025abe7a7bff19  guix-build-b8e084b9781e/output/x86_64-apple-darwin/bitcoin-b8e084b9781e-x86_64-apple-darwin.tar.gz
2869a01ce847298950a91b3b8514bc8fa39cc274a8e9cd4f68f4f038c1bb3040  guix-build-b8e084b9781e/output/x86_64-linux-gnu/SHA256SUMS.part
3f63e1d3b19b640d3994074b344d595bcd6fca420a1a8669b63b4ad22978308b  guix-build-b8e084b9781e/output/x86_64-linux-gnu/bitcoin-b8e084b9781e-x86_64-linux-gnu-debug.tar.gz
ccc3eb8eb56c1596981e81c8c95cadee3db799ed69b0cd1fb1e102da10adacfb  guix-build-b8e084b9781e/output/x86_64-linux-gnu/bitcoin-b8e084b9781e-x86_64-linux-gnu.tar.gz
1ff6dab6dcde9ddbbe407cca02119c4a5d545034c91389a1c647020902b7b40e  guix-build-b8e084b9781e/output/x86_64-w64-mingw32/SHA256SUMS.part
a91c2247fd9d886e3f3ada551c0a4f9f7ffc4874e07ea5ab9de14f2743b9b8c7  guix-build-b8e084b9781e/output/x86_64-w64-mingw32/bitcoin-b8e084b9781e-win64-debug.zip
6fbc8d5df571fd535990370009bdfcbb37b9697c33446a08eadb1279ba6e4649  guix-build-b8e084b9781e/output/x86_64-w64-mingw32/bitcoin-b8e084b9781e-win64-setup-unsigned.exe
38f7a981fd2999c1e138860e1ddc183dafec090d867e37f5ab5c2d48ad4ef9ee  guix-build-b8e084b9781e/output/x86_64-w64-mingw32/bitcoin-b8e084b9781e-win64-unsigned.tar.gz
88aca0a40a64a289617aad060a9ccf8c78bc6a201470720d8caf48d793d5207f  guix-build-b8e084b9781e/output/x86_64-w64-mingw32/bitcoin-b8e084b9781e-win64.zip

@DrahtBot
Copy link
Contributor

DrahtBot commented Apr 16, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK laanwj
Concept ACK hebasto, Sjors

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #29959 ([PoC] qt, depends: Add wayland support without build-time nor fixed run-time deps by laanwj)
  • #29923 (depends: Remove Qt build-time dependencies by laanwj)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@laanwj
Copy link
Member

laanwj commented Apr 17, 2024

i'm divided on this conceptually, i think with the reputation it has now, another successful attack on xz specifically is unlikely (not more likely than any other library, at least). And i'm not sure we need to go out of our way to avoid it given how much of the FOSS ecosystem relies on it.

One thing i am slightly afraid of is that in avoiding xz we become more sloppy about dependencies in other ways. Not saying that that is happening here.

But e.g. not being able to use the primary source for a project anymore like for xkbcommon is something to think about. But maybe the github-generated tarball is actually better? Unlike the bootstrapped one it shouldn't. contain any extra files besides what's in the git repo, and we can check this. After all, the xz backdoor used one of these autotools "bonus" files to hide in.

Putting that aside, there is a real question of if we want to consolidate all packages in depends to one type of tarball

That said i do like the elegance of having only one kind of input format for the guix builder. It's generally good to drop dependencies from guix.

@maflcko
Copy link
Member

maflcko commented Apr 17, 2024

Not sure about the benefit to make extra steps to use a possibly non-standard, possibly easier to backdoor, mirrored tarball.

An alternative might be to completely skip the step of tarballs and instead use the upstream source control directly?

@fanquake
Copy link
Member Author

And i'm not sure we need to go out of our way to avoid it given how much of the FOSS ecosystem relies on it.

Yea. xz was a way to start a discussion. It could turn out that we actually consolidate everything to xz, and actually drop bzip2 for example.

possibly easier to backdoor, mirrored tarball.
and instead use the upstream source control directly

If anything, I'd hope it's less easy to backdoor, because it's just the source code, and not all the bootstrapped garbage we don't need. This is using the tag from the official upstream source control.

@laanwj
Copy link
Member

laanwj commented Apr 17, 2024

Not sure about the benefit to make extra steps to use a possibly non-standard, possibly easier to backdoor, mirrored tarball.

Mind that we do verify the sha256 hash. The person introducing it has to check, once, that the tarball matches exactly what is in git (and reviewers can verify this). i don't think there's a win in making every guix buid do a git (or other scm) checkout of all dependencies. That leaves more of a network attack surface too and makes it harder to mirror safely, not easier.

@maflcko
Copy link
Member

maflcko commented Apr 17, 2024

The person introducing it has to check, once, that the tarball matches exactly what is in git (and reviewers can verify this)

I think it could make sense to specifically mention this on bumps, going forward. Maybe there could even be a new target written in depends to do the check?

@maflcko
Copy link
Member

maflcko commented Apr 17, 2024

If anything, I'd hope it's less easy to backdoor, because it's just the source code, and not all the bootstrapped garbage we don't need. This is using the tag from the official upstream source control.

Oh, I see. So the motivation is to drop, possibly non-determinisically created, "bootstrapped garbage"? Concept +1 on this.

I am just not sure on dropping $compression_tool. I presume guix internally requires it to bootstrap to a point where Bitcoin Core can be compiled, as many guix sources are compressed tarballs. So effectively $compression_tool will still be compiled and exist in guix, just not be present during the compilation of Bitcoin Core.

@fanquake
Copy link
Member Author

Something a bit more concrete. We could consolidate all packages in depends to .tar.gz (which is also what we use for releases), and drop bzip2 and eventually xz.

Oh, I see. So the motivation is to drop, possibly non-determinisically created, "bootstrapped garbage"? Concept +1 on this.

We could also start doing this now, but it may be somewhat cleaner to do when packages are using CMake, so if reviewers want we could look at switching any of the open CMake depends PRs to downloading unbootstrapped tarballs.

@hebasto
Copy link
Member

hebasto commented Apr 18, 2024

Concept ACK on consolidating archive formats.

@maflcko
Copy link
Member

maflcko commented Apr 18, 2024

Something a bit more concrete. We could consolidate all packages in depends to .tar.gz (which is also what we use for releases), and drop bzip2 and eventually xz.

Again, I don't understand what the goal is. I doubt that removing xz as a dependency is doable. For example, gcc seems to be fetched as a xz archive (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gcc.scm#n803)? Even if it wasn't, I am sure there are other guix packages that depend on xz.

@fanquake
Copy link
Member Author

Again, I don't understand what the goal is.

The goal is to remove things we don't use. If we don't need bzip2, then I don't see a reason to keep it in our build release environment. Same reasoning for any other dep. Also, just because some thing may be used somewhere in the Guix bootstrap chain, isn't a reason to explicitly include it in our release env unnecessarily.

@fanquake fanquake changed the title [RFC] guix: remove xz from deps [RFC] guix: remove bzip2 (and almost xz) from deps Apr 18, 2024
@Sjors
Copy link
Member

Sjors commented Apr 19, 2024

Something a bit more concrete. We could consolidate all packages in depends to .tar.gz (which is also what we use for releases), and drop bzip2 and eventually xz.

Concept ACK. From your commits I gather that most stuff we use, provides .tar.gz at the same location we got the source from before.

Only QT and libxkbcommon require fetching code from Github. If they ever move away from Github to a platform that doesn't automatically generate .tar.gz files (Gitlab does), we could either revert or use git clone instead.

An alternative might be to completely skip the step of tarballs and instead use the upstream source control directly?

This could make sense, but the fact that this source is almost always Github makes me a bit uneasy. OTOH that's why we have $(package)_sha256_hash and FALLBACK_DOWNLOAD_PATH. Anyway, for now this PR mostly maintains the download pages we used before.

So the motivation is to drop, possibly non-determinisically created, "bootstrapped garbage"?

Also concept ACK.

@bitcoin bitcoin deleted a comment from Satoshin-Btc Apr 19, 2024
@fanquake fanquake changed the title [RFC] guix: remove bzip2 (and almost xz) from deps guix: remove bzip2 from deps Apr 19, 2024
@maflcko
Copy link
Member

maflcko commented Apr 19, 2024

The current set of the changes look fine. However, to actually review all 10 changed packages, it would be nice to have a script that prints whether the tarball has any differences from the upstream source control it claims to come from.

@fanquake
Copy link
Member Author

Changed to drop the xz changes, and just switch tar.bzip2 tarballs to using tar.gz (same as release tarballs), so we can drop bzip2 as a Guix dep.

it would be nice to have a script that prints whether the tarball has any differences from the upstream source control it claims to come from.

Sure, we can have a script. Note that the current tarballs will already differ in that sense.

@laanwj
Copy link
Member

laanwj commented Apr 26, 2024

The current set of the changes look fine. However, to actually review all 10 changed packages, it would be nice to have a script that prints whether the tarball has any differences from the upstream source control it claims to come from.

i expect the gz and bz2 are the same tar data just compressed with a different compressor. Going to check, though.

This, along with seeing if the guix binary output is the same (apart from version markers) before and after this PR.

@laanwj
Copy link
Member

laanwj commented Apr 26, 2024

Always some surprises...

#!/usr/bin/env python3
from os import path
import os
from subprocess import run
import bz2
import gzip

GIT='git'
TMPDIR='tmp_checkout'
BRANCH='remove_xz_guix'
BASE_COMMIT='c05c214f2e9cfd6070a3c7680bfa09358fd9d97a'

def compare_streams(f, g, bsize=1024*1024):
    while True:
        b1 = f.read(bsize)
        b2 = g.read(bsize)
        if b1 != b2:
            return False
        if len(b1) == 0 and len(b2) == 0: # Both at EOF
            break
    return True

run([GIT, 'clone', '--depth', '20', '--single-branch', '-b', BRANCH, 'https://github.com/fanquake/bitcoin.git', TMPDIR], check=True)

os.chdir(path.join(TMPDIR, 'depends'))

# download and checksum packages from PR
run([GIT, 'checkout', BRANCH], check=True)
run(['make', 'download'], check=True)

# download and checksum packages from base commit
run([GIT, 'checkout', BASE_COMMIT], check=True)
run(['make', 'download'], check=True)

# check compressed data
SOURCES=[
    'boost_1_81_0.tar',
    'qrencode-4.1.1.tar',
    'libXau-1.0.9.tar',
    'xproto-7.0.31.tar',
    'fontconfig-2.12.6.tar',
    'xcb-util-0.4.0.tar',
    'xcb-util-renderutil-0.3.9.tar',
    'xcb-util-keysyms-0.4.0.tar',
    'xcb-util-image-0.4.0.tar',
    'xcb-util-wm-0.4.1.tar'
]
fail = False
for source in SOURCES:
    print(f'Checking {source}')
    with bz2.open(path.join('sources', source) + '.bz2', 'rb') as f, \
         gzip.open(path.join('sources', source) + '.gz', 'rb') as g:
        if not compare_streams(f, g):
            print(f'Mismatch for {source}')
            fail = True

if not fail:
    print('Passed checks')
else:
    print('There were failures')

Output:

Checking boost_1_81_0.tar
Checking qrencode-4.1.1.tar
Mismatch for qrencode-4.1.1.tar
Checking libXau-1.0.9.tar
Checking xproto-7.0.31.tar
Checking fontconfig-2.12.6.tar
Checking xcb-util-0.4.0.tar
Checking xcb-util-renderutil-0.3.9.tar
Checking xcb-util-keysyms-0.4.0.tar
Checking xcb-util-image-0.4.0.tar
Checking xcb-util-wm-0.4.1.tar
There were failures

Will check the qrencode one...

@Sjors
Copy link
Member

Sjors commented Apr 26, 2024

@laanwj did you mean '-b', BRANCH instead of '-b', branch?

I also get a difference on qrencode when running this on macOS 13.6.6 with Python 3.12.1.

@laanwj
Copy link
Member

laanwj commented Apr 26, 2024

Contents are the same, there is a slight difference in the metadata:

--- qrencode-4.1.1.tar_gz.hex   2024-04-26 11:58:29.335356741 +0200
+++ qrencode-4.1.1.tar_bz2.hex  2024-04-26 11:58:16.387499575 +0200
@@ -4,7 +4,7 @@
 00000060  00 00 00 00 30 30 30 30  37 35 35 00 30 30 30 31  |....0000755.0001|
 00000070  37 35 30 00 30 30 30 31  37 35 30 00 30 30 30 30  |750.0001750.0000|
 00000080  30 30 30 30 30 30 30 00  31 33 37 33 34 33 30 33  |0000000.13734303|
-00000090  36 36 36 00 30 31 30 33  33 31 00 20 35 00 00 00  |666.010331. 5...|
+00000090  36 36 34 00 30 31 30 33  32 37 00 20 35 00 00 00  |664.010327. 5...|
 000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00000140  00 00 00 00 00 00 00 00  00 30 30 30 30 30 30 30  |.........0000000|
@@ -18,7 +18,7 @@
 00000260  00 00 00 00 30 30 30 30  37 35 35 00 30 30 30 31  |....0000755.0001|
 00000270  37 35 30 00 30 30 30 31  37 35 30 00 30 30 30 30  |750.0001750.0000|
 00000280  30 30 30 30 30 30 30 00  31 33 37 33 34 33 30 33  |0000000.13734303|
-00000290  36 36 36 00 30 31 31 34  31 31 00 20 35 00 00 00  |666.011411. 5...|
+00000290  36 36 34 00 30 31 31 34  30 37 00 20 35 00 00 00  |664.011407. 5...|
 000002a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00000340  00 00 00 00 00 00 00 00  00 30 30 30 30 30 30 30  |.........0000000|
@@ -14956,7 +14956,7 @@
 0003c860  00 00 00 00 30 30 30 30  37 35 35 00 30 30 30 31  |....0000755.0001|
 0003c870  37 35 30 00 30 30 30 31  37 35 30 00 30 30 30 30  |750.0001750.0000|
 0003c880  30 30 30 30 30 30 30 00  31 33 37 33 34 33 30 33  |0000000.13734303|
-0003c890  36 36 36 00 30 31 31 31  32 35 00 20 35 00 00 00  |666.011125. 5...|
+0003c890  36 36 34 00 30 31 31 31  32 33 00 20 35 00 00 00  |664.011123. 5...|
 0003c8a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 0003c940  00 00 00 00 00 00 00 00  00 30 30 30 30 30 30 30  |.........0000000|
@@ -78254,7 +78254,7 @@
 00136060  00 00 00 00 30 30 30 30  37 35 35 00 30 30 30 31  |....0000755.0001|
 00136070  37 35 30 00 30 30 30 31  37 35 30 00 30 30 30 30  |750.0001750.0000|
 00136080  30 30 30 30 30 30 30 00  31 33 37 33 34 33 30 33  |0000000.13734303|
-00136090  36 36 36 00 30 31 31 34  37 33 00 20 35 00 00 00  |666.011473. 5...|
+00136090  36 36 34 00 30 31 31 34  37 31 00 20 35 00 00 00  |664.011471. 5...|
 001360a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00136140  00 00 00 00 00 00 00 00  00 30 30 30 30 30 30 30  |.........0000000|

A two-second difference in the times for four of the directories!

--- la  2024-04-26 12:01:39.429259873 +0200
+++ lb  2024-04-26 12:01:44.405204988 +0200
@@ -1,5 +1,5 @@
-drwxr-xr-x 1000/1000         0 2020-09-28 08:50:28 qrencode-4.1.1/
-drwxr-xr-x 1000/1000         0 2020-09-28 08:50:28 qrencode-4.1.1/cmake/
+drwxr-xr-x 1000/1000         0 2020-09-28 08:50:30 qrencode-4.1.1/
+drwxr-xr-x 1000/1000         0 2020-09-28 08:50:30 qrencode-4.1.1/cmake/
 -rw-r--r-- 1000/1000      4004 2020-08-29 11:02:17 qrencode-4.1.1/cmake/FindIconv.cmake
 -rw-r--r-- 1000/1000      3901 2020-09-28 08:47:44 qrencode-4.1.1/rsecc.c
 -rw-r--r-- 1000/1000     20478 2020-09-28 08:47:44 qrencode-4.1.1/qrencode.c
@@ -14,7 +14,7 @@
 -rw-r--r-- 1000/1000     44031 2020-09-28 08:50:07 qrencode-4.1.1/Makefile.in
 -rw-r--r-- 1000/1000      7628 2020-09-28 03:16:22 qrencode-4.1.1/CMakeLists.txt
 -rw-r--r-- 1000/1000     54476 2020-08-29 11:02:17 qrencode-4.1.1/acinclude.m4
-drwxr-xr-x 1000/1000         0 2020-09-28 08:50:28 qrencode-4.1.1/use/
+drwxr-xr-x 1000/1000         0 2020-09-28 08:50:30 qrencode-4.1.1/use/
 -rwxr-xr-x 1000/1000     13997 2015-05-05 10:30:10 qrencode-4.1.1/use/install-sh
 -rw-r--r-- 1000/1000    324404 2016-05-17 17:15:27 qrencode-4.1.1/use/ltmain.sh
 -rwxr-xr-x 1000/1000      7333 2015-05-05 10:30:10 qrencode-4.1.1/use/compile
@@ -29,7 +29,7 @@
 -rw-r--r-- 1000/1000      2570 2020-09-28 03:20:17 qrencode-4.1.1/config.h.in
 -rw-r--r-- 1000/1000      4342 2020-09-28 08:47:44 qrencode-4.1.1/qrencode.1.in
 -rwxr-xr-x 1000/1000    503759 2020-09-28 03:20:03 qrencode-4.1.1/configure
-drwxr-xr-x 1000/1000         0 2020-09-28 08:50:28 qrencode-4.1.1/tests/
+drwxr-xr-x 1000/1000         0 2020-09-28 08:50:30 qrencode-4.1.1/tests/
 -rw-r--r-- 1000/1000     88787 2020-08-29 11:02:17 qrencode-4.1.1/tests/URI_testset.inc
 -rw-r--r-- 1000/1000     31523 2020-09-28 03:16:22 qrencode-4.1.1/tests/test_qrinput.c
 -rw-r--r-- 1000/1000      6277 2020-08-29 17:40:00 qrencode-4.1.1/tests/test_bitstream.c

Well it's weird but i guess we can let this slide, for this time 😄

@laanwj did you mean '-b', BRANCH instead of '-b', branch?

Fixed, thanks.

Copy link
Member

@laanwj laanwj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compared the binaries. bitcoin-qt has three differences:

  • _Z17FormatFullVersionB5cxx11v
  • version string in .rodata section
  • checksum in .debug_info section

This is fully expected (no weird changes from dropping bzip2 from the build env). ACK b8e084b

@DrahtBot DrahtBot requested review from Sjors and hebasto April 26, 2024 11:21
@fanquake fanquake merged commit a46065e into bitcoin:master Apr 29, 2024
16 checks passed
@fanquake fanquake deleted the remove_xz_guix branch April 29, 2024 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants