################################################################################ # 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 '' element in the # AppStream metadata through the use of a macro variable. AppDescription = # 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 --self-contained # 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 # 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