Hi LW,
While that will probably work I feel it's error-prone and to much work.
Maybe this is an X-Y problem. Why is having to answer the N-providers-for-X questions a problem ?
I explained the X of X-Y earlier and thought it was accepted as clear. - How to reproduce the packages installed on machine A on machine B. - Assume both are similar hardware so that's not an issue. - Do not alter machine A. It may not even still be available. - Preserve whether a package was explicitly installed or installed as a dependency. - Automatically resolve the virtual package 1-of-N choices. In other words, bundle up some data on A, move it to B, and ‘Voilà!’.
Ralph and Eric had the same idea, creating a list of packages installed as dependencies and use that for the new system.
I think installing D, the set of A's packages installed as dependencies, may want some of E's, the explicitly installed ones. So I'm now thinking: a$ pacman -Qq >a.all a$ pacman -Qqe >a.explicit b$ pacman -S --asdeps --needed <a.all b$ pacman -S --asexplicit --needed <a.explicit The last command is ideally just altering the reason for installation. What's not clear to me from the pacman(1) here is whether --needed detecting a package is up to date cancels any --asdeps/--asexplicit. -- Cheers, Ralph.