purpose and value of MANIFEST

Allison Randal allison at parrot.org
Thu Sep 9 00:43:50 UTC 2010


On 09/08/2010 03:31 PM, Christoph Otto (Excell Data Corporation) wrote:
> While looking at the work required to port our existing svn-specific
> tools to git, tools/dev/mk_manifest_and_skip.pl stood out as taking the
> most effort to port by far. If it provides enough value to Parrot, I’ll
> be glad to move it over (if nobody beats me to it). However, it seems to
> get in the way far more frequently than it helps, with manifest fixes
> being a fairly regular occurrence.
>
> If there are no strong reasons to keep this bit of infrastructure
> around, I propose that we rip it out. This will simplify the development
> process in the short term by removing the obligatory manifest
> regeneration stage, and in the near future by obviating the largest task
> remaining in porting our toolchain to git.

The purpose of the MANIFEST is to control which files get included in 
the tarball and which files get installed. It can't be dropped without 
some extra work to put a substitute in place.

If the build and install process were modified so that we created a 
temporary mirror of the install locations in a local directory 
('build/install' or something like that), we wouldn't need MANIFEST for 
that anymore. (This is actually a good idea anyway, as it reduces the 
install process to a simple copy, and makes config and tests for the 
build tree more similar to the installed Parrot.)

It's less obvious what to substitute for the MANIFEST when building the 
tarball. You need a list of files that aren't generated, repository 
garbage (like .gitignore), or otherwise intended to be left out. The 
list is piped into tar in the 'make release' target. The list could be 
manually maintained, but that's an enormous pain and even more 
error-prone than what we have now. If there is some way to generate this 
list from git metadata, it would be better than a manual list, but the 
overall implementation could be completely different than the one we 
currently use with SVN.

Allison


More information about the parrot-dev mailing list