Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Nov 7, 2020

ds_store now takes advantage of Pythons ability to decode binary plists (since 3.4), so we can drop its biplist dependency.

The call to biplist.Data() in custom_dsstore.py doesn't seem to do anything, and from what I can tell can just be removed. i.e:

diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
index dc1c1882d..e475bc6c3 100755
--- a/contrib/macdeploy/custom_dsstore.py
+++ b/contrib/macdeploy/custom_dsstore.py
@@ -47,6 +47,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
 alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
 alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
 alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
+assert(biplist.Data(alias.to_bytes()) == alias.to_bytes())
 icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
 ds['.']['icvp'] = icvp

@hebasto
Copy link
Member

hebasto commented Nov 7, 2020

Concept ACK.

@DrahtBot
Copy link
Contributor

Gitian builds

File commit 7e37329
(master)
commit 1c078d8
(master and this pull)
*-aarch64-linux-gnu-debug.tar.gz 83c77088c64ce35f... 6aa52e16d013a70a...
*-aarch64-linux-gnu.tar.gz 36ed972b65709cc9... 91da9996ccd12b7a...
*-arm-linux-gnueabihf-debug.tar.gz 116e04dba520d05a... f372426e5e576945...
*-arm-linux-gnueabihf.tar.gz ac7ef6850d92f55c... 08f3d023194c8782...
*-osx-unsigned.dmg 8881d819b5a03e1d... 4605e06d1fcdf05d...
*-osx64.tar.gz bcf7429bd9891ff3... 940a479d5988f5c4...
*-riscv64-linux-gnu-debug.tar.gz 9ead8bb9823b686d... adefa9073249443d...
*-riscv64-linux-gnu.tar.gz 98bcd32e7c3bd042... 7acaf57850bc0699...
*-win64-debug.zip 7f60cd29a7864522... 7b1232b4a17d9a68...
*-win64-setup-unsigned.exe c081d7eedbe5b1a7... 88003f6e8d4babd4...
*-win64.zip ac8172f935e15a54... fdbdc9569845dd1b...
*-x86_64-linux-gnu-debug.tar.gz 7523c4786d05da01... c3b2f4b4aef0b98a...
*-x86_64-linux-gnu.tar.gz 1c8142e21d050a46... ecac3745364469e5...
*.tar.gz 807305e2b5af4d43... 885db47034cc6b69...
bitcoin-core-linux-0.21-res.yml cdcebbbe4862da12... 886f80a9a3b6443c...
bitcoin-core-osx-0.21-res.yml 9391742ea84e255a... 3ad6aa4600accae4...
bitcoin-core-win-0.21-res.yml a323be37316096c5... 3d59db1bcfeace80...
linux-build.log a02c01eaf94d10bd... 8f90adedb8515f95...
osx-build.log 906bb37b69cf3ef3... e3c583bed4e989c8...
win-build.log a643a56926f8f128... 242ada20ea07c29f...
bitcoin-core-linux-0.21-res.yml.diff 22c6fff8b003ce76...
bitcoin-core-osx-0.21-res.yml.diff e32a30d62a2bb411...
bitcoin-core-win-0.21-res.yml.diff b0dc5dc2eed4dafb...
linux-build.log.diff f09336da32c4ea24...
osx-build.log.diff fe794df875b239b3...
win-build.log.diff 9984d4ca920b7e76...

native_ds_store now takes advantage of Pythons ability to decode binary
plists (since 3.4), so we can drop its biplist dependency.

The call to biplist.Data() in custom_dsstore doesn't seem to do anything,
and from what I can tell can just be removed.
@DrahtBot
Copy link
Contributor

Gitian builds

File commit 9bd1316
(master)
commit 8cfc99e
(master and this pull)
*-aarch64-linux-gnu-debug.tar.gz 3db97c8d57eafd40... 0397a60439b8852d...
*-aarch64-linux-gnu.tar.gz 7177e87fa21510c4... db6958dc0457642e...
*-arm-linux-gnueabihf-debug.tar.gz de949360e89ca7e2... a386b86cd98a2ec0...
*-arm-linux-gnueabihf.tar.gz db92b060ef5f368d... a9f6842546abb71b...
*-osx-unsigned.dmg b9873d776a740dfa... d90f03bd846d9a1b...
*-osx64.tar.gz 76843fd4454474d0... 692e7a4a14da9b91...
*-riscv64-linux-gnu-debug.tar.gz 7800e259dfae5375... a3b7a9956b2facef...
*-riscv64-linux-gnu.tar.gz fa1e5a6e6038d9b9... 70dbf780ad219d20...
*-win64-debug.zip 134801c89b67e956... 3283d189264b1767...
*-win64-setup-unsigned.exe b4ddfe0ad9081707... 8a6b969d508af8c5...
*-win64.zip 163278774d745486... 89bb2f5941a2cf30...
*-x86_64-linux-gnu-debug.tar.gz 888b6f88584393a1... bb704870655e6c2f...
*-x86_64-linux-gnu.tar.gz 8779618b53513b4e... d941c1fc069abc1f...
*.tar.gz 0069354516661e24... a75b7748d14fd266...
bitcoin-core-linux-0.21-res.yml 003deb12731f3ac3... dcf88cda1423743f...
bitcoin-core-osx-0.21-res.yml d3c14565c88c1b9f... fcad4b2f2cc35d8c...
bitcoin-core-win-0.21-res.yml 3e726a36d3e22fe4... 988cbcfcc656b32a...
linux-build.log 3c1b0e7b94595c46... e5182a9d360e5b75...
osx-build.log e9caa22e1dc57761... 851ec6d1c65bb180...
win-build.log 3ff1cd4fa1e23bb3... 9b4d08f0996f2fd3...
bitcoin-core-linux-0.21-res.yml.diff 9b1217bb79c68916...
bitcoin-core-osx-0.21-res.yml.diff 76f5fdf3c1eba775...
bitcoin-core-win-0.21-res.yml.diff 0f36df0d2df2b7cc...
linux-build.log.diff e299aa848c8d232d...
osx-build.log.diff c0d2e1f69197f47b...
win-build.log.diff ddcf61bf10574e55...

