# Synth and obsolete ports



## fernandel (Mar 21, 2016)

I have one question about how Synth scan ports. I did read:


> Synth uses cached options if they have been saved. Synth will scan these options file before starting a build, and if any are obsolete (number of options don't match the current port, the option names are different, etc) then it will print out the problematic ports and halt, recommending that the cached options either be removed or re-saved to something valid. To build a package with non-default options, just run "make -C /usr/ports/[category]/[portname] config" before staring a build.



I understand and I like it but my question: Is it possible that Synth scan all ports and on the end shows obsolete ports. On my system shows one by one - I did `make config` for one than synth status again and again new obsolete ports and today I had for ports (one by one). Or is something wrong with my settings?

Thank you.


----------



## marino (Mar 21, 2016)

this doesn't make any sense.  Synth scans all the ports during a request and shows all ports with obsolete cached options.  Not one at a time, but all of them at once.  So it doesn't behave as you describe.

If you really want to scan the entire tree including ports you don't have installed, `synth status-everything` should do it, although it will take a few minutes to scan the entire tree.


----------



## fernandel (Mar 22, 2016)

marino@ said:


> this doesn't make any sense.  Synth scans all the ports during a request and shows all ports with obsolete cached options.  Not one at a time, but all of them at once.  So it doesn't behave as you describe.
> 
> If you really want to scan the entire tree including ports you don't have installed, `synth status-everything` should do it, although it will take a few minutes to scan the entire tree.


What I do before update/upgrade is run `synth status` that I see what will be build and than `synth system-upgrade` and it works but in case of more obsolete ports `synth status` shows one by one as I wrote before. Okay in the feature I will run as you wrote.
Thank you.


----------



## marino (Mar 23, 2016)

I checked the code to be sure.  It's not one by one.  everything in the build queue is checked and each one will emit an error message if the options are obsolete.  I've seen lists of 20 or more obsolete ports so the code works.  The only thing is ports are removed from the queue if they have valid packages, so their options wouldn't be checked if the changes don't invalidate the package.  Other than that, I don't know how you would see what you describe because I didn't code it that way.


----------



## mfoacs (Feb 4, 2017)

The question is not about scanning all or one by one but rather the fact that the process stops and one has to either remove or confirm the non-default options, one-by-one. Is there a way to set a default behavior for example override custom config and just instal the default?


----------



## marino (Feb 4, 2017)

no, you have the correct the bad options.
It's not "one by one" though.  You get a complete list of invalid-option ports.  

If you want to be really quick about it: empty the options directory.  Then you get the default options guaranteed, right?


----------

