electron-builder
electron-builder copied to clipboard
No space left on device (sparse files)
- Electron-Builder Version: 23.0.3
- Node Version: v16.20.2
- Electron Version: 22.3.4
- Electron Type (current, beta, nightly):
- Target: mac
Copying…
could not access /Volumes/thing/Contents/Resource/sparsefile - No space left on device
Finishing…
This is due to an upstream issue with hdiutil
interaction with sparse files (apparently on macOS 14) that can be observed thus:
➜ mkdir sparse
➜ dd if=/dev/zero of=sparse/big bs=1 count=0 seek=10000000
0+0 records in
0+0 records out
0 bytes transferred in 0.000014 secs (0 bytes/sec)
➜ hdiutil create -srcFolder sparse sparse.dmg
....could not access /Volumes/sparse/big - No space left on device
hdiutil: create failed - No space left on device
➜ mkdir notsparse
➜ cp -S sparse/big notsparse
➜ hdiutil create -srcFolder notsparse notsparse.dmg
............................................................
created: /Users/camhorn/sparsetest/notsparse.dmg
➜ ls -ls sparse notsparse .
.:
total 56
0 drwxr-xr-x 3 camhorn staff 96 May 17 11:48 notsparse
56 -rw-r--r--@ 1 camhorn staff 24914 May 17 11:48 notsparse.dmg
0 drwxr-xr-x 3 camhorn staff 96 May 17 11:47 sparse
notsparse:
total 19536
19536 -rw-r--r-- 1 camhorn staff 10000000 May 17 11:48 big
sparse:
total 0
0 -rw-r--r-- 1 camhorn staff 10000000 May 17 11:47 big
It would be nice if electron-builder could override with the correct -size
for the initial hdiutil create
:
https://github.com/electron-userland/electron-builder/blob/088523652934b87419c15c068459627dcf9a0535/packages/dmg-builder/src/dmg.ts#L200
Or at least allow -size
to be manually set.