Besser ist pacman -Q, mit der Option -l kriegst du ja alle installierten Dateien.
Ein Äquivalent zu dpkg -set/get-selections bietet dir die Shell und ein paar Tools:
pacman -Q > mybase.lst
(exportiert die Liste der installierten Pakete)
cut -d" " -f1 < mybase.lst | xargs pacman -S
(installiert dir die Pakete aus der Liste)
cut -d" " -f1 < mybase.lst | xargs pacman -Sp
(damit kannst du es z.B. mal testen, durch -p wird nur der Downloadpfad ausgegeben)
Nachteil dabei ist, das in der Liste nicht ersichtlich ist welches Paket explizit gewählt
wurde und welches nur eine Abhängigkeit ist.
Schön wäre es also, eine Liste zu haben die nur ausdrücklich installierte Pakete
auflistet.
Ich werde die nächsten Tage mal drangehen, wenn du selbst probieren willst:
In /var/lib/pacman sind die Paketinformationen für jedes Repository abgelegt. Der
Ordner local enthält die Pakete+Beschreibungen, die du installiert hast.
Für jedes Paket gibt es 3 Dateien: depends, desc und files.
In desc gibt es jetzt den Schlüssel %REASON%. Wenn dieser vorhanden ist (dann
belegt mit 1), dann ist diese Datei eine Abhängigkeit eines anderen Paketes.
Die "ulimative" Paketliste könnte jetzt so geparst werden:
Durchsuche alle desc-Files unterhalb von /var/lib/pacman/local/* und wenn darin
nicht %REASON% vorkommt dann speichere den Paketnamen in mybase_explizit.lst
ab.
Beim Installieren mit dem obigem xargs durch pacman werden dann Abhängigkeiten
automatisch installiert.