|
|
|
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
|
|
|
|
|
|
|
|
- Translate documentation
|
|
|
|
$ make fr-doc
|
|
|
|
|
|
|
|
- Update debian/changelog
|
|
|
|
launch just `dch -r` and force save (":w" and ot ":x")
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
- Change "latest" symlink in dokuwiki
|
|
|
|
|
|
|
|
- Edit scripts/doc.pl in trunk to point on the new documentation path
|
|
|
|
|
|
|
|
Make the distribution
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
- CPAN packages:
|
|
|
|
$ make clean && make cpan
|
|
|
|
|
|
|
|
- Tarball:
|
|
|
|
$ make clean && make dist
|
|
|
|
|
|
|
|
- RedHat packaging:
|
|
|
|
|
|
|
|
Create the RPM specific tarball:
|
|
|
|
$ make clean && make rpm-dist
|
|
|
|
|
|
|
|
Next steps: see rpm/README
|
|
|
|
|
|
|
|
- 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
|
|
|
|
or
|
|
|
|
lemonldapng@sd-22107:~/deb$ reprepro --ask-passphrase -Vb . includedeb squeeze ../incoming/*VERSION*deb
|
|
|
|
|
|
|
|
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.)
|
|
|
|
|
|
|
|
After release
|
|
|
|
-------------
|
|
|
|
|
|
|
|
- Update debian/changelog
|
|
|
|
$ dch -v <New number>-1 (and write "New release")
|
|
|
|
- Update $VERSION anywhere
|
|
|
|
|