# Portupgrade deletes ports on build errors? Why?



## Brandybuck (Mar 31, 2010)

The annoying png update has meant I have had to upgrade dozens of ports in the past few days. In the course of this I am starting to see a disturbing pattern. Whenever there is a build failure, I end up with the old software missing. Why is portupgrade deinstalling my software on a build error?

I just spent two hours building openoffice.org, and got a build error. The message says "Stop in /usr/ports/editors/openoffice.org-3". And lo! I have no openoffice anymore! I've had this happen with several KDE modules as well as teTeX. Is this new undocumented portupgrade behavior?

Someone please tell me how to turn off this behavior. Thank you.

Update: This is still happening. Tried up update vlc, got a compile error, and immediately after the build stop portupgrade said it was removing to the old port. Now I have no vlc, and portdowngrade won't downgrade to the working version because there is no port to downgrade from. Must manually patch download old makefile.


----------



## Brandybuck (May 31, 2010)

Bumping this up. Am I the only one seeing this? Is this a bug, or is this desired behavior? Please help.


----------



## zeiz (May 31, 2010)

I read your first post but didn't have such experience: portupgrade failed many times here but I cannot recall it deleted old soft, vice versa I always see "...backing up ... restoring...". Perhaps I was just lucky and the ports failed here had no extra scripts that could command to delete something.


----------



## vrachil (Jun 1, 2010)

zeiz said:
			
		

> I read your first post but didn't have such experience: portupgrade failed many times here but I cannot recall it deleted old soft, vice versa I always see "...backing up ... restoring...". Perhaps I was just lucky and the ports failed here had no extra scripts that could command to delete something.



That's what I remember too.
Portupgrade builds the port, then deinstalls the old version, and then installs the new version. I've had quite a few build errors, but the old version was still installed after that. Do you use any flags with portupgrade?


----------



## jilles@ (Jan 16, 2011)

I have noticed this too: sometimes portupgrade ignores the error status from the build and install steps, resulting in the port disappearing.

Given that portupgrade appears to be a bit of abandonware, it may be better to switch to portmaster. This is annoying if you have lots of stuff in /usr/local/etc/pkgtools.conf but should otherwise be fairly painless.


----------



## dougb@ (Jan 16, 2011)

jilles@ said:
			
		

> I have noticed this too: sometimes portupgrade ignores the error status from the build and install steps, resulting in the port disappearing.
> 
> Given that portupgrade appears to be a bit of abandonware, it may be better to switch to portmaster. This is annoying if you have lots of stuff in /usr/local/etc/pkgtools.conf but should otherwise be fairly painless.



Thanks for the vote of confidence jilles.   The default behavior for portmaster is to create a backup package of the port before it pkg_delete's it, so the problem described by the OP would not happen. 

Most of what can be done with /usr/local/etc/pkgtools.conf can be recreated with ports-mgmt/portconf. If there are things that portupgrade users really want to be able to do with portmaster that cannot be done with portconf I'm happy to add feature requests to the list. 


hth,

Doug


----------

