Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Validating a package before you share it

Check a package the way an installation will check it before you hand it out - the Validate button, ezpm validate, the upload rules (gzip, sizes, entries, safe paths, well-formed package.xml) and a manual look inside…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/designers/extensions/validating-a-package.md

On this page

Validating a package before you share it

This page is for designers about to publish an .ezpkg. The receiving installation inspects every upload before writing anything; a package that fails there fails for your users. Check it first.

What an installation checks on upload

  1. The name ends in an allowed suffix (ezpkg, tar.gz, tgz) and the file starts with the gzip signature.
  2. It is within MaxArchiveSize (256 MiB by default), MaxEntries (50,000) and MaxUnpackedSize (2 GiB).
  3. Every entry is a plain file or directory with a relative path: no .., no absolute path, no back slash, no control character, no link, no device.
  4. A well-formed package.xml (or package.json) is at the top, with <package> as root, a valid name, version and packaging information, and a vendor that gives a repository name.
  5. No package of that name exists in any repository yet.

Then each document must be well formed and, for a JSON package, match the schema and its checksums.

Step by step

  1. On your development installation, open the package's page and press Validate. It shows what was checked or every problem.

  2. On the command line, validate the exported file itself:

    php ezpm.php validate var/tmp/mytheme_classes-1.0.0-1.ezpkg
  3. Look inside:

    tar tzvf var/tmp/mytheme_classes-1.0.0-1.ezpkg | head -30

    Every path is relative and below the package; no l (link) entries in the first column.

  4. Extract the definition and check it:

    mkdir -p var/tmp/pkgcheck && tar xzf var/tmp/mytheme_classes-1.0.0-1.ezpkg -C var/tmp/pkgcheck
    xmllint --noout var/tmp/pkgcheck/package.xml

    Expected: no output from xmllint.

  5. Import it into a throwaway installation (Installing your package on a test site).

When validation fails

Message namesFix
A path outside the package, or a linkExport again with ezpm export from the package directory
package.xml not well formedRun xmllint on it and correct the line it names
"already exists" (on the receiving side)The user removes the old one first, or you give the package a new name

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x