Packaging apps for Linux
Parcel creates packages for different Linux package managers and distribution methods.
Supported Package Formats
| Format | CLI code | Best suited for |
|---|---|---|
DEB package (.deb) | deb | Debian, Ubuntu, and other Debian-based distributions |
RPM package (.rpm) | rpm | Fedora, RHEL, and other RPM-based distributions |
ZIP archive (.zip) | zip | Portable distribution without package manager integration |
DEB and RPM packages include a .desktop entry. They can also register icons, file associations, URL schemes, package dependencies, and an optional /usr/bin symlink.
For a complete list of setting names, types, defaults, and environment variables, see the Parcel configuration reference.
Dependencies
Parcel declares the following runtime dependencies in the package metadata. Use the additional dependency settings to add libraries for your application or Linux distribution.
DEB dependencies
libc6libgcc1libgssapi-krb5-2libstdc++6zlib1g- One of
libssl1.0.0,libssl1.0.2,libssl1.1, orlibssl3 libicuor a versionedlibicupackage
RPM dependencies
glibclibgcckrb5-libslibstdc++zlibopenssl-libslibicu
Bundle Configuration
Use the Linux settings to configure desktop integration and branding.
Common Properties
Application Name:
Display name in application launchers and desktop menus. Parcel adds this name to the .desktop entry.
Package Name:
The package identifier used in package metadata and output filenames. Parcel normalizes this identifier to lowercase for Linux packages.
Install Directory Name:
Name of the application directory under /usr/share. The default is app-{package-name}. Use only lowercase letters, numbers, dashes, underscores, or periods. The name must start and end with a letter or number.
DEB/RPM Specific Properties
Additional configuration properties for Debian and RPM packages.
Application Icon:
Optional Linux icon that overrides Application Icon. Parcel automatically does the following tasks:
- Generates hicolor icon theme entries at appropriate resolutions
- Links the icon in the
.desktopfile
Supported formats: PNG, SVG
Maintainer:
Package maintainer or company name. Parcel adds this value to the package metadata.
If you do not set this value, Parcel uses Company. If Company is empty, Parcel uses Package Name.
Desktop Category:
Category for desktop menus and launchers. This value controls where the application appears in the menu. Parcel uses the freedesktop.org category registry.
Copyright:
Path to a copyright or license file. Parcel includes this file in the DEB and RPM package metadata.
Create /usr/bin/ symlink:
Creates a symlink to the application executable. The symlink lets users start the application from a terminal. This setting is enabled by default.
Additional DEB Dependencies and Additional RPM Dependencies:
Add dependencies that are not in the Parcel defaults. Configure DEB and RPM dependencies separately. For DEB, separate alternative package names with |. For RPM, enter package names or capabilities.
Desktop integration
Configure file associations and URL schemes under Basics. Parcel adds the related MIME metadata and launch information to DEB and RPM packages. To handle activation in an Avalonia application, see File associations and URL schemes and Activatable lifetime.
Installation & Removal
DEB Packages (Debian/Ubuntu)
Install:
sudo apt install ./my-app.deb
Remove:
sudo apt remove my-app
RPM Packages (Fedora/RHEL)
Install:
sudo dnf install ./my-app.rpm
# or
sudo rpm -i ./my-app.rpm
Remove:
sudo dnf remove my-app
# or
sudo rpm -e my-app
ZIP Archives
Extract and Run:
unzip my-app.zip
cd my-app
./my-awesome-app