diff options
| author | Mistivia <i@mistivia.com> | 2025-11-02 15:29:28 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-11-02 15:29:28 +0800 |
| commit | 9f42c2d5f911cb4e215d7873221e642ce7df4d61 (patch) | |
| tree | 6dac90a889a7402a9556d3d1bcc5cb53cdb9f123 /deprecated-ngircd/doc/HowToRelease.txt | |
| parent | fb2d9de539b660a261af19b1cbcceb7ee7980cb1 (diff) | |
deprecate webircdateway and ngircd
Diffstat (limited to 'deprecated-ngircd/doc/HowToRelease.txt')
| -rw-r--r-- | deprecated-ngircd/doc/HowToRelease.txt | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/deprecated-ngircd/doc/HowToRelease.txt b/deprecated-ngircd/doc/HowToRelease.txt new file mode 100644 index 0000000..3551423 --- /dev/null +++ b/deprecated-ngircd/doc/HowToRelease.txt @@ -0,0 +1,89 @@ + + ngIRCd - Next Generation IRC Server + http://ngircd.barton.de/ + + (c)2001-2024 Alexander Barton and Contributors. + ngIRCd is free software and published under the + terms of the GNU General Public License. + + -- HowToRelease.txt -- + + +I. Introduction +~~~~~~~~~~~~~~~ + +Creating a new ngIRCd release requires a few steps to follow: the source +tree must be in a releasable state (be up to date, include all required +patches, be tested on as many platforms as possible), a name for the new +release must be chosen, and all the files describing the release must be +updated accordingly. + +Since ngIRCd release 13 (2009-12-25) we use "simple" release numbers for +major releases (e.g. "13", "17", "42", ...) introducing new features and +sub-releases for bug fixes only (e.g. "14.1", "22.3", ...). + +When creating pre-releases or release candidates, please use the tilde ("~") +character to separate the "postfix" in the release number (e.g. "17~rc2" +or "123.4~rc6"). + +The release/version number of a build is automatically generated using the +GIT "describe" command, see git-describe(1). Therefore it is required that +a new release is tagged in the GIT tree and that the configure script is +up-to-date (e.g. using ./autogen.sh) before generating the archives! + + +II. How to prepare a new ngIRCd release? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +a) Make sure you have working versions of GNU autoconf and GNU automake + installed on the system you use for generating the release: + as of May 2020 we are using GNU autoconf 2.69 and GNU automake 1.11.6 + which seem to work just fine. + NOTE: new releases of GNU automake DO NOT work, as they lack support for + the "ansi2knr" wrapper and "de-ANSI-fication" support! + +b) Make sure the source tree is in a releasable state ;-) + - Are all branches & patches merged? Check GitHub issues, pull requests + and milestones! + - Run as many tests as you can! + - Is the AUTHORS.md file up to date? This command may be helpful: + "( grep '>$' AUTHORS.md; git shortlog -se|cut -c8-|sed 's/^/- /' ) \ + | grep -Ev '(alex@barton.de|fw@strlen.de)' \ + | LC_ALL=de_DE.UTF-8 sort -u" + +c) Update the files describing the new release: + - ChangeLog + - NEWS + +d) Update the version numbers in the following files: + - contrib/de.barton.ngircd.metainfo.xml + - contrib/ngircd.spec + +e) Generate a new Debian change log entry in the following file, e.g. using + the Debian "dch" tool of the "devscripts" package: + - contrib/Debian/changelog + +f) Commit the above changes to GIT: "git add", "git commit" + +g) Create a new signed GIT tag for the new release: "git tag -s". + Please note that we don't use the tilde ("~") here, instead use a simple + hyphen ("-") as delimiter: e.g. "rel-16" "rel-17-rc1", "rel-18-pre2", ... + +h) Run "./autogen.sh" to update the ./configure script with the correct + release number (autogenerated using "git describe", see above). + +i) Run "./configure" to rebuild all generated Makefiles. + +j) Run "make distcheck" (and "make dist-tarZ && make dist-xz") to generate all + of the distribution archives. + +k) Sign the distribution archive(s) using GnuPG: "gpg -b <archivefile>" + +l) Upload and distribute the newly generated ngIRCd release archive(s) + and GnuPG signatures (to the website, its mirrors, and GitHub). + +m) Update the ngIRCd website and its mirrors! + +n) Write an announcement to the mailing list, Twitter, ... + +o) Relax :-) |
