working with port options from commandline

Volodymyr Kostyrko c.kworr at gmail.com
Fri Apr 4 14:26:40 UTC 2014


04.04.2014 14:05, Bryan Drewery написав(ла):
> On 4/3/2014 4:26 AM, Volodymyr Kostyrko wrote:
>> Hi all.
>>
>> I'm all about automation. I'd like to automate most tasks so I can
>> schedule them or write a script with which everything would be done
>> automatically.
>>
>> I have some difficulties with current port options framework:
>>
>> 1. Is there a good way to set/unset any option from command line without
>> firing up dialog? Something like 'make -C port/dir -DSET=OPT1,OPT2
>> -DUNSET=OPT3 updateconfig'.
>
> This should work:
>    make ... OPTIONS_SET="OPT OPT OPT" OPTIONS_UNSET="OPT OPT OPT" BATCH=1

I know but my target is to manage different machines with different 
options remotely. I'm currently experimenting with sysutils/py-salt and 
I found it already has required functionality in ports.config - I can 
remotely update ports configuration without building them. The given 
line actually doesn't change port configuration, it just makes port 
behave differently in the current run.

Why I didn't like this is because it works only on current port but not 
on the ports required by this one. Imagine you have a number of 
_differently_ configured machines and you want to manage updates 
remotely. Poudriere doesn't help as packages actually may very from 
system to system, what I need is number of command line tools to inspect 
what should be build, inspect what options should be changed, update 
options from central datastore and rebuild ports - without using a GUI.

>> 2. Is there a good way to query for option updates? You know when you
>> are building a port the option dialog will still be shown if there are
>> new options not present in current config. Can I get those options
>> somehow like 'make -C port/dir changedconfig'?
>
> The current handling uses:
>    make -V NEWOPTIONS

Exactly what I needed.

> You can also use 'make pretty-print-config' for a parseable output.

Nice thing, I'll remember this one.

-- 
Sphinx of black quartz, judge my vow.


More information about the freebsd-ports mailing list