From owner-freebsd-ports@FreeBSD.ORG Fri Apr 4 15:30:05 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4824977A; Fri, 4 Apr 2014 15:30:05 +0000 (UTC) Received: from mail-la0-x232.google.com (mail-la0-x232.google.com [IPv6:2a00:1450:4010:c03::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 94B90CA3; Fri, 4 Apr 2014 15:30:04 +0000 (UTC) Received: by mail-la0-f50.google.com with SMTP id pv20so2592694lab.37 for ; Fri, 04 Apr 2014 08:30:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=YYjdvaQGSMgxrQ35bDlbC5cqQ4ckgvM7Q1AhtS3gafE=; b=LHlY6UpRWsA/j2gkL3Ndc+W8twyysj91kJNMR5Yp9WzTVSSIhUIwTScTgOlaWejy31 agBXUOsV0a4Dke5f41IMLD3TrlnN8UwNQiR4Vo1SolUfoDA9YOlMBHvJdi/8rD4yEMl4 N1ISjdjU0gOnpyghCS+ZvQP8Do9P2J6OUIdqJXXSJy8GZO2mecavPB/OWMh1T44r1RWR RDka5pxP1g/2xZ0PnXrustl3dVeOcYiZ2ieEBLbkkoMr0BVozK+g/6XQ1vq8LUhgcLQG cF/ct61YbE0NJj9BAbjSyoRH2gGF5SSqdUazR7mxeX5G1hb2WuY5m09lJEDXKJ5ePgAZ pFuQ== X-Received: by 10.152.87.102 with SMTP id w6mr1670838laz.46.1396625402387; Fri, 04 Apr 2014 08:30:02 -0700 (PDT) Received: from ar1l0u.maxima.local (mau.donbass.com. [92.242.127.250]) by mx.google.com with ESMTPSA id j2sm8153425lag.12.2014.04.04.08.29.59 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 04 Apr 2014 08:30:00 -0700 (PDT) Message-ID: <533ECFF6.2070503@b1t.name> Date: Fri, 04 Apr 2014 18:29:58 +0300 From: Volodymyr Kostyrko User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Bryan Drewery , Volodymyr Kostyrko Subject: Re: working with port options from commandline References: <533D293D.1050902@b1t.name> <533E91E9.3080305@FreeBSD.org> <533EC11A.3030600@b1t.name> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Apr 2014 15:30:05 -0000 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.