I got this weird thing going on where,pacman -S -w awesome xorg-xinit xorg-server xorg-server-utilspacman doesn't download all the required dependencies.The reason for downloading the packages is because I'm creating a local repo with only the specific packages to my neededs. (instead of downloading the whole repo since the Arch community doesn't want you to do this because of bandwidth limitations, which is respect)Now, the packages defined above downloads nicely, it does download xorg-server and so on, and -w ensures they don't get installed. But -S should also download all the dependencies which it doesn't for whatever reason.The output when trying to install the above packages using the local repo later on results in:warning: cannot resolve xorg-xset, a dependency of xorg-server-utilswarning: cannot resolve xorg-xauth, a dependency of xorg-xinitand the list goes on... inspecting the repo surely the packages are missing and has never been downloaded anywhere.Any ideas to why this is? Have I missed something? Logically or parameter wise?
pacman doesn't download dependencies with -S and -w?
linux;arch linux;pacman
As pointed out by Earnestly and demonicmaniac3 over at #archlinux irc channel, this is because pacman won't re-download anything if it's already locally installed. But it will download whatever it is you're specifically instructing it to, which make a whole lot of sense come to think of it.This means if you're trying to download packages intended for a custom/local repo, you need to either make sure the packages you're about to download is not installed locally or do one of these options:Use a empty package database temporarly/locallypacman -y --dbpath /tmp ...This will create the illusion that nothing is installed locally and every single package needed is downloaded. This also requires you to do -y since there's no master package-list in your made up database.Perform a system upgradepacman -Syuw ...This should re-install/upgrade any package may it be installed or not already.Note: Not verified (I know to little about pacman's logic and is in a time pickle to test it)Generate a dependency-list using expacexpac -S '%E' -l '\n' xorg-xinit xorg-server-utils ...Calling expac on the <package string> (all the packages you are about to download) would give you a list of packages needed to run whatever it is you're downloading. You could use this list to fetch/add to your already existing string of packages scheduled for installation.I prefer the expac version since it holds up programmatically and would be useable in many scripts, but the quick and dirty version is to simply redirect the database which pacman checks. 