Skip to content

v3.0-release

Latest

Choose a tag to compare

@tuffgit21 tuffgit21 released this 18 Sep 18:49
· 3 commits to main since this release
c00dcb3

πŸ“¦ Debian App Builder β€” v3.0 β€” What's Changed

Built with ❀️ by tuffgit21
Official site: https://tuffgit21.github.io/Debian-App-Builder/
More Projects: https://tuffgit21.github.io/


✨ New Features

πŸͺ AppStream Metadata β€” Dedicated Section

  • πŸ†• New AppStream tab in DebAppBuilder.py calling core.py:write_appstream_file()
  • Creates usr/share/metainfo/<app_id>.metainfo.xml for GNOME Software / KDE Discover
  • πŸ“ Fields: App ID, Name, Summary, Description (multi-paragraph), Developer, Project License, Metadata License, Homepage, Categories, Keywords
  • πŸ”˜ Create AppStream Metadata button (green) β€” validates and shows Successfully created message

πŸ†” Smart App ID

  • 🧬 App ID now auto-derived from package metadata Maintainer (Name <email> β†’ reverse-DNS, e.g. john@example.com β†’ com.example.myapp)
  • πŸ’­ Placeholder only: com.example.<package> (auto from Maintainer) β€” behaves like other entries (click clears hint, not editing inserted value)
  • πŸ”„ Migrates old hardcoded io.github.tuffgit21.* to generic placeholder
  • πŸ’Ύ Saved in .debappbuilder_session.json

πŸ—‚οΈ Desktop Path= Support

  • πŸ“‚ New Path field in Desktop Entry (Path=/working-directory)
  • βœ… Validates absolute path (must start with /), writes Path=<value> in .desktop file
  • πŸ’­ Placeholder: /usr/share/<package> (working directory, optional) β€” empty omits key
  • πŸ’Ύ Persisted in session, included in set_write_inputs_state and KeyRelease bindings

πŸ”˜ Choose Main Executable

  • ⭐ Set Main button next to X in Selected files list (Application tab)
  • πŸ“ Excludes folders β€” only files can be set as main (folders show placeholder, warning if attempted)
  • πŸ’š Active main shows βœ“ Main (disabled, green) + β˜… in name, others show Set Main (blue)
  • πŸ”„ Updates selected_file, Application info, and build status instantly

πŸ› Bug Fixes

πŸ”“ Package & Desktop Entries Now Always Available

  • 🐞 Fixed: Starting from scratch showed file in Selected files but Package & Desktop tab entries were disabled (selected_file == None)
  • βœ… Now: Early disk sync + set_write_inputs_state("normal") always β€” metadata editable from scratch, even before selecting file
  • πŸ”„ Also fixed remove and session restore not re-enabling entries

πŸ’Ύ Session Persistence

  • πŸ“‚ .debappbuilder_session.json now saves/loads:
    • desktop_path (new)
    • All AppStream fields: appstream_id, appstream_name, appstream_summary, appstream_description, appstream_developer, appstream_license, appstream_meta_license, appstream_homepage, appstream_categories, appstream_keywords, appstream_created, appstream_status
    • hicolor, selected_file, package metadata etc.
  • πŸ”’ File remains read-only after save, writable on next save

❔How to use Debian App Builder?

1.⬇️ Install dpkg-dev kit

# Run this
sudo apt install dpkg-dev

# For Debian-based distros (Ubuntu, Zorin OS, Linux Mint, etc...)
# Same Goes to Debian or Ubuntu WSL on Windows 10 or 11. 

2.🐍 Install Python

Install Python from python.org for Windows, Linux has python3 installed so you don't need to!

3.πŸ“¦ Open Debian App Builder

Open Debian App Builder using debappbuilder on Debian And on Windows run the .exe file

This package was built using Debian App Builder v3.0 πŸŽ‰