dpkgSpec top-level property

FigSpec dpkgSpec
final

Completion spec for dpkg CLI

Implementation

final FigSpec dpkgSpec = FigSpec(
  name: 'dpkg',
  description: 'Debian package management system',
  subcommands: [

    Subcommand(
      name: 'query',
      description: 'Query the dpkg database',
      options: [

        Option(
          name: ['-l', '--list'],
          description: 'List packages matching a pattern',
          args: [
            Arg(
            name: 'patter'
          )
          ]
        ),
        Option(
          name: ['-s', '--status'],
          description: 'Display the status of available packages',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-L', '--listfiles'],
          description: 'List files in a package',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-S', '--search'],
          description: 'Search for a package owning a file',
          args: [
            Arg(
            name: 'fil'
          )
          ]
        ),
        Option(
          name: ['-p', '--print-avail'],
          description: 'Display details about a package in the dpkg database',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-W', '--show'],
          description: 'Show a package in the dpkg database',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'install',
      description: 'Install or upgrade packages',
      args: [
        Arg(
        name: 'packag'
      )
      ],
      options: [

        Option(
          name: ['-R', '--recursive'],
          description: 'Recursively handle packages'
        ),
        Option(
          name: ['-B', '--auto-deconfigure'],
          description: 'Uninstall packages that depend on the target package'
        ),
        Option(
          name: '--skip-same-version',
          description: 'Don\'t upgrade if the same version is already installed'
        ),
        Option(
          name: '--force-depends',
          description: 'Ignore dependency problems'
        ),
        Option(
          name: '--force-confnew',
          description: 'Always install the new version of configuration files'
        ),
        Option(
          name: '--force-confold',
          description: 'Always install the old version of configuration files'
        ),
        Option(
          name: '--force-confdef',
          description: 'Always install the default version of configuration files'
        ),
        Option(
          name: '--force-confmiss',
          description: 'Always install missing configuration files'
        ),
        Option(
          name: '--no-triggers',
          description: 'Skip processing triggers'
        ),
        Option(
          name: '--no-act',
          description: 'Simulate the action, but don\'t execute'
        )
      ]
    ),
    Subcommand(
      name: 'remove',
      description: 'Remove packages',
      args: [
        Arg(
        name: 'packag'
      )
      ],
      options: [

        Option(
          name: ['-R', '--recursive'],
          description: 'Recursively remove packages'
        ),
        Option(
          name: ['-B', '--auto-deconfigure'],
          description: 'Uninstall packages that depend on the target package'
        ),
        Option(
          name: '--no-act',
          description: 'Simulate the action, but don\'t execute'
        )
      ]
    ),
    Subcommand(
      name: 'purge',
      description: 'Remove packages and their configuration files',
      args: [
        Arg(
        name: 'packag'
      )
      ],
      options: [

        Option(
          name: ['-R', '--recursive'],
          description: 'Recursively remove packages'
        ),
        Option(
          name: '--no-act',
          description: 'Simulate the action, but don\'t execute'
        )
      ]
    ),
    Subcommand(
      name: 'configure',
      description: 'Configure a package after installation',
      args: [
        Arg(
        name: 'packag'
      )
      ],
      options: [

        Option(
          name: '--pending',
          description: 'Configure all unconfigured packages'
        ),
        Option(
          name: '--no-triggers',
          description: 'Skip processing triggers'
        ),
        Option(
          name: '--no-act',
          description: 'Simulate the action, but don\'t execute'
        )
      ]
    ),
    Subcommand(
      name: 'reconfigure',
      description: 'Reconfigure a package',
      args: [
        Arg(
        name: 'packag'
      )
      ],
      options: [

        Option(
          name: '--no-triggers',
          description: 'Skip processing triggers'
        ),
        Option(
          name: '--no-act',
          description: 'Simulate the action, but don\'t execute'
        )
      ]
    ),
    Subcommand(
      name: 'list',
      description: 'List packages in the dpkg database',
      options: [

        Option(
          name: ['-l', '--list'],
          description: 'List packages matching a pattern',
          args: [
            Arg(
            name: 'patter'
          )
          ]
        ),
        Option(
          name: ['-s', '--status'],
          description: 'Display the status of available packages',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-L', '--listfiles'],
          description: 'List files in a package',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-S', '--search'],
          description: 'Search for a package owning a file',
          args: [
            Arg(
            name: 'fil'
          )
          ]
        ),
        Option(
          name: ['-p', '--print-avail'],
          description: 'Display details about a package in the dpkg database',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: ['-W', '--show'],
          description: 'Show a package in the dpkg database',
          args: [
            Arg(
            name: 'packag'
          )
          ]
        ),
        Option(
          name: '--installed',
          description: 'List installed packages'
        ),
        Option(
          name: '--avail',
          description: 'List available packages'
        ),
        Option(
          name: '--hold',
          description: 'List packages on hold'
        ),
        Option(
          name: '--deferred',
          description: 'List deferred packages'
        )
      ]
    ),
    Subcommand(
      name: 'builddeb',
      description: 'Build Debian package files from sources',
      args: [
        Arg(
        name: 'director'
      )
      ],
      options: [

        Option(
          name: ['-us', '--unsigned'],
          description: 'Build unsigned .changes and .dsc files'
        ),
        Option(
          name: ['-uc', '--unsigned-changes'],
          description: 'Build unsigned .changes file'
        ),
        Option(
          name: ['-sa', '--source'],
          description: 'Build source package'
        ),
        Option(
          name: '-rfakeroot',
          description: 'Use fakeroot when building the package'
        ),
        Option(
          name: ['-b', '--binary'],
          description: 'Build binary package from source'
        ),
        Option(
          name: '--force-sign',
          description: 'Force signing of changes file'
        ),
        Option(
          name: ['-m', '--maintainer'],
          description: 'Specify the package maintainer',
          args: [
            Arg(
            name: 'emai'
          )
          ]
        ),
        Option(
          name: ['-c', '--changes'],
          description: 'Specify the changes file to use',
          args: [
            Arg(
            name: 'fil'
          )
          ]
        ),
        Option(
          name: ['-v', '--version'],
          description: 'Specify the version to use',
          args: [
            Arg(
            name: 'versio'
          )
          ]
        ),
        Option(
          name: '--increment',
          description: 'Increment the version number in the changelog'
        )
      ]
    ),
    Subcommand(
      name: 'check',
      description: 'Check the dependencies of packages',
      args: [
        Arg(
        name: 'package',
        isOptional: true
      )
      ],
      options: [

        Option(
          name: ['-a', '--all'],
          description: 'Check all installed packages'
        ),
        Option(
          name: ['-d', '--unmet'],
          description: 'Check for unmet dependencies'
        ),
        Option(
          name: ['-i', '--check-installed'],
          description: 'Check installed packages'
        ),
        Option(
          name: ['-U', '--check-unpacked'],
          description: 'Check unpacked packages'
        ),
        Option(
          name: ['-c', '--nocheck'],
          description: 'Skip checking for broken dependencies'
        ),
        Option(
          name: ['-r', '--reverse'],
          description: 'Check reverse dependencies'
        )
      ]
    ),
    Subcommand(
      name: 'compare-versions',
      description: 'Compare package versions',
      args: [

        Arg(
          name: 'version1'
        ),
        Arg(
          name: 'relation',
          isOptional: true,
          suggestions: [

            FigSuggestion(name: 'lt'),
            FigSuggestion(name: 'le'),
            FigSuggestion(name: 'eq'),
            FigSuggestion(name: 'ne'),
            FigSuggestion(name: 'gt'),
            FigSuggestion(name: 'ge')
          ]
        ),
        Arg(
          name: 'version2'
        )
      ]
    )
  ],
  options: [

    Option(
      name: ['-h', '--help'],
      description: 'Help for dpkg'
    )
  ]
);