1 | import { PlatformSpecificBuildOptions, TargetConfigType, TargetSpecificOptions } from "../index";
|
2 | export interface LinuxConfiguration extends CommonLinuxOptions, PlatformSpecificBuildOptions {
|
3 | /**
|
4 | * Target package type: list of `AppImage`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
|
5 | *
|
6 | * electron-builder [docker image](/multi-platform-build#docker) can be used to build Linux targets on any platform.
|
7 | *
|
8 | * Please [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz.
|
9 | * @default AppImage
|
10 | */
|
11 | readonly target?: TargetConfigType;
|
12 | /**
|
13 | * The maintainer. Defaults to [author](/configuration/configuration.md#Metadata-author).
|
14 | */
|
15 | readonly maintainer?: string | null;
|
16 | /**
|
17 | * The vendor. Defaults to [author](/configuration/configuration.md#Metadata-author).
|
18 | */
|
19 | readonly vendor?: string | null;
|
20 | /**
|
21 | * @deprecated
|
22 | * @private
|
23 | */
|
24 | readonly depends?: Array<string> | null;
|
25 | /**
|
26 | * The executable name. Defaults to `productName`.
|
27 | * Cannot be specified per target, allowed only in the `linux`.
|
28 | */
|
29 | readonly executableName?: string | null;
|
30 | /**
|
31 | * The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.
|
32 | * By default will be generated automatically based on the macOS icns file.
|
33 | */
|
34 | readonly icon?: string;
|
35 | /**
|
36 | * backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place
|
37 | * @private
|
38 | */
|
39 | readonly packageCategory?: string | null;
|
40 | }
|
41 | export interface CommonLinuxOptions {
|
42 | /**
|
43 | * The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).
|
44 | */
|
45 | readonly synopsis?: string | null;
|
46 | /**
|
47 | * As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.
|
48 | */
|
49 | readonly description?: string | null;
|
50 | /**
|
51 | * The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).
|
52 | */
|
53 | readonly category?: string | null;
|
54 | /**
|
55 | * The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.
|
56 | */
|
57 | readonly mimeTypes?: Array<string> | null;
|
58 | /**
|
59 | * The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value).
|
60 | */
|
61 | readonly desktop?: any | null;
|
62 | }
|
63 | export interface LinuxTargetSpecificOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
64 | /**
|
65 | * Package dependencies.
|
66 | */
|
67 | readonly depends?: Array<string> | null;
|
68 | /**
|
69 | * The compression type.
|
70 | * @default xz
|
71 | */
|
72 | readonly compression?: "gz" | "bzip2" | "xz" | null;
|
73 | readonly icon?: string;
|
74 | /**
|
75 | * The package category.
|
76 | */
|
77 | readonly packageCategory?: string | null;
|
78 | readonly vendor?: string | null;
|
79 | readonly maintainer?: string | null;
|
80 | readonly afterInstall?: string | null;
|
81 | readonly afterRemove?: string | null;
|
82 | /**
|
83 | * *Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.
|
84 | *
|
85 | * Example: `["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]`
|
86 | */
|
87 | readonly fpm?: Array<string> | null;
|
88 | }
|
89 | export interface DebOptions extends LinuxTargetSpecificOptions {
|
90 | /**
|
91 | * Package dependencies. Defaults to `["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"]`.
|
92 | */
|
93 | readonly depends?: Array<string> | null;
|
94 | /**
|
95 | * The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).
|
96 | */
|
97 | readonly packageCategory?: string | null;
|
98 | /**
|
99 | * The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.
|
100 | */
|
101 | readonly priority?: string | null;
|
102 | }
|
103 | export interface AppImageOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
104 | /**
|
105 | * The system integration installation.
|
106 | * @default ask
|
107 | */
|
108 | readonly systemIntegration?: "ask" | "doNotAsk";
|
109 | /**
|
110 | * The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.
|
111 | */
|
112 | readonly license?: string | null;
|
113 | }
|