TODO/wish list for packaging the FreeBSD base system
Slawa Olhovchenkov
slw at zxy.spb.ru
Sat Jan 30 09:10:04 UTC 2016
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 at 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
>
More information about the freebsd-pkgbase
mailing list