From owner-freebsd-ports@FreeBSD.ORG Tue Apr 1 03:58:50 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 E51BF3FB for ; Tue, 1 Apr 2014 03:58:50 +0000 (UTC) Received: from homiemail-a49.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by mx1.freebsd.org (Postfix) with ESMTP id BE871DFA for ; Tue, 1 Apr 2014 03:58:50 +0000 (UTC) Received: from homiemail-a49.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a49.g.dreamhost.com (Postfix) with ESMTP id D721320024948; Mon, 31 Mar 2014 20:58:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=saltant.com; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type; s=saltant.com; bh=n0JmSu3/7izm+o/CU8xYc+uvI9I=; b= MXzHw7Ji37stIlU+ciU9vR/8o9FGjDi6IgGNtKGWP8rzdpyoOgsI84+FenobCNqX 0L5X3Mv4ZbgCCxbYLDTOoVq9e80lOgZanxxNHa7fMToOMtUPu5jXL9EQuLZzNxoh 5/kCIWoBuJY7lS8J5wzKN7lpdHn0onvmA/PlzmiWzkM= Received: from dreck.saltant.net (dreck.saltant.net [72.78.188.150]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: john@saltant.com) by homiemail-a49.g.dreamhost.com (Postfix) with ESMTPSA id 8132520024942; Mon, 31 Mar 2014 20:58:49 -0700 (PDT) Message-ID: <533A3979.1020109@saltant.com> Date: Mon, 31 Mar 2014 23:58:49 -0400 From: "John W. O'Brien" Organization: Saltant Solutions User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Kevin Oberman Subject: Re: Discover stored options different from port defaults/defines References: <533888EB.2060503@saltant.com> <20140330222127.a9175c2b48147295ee06cb0a@embarqmail.com> <53397FE5.3080902@saltant.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="eGEMgRUcGWsG4WqcCN05bw7POhMgtlP3S" Cc: Randy Pratt , 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: Tue, 01 Apr 2014 03:58:51 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --eGEMgRUcGWsG4WqcCN05bw7POhMgtlP3S Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 3/31/14 3:47 PM, Kevin Oberman wrote: > This is something I've wanted to have for quite a while, but never > enough to dig through the Makefiles. >=20 > I think the proper way would be for "make showconfig" to print out the > current config as it does now, but to tag default options (e.g. '+') so= > that it would be easy to note that some option that you never touched > and probably don't really even understand had had the default changed > and you probably want to match that change. There are two dimensions, though, and the showconfig annotations you describe captures just one of them. 1. Is this option set the same as the default? 2. Is this an option I care about pinning? Your proposal addresses #1. I already solved this for myself in an ad-hoc manner. I placed an additional requirement on my solution that it generate machine-readable output. Incidentally, there was a compelling thread a few months ago which briefly discussed [0] the possibility of teaching core CLI tools to output structured data like XML, JSON, etc. The ports machinery would be another great candidate for that kind of capability. Anyway, I used the information from #1 as hints about what I was thinking about #2 at the time I originally configured the port. Then I put ${OPTIONS_NAME}_SET=3DFOO and ${OPTIONS_NAME}_UNSET=3DBAR in make.con= f as a way to express and record #2. For example: devel_git_SET=3D GITWEB GUI editors_vim_UNSET=3D RUBY I can feed this, and little else, to poudriere and remain confident that as long as devel/git knows about the options GITWEB and GUI, and editors/vim knows about the option RUBY, I can update my ports tree and rebuild my packages until the sun comes up and those options will remain pinned. > A 'pkg info' option to provide a list of changed defaults in installed > ports would be even nicer. Something equivalent to "pkg version -vl\<" > perhaps. But just doing it in "make showconfig" would make a script tha= t > would parse 'pkg version' optput and do a "make showconfig", only > printing out the tagged lines, when any changes are noted would be triv= ial. Would pkg-info be the place for this? It's looking at state data that has no notion of history. pkg-info could show available options, defaults, and built-with options, all as of build-time. It would be up to pkg-upgrade to send up a flare, on request, if these sets changed from the currently-installed package to the about-to-be-installed package= =2E I would also be interested in an equivalent a poudriere feature, because it's at the moment I update a ports tree in preparation for building new packages that I want to know if a port I build just grew a new option that I might want to pin per #2. Regards, John [0] http://lists.freebsd.org/pipermail/freebsd-stable/2013-December/076205.ht= ml --eGEMgRUcGWsG4WqcCN05bw7POhMgtlP3S Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) Comment: GPGTools - http://gpgtools.org iQEcBAEBCgAGBQJTOjl9AAoJEORay8JGGICYYS0IAJgQFoIlBE8lEpBzYQtUF7K2 nNvC7Sw5wzJseQq0BVoFchI3ABkUwpFv7kI0pVX0El5x/15325N5L8s4VK/lFTqD rMJXU2FFp1fRJT6+kFoaZJb0XCclpwiuMfexKloLpVtddMhP0wMJGqfEK8Ao7IG7 vIel18ABn/OzVJim7QobMdUxV5WnnCX4s/WctgwisenYbJ5HvcKen3Kmwefxq2ES MKC6oGJDOYa6J/anYO8XLKS3ncHHuGOPZMnr4RzMJPu+r/Fl9kg6kF5zVe4ZGyLX jalqxTvOYm1GefQgW/gj+I6fVw2Ej4v6Hy4YXnxrpl2948s0MY8JwhkoXwx/T3Y= =s46v -----END PGP SIGNATURE----- --eGEMgRUcGWsG4WqcCN05bw7POhMgtlP3S--