diff options
Diffstat (limited to 'RELEASING')
-rw-r--r-- | RELEASING | 79 |
1 files changed, 42 insertions, 37 deletions
@@ -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: - - $ NOCONFIGURE=1 ./autogen.sh - $ ./configure --enable-gtk-doc - $ make -j8 - -2) Run distcheck so that the source distribution tarball is generated, and the - project test suite is run on it: - - $ make distcheck +1) Add signed tag: + $ git tag -s 1.20.0 -3) Compute checksum of the tarball so that it can be referenced in the release - email: + The description included in the signed tag could be: + Release 1.20.0 - $ sha256sum ModemManager-${VERSION}.tar.xz +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 -4) Sign release tarball, and verify it (*): +3) Run the test suite and install locally: + $ ninja -C build test + $ sudo ninja -C build install - $ 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/ - -10.1) For major releases: +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|<a[^>]* href="\.\./glib/[^"]*|<a href="https://docs.gtk.org/glib/|g' $FILE; \ + sed -i 's|<a[^>]* href="\.\./gobject/[^"]*|<a href="https://docs.gtk.org/gobject/|g' $FILE; \ + sed -i 's|<a[^>]* href="\.\./gio/[^"]*|<a href="https://docs.gtk.org/gio/|g' $FILE; \ + done + $ mkdir libmm-glib-html + $ cp -r /usr/share/gtk-doc/html/libmm-glib/* libmm-glib-html/ + $ for FILE in $(ls libmm-glib-html/*.html); do \ + sed -i 's|<a[^>]* href="\.\./glib/[^"]*|<a href="https://docs.gtk.org/glib/|g' $FILE; \ + sed -i 's|<a[^>]* href="\.\./gobject/[^"]*|<a href="https://docs.gtk.org/gobject/|g' $FILE; \ + sed -i 's|<a[^>]* href="\.\./gio/[^"]*|<a href="https://docs.gtk.org/gio/|g' $FILE; \ + done + +8) Upload the modified HTML files to freedesktop.org: + $ scp ModemManager-html/* fd.o:${ModemManager}/doc/${VERSION}/ModemManager/ + $ scp libmm-glib-html/* fd.o:${ModemManager}/doc/${VERSION}/libmm-glib/ + +9.1) For major releases: * Fork new stable branch (e.g. mm-${MAJOR}-${MINOR}) * Post-release version bump in the main branch, increment mm_minor_version. * Post-release version bump in the stable branch, increment mm_micro_version. -10.2) For stable branch releases: +9.2) For stable branch releases: * Post-release version bump, increment mm_micro_version. ------------------------------------------------------------------------------- @@ -76,4 +81,4 @@ The ModemManager releases are generated using the GNU autotools. *) Verifying the release signature requires the public key of the person who signed it, e.g.: - $ curl https://www.freedesktop.org/software/ModemManager/0x3CAD53398973FFFA.asc | gpg --import + $ curl https://www.freedesktop.org/software/ModemManager/0xAECE0239C6606AD5.asc | gpg --import |