From owner-freebsd-pkgbase@freebsd.org Sat Jan 30 02:15:41 2016 Return-Path: Delivered-To: freebsd-pkgbase@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4C5BA727D7 for ; Sat, 30 Jan 2016 02:15:41 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 85C351AF3; Sat, 30 Jan 2016 02:15:41 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by freefall.freebsd.org (Postfix) with ESMTP id 263C2108E; Sat, 30 Jan 2016 02:15:41 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Sat, 30 Jan 2016 02:15:39 +0000 From: Glen Barber To: freebsd-pkgbase@FreeBSD.org Subject: Re: TODO/wish list for packaging the FreeBSD base system Message-ID: <20160130021539.GM1727@FreeBSD.org> References: <20160129173506.GG1727@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="/TUrtqMIkCP4YtJm" Content-Disposition: inline In-Reply-To: <20160129173506.GG1727@FreeBSD.org> X-Operating-System: FreeBSD 11.0-CURRENT amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: freebsd-pkgbase@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Packaging the FreeBSD base system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jan 2016 02:15:41 -0000 --/TUrtqMIkCP4YtJm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable [Note, I did see Garrett's email. Garrett, I'll reply to your questions but following up on one specific point in this list.] On Fri, Jan 29, 2016 at 05:35:06PM +0000, Glen Barber wrote: > TODO List / Wish List: >=20 > [...] >=20 > - Unless there is a specific reason to have an in-tree .ucl > file in src/release/packages/, I would like to see a template used > instead. Use cases where an in-tree .ucl file is needed are > runtime.ucl and kernel.ucl, where post-install scripts are defined. > For the rest of the currently-existing package definitions, it is not > necessary, and adds to the complexity of breaking down the base system > into more granular package sets. I tried a few tests yesterday using > a file called '_template_.ucl', which if the release/packages/foo.ucl > did not exist, the '_template_.ucl' file would be copied to the stage > directory. This did not work, however, because there can be several > '.ucl' files for any given 'package', notably runtime.plist, > debug.plist (which should be runtime-debug.plist), runtime-lib32.plist > and so on. It occurred to me that there is a use case for in-tree .ucl files, specifically when an update is necessary. The package versions come from the PKG_VERSION make(1) environment, and if not set, will default to the epoch timestamp. This was a design decision that was put in place to handle SAs/ENs, where we could trivially bump the package version. Specifically, for an SA/EN, a commit to the tree that would trigger a rebuild of an affected package would look similar to this: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Index: release/packages/rcmds.ucl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- release/packages/rcmds.ucl (revision 295058) +++ release/packages/rcmds.ucl (working copy) @@ -1,6 +1,6 @@ name =3D "FreeBSD-%PKGNAME%" origin =3D "base" -version =3D "%VERSION%" +version =3D "%VERSION%,1" comment =3D "Remote Command Tools" categories =3D [ base ] maintainer =3D "re@FreeBSD.org" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% So, while I do not necessarily like relying on in-tree .ucl files, as right now it makes it difficult to package components not "normally" included in the base system, I now remember the necessity of this. It might be a better idea to add a TAGS or PACKAGE_VERSION value to the relevant makefiles, which could be included in the mtree(8) tag when creating the METALOG files. Glen --/TUrtqMIkCP4YtJm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWrBzGAAoJEAMUWKVHj+KTFGwQAIQNNYi5pe0nR/TOgFnzZ54e tWTy1R/FumG7Nth9zUyF7+jOqHs1MQIqb6nNh3Z/5miX1TpDUaYljZwNFFbx5iv5 2/mPvpuyxumPVjsn+Kuz6ti845YEQOnpgufgxSq7saNHsMqSTy6FiaPtj6Zor5Of +jvxAUPQeITnBo4O7hFZcsKn3SlDOxuTHwBCeFre+KhsaIuV04hMhkdt7jU9R+br 2cpwGk+yRfM7rp8cqpl0PDF60E0vuvv0GuV3f+MlESgnH+ebMcGJYJkCbfoRN1og 9EUeibz3VEm+X2RaaGPDKwucCDP44cyQ+FhcsPxA2OM8zyAqCLwbgJ1WzWCjeENP ehoXNvrjlFhOpQ11N8ppX/dVuJcO8PgsXCDOidCCtCNgnIypc9qBwUJY2iLcTzkL 9Tw5jfLGtYKcLh1YaC/dvIfjAQbZidqyJAWM/IcErrjT68jnV+gj1TezJ/1H7Fhu hry204jj92AeHfW4hKGjuLMMDn1U9qqg5ZsCOHREKGIATiKSEwPwAnQjRjStxx/n mkUfxocRSdwSzM4UUqCORXDrBgYrGi238UcxsH34mf+OXYROdIQUgjZbqNlQ9inf Cq2eKDdYd9vgaPVAKdjfTOYx7ZTjA0fTyKk/5vSTNmwGZZ6EZbaqp0Fk83+fFx6J IPltYmfroQd0zSaqrs20 =gwAE -----END PGP SIGNATURE----- --/TUrtqMIkCP4YtJm--