Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. install main package
  2. install optional dependencies as dependencies dependencies (–asdeps--asdeps)

Install main package first

...

Install the main wine package as per usual:

Code Block
languagebash
sudo pacman -S wine

Once you've installed this, let's move onto installing all optional dependencies.

...

Now, let's install all optional dependencies.  We're going to use the pactree command pacman -Si command which will list all dependencies (optional and otherwise) for the wine package that we just installed.  Execute the following from the command line:

...

information about the package (including optional dependencies).  The rest of the following command is simply processing the output to only show the optional dependency packages:

Code Block
languagebash
sudo pacman -S --asdeps --needed $(pactreepacman -l wine)

...

Si wine | sed -n '/^Opt/,/^Conf/p' | sed '$d' | sed 's/^Opt.*://g' | sed 's/^\s*//g' | tr '\n' ' ')


Info

Replace pacman -Si wine with pacman -Si <package> where <package> is the package you want to install all the optional dependencies for.

The --needed option will stop pacman from reinstalling a package if it is already installed.  In other words, we probably don't want to reinstall a package and mark it as a dependency if it is already on our system (either installed via another package or installed explicitly).

It's important to note that we should use the --asdeps argument here to mark these packages's install reason as a "dependency" (otherwise, these packages will be marked as "explicitly" installed).  This means that if you uninstall the main package, these optional dependencies will be orphaned - which you can then safely uninstall with a single command (which you can run often to clean up any orphans):

...