# portupgrade, CVsup, portmanager, portsnap



## woodson2 (Jun 9, 2009)

Am I correct to say that these three utilities all perform the same function? is one better than the other at solving dependency issues....Why are there so many ways to update ports?


----------



## DutchDaemon (Jun 9, 2009)

They are two solutions for two different things.

CVsup and portsnap can be used to maintain the ports tree itself (the ports skeleton), a.k.a. the files needed to actually fetch, build and install ports. 

Portsnap is the preferred tool nowadays (FreeBSD 6 and up).

Portupgrade and portmaster can be used to build and maintain the ports that are actually installed on your system.

Portupgrade is older, but it is 'heavier'. It relies on external databases and scripting which have to be installed separately. Portupgrade can also handle binary packages-only installations.

Portmaster works with what is already on your system and requires no additional ports to run, but it does require a somewhat deeper understanding of how ports work to troubleshoot snafu situations.


----------



## DrJ (Jun 9, 2009)

Not quite.  CVSup, csup and portsnap update the ports tree.  Portupgrade and portmaster are used to update the actual ports (or packages).


----------



## DrJ (Jun 9, 2009)

Damn, DD, are you ever fast!


----------



## DutchDaemon (Jun 9, 2009)

Sorry!


----------



## woodson2 (Jun 9, 2009)

Thanks for clearing that up.....So going forward I'll use portsnap and portmanager..Another question.....When I run portmaster -a I can't upgrade rsync.

```
===>>> Gathering distinfo list for installed ports

===>>> Starting check of installed ports for available updates
===>>> Checking ports for recursive 'make config'
===>>> Launching child to update rsync-3.0.5 to rsync-3.0.6

===>>> Port directory: /usr/ports/net/rsync
	===>>> This port is marked IGNORE
	===>>> flags and atimes can't be enabled simultaneously. Please rerun 'make config' and disable one of them

	===>>> If you are sure you can build it, remove the
	       IGNORE line in the Makefile and try again.

===>>> Update for rsync-3.0.5 failed
===>>> Aborting update
```
Now from what I understand I can edit the Makefile and remove the ignore option?  Why was it marked as ignore?....Basically how can I find out what the repercussions would be if I removed the IGNORE flag and updated rsync?


----------



## DrJ (Jun 9, 2009)

woodson2 said:
			
		

> Basically how can I find out what the repercussions would be if I removed the IGNORE flag and updated rsync?



Read the error message.  It claims that you have selected two options that are not compatible with one another.  So go to the appropriate directory for the rsync port, run "make config" and deselect one or the other.  Then run your upgrade again.

Unless you have a reason to believe otherwise, it is not a good idea simply to remove the IGNORE flag.  There is a reason it is there -- sometimes it is for security reasons, sometimes your machine architecture is wrong for the port, other times the port is broken.  You have to find that out first.

I can't help you with deciding between the two options in rsync.


----------



## woodson2 (Jun 9, 2009)

Much thanks..That did the trick.


----------



## DutchDaemon (Jun 9, 2009)

Good. If you run into further problems with specific ports, address them in separate threads with ditto subjects (one subject per topic).


----------

