Skip to content

Add Debian packaging files#156

Open
beadon wants to merge 2 commits into
WoeUSB:masterfrom
beadon:add-debian-packaging
Open

Add Debian packaging files#156
beadon wants to merge 2 commits into
WoeUSB:masterfrom
beadon:add-debian-packaging

Conversation

@beadon

@beadon beadon commented May 23, 2026

Copy link
Copy Markdown

Adds a debian/ directory to enable building a .deb package for
Debian/Ubuntu systems — the Debian counterpart to #152 (RPM spec).

What's included

  • Builds a binary .deb via dpkg-buildpackage using standard
    debhelper 13 + pybuild tooling (no custom install logic needed —
    setup.py's data_files handles the desktop entry, polkit policy,
    and icon automatically)
  • Declares all runtime dependencies:
    util-linux, parted, dosfstools, ntfs-3g, grub-pc-bin,
    p7zip-full, wimtools, python3-wxgtk4.0, python3-termcolor
  • Patches the polkit policy path from /usr/local/bin/woeusbgui to
    /usr/bin/woeusbgui during the configure step (same fix as Add RPM spec file for Fedora packaging #152)
  • Includes debian/copyright and debian/source/format for
    3.0 (quilt) source compatibility
  • Includes debian/README.Debian with build and install instructions

How to build

# Install build dependencies
sudo apt install devscripts debhelper dh-python python3-all python3-setuptools

# Build binary package (output lands one directory above the source tree)
dpkg-buildpackage -us -uc -b

How to install

Use apt install rather than dpkg -i — apt resolves dependencies
automatically, while dpkg -i will leave the package unconfigured if
python3-termcolor or wimtools are not already present:

sudo apt install ./woeusb-ng_0.2.12-1_all.deb

Verified

Built and installed on Ubuntu 24.04 (debhelper 13.14.1). All paths confirmed:

  • /usr/bin/woeusb and /usr/bin/woeusbgui
  • /usr/share/applications/WoeUSB-ng.desktop
  • /usr/share/polkit-1/actions/com.github.woeusb.woeusb-ng.policy (path patched to /usr/bin/woeusbgui) ✓
  • /usr/share/icons/hicolor/scalable/apps/woeusb-logo.png
  • Python modules under /usr/lib/python3/dist-packages/WoeUSB/

🤖 Generated with Claude Code

Adds a debian/ directory to enable building a .deb package for
Debian/Ubuntu systems using standard dpkg-buildpackage tooling.

- debian/control: package metadata with runtime deps (util-linux, parted,
  dosfstools, ntfs-3g, grub-pc-bin, p7zip-full, wimtools, python3-wxgtk4.0,
  python3-termcolor) and build deps (debhelper 13, dh-python, pybuild)
- debian/rules: dh + pybuild build; patches polkit policy path from
  /usr/local/bin to /usr/bin at configure time
- debian/changelog, copyright, source/format: standard packaging metadata

Build with:
  sudo apt-get install devscripts debhelper dh-python python3-all python3-setuptools
  dpkg-buildpackage -us -uc -b

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@beadon

beadon commented May 23, 2026

Copy link
Copy Markdown
Author

Build verified locally on Ubuntu 24.04 (debhelper 13.14.1):

dpkg-buildpackage -us -uc -b
# → woeusb-ng_0.2.12-1_all.deb

Package contents confirmed:

  • /usr/bin/woeusb and /usr/bin/woeusbgui
  • /usr/share/applications/WoeUSB-ng.desktop
  • /usr/share/polkit-1/actions/com.github.woeusb.woeusb-ng.policy (path patched to /usr/bin/woeusbgui) ✓
  • /usr/share/icons/hicolor/scalable/apps/woeusb-logo.png
  • Python modules under /usr/lib/python3/dist-packages/WoeUSB/

NOTE: look for "woeusb-ng_0.2.12-1_all.deb" in the directory above the git repo when complete.

Notes the correct apt install ./package.deb invocation and explains
why dpkg -i alone leaves the package unconfigured without deps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant