RELEASE 3.29 KB
Newer Older
Clément OUDOT's avatar
Clément OUDOT committed
1 2 3 4 5 6 7
How to build a release for LemonLDAP::NG
========================================

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

- The release version should be updated in the following location:
Xavier Guimard's avatar
Xavier Guimard committed
8
* changelog (add a changelog from GitLab for the target version)
Clément OUDOT's avatar
Clément OUDOT committed
9 10 11 12
* Main modules (Common.pm/Handler.pm/Portal.pm/Manager.pm)
* Makefile.PL for cross-dependencies

- Then update packages information with:
13
$ make clean && make cpan
Clément OUDOT's avatar
Clément OUDOT committed
14 15

- Version must also be updated in RPM and Debian build files
16 17
  - rpm/lemonldap-ng.spec: update versions and add changelog entry
  - debian/changelog: add changelog entry
Clément OUDOT's avatar
Clément OUDOT committed
18 19 20 21

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

Xavier Guimard's avatar
Xavier Guimard committed
22 23 24
- Update languages (needs a Transifex token)
  $ ./scripts/download_translations

Clément OUDOT's avatar
Clément OUDOT committed
25
- Update documentation:
26
  $ ./scripts/parameters-for-doc.pl > doc/sources/admin/parameterlist.rst
27

Xavier Guimard's avatar
Xavier Guimard committed
28 29 30 31 32 33
- Update changelog:
  $ ./scripts/generate-changelog.pl

  This update "changelog" file using GitLab issues (tags Bug, New feature,
  Improvement)

Xavier Guimard's avatar
Xavier Guimard committed
34 35 36
- Update debian/changelog
  launch just `dch -r` and force save (":w" and ot ":x")

Clément OUDOT's avatar
Clément OUDOT committed
37
- Check Debian packages quality
Xavier Guimard's avatar
Xavier Guimard committed
38
  $ cme check dpkg
Clément OUDOT's avatar
Clément OUDOT committed
39

40 41 42
For minor release
-----------------

Clément OUDOT's avatar
Clément OUDOT committed
43
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
44 45 46 47

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

Clément OUDOT's avatar
Clément OUDOT committed
48
- Go on gitlab and create a new branch: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/branches/new
Clément OUDOT's avatar
Clément OUDOT committed
49

Clément OUDOT's avatar
Clément OUDOT committed
50
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
Clément OUDOT's avatar
Clément OUDOT committed
51

52 53
Make the distribution
---------------------
Clément OUDOT's avatar
Clément OUDOT committed
54

55 56
- CPAN packages:
$ make clean && make cpan
Clément OUDOT's avatar
Clément OUDOT committed
57 58

- Tarball:
59 60
$ make clean && make dist

Clément OUDOT's avatar
Clément OUDOT committed
61 62 63 64 65 66
- RedHat packaging:

Create the RPM specific tarball:
$ make clean && make rpm-dist

Next steps: see rpm/README
67 68 69

- Debian packaging:

70 71 72 73
Create the debian specific tarball:
$ make clean && make debian-dist

Untar the debian archive and launch:
74 75 76 77 78 79
$ make debian-packages

Packages are in /tmp

Sign packages:
$ dpkg-sig -p --sign builder /tmp/*.deb
Clément OUDOT's avatar
Clément OUDOT committed
80

81 82
Upload the distribution
---------------------
Clément OUDOT's avatar
Clément OUDOT committed
83

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

Clément OUDOT's avatar
Clément OUDOT committed
87 88
- OW2 Release:
Upload dist and bundles on sftp://release-up.ow2.org/projects/lemonldap
89 90 91 92 93 94

- RPM: see rpm/REDAME

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

Clément OUDOT's avatar
Clément OUDOT committed
95 96
Copy all generated files (*.deb):
$ scp *.deb lemonldapng@lemonldap-ng.org:incoming/
97 98 99 100

Then connect on the server and launch reprepro:
$ ssh lemonldapng@lemonldap-ng.org
lemonldapng@lemonldap-ng.org$ cd deb/
Clément OUDOT's avatar
Clément OUDOT committed
101 102
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
103 104

See also reprepro configuration file: 'distributions'
Clément OUDOT's avatar
Clément OUDOT committed
105

Clément OUDOT's avatar
Clément OUDOT committed
106 107 108 109 110
- Docker:
Build a new image from https://github.com/LemonLDAPNG/lemonldap-ng-docker
Tag image to latest
Upload on Docker hub

Clément OUDOT's avatar
Clément OUDOT committed
111 112 113 114
Site
----

- Update links on the download page
Clément OUDOT's avatar
Clément OUDOT committed
115
- Close the milestone on Gitlab and create a new one
Clément OUDOT's avatar
Clément OUDOT committed
116
- Update admin documentation and API documentation
Clément OUDOT's avatar
Clément OUDOT committed
117 118 119 120

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

Clément OUDOT's avatar
Clément OUDOT committed
121 122 123 124
- 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
Clément OUDOT's avatar
Clément OUDOT committed
125 126
- Optional: blogs and news sites (LinuxFR, etc.)

Xavier Guimard's avatar
Xavier Guimard committed
127 128 129 130 131 132 133
After release
-------------

- Update debian/changelog
$ dch -v <New number>-1 (and write "New release")
- Update $VERSION anywhere