From 4eb6a39654880cd3a64a3540e9ad7752f6348a79 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 19 Oct 2022 10:54:29 +0000 Subject: [PATCH] RELEASING: update to use meson based steps --- RELEASING | 77 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/RELEASING b/RELEASING index bb1c15f4..aa707957 100644 --- a/RELEASING +++ b/RELEASING @@ -1,6 +1,5 @@ - -The ModemManager releases are generated using the GNU autotools. +The ModemManager releases are generated using meson. 0.1) For major releases: * Increment mm_minor_version and reset mm_micro_version. @@ -10,32 +9,26 @@ The ModemManager releases are generated using the GNU autotools. 0.2) For stable branch releases: * Increment mm_micro_version. -1) Configure and build the whole project, making sure gtk-doc is enabled: +1) Add signed tag: + $ git tag -s 1.20.0 - $ NOCONFIGURE=1 ./autogen.sh - $ ./configure --enable-gtk-doc - $ make -j8 + The description included in the signed tag could be: + Release 1.20.0 -2) Run distcheck so that the source distribution tarball is generated, and the - project test suite is run on it: +2) Configure and build the whole project, making sure gtk-doc and introspection + are enabled: + $ meson setup build \ + --prefix=/usr \ + --buildtype=release \ + -Dintrospection=true \ + -Dgtk_doc=true + $ ninja -C build - $ make distcheck +3) Run the test suite and install locally: + $ ninja -C build test + $ sudo ninja -C build install -3) Compute checksum of the tarball so that it can be referenced in the release - email: - - $ sha256sum ModemManager-${VERSION}.tar.xz - -4) Sign release tarball, and verify it (*): - - $ gpg --detach-sign --armor ModemManager-${VERSION}.tar.xz - $ gpg --verify ModemManager-${VERSION}.tar.xz.asc ModemManager-${VERSION}.tar.xz - -5) Upload source tarball (.tar.xz) and signature (.tar.xz.asc) to - freedesktop.org. - $ scp ModemManager-${VERSION}.tar.xz* fd.o:${ModemManager}/ - -6) Create directories for the manpages and gtk-doc documentation in +4) Create directories for the manpages and gtk-doc documentation in freedesktop.org, and also update the 'latest' links: $ ssh fd.o [fd.o] $ cd ${ModemManager}/man/ @@ -48,27 +41,39 @@ The ModemManager releases are generated using the GNU autotools. [fd.o] $ mkdir -p ${VERSION}/libmm-glib [fd.o] $ ln -s ${VERSION} latest -7) Generate HTML for the manpages: +5) Generate HTML for the manpages: $ roffit < docs/man/mmcli.1 > mmcli.1.html $ roffit < docs/man/ModemManager.8 > ModemManager.8.html -8) Upload manpages in HTML to freedesktop.org: +6) Upload manpages in HTML to freedesktop.org: $ scp *.html fd.o:${ModemManager}/man/${VERSION}/ -9) Upload the gtk-doc in HTML available inside the source tarball to - freedesktop.org. It must be the one inside the tarball because it contains - the correct fixed refs to the online documentation of the dependencies - (e.g. the glib/gobject/gio documentation URLs in http://developer.gnome.org) - $ tar -Jxvf ModemManager-${VERSION}.tar.xz - $ scp ModemManager-${VERSION}/docs/reference/api/html/* fd.o:${ModemManager}/doc/${VERSION}/ModemManager/ - $ scp ModemManager-${VERSION}/docs/reference/libmm-glib/html/* fd.o:${ModemManager}/doc/${VERSION}/libmm-glib/ +7) Copy documentation from /usr/share/gtk-doc and fix online references manually + $ mkdir ModemManager-html + $ cp -r /usr/share/gtk-doc/html/ModemManager/* ModemManager-html/ + $ for FILE in $(ls ModemManager-html/*.html); do \ + sed -i 's|]* href="\.\./glib/[^"]*|