As always, please make sure to merge your pacnew files!
http://www.archlinux.org/news/pacman-4-moves-to-core/
To begin with you must remove yaourt and package-query before updating to Pacman 4 or you will get errors:
checking dependencies...
Remove (3): yaourt-0.10.2-1 package-query-0.9-1 yajl-2.0.4-1
Total Removed Size: 0.55 MB
Do you want to remove these packages? [Y/n]
(1/3) removing yaourt [########################################################################] 100%
(2/3) removing package-query [########################################################################] 100%
(3/3) removing yajl
Then I started the update:
:: Synchronizing package databases...
xorg110 3.4K 1633.6K/s 00:00:00 [#####################################################################] 100%
core 102.4K 236.3K/s 00:00:00 [#####################################################################] 100%
extra 1182.8K 591.8K/s 00:00:02 [#####################################################################] 100%
community 1016.0K 755.5K/s 00:00:01 [#####################################################################] 100%
multilib 68.4K 257.7K/s 00:00:00 [#####################################################################] 100%
:: The following packages should be upgraded first :
pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n]
resolving dependencies...
looking for inter-conflicts...
Targets (2): libarchive-3.0.3-2 pacman-4.0.1-4
Total Download Size: 2.13 MB
Total Installed Size: 6.16 MB
Proceed with installation? [Y/n]
:: Retrieving packages from core...
libarchive-3.0.3-2-x86_64 1173.8K 610.2K/s 00:00:02 [#############################################################] 100%
pacman-4.0.1-4-x86_64 1011.5K 795.5K/s 00:00:01 [#############################################################] 100%
(2/2) checking package integrity [#############################################################] 100%
(2/2) checking for file conflicts [#############################################################] 100%
(1/2) upgrading libarchive [#############################################################] 100%
(2/2) upgrading pacman [#############################################################] 100%
warning: /etc/pacman.conf installed as /etc/pacman.conf.pacnew
>>> Run `pacman-key --init` to set up your pacman keyring.
So I ran pacman-key --init as root:
gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created
gpg: no ultimately trusted keys found
gpg: Generating pacman keychain master key...
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 278 more bytes)
------------------
gpg: key CF192FA5 marked as ultimately trusted
gpg: Done
==> Updating trust database...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
Then I tried to install the package but got an error for one of the deps:
resolving dependencies...
looking for inter-conflicts...
Targets (3): yajl-2.0.4-1 package-query-1.0-1 yaourt-1.0-1
Total Installed Size: 0.57 MiB
Proceed with installation? [Y/n]
(3/3) checking package integrity [########################################################################] 100%
error: yajl: key "1EB2638FF56C0C53" is unknown
:: Import PGP key F56C0C53, "Dave Reisner <d@falconindy.com>", created 2011-06-25? [Y/n] y
(3/3) checking package integrity [########################################################################] 100%
error: yajl: signature from "Dave Reisner <d@falconindy.com>" is unknown trust
error: failed to commit transaction (invalid or corrupted package)
To import the key, I simply copied the key from above and ran:
==> Updating trust database...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u
Now the update works fine:
resolving dependencies...
looking for inter-conflicts...
Targets (3): yajl-2.0.4-1 package-query-1.0-1 yaourt-1.0-1
Total Installed Size: 0.57 MiB
Proceed with installation? [Y/n]
(3/3) checking package integrity [########################################################################] 100%
(3/3) loading package files [########################################################################] 100%
(3/3) checking for file conflicts [########################################################################] 100%
(1/3) installing yajl [########################################################################] 100%
(2/3) installing package-query [########################################################################] 100%
(3/3) installing yaourt [########################################################################] 100%
Optional dependencies for yaourt
aurvote: vote for favorite packages from AUR for inclusion in [community]
customizepkg: automatically modify PKGBUILD during install/upgrade
rsync: retrieve PKGBUILD from official repositories
pacman-color: fully colorized output
I had a few issues updating my servers with a bunch of unsigned packages so I followed the wiki entry to setup the GPG signature for both Master and Trusted Users:
https://wiki.archlinux.org/index.php/Pacman...quired_PGP_keys
I have still not decided if I am happy with the implementation but if you are not, you can easily remove this function from pacman:
Also, at the top they say that this function is removed but that is only on the /etc/pacman.conf.pacnew file. So you need to edit you /etc/pacman.conf file to disable it.