Contents
Notice
The software is in a state of revival. The old versions that are labelled as "stable" do not work well on modern operating systems. It is recommended to use a development version, however it is still under heavy testing & may contain bugs.
Description
Debreate is a utility to aid in creating installable Debian (.deb) packages.
The goal behind the project is to make developing for Debian based Linux distributions more appealing, with an easy to use interface for packaging applications, artwork, media, themes, etc.
Currently, it only supports "binary" packaging which allows anything that does not require being compiled from source, such as scripted applications or media. These packages can then be used for personal distribution. Plans for using backends such as dh_make & debuild (available in devscripts package) for creating source packages are in the works. But source packaging can be quite different & is a must if you want to get your packages into a distribution's official repositories or a Launchpad Personal Package Archive (PPA).
Starting Debreate (0.8 development versions)
If you installed Debreate through a package manager or using the supplied .deb package, there will be an icon in your system's menu. If you downloaded the portable .zip or source package, just execute the file named init.py.
Debreate requires two main sofware to launch successfully. It needs Python (>=3.10) & wxPython (>=4.0.7, recommended at least 4.2.0). Most major Linux distributions will have Python pre-installed. But you may need to install wxPython manually if you are running Debreate portably. If wxPython is not found on the system when launching it will prompt to install using pip. If init.py was not launched from a terminal command line, it will attempt to find & open an appropriate terminal application for prompt input. If approved, it will execute python3 -m pip install wheel attrdict3 wxPython. Once installed, the user interface should open. Some terminals (gnome-terminal & mate-terminal) seem to drop the process afterwards, so the GUI won't display until it is run again.
For other sofware that is required for full function, see the README.
Notes
wxPython Compatibility
Debreate relies heavily on wxPython for its user interface. Most linux distributions provide versions from their package managers. As of writing this, Ubuntu supplies version 4.0. However, there are some things broken in 4.0 & 4.1 that have been fixed in version 4.2. Namely, the directory tree control. If your wxPython version is less than 4.2.0, you will not be able to use the built-in directory tree to add files to your project. Drag-and-drop from the system filemanager still does work. The minimum required version to launch the application is 4.0.7. Anything older, & the application will attempt to launch an error dialog with a notification that the installed version is unsupported.
If your system's package manager does not supply version 4.2, it is recommended to install the latest version via the Python Package Index. That can be done with the command python3 -m pip install wxPython or pip3 install wxPython.
Unless fixes are backported to older versions, it is likely support for anything older than 4.2 will be dropped very soon. Because systems such as Ubuntu are not yet distributing the latest release, it complicates things when installing Debreate from it's .deb package. Previously wxPython was made to be a hard dependency. But as a workaround, since the recommended version is not yet available, it is made as an alternative dependency to the python3-pip package. This allows it to be installed despite wxPython not being on the system. When launched without wxPython, it attempts to prompt the user to install via pip.
Using on Non-Debian Systems
The software is tested on Debian based systems. It is unknown how it will function on other operating systems. It is likely the application will start, but package building will fail unless the Debian packaging backend tools are installed.
Some testing has been done on Windows just to get the application running. As of yet, it will not fully function.
Support for wxPython on Windows under the native Python installers seems to be lacking. Attempts to install via pip have failed or ended up in corrupt packages. Fortunately, the MSYS2/MinGW-w64 project provides a working package. It can be installed via pacman (pacman -S <repo>-wxPython).