No manpage for pamac?

Hi everyone,

is it intended that pamac lacks a man page?

How are people supposed to know how to use pamac-cli? its built-in help text (pamac -h) shows only commands but no options. It does not even tell that -a is required to include the AUR in searches.

Google or Wikis are no replacement when offline.

I am sad to see the many decades old UNIX culture fading. Ubuntu and its Gnome desktop go the same way, omitting man pages for most packages. Sad.

1 Like

You are welcome to contribute one. :slight_smile:

2 Likes

I might … but

  • How do I learn about the options? Is there any documentation? Dig the source?
  • will its programmers pick it up, updating the man page when features are added or changed?

The wiki (wiki . manjaro . org / index . php ? title = Pamac) does not seem to be comprehensive on the topic.

PS:
Sorry for the broken link but I have no permission to post web links yet

all is with “-h” :wink:

add “-h” to action

 pamac install -h
 pamac build -h
 ...
2 Likes
2 Likes

I use:

oman pamac

If you are in a graphic session it opens the wiki page on the web browser, otherwise it prints that same wiki on the terminal.

Based on “man pacman”, “pamac -h” and Manjaro’s wiki I propose the following text adjusted to 80 columns wide for the elaboration of “man pamac”.

I am a normal user doing this for the first time and I don’t know how gitlab works. It would be highly recommended that someone with knowledge check especially the DESCRIPTION section.

NAME
    pamac - package manager utility

SYNOPSIS
    pamac <operation> [options] [targets]

DESCRIPTION
    pamac is a package management utility that tracks installed packages on a
    Linux system. It features dependency support, package groups, install and
    uninstall scripts, and the ability to sync your local machine with a
    remote repository to automatically upgrade packages. pamac packages are a
    zipped tar format.

    pamac is a front-end to libalpm(3), the “Arch
    Linux Package Management” library. This library allows alternative
    front-ends to be written (for instance, a GUI front-end).

    Invoking pamac involves specifying an operation with any potential options
    and targets to operate on. A target is usually a package name, file name,
    URL, or a search string. Targets can be provided as command line arguments.
    Additionally, if stdin is not from a terminal and a single hyphen (-) is
    passed as an argument, targets will be read from stdin.

OPERATIONS
    pamac --version
      Display current pamac version

    pamac --help, -h [operation]
      Display pamac help

    pamac search [options] <package(s)>
      Search for packages or files, multiple search terms can be specified

    pamac list [options] <package(s)>
      List packages, groups, repositories or files

    pamac info [options] <package(s)>
      Display package details, multiple packages can be specified

    pamac install [options] <package(s)>
      Install packages from repositories, path or url

    pamac reinstall [options] <package(s)>
      Reinstall packages

    pamac remove [options] [package(s)]
      Remove packages

    pamac checkupdates [options]
      Safely check for updates without modifiying the databases

    pamac update,upgrade [options]
      Upgrade your system

    pamac clone [options] <package(s)>
      Clone or sync packages build files from AUR

    pamac build [options] [package(s)]
      Build packages from AUR and install them with their dependencies

    pamac clean [options]
      Clean packages cache or build files

OPERATION OPTIONS
    Search for packages or files, multiple search terms can be specified

      pamac search [options] <package(s)/file(s)>

      options:
        --installed, -i : only search for installed packages
        --repos, -r     : only search for packages in repositories
        --aur, -a       : also search in AUR
        --no-aur        : do not search in AUR
        --files, -f     : search for packages which own the given filenames
                          (filenames can be partial)
        --quiet, -q     : only print names

    List packages, groups, repositories or files

      pamac list [options]

      options:
        --installed, -i          : list installed packages
        --orphans, -o            : list packages that were installed as
                                   dependencies but are no longer required by
                                   any installed package
        --foreign, -m            : list packages that were not found in the
                                   repositories
        --groups, -g [group(s)]  : list all packages that are members of the
                                   given groups, if no group is given list all
                                   groups
        --repos, -r [repo(s)]    : list all packages available in the given
                                   repos, if no repo is given list all repos
        --files, -f <package(s)> : list files owned by the given packages
        --quiet, -q              : only print names

    Display package details, multiple packages can be specified

      pamac info [options] <package(s)>

      options:
        --aur, -a : also search in AUR
        --no-aur  : do not search in AUR

    Install packages from repositories, path or url

      pamac install [options] <package(s),group(s)>

      options:
        --ignore <package(s)> : ignore a package upgrade, multiple packages can
                                be specified by separating them with a comma
        --overwrite <glob>    : overwrite conflicting files, multiple patterns
                                can be specified by separating them with  comma
        --download-only, -w   : download all packages but do not
                                install/upgrade anything
        --dry-run, -d         : only print what would be done but do not run
                                the transaction
        --as-deps             : mark all packages installed as a dependency
        --as-explicit         : mark all packages explicitly installed
        --upgrade             : check for updates
        --no-upgrade          : do not check for updates
        --no-confirm          : bypass any and all confirmation messages

    Reinstall packages

      pamac reinstall <package(s),group(s)>

      options:
        --overwrite <glob>  : overwrite conflicting files, multiple patterns
                              can be specified by separating them with a comma
        --download-only, -w : download all packages but do not install/upgrade
                              anything
        --as-deps           : mark all packages installed as a dependency
        --as-explicit       : mark all packages explicitly installed
        --no-confirm        : bypass any and all confirmation messages

    Remove packages

      pamac remove [options] [package(s),group(s)]

      options:
        --unneeded, -u : remove packages only if they are not required by any
                         other packages
        --orphans, -o  : remove dependencies that are not required by other
                         packages, if this option is used without package name
                         remove all orphans
        --no-orphans   : do not remove dependencies that are not required by
                         other packages
        --no-save, -n  : ignore files backup
        --dry-run, -d  : only print what would be done but do not run the
                         transaction
        --no-confirm   : bypass any and all confirmation messages

    Safely check for updates without modifiying the databases

      pamac checkupdates [options]

      options:
        --builddir <dir> : build directory (use with --devel), if no directory
                           is given the one specified in pamac.conf is used
        --aur, -a        : also check updates in AUR
        --no-aur         : do not check updates in AUR
        --quiet, -q      : only print one line per update
        --devel          : also check development packages updates
                           (use with --aur)
        --no-devel       : do not check development packages updates

      (Exit code is 100 if updates are available)

    Upgrade your system

      pamac upgrade,update [options]

      options:
        --force-refresh       : force the refresh of the databases
        --enable-downgrade    : enable package downgrades
        --disable-downgrade   : disable package downgrades
        --download-only, -w   : download all packages but do not
                                install/upgrade anything
        --ignore <package(s)> : ignore a package upgrade, multiple packages
                                can be specified by separating them with comma
        --overwrite <glob>    : overwrite conflicting files, multiple patterns
                                can be specified by separating them with comma
        --no-confirm          : bypass any and all confirmation messages
        --aur, -a             : also upgrade packages installed from AUR
        --no-aur              : do not upgrade packages installed from AUR
        --devel               : also upgrade development packages
                                (use with --aur)
        --no-devel            : do not upgrade development packages
        --builddir <dir>      : build directory (use with --aur), if no
                                directory is given the one specified in
                                pamac.conf file is used

    Clone or sync packages build files from AUR

      pamac clone [options] <package(s)>

      options:
        --builddir <dir> : build directory, if no directory is given the one
                           specified in pamac.conf file is used
        --recurse, -r    : also clone needed dependencies
        --quiet, -q      : do not print any output
        --overwrite      : overwrite existing files

    Build packages from AUR and install them with their dependencies

      pamac build [options] [package(s)]

      options:
        --builddir <dir> : build directory, if no directory is given the one
                           specified in pamac.conf file is used
        --keep, -k       : keep built packages in cache after installation
        --no-keep        : do not keep built packages in cache after
                           installation --dry-run, -d    : only print what
                           would be done but do not run the transaction
        --no-clone       : do not clone build files from AUR, only use local
                           files --no-confirm     : bypass any and all
                           confirmation messages

      If no package name is given, use the PKGBUILD file in the current
      directory. The build directory will be the parent directory, --builddir
      option will be ignored and --no-clone option will be enforced

    Clean packages cache or build files

      pamac clean [options]

      options:
        --keep, -k <number> : specify how many versions of each package are
                              kept in the cache directory
        --uninstalled, -u   : only target uninstalled packages
        --build-files, -b   : remove all build files, the build directory is
                              the one specified in pamac.conf
        --dry-run, -d       : do not remove files, only find candidate packages
        --verbose, -v       : also display all files names
        --no-confirm        : bypass any and all confirmation messages

EXAMPLES
    To search for packages in repos containing the word smplayer
      pamac search smplayer

    To search for packages in repos and AUR containing the word smplayer
      pamac search -a smplayer

    To install smplayer and themes from the repos
      pamac install smplayer smplayer-themes

    To force a package to be installed even if it is already installed
      pamac reinstall smplayer

    To compile and install umplayer from AUR
      pamac build umplayer

    To uninstall smplayer, smplayer-themes and umplayer
      pamac remove smplayer smplayer-themes umplayer

    To display a list of all installed packages
      pamac list -i

    To display information about a package in repos, AUR or installed
      pamac info -a smplayer

    To check if updates are available in repos and AUR
      pamac checkupdates -a

    To update all packages installed from the repos or AUR
      pamac upgrade -a

    To check if there are any orphaned packages installed
      pamac list -o

    To remove all orphans
      pamac remove -o

    To clear the cache except for the latest three package versions
      pamac clean --keep 3

CONFIGURATION
    /etc/pamac.conf file.

BUGS
       Bugs? You must be kidding; there are no bugs in this software. But
       if we happen to be wrong, submit a bug report with as much detail as
       possible at https://gitlab.manjaro.org/applications/pamac/-/issues

Thank you.

Looks excellent.

tldr also has an entry for pamac but as you imagine it’s very terse.

If a user would supply documentation in the future, what format, what tools?

I’ve used Asciidoc. To see an example, just click “Page Source” at the previous link. This same source can then be used to create html, pdf and docbook.

To create a man page:
a2x --no-xmllint --doctype manpage --format manpage FILE.
To create html:
asciidoc FILE

I was under the impression they are written in groff

According to the man manual.

Manual pages are normally stored in nroff(1) format under a directory
such as /usr/share/man

@BusinessOrc if you are referring to asciidoc, it’s all about the asciidoc toolchain and it converting the input, the text with Asciidoc markup, to the desired output. The user is hopefully spending their time on the content and not formatting. What you see in the image above, on the left is the text, the source, and on the right the output from asciidoc viewed using man. The same asciidoc text can be used to produce multiple output formats. The output from asciidoc toolchain, or a2x in this case, looks like:

asciidoc-manpage

The developers web site is written using Asciidoc and they have a link on the left (Page Source) to show the source that produced the it.

That’s right. It is just a plain text proposal for other more knowledgeable users to continue the work. Feel free to change as much as necessary.

@stargazer can post your formated text here:
provide a man page (#800) · Issues · Applications / pamac · GitLab

The draft is already pretty good. But I have a few points:

  1. What is the difference between install and build? Is
    pamac install -a pkgfromaur
    any different from
    pamac build pkgfromaur
    or is it the same? If so, why two action names?

  2. Also, what is the clone action good for? Is it to download without install?
    Even the “Examples” section is missing an entry for clone.

  3. The section on upgrade/update:

      pamac upgrade,update [options]

would be clearer if written as

      pamac upgrade [options]
        or
      pamac update [options]

Mind that this kind of help is for beginners, too.

BTW,
pamac -h update does not work. It merely outputs the generic help, just like for unknown actions like pamac asdfghjk. (tested on pamac 9.5.12-1)

The option “-a” does not exist for the command “pamac install”. Using it the terminal returns the help content for “pamac -h install”.

Information about “pamac clone” is scarce. It is used to download AUR packages before they are built.

Example of “clone” and update and upgrade added options.

“pamac -h update” should redirect to “pamac -h upgrade”. You can report the bug yourself at Issues · Applications / pamac · GitLab

I can’t edit my previous post even though I did it twice before. This is the new text:

NAME
    pamac - package manager utility

SYNOPSIS
    pamac <operation> [options] [targets]

DESCRIPTION
    pamac is a package management utility that tracks installed packages on a
    Linux system. It features dependency support, package groups, install and
    uninstall scripts, and the ability to sync your local machine with a
    remote repository to automatically upgrade packages. pamac packages are a
    zipped tar format.

    pamac is a front-end to libalpm(3), the “Arch
    Linux Package Management” library. This library allows alternative
    front-ends to be written (for instance, a GUI front-end).

    Invoking pamac involves specifying an operation with any potential options
    and targets to operate on. A target is usually a package name, file name,
    URL, or a search string. Targets can be provided as command line arguments.
    Additionally, if stdin is not from a terminal and a single hyphen (-) is
    passed as an argument, targets will be read from stdin.

OPERATIONS
    pamac --version
      Display current pamac version

    pamac --help, -h [operation]
      Display pamac help

    pamac search [options] <package(s)>
      Search for packages or files, multiple search terms can be specified

    pamac list [options] <package(s)>
      List packages, groups, repositories or files

    pamac info [options] <package(s)>
      Display package details, multiple packages can be specified

    pamac install [options] <package(s)>
      Install packages from repositories, path or url

    pamac reinstall [options] <package(s)>
      Reinstall packages

    pamac remove [options] [package(s)]
      Remove packages

    pamac checkupdates [options]
      Safely check for updates without modifiying the databases

    pamac upgrade [options]
      Upgrade your system

    pamac update [options]
      Upgrade your system

    pamac clone [options] <package(s)>
      Clone or sync packages build files from AUR

    pamac build [options] [package(s)]
      Build packages from AUR and install them with their dependencies

    pamac clean [options]
      Clean packages cache or build files

OPERATION OPTIONS
    Search for packages or files, multiple search terms can be specified

      pamac search [options] <package(s)/file(s)>

      options:
        --installed, -i : only search for installed packages
        --repos, -r     : only search for packages in repositories
        --aur, -a       : also search in AUR
        --no-aur        : do not search in AUR
        --files, -f     : search for packages which own the given filenames
                          (filenames can be partial)
        --quiet, -q     : only print names

    List packages, groups, repositories or files

      pamac list [options]

      options:
        --installed, -i          : list installed packages
        --orphans, -o            : list packages that were installed as
                                   dependencies but are no longer required by
                                   any installed package
        --foreign, -m            : list packages that were not found in the
                                   repositories
        --groups, -g [group(s)]  : list all packages that are members of the
                                   given groups, if no group is given list all
                                   groups
        --repos, -r [repo(s)]    : list all packages available in the given
                                   repos, if no repo is given list all repos
        --files, -f <package(s)> : list files owned by the given packages
        --quiet, -q              : only print names

    Display package details, multiple packages can be specified

      pamac info [options] <package(s)>

      options:
        --aur, -a : also search in AUR
        --no-aur  : do not search in AUR

    Install packages from repositories, path or url

      pamac install [options] <package(s),group(s)>

      options:
        --ignore <package(s)> : ignore a package upgrade, multiple packages can
                                be specified by separating them with a comma
        --overwrite <glob>    : overwrite conflicting files, multiple patterns
                                can be specified by separating them with  comma
        --download-only, -w   : download all packages but do not
                                install/upgrade anything
        --dry-run, -d         : only print what would be done but do not run
                                the transaction
        --as-deps             : mark all packages installed as a dependency
        --as-explicit         : mark all packages explicitly installed
        --upgrade             : check for updates
        --no-upgrade          : do not check for updates
        --no-confirm          : bypass any and all confirmation messages

    Reinstall packages

      pamac reinstall <package(s),group(s)>

      options:
        --overwrite <glob>  : overwrite conflicting files, multiple patterns
                              can be specified by separating them with a comma
        --download-only, -w : download all packages but do not install/upgrade
                              anything
        --as-deps           : mark all packages installed as a dependency
        --as-explicit       : mark all packages explicitly installed
        --no-confirm        : bypass any and all confirmation messages

    Remove packages

      pamac remove [options] [package(s),group(s)]

      options:
        --unneeded, -u : remove packages only if they are not required by any
                         other packages
        --orphans, -o  : remove dependencies that are not required by other
                         packages, if this option is used without package name
                         remove all orphans
        --no-orphans   : do not remove dependencies that are not required by
                         other packages
        --no-save, -n  : ignore files backup
        --dry-run, -d  : only print what would be done but do not run the
                         transaction
        --no-confirm   : bypass any and all confirmation messages

    Safely check for updates without modifiying the databases

      pamac checkupdates [options]

      options:
        --builddir <dir> : build directory (use with --devel), if no directory
                           is given the one specified in pamac.conf is used
        --aur, -a        : also check updates in AUR
        --no-aur         : do not check updates in AUR
        --quiet, -q      : only print one line per update
        --devel          : also check development packages updates
                           (use with --aur)
        --no-devel       : do not check development packages updates

      (Exit code is 100 if updates are available)

    Upgrade your system

      pamac upgrade,update [options]

      options:
        --force-refresh       : force the refresh of the databases
        --enable-downgrade    : enable package downgrades
        --disable-downgrade   : disable package downgrades
        --download-only, -w   : download all packages but do not
                                install/upgrade anything
        --ignore <package(s)> : ignore a package upgrade, multiple packages
                                can be specified by separating them with comma
        --overwrite <glob>    : overwrite conflicting files, multiple patterns
                                can be specified by separating them with comma
        --no-confirm          : bypass any and all confirmation messages
        --aur, -a             : also upgrade packages installed from AUR
        --no-aur              : do not upgrade packages installed from AUR
        --devel               : also upgrade development packages
                                (use with --aur)
        --no-devel            : do not upgrade development packages
        --builddir <dir>      : build directory (use with --aur), if no
                                directory is given the one specified in
                                pamac.conf file is used

    Clone or sync packages build files from AUR

      pamac clone [options] <package(s)>

      options:
        --builddir <dir> : build directory, if no directory is given the one
                           specified in pamac.conf file is used
        --recurse, -r    : also clone needed dependencies
        --quiet, -q      : do not print any output
        --overwrite      : overwrite existing files

    Build packages from AUR and install them with their dependencies

      pamac build [options] [package(s)]

      options:
        --builddir <dir> : build directory, if no directory is given the one
                           specified in pamac.conf file is used
        --keep, -k       : keep built packages in cache after installation
        --no-keep        : do not keep built packages in cache after
                           installation --dry-run, -d    : only print what
                           would be done but do not run the transaction
        --no-clone       : do not clone build files from AUR, only use local
                           files --no-confirm     : bypass any and all
                           confirmation messages

      If no package name is given, use the PKGBUILD file in the current
      directory. The build directory will be the parent directory, --builddir
      option will be ignored and --no-clone option will be enforced

    Clean packages cache or build files

      pamac clean [options]

      options:
        --keep, -k <number> : specify how many versions of each package are
                              kept in the cache directory
        --uninstalled, -u   : only target uninstalled packages
        --build-files, -b   : remove all build files, the build directory is
                              the one specified in pamac.conf
        --dry-run, -d       : do not remove files, only find candidate packages
        --verbose, -v       : also display all files names
        --no-confirm        : bypass any and all confirmation messages

EXAMPLES
    To search for packages in repos containing the word smplayer
      pamac search smplayer

    To search for packages in repos and AUR containing the word smplayer
      pamac search -a smplayer

    To install smplayer and themes from the repos
      pamac install smplayer smplayer-themes

    To force a package to be installed even if it is already installed
      pamac reinstall smplayer

    To compile and install umplayer from AUR
      pamac build umplayer

    To clone umplayer from AUR in Download folder
      pamac clone umplayer ~/Download

    To uninstall smplayer, smplayer-themes and umplayer
      pamac remove smplayer smplayer-themes umplayer

    To display a list of all installed packages
      pamac list -i

    To display information about a package in repos, AUR or installed
      pamac info -a smplayer

    To check if updates are available in repos and AUR
      pamac checkupdates -a

    To update all packages installed from the repos or AUR
      pamac upgrade -a
        or
      pamac update -a

    To check if there are any orphaned packages installed
      pamac list -o

    To remove all orphans
      pamac remove -o

    To clear the cache except for the latest three package versions
      pamac clean --keep 3

CONFIGURATION
    /etc/pamac.conf file.

BUGS
       Bugs? You must be kidding; there are no bugs in this software. But
       if we happen to be wrong, submit a bug report with as much detail as
       possible at https://gitlab.manjaro.org/applications/pamac/-/issues

I will use @Wibol latest update (#15).

1 Like

Thx, pamac 10 will have manpages :blush:

7 Likes