Revision e137182186c26894aeeceb3cb54efec4fc0b3113 authored by Christophe Maudoux on 17 October 2018, 20:35:54 UTC, committed by Christophe Maudoux on 17 October 2018, 20:35:54 UTC
1 parent a1f6927
RELEASE
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 GitLab 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 languages (needs a Transifex token)
$ ./scripts/download_translations
- Update documentation:
$ ./scripts/parameters-for-wiki.pl >/tmp/prmlist.txt
Replace https://lemonldap-ng.org/documentation/X.X/parameterlist by
/tmp/prmlist.txt content
$ make documentation
- Update changelog:
$ ./scripts/generate-changelog.pl
This update "changelog" file using GitLab issues (tags Bug, New feature,
Improvement)
- Update debian/changelog
launch just `dch -r` and force save (":w" and ot ":x")
- Check Debian packages quality
$ cme check dpkg
For minor release
-----------------
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
For major release
-----------------
- Go on gitlab and create a new branch: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/branches/new
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
- 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 Release:
Upload dist and bundles on sftp://release-up.ow2.org/projects/lemonldap
- RPM: see rpm/REDAME
- DEB:
The DEB repository is hosted on http://lemonldap-ng.org/deb
Copy all generated files (*.deb):
$ scp *.deb 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@sd-22107:~/deb$ reprepro --ask-passphrase -Vb . includedeb stable ../incoming/*VERSION*deb
lemonldapng@sd-22107:~/deb$ reprepro --ask-passphrase -Vb . includedeb 2.0 ../incoming/*VERSION*deb
See also reprepro configuration file: 'distributions'
- Docker:
Build a new image from https://github.com/LemonLDAPNG/lemonldap-ng-docker
Tag image to latest
Upload on Docker hub
Site
----
- Update links on the download page
- Close the milestone on Gitlab and create a new one
Spread the word
---------------
- News on OW2 projects page: https://projects.ow2.org/bin/view/lemonldap-ng/
- Twitter account / Facebook page
- IRC channel subject and Mattermost
- Mailing lists: lemonldap-ng-users / lemonldap-ng-announces
- Optional: blogs and news sites (LinuxFR, etc.)
After release
-------------
- Update debian/changelog
$ dch -v <New number>-1 (and write "New release")
- Update $VERSION anywhere
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...