The nativelyInstalled attribute allows you to recognize software that is already installed "natively" by non-Pacman means. This can be convenient for stable well known software like perl or for software that needs to be installed as root and you don't happen to be root. The syntax of nativelyInstalled is defined on the Pacman file syntax page. Here we'll give a little tutorial on how to use it.
Make a directory somewhere such as /home/yourname/localcache. This will be a temporary cache to illustrate the point. Now make a tmp area and do
% pacman -fetch Python
just to get the Python tarball. You will see a .tar.gz file, copy it to /home/yourname/localcache/xxx.tar.gz and remove the tmp area.
Now you've got the Python offical tarball in your test localcache area. Make an empty file there called MyPython.pacman containing the single line
download = {'*':'xxx.tar.gz'}
Now make yet another temporary area, cd to it, do
% pacman -get /home/yourname/localcache:MyPython
and do % pacman -info to display your local installation. You should find that the package MyPython has successfully "installed" meaning that it unzipped and untarred the tarball. You can proceed further by using the install attribute, but that's not the point now. Let's suppose that you're willing to accept Python as natively installed simply if something named python is in the path. You would do this by adding the attribute
nativelyInstalled = { 'inpath':['python'] }
Try this and do
% pacman -removeall
% pacman -get MyPython
in your test installation area to get the update. You should see on the web page that your MyPython package is now "natively installed."