How to build a release for LemonLDAP::NG
========================================

The version
-----------

- The release version should be updated in the following location:
* changelog (add a changelog from JIRA for the target version)
* Main modules (Common.pm/Handler.pm/Portal.pm/Manager.pm)
* Makefile.PL for cross-dependencies
* Doxyfile

- Then update packages information with:
$ make clean && make cpan

- Version must also be updated in RPM and Debian build files
  - rpm/lemonldap-ng.spec: update versions and add changelog entry
  - debian/changelog: add changelog entry

Before release
--------------

- Update documentation:
$ make documentation

For minor release
-----------------

- Tag the version on SVN from the branch:
$ svn cp branches/lemonldap-ng_version_VERSION-bugfixes tags/lemonldap-ng_version_VERSION

For major release
-----------------

- Create a branch on SVN from the trunk:
$ svn cp trunk branches/lemonldap-ng_version_VERSION-bugfixes

- Tag the version on SVN from the branch:
$ svn cp branches/lemonldap-ng_version_VERSION-bugfixes tags/lemonldap-ng_version_VERSION

Make the distribution
---------------------

- CPAN packages:
$ make clean && make cpan

- Tarball:
$ make clean && make dist

- RedHat packaging: see rpm/README

- Debian packaging:
Note: official packages build is now hosted on https://github.com/guimard/LemonLDAP--NG-Debian-packaging

Create the debian specific tarball:
$ make clean && make debian-dist

Untar the debian archive and launch:
$ make debian-packages

Packages are in /tmp

Sign packages:
$ dpkg-sig -p --sign builder /tmp/*.deb


Upload the distribution
---------------------

- CPAN:
Upload modules tarballs (generated by make cpan)

- OW2 Forge:
Upload dist and bundles

- RPM: see rpm/REDAME

- DEB:
The DEB repository is hosted on http://lemonldap-ng.org/deb

Copy all generated files (*.deb, *.dsc, *.changes, ...):
$ scp *.deb *.dsc *.changes *.debian.tar.gz *.orig.tar.gz lemonldapng@lemonldap-ng.org:incoming/

Then connect on the server and launch reprepro:
$ ssh lemonldapng@lemonldap-ng.org
lemonldapng@lemonldap-ng.org$ cd deb/
lemonldapng@lemonldap-ng.org$ reprepro --ask-passphrase -Vb . include squeeze ../incoming/lemonldap-ng_VERSION_i386.changes

See also reprepro configuration file: 'distributions'

Site
----

- Update links on the download page
- Close the version on JIRA and create a new one

Spread the word
---------------

- News on OW2 forge
- Twitter account
- Freshmeat
- IRC channel subject
- User mailing list
- Optional: blogs and news sites (LinuxFR, etc.)