@laanwj
Copy link
Member

laanwj commented Nov 19, 2020

ACK 7087440
Although this is Mac-black-magic to me, it's always good to drop an unnecessary dependency.

@laanwj laanwj merged commit 47b6ad8 into bitcoin:master Nov 19, 2020
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Nov 19, 2020
7087440 depends: native_ds_store 1.3.0 (fanquake)

Pull request description:

  `ds_store` [now takes advantage](dmgbuild/ds_store@36fb607) of Pythons ability to decode binary [plists](https://docs.python.org/3/library/plistlib.html) (since 3.4), so we can drop its biplist dependency.

  The call to `biplist.Data()` in `custom_dsstore.py` doesn't seem to do anything, and from what I can tell can just be removed. i.e:
  ```diff
  diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
  index dc1c188..e475bc6c3 100755
  --- a/contrib/macdeploy/custom_dsstore.py
  +++ b/contrib/macdeploy/custom_dsstore.py
  @@ -47,6 +47,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
   alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
  +assert(biplist.Data(alias.to_bytes()) == alias.to_bytes())
   icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
   ds['.']['icvp'] = icvp
  ```

ACKs for top commit:
  laanwj:
    ACK 7087440

Tree-SHA512: 8ba3cf561937efe4a3daae8b0cb4de3bf9e425b3a9244161b09d94ee2b1bd4c3e21315fa70e495b19a052aabdc1731b3b6f346b63272d72d2762ced83237d02f
@fanquake fanquake deleted the no_more_biplist branch February 9, 2021 06:21
furszy added a commit to PIVX-Project/PIVX that referenced this pull request May 25, 2021
e1b89ac Fix QPainter non-determinism on macOS (Andrew Chow)
831c317 macOS deploy: use the new plistlib API (Jonas Schnelli)
5857aaf doc: Document ALLOW_HOST_PACKAGES dependency option (skmcontrib)
2329e08 build: Fix behavior when ALLOW_HOST_PACKAGES unset (Hennadii Stepanov)
1768870 depends: native_ds_store 1.3.0 (fanquake)
3f9f3e5 depends: pull upstream libdmg-hfsplus changes (fanquake)
f7606dc depends: latest config.guess & config.sub (fanquake)
cc3ae74 depends: bump native_cctools for fixed lto with external clang (Cory Fields)
b26c648 depends: enable lto support for Apple's ld64 (Cory Fields)
50933d7 depends: Add documentation for FORCE_USE_SYSTEM_CLANG make flag (Carl Dong)
ba3ddf2 depends: Reformat make options as definition list (Carl Dong)
3b855a7 depends: Add justifications for macOS clang flags (Carl Dong)
4104de0 depends: specify libc++ header location for darwin (Cory Fields)
cd4335f depends: force a new host id string if FORCE_USE_SYSTEM_CLANG is in use (Cory Fields)
d30e1af depends: Allow building with system clang (Carl Dong)
234828b depends: Decouple toolchain + binutils (Carl Dong)
1dd3a5a doc: explain why passing -mlinker-version is required (fanquake)
5cc0d0f darwin: pass mlinker-version so that clang enables new features (Cory Fields)
813a552 macos: Bump to xcode 11.3.1 and 10.15 SDK (Cory Fields)
ee7085f depends: bump MacOS toolchain (Cory Fields)
e5b092b contrib: macdeploy: Remove historical extraction notes (Carl Dong)
5893caf contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx (Carl Dong)
9f2d4ba native_cctools: Don't use libc++ from pinned clang (Carl Dong)
0c8d217 Adapt rest of tooling to new SDK naming scheme (Carl Dong)
bdacfa8 contrib: macdeploy: Correctly generate macOS SDK (Carl Dong)
f7eee2c Fix naming of macOS SDK and clarify version (Andrew Chow)
62f9e23 build: use macOS 10.14 SDK (fanquake)
bc2e1af depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8 (fanquake)
a296d87 depends: clang 6.0.1 (fanquake)
8f6c475 build: Set minimum supported macOS to 10.12 (Fuzzbawls)

Pull request description:

  This backports the following upstream PRs to update the macOS cross-compiling tools:

  bitcoin#17550
  bitcoin#16392
  bitcoin#18589
  bitcoin#19240
  bitcoin#19407
  bitcoin#17919
  bitcoin#19530
  bitcoin#17057
  bitcoin#20333
  bitcoin#18051
  bitcoin#19124
  bitcoin#20298
  bitcoin#20447

  The tools being updated are

  ### Clang
  Upgraded from `3.7.1` to `8.0.0`

  ### cctools

  * cctools `877.8` -> `949.0.1`
  * LD64 `253.9` -> `530`
  * TAPI `1000.10.8`

  ### DSStore
  Upgraded from `1.1.2` to `1.3.0` (this removes the biplist dependency)

  This also effectively bumps our minimum supported macOS version to 10.12 (Sierra).

ACKs for top commit:
  furszy:
    tested ACK e1b89ac
  random-zebra:
    utACK e1b89ac

Tree-SHA512: f5cec8db57e07d8855070646b9e1400d48aac1d01e3c2c3b3e134665c6372d6535f3328888bb9a75087f7b3d5231ecb4b509723bfa51bd40770ffe2810c67f65
kwvg added a commit to kwvg/dash that referenced this pull request Aug 24, 2021
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Mar 5, 2022
7087440 depends: native_ds_store 1.3.0 (fanquake)

Pull request description:

  `ds_store` [now takes advantage](dmgbuild/ds_store@36fb607) of Pythons ability to decode binary [plists](https://docs.python.org/3/library/plistlib.html) (since 3.4), so we can drop its biplist dependency.

  The call to `biplist.Data()` in `custom_dsstore.py` doesn't seem to do anything, and from what I can tell can just be removed. i.e:
  ```diff
  diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
  index dc1c188..e475bc6c3 100755
  --- a/contrib/macdeploy/custom_dsstore.py
  +++ b/contrib/macdeploy/custom_dsstore.py
  @@ -47,6 +47,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
   alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
  +assert(biplist.Data(alias.to_bytes()) == alias.to_bytes())
   icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
   ds['.']['icvp'] = icvp
  ```

ACKs for top commit:
  laanwj:
    ACK 7087440

Tree-SHA512: 8ba3cf561937efe4a3daae8b0cb4de3bf9e425b3a9244161b09d94ee2b1bd4c3e21315fa70e495b19a052aabdc1731b3b6f346b63272d72d2762ced83237d02f
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Mar 5, 2022
7087440 depends: native_ds_store 1.3.0 (fanquake)

Pull request description:

  `ds_store` [now takes advantage](dmgbuild/ds_store@36fb607) of Pythons ability to decode binary [plists](https://docs.python.org/3/library/plistlib.html) (since 3.4), so we can drop its biplist dependency.

  The call to `biplist.Data()` in `custom_dsstore.py` doesn't seem to do anything, and from what I can tell can just be removed. i.e:
  ```diff
  diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
  index dc1c188..e475bc6c3 100755
  --- a/contrib/macdeploy/custom_dsstore.py
  +++ b/contrib/macdeploy/custom_dsstore.py
  @@ -47,6 +47,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
   alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
  +assert(biplist.Data(alias.to_bytes()) == alias.to_bytes())
   icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
   ds['.']['icvp'] = icvp
  ```

ACKs for top commit:
  laanwj:
    ACK 7087440

Tree-SHA512: 8ba3cf561937efe4a3daae8b0cb4de3bf9e425b3a9244161b09d94ee2b1bd4c3e21315fa70e495b19a052aabdc1731b3b6f346b63272d72d2762ced83237d02f
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Mar 5, 2022
7087440 depends: native_ds_store 1.3.0 (fanquake)

Pull request description:

  `ds_store` [now takes advantage](dmgbuild/ds_store@36fb607) of Pythons ability to decode binary [plists](https://docs.python.org/3/library/plistlib.html) (since 3.4), so we can drop its biplist dependency.

  The call to `biplist.Data()` in `custom_dsstore.py` doesn't seem to do anything, and from what I can tell can just be removed. i.e:
  ```diff
  diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
  index dc1c188..e475bc6c3 100755
  --- a/contrib/macdeploy/custom_dsstore.py
  +++ b/contrib/macdeploy/custom_dsstore.py
  @@ -47,6 +47,7 @@ alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00bitcoinuser:\x00Documents:\x00bitcoin:\x00bitcoin:\x00' + package_name_ns + '.temp.dmg'
   alias.volume.disk_image_alias.target.posix_path = 'Users/bitcoinuser/Documents/bitcoin/bitcoin/' + package_name_ns + '.temp.dmg'
   alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
  +assert(biplist.Data(alias.to_bytes()) == alias.to_bytes())
   icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
   ds['.']['icvp'] = icvp
  ```

ACKs for top commit:
  laanwj:
    ACK 7087440

Tree-SHA512: 8ba3cf561937efe4a3daae8b0cb4de3bf9e425b3a9244161b09d94ee2b1bd4c3e21315fa70e495b19a052aabdc1731b3b6f346b63272d72d2762ced83237d02f
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants