Date: Sat, 30 Jan 2016 12:10:00 +0300 From: Slawa Olhovchenkov <slw@zxy.spb.ru> To: Glen Barber <gjb@FreeBSD.org> Cc: freebsd-pkgbase@FreeBSD.org Subject: Re: TODO/wish list for packaging the FreeBSD base system Message-ID: <20160130091000.GL88527@zxy.spb.ru> In-Reply-To: <20160130021539.GM1727@FreeBSD.org> References: <20160129173506.GG1727@FreeBSD.org> <20160130021539.GM1727@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 30, 2016 at 02:15:39AM +0000, Glen Barber wrote: > [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: > > > > [...] > > > > - Unless there is a specific reason to have an in-tree <package>.ucl > > file in src/release/packages/, I would like to see a template used > > instead. Use cases where an in-tree <package>.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 > > '<package>.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 <package>.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: How this will interaction with customs builds/rebuild/packaging with or w/o source updating? > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > Index: release/packages/rcmds.ucl > =================================================================== > --- release/packages/rcmds.ucl (revision 295058) > +++ release/packages/rcmds.ucl (working copy) > @@ -1,6 +1,6 @@ > name = "FreeBSD-%PKGNAME%" > origin = "base" > -version = "%VERSION%" > +version = "%VERSION%,1" > comment = "Remote Command Tools" > categories = [ base ] > maintainer = "re@FreeBSD.org" > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > So, while I do not necessarily like relying on in-tree <package>.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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160130091000.GL88527>