Skip to content

Commit c6ce91f

Browse files
committed
Please enter the commit message for your changes. Lines starting
with '' will be ignored, and an empty message aborts the commit. On branch dev Your branch is up to date with 'origin/dev'. Changes to be committed: new file: build-musl.sh new file: build.sh
1 parent 5675312 commit c6ce91f

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

build-musl.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "Building on Alpine (musl) using Docker..."
5+
6+
docker run --rm \
7+
-v "$(pwd):/build" \
8+
-w /build \
9+
alpine:latest \
10+
sh -c '
11+
apk add --no-cache python3 pyqt6 pyqt6-qt6 python3-pip gcc musl-dev linux-headers
12+
13+
pip install --break-system-packages nuitka pyinstaller psutil pyudev packaging platformdirs
14+
15+
pyinstaller --onefile \
16+
--collect-all PyQt6 \
17+
--add-binary "/usr/bin/dd:bin" \
18+
--add-binary "/usr/bin/pkexec:bin" \
19+
--add-binary "/usr/bin/sudo:bin" \
20+
--add-binary "/usr/bin/lsblk:bin" \
21+
--add-binary "/usr/bin/mount:bin" \
22+
--add-binary "/usr/bin/umount:bin" \
23+
--add-binary "/usr/sbin/blkid:bin" \
24+
--add-binary "/usr/sbin/badblocks:bin" \
25+
--add-binary "/usr/sbin/mkfs.ntfs:bin" \
26+
--add-binary "/usr/sbin/mkfs.vfat:bin" \
27+
--add-binary "/usr/sbin/mkfs.exfat:bin" \
28+
--add-binary "/usr/sbin/mkfs.ext4:bin" \
29+
--add-binary "/usr/sbin/mkfs.btrfs:bin" \
30+
--add-data "src/lufus/gui/languages:/lufus/gui/languages" \
31+
--add-data "src/lufus/gui/themes:/lufus/gui/themes" \
32+
--add-data "src/lufus/gui/assets:/lufus/gui/assets" \
33+
--add-data "src/lufus/writing/grub.cfg:/lufus/writing" \
34+
--add-data "src/lufus/writing/uefi-ntfs.img:/lufus/writing" \
35+
--name lufus src/lufus/__main__.py
36+
'
37+
38+
echo "Done! Output: dist/lufus (musl build)"
39+
echo "Size: $(ls -lh dist/lufus | awk '{print $5}')"

build.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "Creating venv..."
5+
python3 -m venv /tmp/lufus-build
6+
source /tmp/lufus-build/bin/activate
7+
8+
echo "Installing dependencies..."
9+
pip install nuitka pyinstaller pyqt6 psutil pyudev packaging platformdirs
10+
11+
echo "Building binary..."
12+
pyinstaller --onefile \
13+
--collect-all PyQt6 \
14+
--add-binary "/usr/bin/dd:bin" \
15+
--add-binary "/usr/bin/pkexec:bin" \
16+
--add-binary "/usr/bin/sudo:bin" \
17+
--add-binary "/usr/bin/lsblk:bin" \
18+
--add-binary "/usr/bin/mount:bin" \
19+
--add-binary "/usr/bin/umount:bin" \
20+
--add-binary "/usr/sbin/blkid:bin" \
21+
--add-binary "/usr/sbin/badblocks:bin" \
22+
--add-binary "/usr/sbin/mkfs.ntfs:bin" \
23+
--add-binary "/usr/sbin/mkfs.vfat:bin" \
24+
--add-binary "/usr/sbin/mkfs.exfat:bin" \
25+
--add-binary "/usr/sbin/mkfs.ext4:bin" \
26+
--add-binary "/usr/sbin/mkfs.btrfs:bin" \
27+
--add-data "src/lufus/gui/languages:lufus/gui/languages" \
28+
--add-data "src/lufus/gui/themes:lufus/gui/themes" \
29+
--add-data "src/lufus/gui/assets:lufus/gui/assets" \
30+
--add-data "src/lufus/writing/grub.cfg:lufus/writing" \
31+
--add-data "src/lufus/writing/uefi-ntfs.img:lufus/writing" \
32+
--name lufus src/lufus/__main__.py
33+
34+
echo "Done! Output: dist/lufus"
35+
echo "Size: $(ls -lh dist/lufus | awk '{print $5}')"

0 commit comments

Comments
 (0)