EDS Product Release Process

The EDS is a manually maintained project, rather than an autoconf package or anything structured. The "build" process involves executing a minimization tool written in Java that combines and compresses the Javascript files that make up the software.

There are build scripts for Windows and Unix that will run the minimization tool and generate a file called EDS.zip that can be used for one-off deployments.

The Makefile in the root of the project is similar, but is used to prepare a more traditional ".tar.gz" distribution via make dist and to perform an installation via make install.

An RPM specfile is also present. Generating an RPM requires running the make dist command to obtain the source tarball, and then executing rpmbuild against it.

The formal release process is as follows:

  1. Check in any uncommitted changes against the trunk.

  2. Modify and check in Makefile and shibboleth-embedded-ds.spec with the updated version number of the release.

  3. Run make dist against the sources.

  4. Sign the tarball and create the md5 checksum file.

  5. On a Windows host, run build.bat from the build directory and rename the resulting file to match the tarball name except with a .zip extension.

  6. Sign the zipfile and create the md5 checksum file.

  7. Upload the six resulting files to shibwww@shibboleth.net:/home/shibwww/html/downloads/embedded-discovery-service/version

  8. Point the latest symlink at the new location.

  9. Tag the trunk with the version number.

To build and publish RPMs:

  1. Login to the build service at https://build.opensuse.org/project/show?project=security%3Ashibboleth

  2. Create a new package called shibboleth-embedded-ds-version.

  3. Upload the tarball and specfile as sources for the package.