140 lines
5.3 KiB
TypeScript
140 lines
5.3 KiB
TypeScript
export interface MakerDebConfigOptions {
|
|
/**
|
|
* Name of the package (e.g. atom), used in the Package field of the control
|
|
* specification.
|
|
*
|
|
* Package names [...] must consist only of lower case letters (a-z), digits
|
|
* (0-9), plus (+) and minus (-) signs, and periods (.). They must be at
|
|
* least two characters long and must start with an alphanumeric character.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* Name of the application (e.g. Atom), used in the Name field of the desktop specification.
|
|
*/
|
|
productName?: string;
|
|
/**
|
|
* Generic name of the application (e.g. Text Editor), used in the GenericName field of the
|
|
* desktop specification.
|
|
*/
|
|
genericName?: string;
|
|
/**
|
|
* Short description of the application, used in the Description field of the control
|
|
* specification.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* Long description of the application, used in the Description field of the control
|
|
* specification.
|
|
*/
|
|
productDescription?: string;
|
|
/**
|
|
* Version number of the package, used in the Version field of the control specification.
|
|
*/
|
|
version?: string;
|
|
/**
|
|
* Revision number of the package, used in the Version field of the control specification.
|
|
*/
|
|
revision?: string;
|
|
/**
|
|
* Application area into which the package has been classified.
|
|
*
|
|
* Possible sections. Generated on https://packages.debian.org/unstable/ with:
|
|
*
|
|
* ```javascript
|
|
* $$('#content dt a').map(n => {
|
|
* const ss = n.href.split('/');
|
|
* return `'${ss[ss.length - 2]}'`;
|
|
* }).sort().join(' | ')
|
|
* ```
|
|
*/
|
|
section?: 'admin' | 'cli-mono' | 'comm' | 'database' | 'debian-installer' | 'debug' | 'devel' | 'doc' | 'editors' | 'education' | 'electronics' | 'embedded' | 'fonts' | 'games' | 'gnome' | 'gnu-r' | 'gnustep' | 'graphics' | 'hamradio' | 'haskell' | 'httpd' | 'interpreters' | 'introspection' | 'java' | 'javascript' | 'kde' | 'kernel' | 'libdevel' | 'libs' | 'lisp' | 'localization' | 'mail' | 'math' | 'metapackages' | 'misc' | 'net' | 'news' | 'ocaml' | 'oldlibs' | 'otherosfs' | 'perl' | 'php' | 'python' | 'ruby' | 'rust' | 'science' | 'shells' | 'sound' | 'tasks' | 'tex' | 'text' | 'utils' | 'vcs' | 'video' | 'virtual' | 'web' | 'x11' | 'xfce' | 'zope';
|
|
/**
|
|
* How important is it to have the package installed.
|
|
*
|
|
* You can read more: https://www.debian.org/doc/debian-policy/#priorities
|
|
*/
|
|
priority?: 'required' | 'important' | 'standard' | 'optional';
|
|
/**
|
|
* Estimate of the total amount of disk space required to install the named package,
|
|
* used in the Installed-Size field of the control specification.
|
|
*/
|
|
size?: number;
|
|
/**
|
|
* Relationships to other packages, used in the Depends field of the control specification.
|
|
*/
|
|
depends?: string[];
|
|
/**
|
|
* Relationships to other packages, used in the Recommends field of the control specification.
|
|
*/
|
|
recommends?: string[];
|
|
/**
|
|
* Relationships to other packages, used in the Suggests field of the control specification.
|
|
*/
|
|
suggests?: string[];
|
|
/**
|
|
* Relationships to other packages, used in the Enhances field of the control specification.
|
|
*/
|
|
enhances?: string[];
|
|
/**
|
|
* Relationships to other packages, used in the Pre-Depends field of the control specification.
|
|
*/
|
|
preDepends?: string[];
|
|
/**
|
|
* Maintainer of the package, used in the Maintainer field of the control specification.
|
|
*/
|
|
maintainer?: string;
|
|
/**
|
|
* URL of the homepage for the package, used in the Homepage field of the control specification.
|
|
*/
|
|
homepage?: string;
|
|
/**
|
|
* Relative path to the executable that will act as binary for the application, used in the Exec
|
|
* field of the desktop specification.
|
|
*
|
|
* Defaults to options.name
|
|
*/
|
|
bin?: string;
|
|
/**
|
|
* Path to a single image that will act as icon for the application:
|
|
*/
|
|
icon?: string;
|
|
/**
|
|
* Categories in which the application should be shown in a menu, used in the Categories field
|
|
* of the desktop specification.
|
|
*
|
|
* Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with:
|
|
*
|
|
* `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]`
|
|
*/
|
|
categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[];
|
|
/**
|
|
* MIME types the application is able to open, used in the MimeType field of the desktop
|
|
* specification.
|
|
*/
|
|
mimeType?: string[];
|
|
/**
|
|
* You can use these to quieten lintian.
|
|
*/
|
|
lintianOverrides?: string[];
|
|
/**
|
|
* Path to package maintainer scripts with their corresponding name, used in the installation
|
|
* procedure.
|
|
*
|
|
* Read More:
|
|
* https://www.debian.org/doc/debian-policy/#package-maintainer-scripts-and-installation-procedure
|
|
*/
|
|
scripts?: {
|
|
preinst?: string;
|
|
postinst?: string;
|
|
prerm?: string;
|
|
postrm?: string;
|
|
};
|
|
/**
|
|
* The absolute path to a custom template for the generated FreeDesktop.org desktop entry file.
|
|
*/
|
|
desktopTemplate?: string;
|
|
}
|
|
export interface MakerDebConfig {
|
|
options?: MakerDebConfigOptions;
|
|
}
|