]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
RELEASE: Reformat like a manual page
authorAlejandro Colomar <alx@kernel.org>
Sun, 30 Oct 2022 22:25:19 +0000 (23:25 +0100)
committerAlejandro Colomar <alx@kernel.org>
Mon, 31 Oct 2022 11:41:34 +0000 (12:41 +0100)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
RELEASE

diff --git a/RELEASE b/RELEASE
index a0589145d2709554215a94a9814cbc0337410e61..2986c0251302e8e759c437c73f7cbd5f6a1ff7b3 100644 (file)
--- a/RELEASE
+++ b/RELEASE
-Instructions for releasing a new version.
-=========================================
+Name
+       Release - instructions for releasing a new version
 
-This are the instructions to release a new official version of the
-project.  However, these should also be useful for those who simply want
-to package a random commit (this is done for example by Gentoo).  For
-packaging a random commit without an official release, you only need
-step 4 "Tarball".
+Synopsis
+       Change log, git tag, tarball, LSM, email, and push.
 
+Description
+       This are the instructions to release a new official version of the
+       project.  However, these should also be useful for those who simply
+       want to package a random commit (this is done for example by Gentoo).
+       For packaging a random commit without an official release, you only
+       need step (4) "Tarball".
 
-1) Version
-----------
+   Steps
+       (1)  Version
 
-Decide the version number:
+            -  Decide the version number:
 
-    $ old=6.01
-    $ new=6.02
+                   $ old=6.01
+                   $ new=6.02
 
+       (2)  Changes
 
-2) Changes
-----------
+            Fill the <Changes> file.  For that you can check older commits,
+            like d4e80a7748 "Changes: Ready for 6.01".  It needs manual
+            intervention, but in that commit log you can check a few commands
+            that will help.
 
-Fill the <Changes> file.  For that you can check older commits, like
-d4e80a7748 "Changes: Ready for 6.01".  It needs manual intervention,
-but in that commit log you can check a few commands that will help.
+            -  Remember to change the version number, the date, and the
+               location.
 
-- Remember to change the version number, the date, and the location.
+            -  Remove any headers not used for a specific release (usually\
+               happens with "New and changed links").
 
-- Remove any headers not used for a specific release (usually happens
-  with "New and changed links").
+            -  The structure is a bit freestyle, but keep it organized.
+               man-pages-6.00 was a huge release, so it might help to check it:
+               51228378bec7 "Changes: Ready for 6.00".
 
-- The structure is a bit freestyle, but keep it organized.
-  man-pages-6.00 was a huge release, so it might help to check it:
-  51228378bec7 "Changes: Ready for 6.00".
+            -  Commit:
 
-- Commit:
+                   $ git add Changes
+                   $ git commit -sm "Changes: Ready for ${new}"
 
-    $ git add Changes
-    $ git commit -sm "Changes: Ready for ${new}"
+       (3)  Tag
 
+            Create a signed tag.  The tag message should note the most
+            important changes in the version being released, since it will be
+            read by users and packagers.  It should include any information
+            that is especially relevant for them.  Check old tags such as
+            'man-pages-6.00' or 'man-pages-6.01'.
 
-3) Tag
-------
+            -  Tag:
 
-Create a signed tag.  The tag message should note the most important
-changes in the version being released, since it will be read by users
-and packagers.  It should include any information that is especially
-relevant for them.  Check old tags such as 'man-pages-6.00' or
-'man-pages-6.01'.
+                   $ git tag -s man-pages-${new}
 
-- Tag:
+       (4)  Tarball
 
-    $ git tag -s man-pages-${new}
+            Creating the tarball will embed in the manual pages both the
+            version number, and the date of last modification (in the git
+            repository, the pages have placeholders for the date and the
+            version).
 
+            You need to create a set of tarballs, sign the .tar archive, and
+            upload the compressed tarballs to <kernel.org>.
 
-4) Tarball
-----------
+            In case you're creating a tarball for distributing a random
+            commit, it might be interesting to tweak a few parameters; check
+            the variables available at <lib/dist.mk>, and any makefiles
+            included by that one.  See the "Versions" section below.
 
-Creating the tarball will embed in the manual pages both the version
-number, and the date of last modification (in the git repository, the
-pages have placeholders for the date and the version).
+            -  Create the tarball:
 
-You need to create a set of tarballs, sign the .tar archive, and upload
-the compressed tarballs to <kernel.org>.
+                   $ make dist
 
