Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Apr 2014 18:29:58 +0300
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        Bryan Drewery <bdrewery@FreeBSD.org>,  Volodymyr Kostyrko <c.kworr@gmail.com>
Cc:        FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: working with port options from commandline
Message-ID:  <533ECFF6.2070503@b1t.name>
In-Reply-To: <cb1490b870b47595e94dcad1f1877023@shatow.net>
References:  <533D293D.1050902@b1t.name> <533E91E9.3080305@FreeBSD.org> <533EC11A.3030600@b1t.name> <cb1490b870b47595e94dcad1f1877023@shatow.net>

next in thread | previous in thread | raw e-mail | index | archive | help
04.04.2014 18:25, Bryan Drewery wrote:
> On 2014-04-04 09:26, Volodymyr Kostyrko wrote:
>> 04.04.2014 14:05, Bryan Drewery wrote:
>>> 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,
>
> Poudriere handles that situation fine.
>
> You setup sets for each configuration you want. Your options can either
> be in the /var/db/ports format or in a make.conf with
> OPTIONS_SET/OPTIONS_UNSET/uniquename_OPTIONS...
>
>    poudriere bulk -j JAIL -z SET
>
> This will use:
>
>    /usr/local/etc/poudriere.d/SET-make.conf
>    /usr/local/etc/poudriere.d/make.conf
>    /usr/local/etc/poudriere.d/SET-options
>
> So with 1 jail you can build package sets for each target machine.
>
> You can use poudriere options to configure these in the /var/db/ports
> format which automatically creates the SET-options dir:
>
>    poudriere options -z SET
>
> Poudriere will rebuild packages when the selected options change or new
> defaults are added.

That sounds interesting. Looks like I missed a lot about it, time to 
catch up. :)

-- 
Sphinx of black quartz, judge my vow.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?533ECFF6.2070503>