|
|
|
################################################################################
|
|
|
|
# PUPNET DEPLOY: 1.4.0
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# APP PREAMBLE
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Mandatory application base name. This MUST BE the base name of the main executable file. It should NOT
|
|
|
|
# include any directory part or extension, i.e. do not append '.exe' or '.dll'. It should not contain
|
|
|
|
# spaces or invalid filename characters.
|
|
|
|
AppBaseName = StabilityMatrix.Avalonia
|
|
|
|
|
|
|
|
# Mandatory application friendly name.
|
|
|
|
AppFriendlyName = Stability Matrix
|
|
|
|
|
|
|
|
# Mandatory application ID in reverse DNS form. This should stay constant for lifetime of the software.
|
|
|
|
AppId = zone.lykos.stabilitymatrix
|
|
|
|
|
|
|
|
# Mandatory application version and package release of form: 'VERSION[RELEASE]'. Use optional square
|
|
|
|
# brackets to denote package release, i.e. '1.2.3[1]'. Release refers to a change to the deployment
|
|
|
|
# package, rather the application. If release part is absent (i.e. '1.2.3'), the release value defaults
|
|
|
|
# to '1'. Note that the version-release value given here may be overridden from the command line.
|
|
|
|
AppVersionRelease = 2.0.0[1]
|
|
|
|
|
|
|
|
# Mandatory single line application short summary description.
|
|
|
|
AppShortSummary = Package and checkpoint manager for Stable Diffusion.
|
|
|
|
|
|
|
|
# Optional multi-line (surround with triple """ quotes) application description which may provide
|
|
|
|
# longer text than AppShortSummary. Text separated by an empty line will be treated as paragraphs
|
|
|
|
# (complex formatting should be avoided). The content is used by package builders where supported,
|
|
|
|
# including RPM and DEB, and may optionally be used to populate the '<description>' element in the
|
|
|
|
# AppStream metadata through the use of a macro variable.
|
|
|
|
AppDescription = """
|
|
|
|
Hello World demonstrates all the major features of building distributable packages with PupNet.
|
|
|
|
It can be built for all package kinds, including AppImage, Flatpak, DEB and RPM formats on Linux,
|
|
|
|
and as a Setup file on Windows. It provides an example of using desktop and AppStream metadata files,
|
|
|
|
as well as icons and post-publish scripts.
|
|
|
|
|
|
|
|
On execution, the Hello World program displays command arguments and assembly information. The assembly
|
|
|
|
version confirms that version information, provided in the deployment configuration, was successfully passed
|
|
|
|
through the build system, to the application.
|
|
|
|
"""
|
|
|
|
|
|
|
|
# Mandatory application license ID. This should be one of the recognised SPDX license
|
|
|
|
# identifiers, such as: 'MIT', 'GPL-3.0-or-later' or 'Apache-2.0'. For a proprietary or
|
|
|
|
# custom license, use 'LicenseRef-Proprietary' or 'LicenseRef-LICENSE'.
|
|
|
|
AppLicenseId = LicenseRef-Proprietary
|
|
|
|
|
|
|
|
# Optional path to application copyright/license text file. If provided, it will be packaged with the
|
|
|
|
# application and used with package builders where supported.
|
|
|
|
AppLicenseFile = LICENSE
|
|
|
|
|
|
|
|
# Optional path to application changelog file. IMPORTANT. If given, this file should contain version
|
|
|
|
# information in a predefined format. Namely, it should contain one or more version headings of form:
|
|
|
|
# '+ VERSION;DATE', under which are to be listed change items of form: '- Change description'. Formatted
|
|
|
|
# information will be parsed and used to populate AppStream metadata. Additionally, it will be packaged
|
|
|
|
# with the application and used with package builders where supported. NOTE. Superfluous text in the file
|
|
|
|
# is ignored, so the file may also contain README information.
|
|
|
|
# For information: https://github.com/kuiperzone/PupNet-Deploy.
|
|
|
|
AppChangeFile =
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# PUBLISHER
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Mandatory publisher, group or creator.
|
|
|
|
PublisherName = Lykos
|
|
|
|
|
|
|
|
# Optional copyright statement.
|
|
|
|
PublisherCopyright = Copyright (C) Lykos 2023
|
|
|
|
|
|
|
|
# Optional publisher or application web-link name. Note that Windows Setup packages
|
|
|
|
# require both PublisherLinkName and PublisherLinkUrl in order to include the link as
|
|
|
|
# an item in program menu entries. Do not modify name, as may leave old entries in updated installations.
|
|
|
|
PublisherLinkName = Home Page
|
|
|
|
|
|
|
|
# Optional publisher or application web-link URL.
|
|
|
|
PublisherLinkUrl = https://lykos.ai
|
|
|
|
|
|
|
|
# Publisher or maintainer email contact. Although optional, some package builders (i.e. DEB) require it
|
|
|
|
# and may warn or fail unless provided.
|
|
|
|
PublisherEmail = stability-matrix@lykos.ai
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# DESKTOP INTEGRATION
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Boolean (true or false) which indicates whether the application is hidden on the desktop. It is used to
|
|
|
|
# populate the 'NoDisplay' field of the .desktop file. The default is false. Setting to true will also
|
|
|
|
# cause the main application start menu entry to be omitted for Windows Setup.
|
|
|
|
DesktopNoDisplay = false
|
|
|
|
|
|
|
|
# Boolean (true or false) which indicates whether the application runs in the terminal, rather than
|
|
|
|
# providing a GUI. It is used to populate the 'Terminal' field of the .desktop file.
|
|
|
|
DesktopTerminal = false
|
|
|
|
|
|
|
|
# Optional path to a Linux desktop file. If empty (default), one will be generated automatically from
|
|
|
|
# the information in this file. Supplying a custom file, however, allows for mime-types and
|
|
|
|
# internationalisation. If supplied, the file MUST contain the line: 'Exec=${INSTALL_EXEC}'
|
|
|
|
# in order to use the correct install location. Other macros may be used to help automate the content.
|
|
|
|
# Note. PupNet Deploy can generate you a desktop file. Use --help and 'pupnet --help macro' for reference.
|
|
|
|
# See: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
|
|
|
DesktopFile =
|
|
|
|
|
|
|
|
# Optional command name to start the application from the terminal. If, for example, AppBaseName is
|
|
|
|
# 'Zone.Kuiper.HelloWorld', the value here may be set to a simpler and/or lower-case variant such as
|
|
|
|
# 'helloworld'. It must not contain spaces or invalid filename characters. Do not add any extension such
|
|
|
|
# as '.exe'. If empty, the application will not be in the path and cannot be started from the command line.
|
|
|
|
# For Windows Setup packages, see also SetupCommandPrompt. StartCommand is not
|
|
|
|
# supported for all packages kinds (i.e. Flatpak). Default is empty (none).
|
|
|
|
StartCommand = stabilitymatrix
|
|
|
|
|
|
|
|
# Optional category for the application. The value should be one of the recognised Freedesktop top-level
|
|
|
|
# categories, such as: Audio, Development, Game, Office, Utility etc. Only a single value should be
|
|
|
|
# provided here which will be used, where supported, to populate metadata. The default is empty.
|
|
|
|
# See: https://specifications.freedesktop.org/menu-spec/latest/apa.html
|
|
|
|
PrimeCategory = Utility
|
|
|
|
|
|
|
|
# Path to AppStream metadata file. It is optional, but recommended as it is used by software centers.
|
|
|
|
# Note. The contents of the files may use macro variables. Use 'pupnet --help macro' for reference.
|
|
|
|
# See: https://docs.appimage.org/packaging-guide/optional/appstream.html
|
|
|
|
MetaFile =
|
|
|
|
|
|
|
|
# Optional icon file paths. The value may include multiple filenames separated with semicolon or given
|
|
|
|
# in multi-line form. Valid types are SVG, PNG and ICO (ICO ignored on Linux). Note that the inclusion
|
|
|
|
# of a scalable SVG is preferable on Linux, whereas PNGs must be one of the standard sizes and MUST
|
|
|
|
# include the size in the filename in the form: name.32x32.png' or 'name.32.png'.
|
|
|
|
IconFiles = """
|
|
|
|
StabilityMatrix.Avalonia/Assets/Icon.512x512.png
|
|
|
|
StabilityMatrix.Avalonia/Assets/Icon.ico
|
|
|
|
"""
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# DOTNET PUBLISH
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Optional path relative to this file in which to find the dotnet project (.csproj) or solution (.sln)
|
|
|
|
# file, or the directory containing it. If empty (default), a single project or solution file is
|
|
|
|
# expected under the same directory as this file. IMPORTANT. If set to 'NONE', dotnet publish
|
|
|
|
# is disabled (not called). Instead, only DotnetPostPublish is called.
|
|
|
|
DotnetProjectPath = StabilityMatrix.Avalonia/StabilityMatrix.Avalonia.csproj
|
|
|
|
|
|
|
|
# Optional arguments supplied to 'dotnet publish'. Do NOT include '-r' (runtime), or '-c' (configuration)
|
|
|
|
# here as they will be added according to command line arguments. Typically you want as a minimum:
|
|
|
|
# '-p:Version=${APP_VERSION} --self-contained true'. Additional useful arguments include:
|
|
|
|
# '-p:DebugType=None -p:DebugSymbols=false -p:PublishSingleFile=true -p:PublishReadyToRun=true
|
|
|
|
# -p:PublishTrimmed=true -p:TrimMode=link'. Note. This value may use macro variables. Use 'pupnet --help macro'
|
|
|
|
# for reference. See: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish
|
|
|
|
DotnetPublishArgs = -p:Version=${APP_VERSION} -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -p:PublishTrimmed=true
|
|
|
|
|
|
|
|
# Post-publish (or standalone build) command on Linux (ignored on Windows). It is called after dotnet
|
|
|
|
# publish, but before the final output is built. This could, for example, be a script which copies
|
|
|
|
# additional files into the build directory given by ${BUILD_APP_BIN}. The working directory will be
|
|
|
|
# the location of this file. This value is optional, but becomes mandatory if DotnetProjectPath equals
|
|
|
|
# 'NONE'. Note. This value may use macro variables. Additionally, scripts may use these as environment
|
|
|
|
# variables. Use 'pupnet --help macro' for reference.
|
|
|
|
DotnetPostPublish =
|
|
|
|
|
|
|
|
# Post-publish (or standalone build) command on Windows (ignored on Linux). This should perform
|
|
|
|
# the equivalent operation, as required, as DotnetPostPublish, but using DOS commands and batch
|
|
|
|
# scripts. Multiple commands may be specified, separated by semicolon or given in multi-line form.
|
|
|
|
# Note. This value may use macro variables. Additionally, scripts may use these as environment
|
|
|
|
# variables. Use 'pupnet --help macro' for reference.
|
|
|
|
DotnetPostPublishOnWindows =
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# PACKAGE OUTPUT
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Optional package name (excludes version etc.). If empty, defaults to AppBaseName. However, it is
|
|
|
|
# used not only to specify the base output filename, but to identify the application in DEB and RPM
|
|
|
|
# packages. You may wish, therefore, to ensure that the value represents a unique name. Naming
|
|
|
|
# requirements are strict and must contain only alpha-numeric and '-', '+' and '.' characters.
|
|
|
|
PackageName = StabilityMatrix.Avalonia
|
|
|
|
|
|
|
|
# Output directory, or subdirectory relative to this file. It will be created if it does not exist and
|
|
|
|
# will contain the final deploy output files. If empty, it defaults to the location of this file.
|
|
|
|
OutputDirectory = Release/linux-x64
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# APPIMAGE OPTIONS
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Additional arguments for use with appimagetool. Useful for signing. Default is empty.
|
|
|
|
AppImageArgs =
|
|
|
|
|
|
|
|
# Boolean (true or false) which sets whether to include the application version in the AppImage filename,
|
|
|
|
# i.e. 'HelloWorld-1.2.3-x86_64.AppImage'. Default is false. It is ignored if the output filename is
|
|
|
|
# specified at command line.
|
|
|
|
AppImageVersionOutput = false
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# FLATPAK OPTIONS
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# The runtime platform. Invariably for .NET (inc. Avalonia), this should be 'org.freedesktop.Platform'.
|
|
|
|
# Refer: https://docs.flatpak.org/en/latest/available-runtimes.html
|
|
|
|
FlatpakPlatformRuntime = org.freedesktop.Platform
|
|
|
|
|
|
|
|
# The platform SDK. Invariably for .NET (inc. Avalonia applications) this should be 'org.freedesktop.Sdk'.
|
|
|
|
# The SDK must be installed on the build system.
|
|
|
|
FlatpakPlatformSdk = org.freedesktop.Sdk
|
|
|
|
|
|
|
|
# The platform runtime version. The latest available version may change periodically.
|
|
|
|
# Refer to Flatpak documentation.
|
|
|
|
FlatpakPlatformVersion = 22.08
|
|
|
|
|
|
|
|
# Flatpak manifest 'finish-args' sandbox permissions. Optional, but if empty, the application will have
|
|
|
|
# extremely limited access to the host environment. This option may be used to grant required
|
|
|
|
# application permissions. Values here should be prefixed with '--' and separated by semicolon or given
|
|
|
|
# in multi-line form. Refer: https://docs.flatpak.org/en/latest/sandbox-permissions.html
|
|
|
|
FlatpakFinishArgs = """
|
|
|
|
--socket=wayland
|
|
|
|
--socket=x11
|
|
|
|
--filesystem=host
|
|
|
|
--share=network
|
|
|
|
"""
|
|
|
|
|
|
|
|
# Additional arguments for use with flatpak-builder. Useful for signing. Default is empty.
|
|
|
|
# See flatpak-builder --help.
|
|
|
|
FlatpakBuilderArgs =
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# RPM OPTIONS
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Boolean (true or false) which specifies whether to build the RPM package with 'AutoReq' equal to yes or no.
|
|
|
|
# For dotnet application, the value should typically be false, but see RpmRequires below.
|
|
|
|
# Refer: https://rpm-software-management.github.io/rpm/manual/spec.html
|
|
|
|
RpmAutoReq = false
|
|
|
|
|
|
|
|
# Boolean (true or false) which specifies whether to build the RPM package with 'AutoProv' equal to yes or no.
|
|
|
|
# Refer: https://rpm-software-management.github.io/rpm/manual/spec.html
|
|
|
|
RpmAutoProv = true
|
|
|
|
|
|
|
|
# Optional list of RPM dependencies. The list may include multiple values separated with semicolon or given
|
|
|
|
# in multi-line form. If empty, a self-contained dotnet package will successfully run on many (but not all)
|
|
|
|
# Linux distros. In some cases, it will be necessary to explicitly specify additional dependencies.
|
|
|
|
# Default values are recommended for use with dotnet and RPM packages at the time of writing.
|
|
|
|
# For updated information, see: https://learn.microsoft.com/en-us/dotnet/core/install/linux-rhel#dependencies
|
|
|
|
RpmRequires = """
|
|
|
|
krb5-libs
|
|
|
|
libicu
|
|
|
|
openssl-libs
|
|
|
|
zlib
|
|
|
|
"""
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# DEBIAN OPTIONS
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Optional list of Debian dependencies. The list may include multiple values separated with semicolon or given
|
|
|
|
# in multi-line form. If empty, a self-contained dotnet package will successfully run on many (but not all)
|
|
|
|
# Linux distros. In some cases, it will be necessary to explicitly specify additional dependencies.
|
|
|
|
# Default values are recommended for use with dotnet and Debian packages at the time of writing.
|
|
|
|
# For updated information, see: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#dependencies
|
|
|
|
DebianRecommends = """
|
|
|
|
libc6
|
|
|
|
libgcc1
|
|
|
|
libgcc-s1
|
|
|
|
libgssapi-krb5-2
|
|
|
|
libicu
|
|
|
|
libssl
|
|
|
|
libstdc++6
|
|
|
|
libunwind
|
|
|
|
zlib1g
|
|
|
|
"""
|
|
|
|
|
|
|
|
########################################
|
|
|
|
# WINDOWS SETUP OPTIONS
|
|
|
|
########################################
|
|
|
|
|
|
|
|
# Boolean (true or false) which specifies whether the application is to be installed in administrative
|
|
|
|
# mode, or per-user. Default is false. See: https://jrsoftware.org/ishelp/topic_admininstallmode.htm
|
|
|
|
SetupAdminInstall = false
|
|
|
|
|
|
|
|
# Optional command prompt title. The Windows installer will NOT add your application to the path. However,
|
|
|
|
# if your package contains a command-line utility, setting this value will ensure that a 'Command Prompt'
|
|
|
|
# program menu entry is added (with this title) which, when launched, will open a dedicated command
|
|
|
|
# window with your application directory in its path. Default is empty. See also StartCommand.
|
|
|
|
SetupCommandPrompt = Command Prompt
|
|
|
|
|
|
|
|
# Mandatory value which specifies minimum version of Windows that your software runs on. Windows 8 = 6.2,
|
|
|
|
# Windows 10/11 = 10. Default: 10. See: https://jrsoftware.org/ishelp/topic_setup_minversion.htm
|
|
|
|
SetupMinWindowsVersion = 10
|
|
|
|
|
|
|
|
# Optional name and parameters of the Sign Tool to be used to digitally sign: the installer,
|
|
|
|
# uninstaller, and contained exe and dll files. If empty, files will not be signed.
|
|
|
|
# See: https://jrsoftware.org/ishelp/topic_setup_signtool.htm
|
|
|
|
SetupSignTool =
|
|
|
|
|
|
|
|
# Optional suffix for the installer output filename. The default is empty, but you may wish set it to:
|
|
|
|
# 'Setup' or similar. This, for example, will output a file of name: HelloWorldSetup-x86_64.exe
|
|
|
|
# Ignored if the output filename is specified at command line.
|
|
|
|
SetupSuffixOutput =
|
|
|
|
|
|
|
|
# Boolean (true or false) which sets whether to include the application version in the setup filename,
|
|
|
|
# i.e. 'HelloWorld-1.2.3-x86_64.exe'. Default is false. Ignored if the output filename is specified
|
|
|
|
# at command line.
|
|
|
|
SetupVersionOutput = false
|