-In case you're creating a tarball for distributing a random commit, it
-might be interesting to tweak a few parameters; check the variables
-available at <lib/dist.mk>, and any makefiles included by that one.
+               Since it takes a few seconds, you may prefer to run it in
+               parallel:
 
-- Create the tarball:
+                   $ make -j dist
 
-    $ make dist
+               Alternatively, you may want to only create a specific kind of
+               tarball with one of the following targets:
 
-- Sign the tarball:
+                   $ make dist-tar dist-xz dist-gz
 
-    $ cd tmp/
-    $ gpg --detach-sign --armor man-pages-${new}.tar
+            -  Sign the tarball:
 
-- Upload the tarball:
+                   $ cd tmp/
+                   $ gpg --detach-sign --armor man-pages-${new}.tar
 
-    $ kup put man-pages-${new}.tar.xz man-pages-${new}.tar.asc \
-              /pub/linux/docs/man-pages/
-    $ cd ..
+            -  Upload the tarball:
 
+                   $ kup put man-pages-${new}.tar.xz man-pages-${new}.tar.asc \
+                             /pub/linux/docs/man-pages/
+                   $ cd ..
 
-5) LSM
-------
+       (5)  LSM
 
-Update the <lsm> file.  Check old commits, like
-c11cb1ca844d "Ready for 6.01".
+            Update the <lsm> file.  Check old commits, like
+            c11cb1ca844d "Ready for 6.01".
 
-- Update the project version number.
+            -  Update the project version number.
 
-- Update the release date.
+            -  Update the release date.
 
-- Update the tarball name and size.
+            -  Update the tarball name and size.
 
-- Commit:
+            -  Commit:
 
-    $ git add lsm
-    $ git commit -sm "lsm: Released ${new}"
+                   $ git add lsm
+                   $ git commit -sm "lsm: Released ${new}"
 
-- Send (email) the lsm file to <lsm@qqx.org> with the subject "add".
+            -  Send (email) the lsm file to <lsm@qqx.org> with the subject
+               "add".
 
+       (6)  Email
 
-6) Email
---------
+            Send an announce email to linux-man, LKML, libc-alpha, and
+            possibly others that might be interested in the release, such as
+            distribution maintainers, or those who have contributed to the
+            release.
 
-Send an announce email to linux-man, LKML, libc-alpha, and possibly
-others that might be interested in the release, such as distribution
-maintainers, or those who have contributed to the release.
+            The email should contain a mix of the git tag message, the
+            contents of Changes, and anything else that might be relevant.
+            Check old emails such as
+            <https://lore.kernel.org/linux-man/4ba6c215-6d28-1769-52d3-04941b962ff3@kernel.org/T/#u>.
 
-The email should contain a mix of the git tag message, the contents of
-Changes, and anything else that might be relevant.  Check old emails
-such as
-<https://lore.kernel.org/linux-man/4ba6c215-6d28-1769-52d3-04941b962ff3@kernel.org/T/#u>.
+            The subject of the email should be "man-pages-${new} released".
 
-The subject of the email should be "man-pages-${new} released".
+       (7)  Changes.old
 
+            Move the contents of <Changes> to <Changes.old>, and prepare for
+            the next release.
 
-7) Changes.old
---------------
+            -  Copy contents of <Changes> to <Changes.old>:
 
-Move the contents of <Changes> to <Changes.old>, and prepare for the
-next release.
+                   $ (echo; echo) >> Changes.old
+                   $ cat Changes >> Changes.old
 
-- Copy contents of <Changes> to <Changes.old>:
+            -  Empty <Changes>:
 
-    $ (echo; echo) >> Changes.old
-    $ cat Changes >> Changes.old
+                   $ git checkout man-pages-${new}^^ -- Changes
 
-- Empty <Changes>:
+            -  Commit:
 
-    $ git checkout man-pages-${new}^^ -- Changes
+                   $ git add Changes Changes.old
+                   $ git commit -sm \
+                         "Start of man-pages-NEXT: Move Changes to Changes.old"
 
-- Commit:
+       (8)  Push
 
-    $ git add Changes Changes.old
-    $ git commit -sm "Start of man-pages-NEXT: Move Changes to Changes.old"
+            You've finished.  When you confirm it's good, push to the git
+            repository.
 
+            -  Push:
 
-8) Push
--------
-
-You've finished.  When you confirm it's good, push to the git repository.
-
-- Push:
-
-    $ git push
-    $ git push man-pages-${new}
+                   $ git push
+                   $ git push man-pages-${new}