Resposta
Existe um programa chamado pactree que é instalado junto com o pacman package.
É usado para mostrar a árvore de dependências do pacote especificado.
Você pode usá-lo assim:
pactree -u <package_name>
No entanto, ao contrário do pacman -Sp <package_name>
, o pactree só aceita um nome de pacote.
Uma solução
Existem várias maneiras de contornar esse problema, mas a julgar pela sua pergunta, não tenho a sensação de que você esteja familiarizado com os shell scripts (desculpe se estou enganado), então vou explicar uma solução em detalhes:
echo "package_name1 package_name2 ..." | xargs -n 1 pactree -u | sort -u | xargs -n 1 pacman -Sp > /myPackages.list
echo
- Comando interno do Shell: Imprime o argumento para o stdout
(com nova linha anexada).
|
- Pipe: redireciona o stdout
do comando esquerdo para o stdin
do comando correto.
xargs
- Comando externo: Obtém stdin
e o anexa à lista de argumentos do comando fornecido.
-n 1
- xargs
option: Execute o comando especificado uma vez para cada argumento de stdin
.
pactree
- Comando externo: mostra a árvore de dependências para o pacote fornecido.
-u
- pactree
option: Em vez de um gráfico, imprima cada pacote de dependência em uma linha separada.
sort
- Comando externo: classifica o texto do stdin
e grava-o na opção stdout
.
-u
- sort
: remove duplicatas do classificado stdin
.
(Isso é necessário porque alguns pacotes podem ter as mesmas dependências).
Você está familiarizado com o restante da linha.
Nota
pacman -Sp
reportará erro se você der o pacote do AUR.
EDIT 17.09.2018
Como apontado por JdeBP , pactree
está agora no pacman-contrib .