I have had several bugs recently that required changes to the packaging manifests in xpinstall/packager and embedding/config. Most of these changes were exactly the same on each platform, and involved lots of grunt work and potential for error.

In addition, many of the embedding and GRE manifests in embedding/config duplicate the manifests in xpinstall/packager.

I have been thinking of a way of combining these manifests in a tiered, cross-platform manner.

GOALS:

1) to reduce the number of files that must be touched when a patch alters packaging
2) to increase the clarity of which manifests package which products


PROPOSAL:

I think that we can "tier" packaging files like so:
minimo.manifest
embedding.manifest
GRE.manifest
XRE.manifest (if/when this ever happens)

Then, each application (seamonkey/*Bird) would have an application-specific packaging script (in the case of seamonkey, multiple scripts, one for each XPI (browser/mail/etc).

The format of each packaging script would be unified so that we could use the same format for all platforms, without worrying about differences (lib*.so/*.dll/.shlb). Also, each file could have optional platform-specific sections. Something like this:

ALL
        components/intl.xpt
        res/charsetalias.properties
        res/charsetData.properties
        res/langGroups.properties
        res/language.properties

ALL-NONSTATIC
        components/{lib}i18n.{so}

UNIX
        res/unixcharset.properties

WIN32
        res/wincharset.properties

MAC
        res/maccharset.properties




Reply via email to