Asset List

An asset list is a linear list of items that belong to a package. In fact a package is just a collection of assets and metadata. Also, an asset list is analogous to a plist, however an asset list may change and grow beyond the plist definition we inherited from FreeBSD.

Some Version 2 Ideas

This section relates to features that will be found in the second major version of libmport

The fundamental problem with the plists is their linearity. Each entry is bound to only a single action or file, and the context of that action is only the file that preceded it. For example you may have something like this in a plist:

bin/makecheese
@comment MD5:758174871f834d973ea75500e1637de2
@owner root
@group wheel
@chmod 755

Four entries are really just metadata for the file entry. This is awkward and confusing for large packages. The metadata should be more tightly bound with its file. Perhaps the syntax should be a bit more verbose.

bin/makecheese owner=root group=wheel chmod=755

More interesting is the @exec and @unexec actions. These import values from the last file entry and use them in a sprintf style substitution. This system is confusing and error prone. The larger problem with @unexec and @exec is that there is no logical connection between the two. One might be the inverse of the other, or may not be. This makes atomic actions impossible.

Asset Types

LibMport/AssetList (last edited 2008-10-01 17:12:41 by ctriv)