David C. Rankin wrote:
Listmates,
I ran into my first problem with pacman and, I know what caused the problem, but I need to understand why pacman thought it was a problem to begin with. Here is the situation:
Trying to start X, and one complaint was no /usr/share/fonts/TTF directory. I had a /usr/share/fonts/truetype directory so I just softlinked the missing TTF to truetype to get rid to the error on startx.
Generally a bad idea to do things like that ...
**pms below is just aliased to 'pacman -Sy'
[14:15 archangel:/home/david] # pms lame id3lib vorbis-tools flac faac faad2 musepack-tools mplayer
<snip>
checking package integrity... (12/12) checking for file conflicts [#############################################] 100% error: could not prepare transaction error: failed to commit transaction (conflicting files) ttf-dejavu: /usr/share/fonts/TTF/DejaVuSans-Bold.ttf exists in filesystem ttf-dejavu: /usr/share/fonts/TTF/DejaVuSans-BoldOblique.ttf exists in filesystem ttf-dejavu: /usr/share/fonts/TTF/DejaVuSans-ExtraLight.ttf exists in filesystem <snip - remaining dejavu variants> Errors occurred, no packages were upgraded.
And pacman rightly complained.
Well, since I cause the problem with the softlink, fixing it was pretty easy, but what I'm curious about is why it was a problem to begin with.
Because you added a system file manually.
I want to understand what the rules are for pacman so I don't cause any additional problems in the future with softlinks (which I use in moderation, but do use). So any body got quick explanation or quick link so I can figure out what not to do again??
Thanks
You should generally let pacman take care of creating/removing all of your system files for you. If you start creating system files that it doesn't know about (or deleting ones), you're bound to hit problems when you add new packages, upgrade packages, etc. Generally a good rule of thumb IMO is that you can edit /etc/ config files, but shouldn't add things. (Exceptions maybe would include things like creating backup files - i.e., cp /etc/foo /etc/foo~) So, backing up, why did X give you the "no /usr/share/fonts/TTF directory" error? I'm not sure exactly. Obviously you had no TTF font packages installed (e.g., ttf-dejavu, ttf-ms-fonts, ttf-liberation, etc.) but I didn't think X needed one of them - or the presence of the /usr/share/fonts/TTF directory - in order to start. Are you missing any key xorg packages? i.e., xorg-server, xorg-font-utils, xorg-fonts-alias, xorg-fonts-encodings, xorg-fonts-misc. Maybe do a "pacman -Q | grep xorg" and see? Of course, the obvious workaround here is to just install one of the TTF font packages, but you probably still should find out why X barfed and/or what packages you might be missing, as you might run into trouble down the road otherwise. Might be worth flipping through the Arch Xorg wiki page a bit too: http://wiki.archlinux.org/index.php/Xorg One other thing: not sure why you have a /usr/share/fonts/truetype directory in the first place. I don't have one. Why is that there and where did it come from? Did you install that manually and/or is it a left over from a previous distro? Do a "pacman -Qo /usr/share/fonts/truetype/DejaVuSans-Bold.ttf" and see which package owns it. HTH, DR