From 3f367d778887225261e7e18af769b90be90216db Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Thu, 18 May 2023 19:57:19 +0200 Subject: [PATCH 1/4] cronjobs: new file name scheme and G84 added Following the creation of the new GRASS GIS 8.3 release branch an overhaul of the cronjob scripts is needed. | **label** | **version number** | | ----------- | ------------------ | | legacy | 7.8 | | old current | 8.2 | | new current | 8.3 | | preview | 8.4 | Following this file name scheme, the cronjob files have been renamed and new files been added: * renamed: cron_grass7_relbranch_build_binaries.sh -> cron_grass7_legacy_build_binaries.sh * renamed: cron_grass7_relbranch_src_snapshot.sh -> cron_grass7_legacy_src_snapshot.sh * renamed: cron_grass8_main_build_binaries.sh -> cron_grass8_new_current_build_binaries.sh * renamed: cron_grass8_main_src_snapshot.sh -> cron_grass8_new_current_src_snapshot.sh * renamed: cron_grass8_relbranch_build_binaries.sh -> cron_grass8_old_current_build_binaries.sh * renamed: cron_grass8_relbranch_src_snapshot.sh -> cron_grass8_old_current_src_snapshot.sh * new file: cron_grass8_preview_build_binaries.sh * new file: cron_grass8_preview_src_snapshot.sh Importantly, no version numbers are part of the file names to gain long term stability. In case of version increments, "just" the versions coded in the file(s) need to be updated and (in some cases) new directories been created on grass.osgeo.org (see respective comments in the `cron_grass*.sh` files). --- utils/cronjobs_osgeo_lxd/README.md | 45 ++- ...h => cron_grass7_legacy_build_binaries.sh} | 6 +- ....sh => cron_grass7_legacy_src_snapshot.sh} | 4 +- ...cron_grass8_new_current_build_binaries.sh} | 6 +- ...> cron_grass8_new_current_src_snapshot.sh} | 2 +- ...cron_grass8_old_current_build_binaries.sh} | 4 +- ...> cron_grass8_old_current_src_snapshot.sh} | 6 +- .../cron_grass8_preview_build_binaries.sh | 341 ++++++++++++++++++ .../cron_grass8_preview_src_snapshot.sh | 109 ++++++ 9 files changed, 494 insertions(+), 29 deletions(-) rename utils/cronjobs_osgeo_lxd/{cron_grass7_relbranch_build_binaries.sh => cron_grass7_legacy_build_binaries.sh} (98%) rename utils/cronjobs_osgeo_lxd/{cron_grass7_relbranch_src_snapshot.sh => cron_grass7_legacy_src_snapshot.sh} (94%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_main_build_binaries.sh => cron_grass8_new_current_build_binaries.sh} (98%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_main_src_snapshot.sh => cron_grass8_new_current_src_snapshot.sh} (97%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_relbranch_build_binaries.sh => cron_grass8_old_current_build_binaries.sh} (98%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_relbranch_src_snapshot.sh => cron_grass8_old_current_src_snapshot.sh} (96%) create mode 100755 utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh create mode 100755 utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh diff --git a/utils/cronjobs_osgeo_lxd/README.md b/utils/cronjobs_osgeo_lxd/README.md index b90b6a33ae..d7d61903d0 100644 --- a/utils/cronjobs_osgeo_lxd/README.md +++ b/utils/cronjobs_osgeo_lxd/README.md @@ -1,5 +1,18 @@ # Cronjobs OSGeo LXD +## Version overview + +| **label** | **version number** | +| ----------- | ------------------ | +| legacy | 7.8 | +| old current | 8.2 | +| new current | 8.3 | +| preview | 8.4 | + +Last update: 17 May 2023 + +The name of the files reflects the GRASS GIS version being compiled/packaged. + ## What's this? This directory contains the relevant files to generate and deploy the GRASS GIS @@ -15,29 +28,31 @@ programmer's manual. * generate and deploy the GRASS GIS Web pages at : * `hugo_clean_and_update_job.sh` * GRASS GIS source code weekly snapshots: - * grass7-stable: `cron_grass7_relbranch_src_snapshot.sh` - * grass8-stable: `cron_grass8_relbranch_src_snapshot.sh` - * grass8-devel: `cron_grass8_main_src_snapshot.sh` + * grass7-stable (legacy): `cron_grass7_legacy_src_snapshot.sh` + * grass8-old-current (current stable): `cron_grass8_old_current_src_snapshot.sh` + * grass8-new-current (new stable): `cron_grass8_new_current_src_snapshot.sh` + * grass8-preview (development): `cron_grass8_preview_src_snapshot.sh` * GRASS GIS Linux binary weekly snapshots: - * grass7-stable: `cron_grass7_relbranch_build_binaries.sh` - * grass8-stable: `cron_grass8_relbranch_build_binaries.sh` + * grass7-stable (legacy): `cron_grass7_legacy_build_binaries.sh` + * grass8-old-current (current stable): `cron_grass8_old_current_build_binaries.sh` + * grass8-new-current (new stable): `cron_grass8_new_current_build_binaries.sh` + * grass8-preview (development): `cron_grass8_preview_build_binaries.sh` * GRASS GIS addons manual pages: - * grass7-stable: within `cron_grass7_relbranch_build_binaries.sh` - * grass8-stable: within `cron_grass8_relbranch_build_binaries.sh` + * addon manual pages are generated within above Linux binary weekly snapshots * GRASS GIS 7 addons overview page at : - * `compile_addons_git.sh` - called from `cron_grass7_relbranch_build_binaries.sh` - * `build-xml.py` - called from `cron_grass7_relbranch_build_binaries.sh`, + * `compile_addons_git.sh` - called from `cron_grass7_legacy_build_binaries.sh` + * `build-xml.py` - called from `cron_grass7_legacy_build_binaries.sh`, generates the modules.xml file required for the g.extension module - * `grass-addons-index.sh` - called from `cron_grass7_relbranch_build_binaries.sh` + * `grass-addons-index.sh` - called from `cron_grass7_legacy_build_binaries.sh` * `get_page_description.py` - called from `grass-addons-index.sh` * GRASS GIS 8 addons overview page at : - * `compile_addons_git.sh` - called from `cron_grass8_relbranch_build_binaries.sh` - * `build-xml.py` - called from `cron_grass8_relbranch_build_binaries.sh` + * `compile_addons_git.sh` - called from `cron_grass8_XXX_build_binaries.sh` + * `build-xml.py` - called from `cron_grass8_XXX_build_binaries.sh` generates the modules.xml file required for the g.extension module - * `grass-addons-index.sh` - called from `cron_grass8_relbranch_build_binaries.sh` + * `grass-addons-index.sh` - called from `cron_grass8_XXX_build_binaries.sh` * `get_page_description.py` - called from `grass-addons-index.sh` * GRASS GIS programmer's manual: - * within `cron_grass8_relbranch_build_binaries.sh` + * within `cron_grass8_XXX_build_binaries.sh` * compilation addons: * `compile_addons_git.sh` it's called with `$5` arg, addon is installed into own individual directory, with **bin/ docs/ etc/ scripts/** @@ -74,7 +89,7 @@ Important: there are two web related directories on the server: ## Infrastructure The server is hosted as LXD container on `osgeo7`, see: - + The container is only accessible via the related OSGeo ssh jumphost and registered ssh pubkey. diff --git a/utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_build_binaries.sh similarity index 98% rename from utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass7_legacy_build_binaries.sh index 509c98dba1..fd78fa560e 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_build_binaries.sh @@ -1,15 +1,15 @@ #!/bin/sh -# script to build GRASS 7.x binaries + addons from the `releasebranch_7_x` binaries +# script to build GRASS 7 legacy (7.8) binaries + addons from the `releasebranch_7_8` branch # (c) GPL 2+ Markus Neteler -# 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2021, 2022 +# 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2021-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # ## prep, on neteler@grasslxd:$ # mkdir -p ~/src # cd ~/src -# # G76 G78 +# # G76 G78 -> G76 unused # for i in 6 8 ; do git clone https://github.com/OSGeo/grass.git releasebranch_7_$i ; done # for i in 6 8 ; do (cd releasebranch_7_$i ; git checkout releasebranch_7_$i ) ; done # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_src_snapshot.sh similarity index 94% rename from utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass7_legacy_src_snapshot.sh index 61b32a8078..ae584d2ffb 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass7_relbranch_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_src_snapshot.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS sources package from git relbranch of 7.8 +# script to build GRASS 7 legacy (7.8) source package from the `releasebranch_7_8` branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2014, 2015, 2016, 2017, 2018, 2019, 2020 +# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2014-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_main_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_build_binaries.sh similarity index 98% rename from utils/cronjobs_osgeo_lxd/cron_grass8_main_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass8_new_current_build_binaries.sh index e8cb086c3a..e6b4f528de 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass8_main_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_build_binaries.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 8.dev binaries + addons from the `main` +# script to build GRASS 8 new_current (8.3) binaries + addons from the `main` # (c) GPL 2+ Markus Neteler -# 2022 +# 2022-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # @@ -37,7 +37,7 @@ PATH=/home/neteler/binaries/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin GMAJOR=8 GMINOR=3 -GPATCH="dev" +GPATCH="0dev" # required by grass-addons-index.sh DOTVERSION=$GMAJOR.$GMINOR VERSION=$GMAJOR$GMINOR GVERSION=$GMAJOR diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_main_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_src_snapshot.sh similarity index 97% rename from utils/cronjobs_osgeo_lxd/cron_grass8_main_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass8_new_current_src_snapshot.sh index 710fdcbd69..e90753c4c8 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass8_main_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_src_snapshot.sh @@ -1,6 +1,6 @@ #!/bin/sh -# script to build GRASS 8.x sources package from the main branch +# script to build GRASS 8 new_current (8.3) sources package from the main branch # (c) GPL 2+ Markus Neteler # Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2022 # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_build_binaries.sh similarity index 98% rename from utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass8_old_current_build_binaries.sh index 863b785131..2f390573c2 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_build_binaries.sh @@ -1,6 +1,6 @@ #!/bin/sh -# script to build GRASS 8.x binaries + addons from the `releasebranch_8_2` binaries +# script to build GRASS 8 old_current (8.2) binaries + addons from the `releasebranch_8_2` binaries # (c) GPL 2+ Markus Neteler # 2014-2023 # @@ -37,7 +37,7 @@ PATH=/home/neteler/binaries/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin GMAJOR=8 GMINOR=2 -GPATCH=1 +GPATCH=1 # required by grass-addons-index.sh DOTVERSION=$GMAJOR.$GMINOR VERSION=$GMAJOR$GMINOR GVERSION=$GMAJOR diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_src_snapshot.sh similarity index 96% rename from utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass8_old_current_src_snapshot.sh index 86c944fafb..f63d4beca0 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass8_relbranch_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_src_snapshot.sh @@ -1,13 +1,13 @@ #!/bin/sh -# script to build GRASS 8.x sources package from the release branch +# script to build GRASS 8 old_current (8.2) source package from the release branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2022 +# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # ## prep -# git clone https://github.com/OSGeo/grass.git release_branch_8_0 +# git clone https://github.com/OSGeo/grass.git release_branch_8_2 # ################################################################### diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh new file mode 100755 index 0000000000..4583de3793 --- /dev/null +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh @@ -0,0 +1,341 @@ +#!/bin/sh + +# script to build GRASS 8 preview (8.4) binaries + addons from the `main` +# (c) GPL 2+ Markus Neteler +# 2022-2023 +# +# GRASS GIS github, https://github.com/OSGeo/grass +# +################################################################### +# how it works: +# - it updates locally the GRASS source code from github server +# - configures, compiles +# - packages the binaries +# - generated the install scripts +# - generates the programmer's 8 HTML manual +# - generates the pyGRASS 8 HTML manual +# - generates the user 8 HTML manuals +# - injects DuckDuckGo search field + +# Preparations, on OSGeo server (neteler@grasslxd): +# - Install PROJ: http://trac.osgeo.org/proj/ incl Datum shift grids +# sh conf_proj4.sh +# - Install GDAL: http://trac.osgeo.org/gdal/wiki/DownloadSource +# sh conf_gdal.sh +# - Install apt-get install texlive-latex-extra python3-sphinxcontrib.apidoc +# - Clone source from github: +# mkdir -p ~/src ; cd ~/src +# git clone https://github.com/OSGeo/grass.git main +# - Prepare target directories: +# cd /var/www/code_and_data/ +# mkdir grass84 +# cd /var/www/html/ +# ln -s /var/www/code_and_data/grass84 . +# +################################# +PATH=/home/neteler/binaries/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin + +GMAJOR=8 +GMINOR=4 +GPATCH="0dev" # required by grass-addons-index.sh +DOTVERSION=$GMAJOR.$GMINOR +VERSION=$GMAJOR$GMINOR +GVERSION=$GMAJOR + +################### +CFLAGSSTRING='-O2' +CFLAGSSTRING='-Werror-implicit-function-declaration -fno-common' +LDFLAGSSTRING='-s' + +#define several paths if required: + +MAINDIR=/home/neteler +# where to find the GRASS sources (git clone): +SOURCE=$MAINDIR/src/ +BRANCH=main +GRASSBUILDDIR=$SOURCE/$BRANCH +TARGETMAIN=/var/www/code_and_data +TARGETDIR=$TARGETMAIN/grass${VERSION}/binary/linux/snapshot +TARGETHTMLDIR=$TARGETMAIN/grass${VERSION}/manuals/ + +# not built for dev version +## TARGETPROGMAN=$TARGETMAIN/programming${GVERSION} + +MYBIN=$MAINDIR/binaries + +############################## nothing to change below: + +MYMAKE="nice make LD_LIBRARY_PATH=$MYBIN/lib:/usr/lib:/usr/local/lib" + +# catch CTRL-C and other breaks: +trap "echo 'user break.' ; exit" 2 3 9 15 + +halt_on_error() +{ + echo "ERROR: $1" + exit 1 +} + +configure_grass() +{ + +# which package? +# --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \ + +# cleanup +rm -f config_$GMAJOR.$GMINOR.git_log.txt + +# reset i18N POT files +git checkout locale/templates/*.pot + +CFLAGS=$CFLAGSSTRING LDFLAGS=$LDFLAGSSTRING ./configure \ + --with-cxx \ + --with-sqlite \ + --with-postgres \ + --with-geos \ + --with-odbc \ + --with-cairo --with-cairo-ldflags=-lfontconfig \ + --with-proj-share=/usr/share/proj \ + --with-postgres --with-postgres-includes=/usr/include/postgresql \ + --with-freetype --with-freetype-includes=/usr/include/freetype2 \ + --with-netcdf \ + --with-pdal \ + --with-fftw \ + --with-nls \ + --with-blas --with-blas-includes=/usr/include/atlas/ \ + --with-lapack --with-lapack-includes=/usr/include/atlas/ \ + --with-zstd \ + --with-liblas \ + 2>&1 | tee config_$DOTVERSION.git_log.txt + + if [ $? -ne 0 ] ; then + halt_on_error "configure doesn't work." + fi +} + +######## update from git: + +mkdir -p $TARGETDIR +cd $GRASSBUILDDIR/ + +$MYMAKE distclean > /dev/null 2>&1 + +# cleanup leftover garbage +git status | grep '.rst' | xargs rm -f +rm -rf lib/python/docs/_build/ lib/python/docs/_templates/layout.html +rm -f config_${DOTVERSION}.git_log.txt ChangeLog + +# be sure to be on branch +git checkout $BRANCH + +echo "git update..." +git fetch --all --prune && git checkout $BRANCH && git pull --rebase || halt_on_error "git update error!" +git status + +# for the contributors list in CMS +cp -f *.csv $TARGETMAIN/uploads/grass/ + +#configure +echo "configuring" +configure_grass || (echo "$0: an error occurred" ; exit 1) +pwd +ARCH=`cat include/Make/Platform.make | grep ^ARCH | cut -d'=' -f2 | xargs` + +######## now GRASS is prepared #################### + +#### next compile GRASS: +$MYMAKE + + +echo "GRASS $VERSION compilation done" + +# now GRASS is prepared ############################################ + +#### create module overview (https://trac.osgeo.org/grass/ticket/1203) +#sh utils/module_synopsis.sh + +#### generate developer stuff: pygrass docs + gunittest docs +# generate pyGRASS sphinx manual (in docs/html/libpython/) +# including source code +$MYMAKE sphinxdoclib + +## +echo "Copy over the manual + pygrass HTML pages:" +mkdir -p $TARGETHTMLDIR +# don't destroy the addons +\mv $TARGETHTMLDIR/addons /tmp +rm -f $TARGETHTMLDIR/*.* +(cd $TARGETHTMLDIR ; rm -rf barscales colortables icons northarrows) +\mv /tmp/addons $TARGETHTMLDIR + +cp -rp dist.$ARCH/docs/html/* $TARGETHTMLDIR/ +echo "Copied pygrass progman to http://grass.osgeo.org/grass${VERSION}/manuals/libpython/" + +echo "Injecting DuckDuckGo search field into manual main page..." +(cd $TARGETHTMLDIR/ ; sed -i -e "s++<\!\-\- injected in cron_grass8_relbranch_build_binaries.sh \-\->
+g" index.html) + +cp -p AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL REQUIREMENTS.html $TARGETDIR/ + +# clean wxGUI sphinx manual etc +(cd $GRASSBUILDDIR/ ; $MYMAKE cleansphinx) + +############ +# generate doxygen programmers's G8 manual +cd $GRASSBUILDDIR/ +#$MYMAKE htmldocs-single > /dev/null || (echo "$0 htmldocs-single: an error occurred" ; exit 1) +$MYMAKE htmldocs-single || (echo "$0 htmldocs-single: an error occurred" ; exit 1) + +cd $GRASSBUILDDIR/ + +## clean old TARGETPROGMAN stuff from last run +#if [ -z "$TARGETPROGMAN" ] ; then +# echo "\$TARGETPROGMAN undefined, error!" +# exit 1 +#fi +#mkdir -p $TARGETPROGMAN +#rm -f $TARGETPROGMAN/*.* +# +## copy over doxygen manual +#cp -r html/* $TARGETPROGMAN/ +# +#echo "Copied HTML progman to https://grass.osgeo.org/programming${GVERSION}" +## fix permissions +#chgrp -R grass $TARGETPROGMAN/* +#chmod -R a+r,g+w $TARGETPROGMAN/ +#chmod -R a+r,g+w $TARGETPROGMAN/* +## bug in doxygen +#(cd $TARGETPROGMAN/ ; ln -s index.html main.html) + +##### copy i18N POT files, needed for https://www.transifex.com/grass-gis/ +(cd locale ; +mkdir -p $TARGETDIR/transifex/ +cp templates/*.pot $TARGETDIR/transifex/ +) + +##### generate i18N stats for HTML page path (WebSVN): +## Structure: grasslibs_ar.po 144 translated messages 326 fuzzy translations 463 untranslated messages. +cd $GRASSBUILDDIR +(cd locale/ ; +touch po/*.po ; +$MYMAKE mo > out.i18n 2>&1 ; +# libs, mods, wx +# hack: +cat out.i18n | tr '\n' ' ' | sed -e 's+ msgfmt+\ +msgfmt+g' | tr -s ' ' ' ' | cut -d' ' -f5,6- | sed 's+\,++g' | sed 's+^po/++g' | grep -v 'done for' | sort > $TARGETDIR/i18n_stats.txt +rm -f out.i18n +) + +cd $TARGETDIR/ +cat i18n_stats.txt | grep mod > i18n_stats_mods.txt +cat i18n_stats.txt | grep lib > i18n_stats_libs.txt +cat i18n_stats.txt | grep wxpy > i18n_stats_wxpy.txt +cd $GRASSBUILDDIR + +# package the package +$MYMAKE bindist +if [ $? -ne 0 ] ; then + halt_on_error "make bindist." +fi + +#report system: +echo "System: +$ARCH, compiled with:" > grass-$DOTVERSION\_$ARCH\_bin.txt +## echo "Including precompiled $GDALVERSION library for r.in.gdal" >> grass-$DOTVERSION\_$ARCH\_bin.txt +gcc -v 2>&1 | grep -v Reading >> grass-$DOTVERSION\_$ARCH\_bin.txt + +# clean old version off +rm -f $TARGETDIR/grass-$DOTVERSION\_$ARCH\_bin.txt +rm -f $TARGETDIR/grass-$DOTVERSION*.tar.gz +rm -f $TARGETDIR/grass-$DOTVERSION*install.sh + +############################################ +echo "Copy new binary version into web space:" +cp -p grass-$DOTVERSION\_$ARCH\_bin.txt grass-$DOTVERSION*.tar.gz grass-$DOTVERSION*install.sh $TARGETDIR +rm -f grass-$DOTVERSION\_$ARCH\_bin.txt grass-$DOTVERSION*.tar.gz grass-$DOTVERSION*install.sh + +# generate manual ZIP package +(cd $TARGETHTMLDIR/.. ; rm -f $TARGETHTMLDIR/*html_manual.zip ; zip -r /tmp/grass-${DOTVERSION}_html_manual.zip manuals/) +mv /tmp/grass-${DOTVERSION}_html_manual.zip $TARGETHTMLDIR/ + +# error log etc +cp -f config_$DOTVERSION.git_log.txt $TARGETDIR +cp -f error.log $TARGETDIR +chmod -R a+r,g+w $TARGETDIR 2> /dev/null +chmod -R a+r,g+w $TARGETHTMLDIR 2> /dev/null + +echo "Written to: $TARGETDIR" + +cd $GRASSBUILDDIR + +############################################ +# compile addons + +# update addon repo (addon repo has been cloned twice on the server to +# separate grass7 and grass8 addon compilation) +(cd ~/src/grass$GMAJOR-addons/; git checkout grass$GMAJOR; git pull origin grass$GMAJOR) +# compile addons +cd $GRASSBUILDDIR +sh ~/cronjobs/compile_addons_git.sh $GMAJOR \ + $GMINOR \ + ~/src/grass$GMAJOR-addons/src/ \ + ~/src/$BRANCH/dist.$ARCH/ \ + ~/.grass$GMAJOR/addons \ + ~/src/$BRANCH/bin.$ARCH/grass \ + 1 +mkdir -p $TARGETHTMLDIR/addons/ +# copy individual addon html files into one target dir if compiled addon +# has own dir e.g. ~/.grass8/addons/db.join/ with bin/ docs/ etc/ scripts/ +# subdir +for dir in `find ~/.grass$GMAJOR/addons -maxdepth 1 -type d`; do + if [ -d $dir/docs/html ] ; then + if [ "$(ls -A $dir/docs/html/)" ]; then + for f in $dir/docs/html/*; do + cp $f $TARGETHTMLDIR/addons/ + done + fi + fi +done +sh ~/cronjobs/grass-addons-index.sh $GMAJOR $GMINOR $GPATCH $TARGETHTMLDIR/addons/ +cp $TARGETHTMLDIR/grass_logo.png \ + $TARGETHTMLDIR/hamburger_menu.svg \ + $TARGETHTMLDIR/hamburger_menu_close.svg \ + $TARGETHTMLDIR/grassdocs.css \ + $TARGETHTMLDIR/addons/ +chmod -R a+r,g+w $TARGETHTMLDIR 2> /dev/null + +# cp logs from ~/.grass$GMAJOR/addons/logs/ +mkdir -p $TARGETMAIN/addons/grass$GMAJOR/logs/ +cp -p ~/.grass$GMAJOR/addons/logs/* $TARGETMAIN/addons/grass$GMAJOR/logs/ + +# generate addons modules.xml file (required for g.extension module) +~/src/$BRANCH/bin.$ARCH/grass --tmp-location EPSG:4326 --exec ~/cronjobs/build-xml.py --build ~/.grass$GMAJOR/addons +cp ~/.grass$GMAJOR/addons/modules.xml $TARGETMAIN/addons/grass$GMAJOR/modules.xml + +# regenerate keywords.html file with addons modules keywords +export ARCH +export ARCH_DISTDIR=$GRASSBUILDDIR/dist.$ARCH +export GISBASE=$ARCH_DISTDIR +export VERSION_NUMBER=$DOTVERSION +python3 $GRASSBUILDDIR/man/build_keywords.py $TARGETMAIN/grass$GMAJOR$GMINOR/manuals/ $TARGETMAIN/grass$GMAJOR$GMINOR/manuals/addons/ +unset ARCH ARCH_DISTDIR GISBASE VERSION_NUMBER + +############################################ +# create sitemaps to expand the hugo sitemap + +python3 $HOME/src/grass$GMAJOR-addons/utils/create_manuals_sitemap.py --dir=/var/www/code_and_data/grass$GMAJOR$GMINOR/manuals/ --url=https://grass.osgeo.org/grass$GMAJOR$GMINOR/manuals/ -o +python3 $HOME/src/grass$GMAJOR-addons/utils/create_manuals_sitemap.py --dir=/var/www/code_and_data/grass$GMAJOR$GMINOR/manuals/addons/ --url=https://grass.osgeo.org/grass$GMAJOR$GMINOR/manuals/addons/ -o + +############################################ +# cleanup +cd $GRASSBUILDDIR +$MYMAKE distclean > /dev/null || (echo "$0: an error occurred" ; exit 1) +rm -rf lib/html/ lib/latex/ + +echo "Finished GRASS $VERSION $ARCH compilation." +echo "Written to: $TARGETDIR" +echo "Copied HTML ${GVERSION} manual to https://grass.osgeo.org/grass${VERSION}/manuals/" +echo "Copied pygrass progman ${GVERSION} to https://grass.osgeo.org/grass${VERSION}/manuals/libpython/" +#echo "Copied HTML ${GVERSION} progman to https://grass.osgeo.org/programming${GVERSION}" +echo "Copied Addons ${GVERSION} to https://grass.osgeo.org/grass${VERSION}/manuals/addons/" + +exit 0 diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh new file mode 100755 index 0000000000..a43ccc195c --- /dev/null +++ b/utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh @@ -0,0 +1,109 @@ +#!/bin/sh + +# script to build GRASS 8 preview (8.4) source package from the main branch +# (c) GPL 2+ Markus Neteler +# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2023 +# +# GRASS GIS github, https://github.com/OSGeo/grass +# +## prep +# git clone https://github.com/OSGeo/grass.git main +# +################################################################### + +MAINDIR=/home/neteler +GMAJOR=8 +GMINOR=4 +GVERSION=$GMAJOR.$GMINOR.git +DOTVERSION=$GMAJOR.$GMINOR +GSHORTGVERSION=$GMAJOR$GMINOR + +################### +# where to find the GRASS sources (git clone): +SOURCE=$MAINDIR/src/ +BRANCH=main +# where to put the resulting .tar.gz file: +TARGETMAIN=/var/www/code_and_data/ +TARGETDIR=$TARGETMAIN/grass${GSHORTGVERSION}/source/snapshot +PACKAGENAME=grass-${GVERSION}_ + +############################## nothing to change below: + +MYMAKE="nice make" +TAR=tar + +# catch CTRL-C and other breaks: +trap "echo 'user break.' ; exit" 2 3 9 15 + +halt_on_error() +{ + echo "ERROR: $1" + exit 1 +} + +# create a source code snapshot: +CWD=`pwd` + +mkdir -p $TARGETDIR +cd $SOURCE/$BRANCH/ +date + +#clean up +$MYMAKE distclean > /dev/null 2>&1 + +# cleanup leftover garbage +git status | grep '.rst' | xargs rm -f +rm -rf lib/python/docs/_build/ lib/python/docs/_templates/layout.html +rm -f config_${DOTVERSION}.git_log.txt ChangeLog + +# reset i18N POT files to git, just to be sure +git checkout locale/templates/*.pot + +## hard reset local git repo (just in case) +#git checkout main && git reset --hard HEAD~1 && git reset --hard origin + +echo "git update..." +git fetch --all --prune || halt_on_error "git fetch error!" +# we dont have upstream in this cronjob repo +git merge origin/$BRANCH + +git status + +#generate changelog +touch include/Make/Platform.make # workaround for https://trac.osgeo.org/grass/ticket/3853 +make changelog +rm -f include/Make/Platform.make + +# go to parent for packaging +cd .. + +date +#package it (we rename the directory to have the date inside the package): +DATE=`date '+_%Y_%m_%d'` +mv $BRANCH $PACKAGENAME\src_snapshot$DATE +# exclude version control system directories (the flag order matters!) +$TAR cfz $PACKAGENAME\src_snapshot$DATE.tar.gz --exclude-vcs $PACKAGENAME\src_snapshot$DATE +mv $PACKAGENAME\src_snapshot$DATE $BRANCH + +#remove old snapshot: +rm -f $TARGETDIR/$PACKAGENAME\src_snapshot* +rm -f $TARGETDIR/ChangeLog.gz + +#publish the new one: +cd $BRANCH/ +cp -p ChangeLog AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL REQUIREMENTS.html $TARGETDIR + +cd .. +gzip $TARGETDIR/ChangeLog +cp $PACKAGENAME\src_snapshot$DATE.tar.gz $TARGETDIR +rm -f $PACKAGENAME\src_snapshot$DATE.tar.gz +chmod a+r,g+w $TARGETDIR/* 2> /dev/null +chgrp grass $TARGETDIR/* 2> /dev/null + +# link for convenience: +(cd $TARGETDIR ; rm -f $PACKAGENAME\src_snapshot_latest.tar.gz ; ln -s $PACKAGENAME\src_snapshot$DATE.tar.gz $PACKAGENAME\src_snapshot_latest.tar.gz) + +echo "Written to: $TARGETDIR +https://grass.osgeo.org/grass${GSHORTGVERSION}/source/snapshot/" + +exit 0 From 15f4a5db51b364e20b2af017e695b5434a2a2794 Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Tue, 23 May 2023 18:23:35 +0200 Subject: [PATCH 2/4] make cronjob files versionless; update cron_job_list_grass; update README.md --- utils/cronjobs_osgeo_lxd/README.md | 47 +++++++++---------- ...sh => cron_grass_legacy_build_binaries.sh} | 0 ...t.sh => cron_grass_legacy_src_snapshot.sh} | 0 ... cron_grass_new_current_build_binaries.sh} | 0 ...=> cron_grass_new_current_src_snapshot.sh} | 0 ... cron_grass_old_current_build_binaries.sh} | 0 ...=> cron_grass_old_current_src_snapshot.sh} | 0 ...h => cron_grass_preview_build_binaries.sh} | 0 ....sh => cron_grass_preview_src_snapshot.sh} | 0 utils/cronjobs_osgeo_lxd/cron_job_list_grass | 26 ++++++---- 10 files changed, 40 insertions(+), 33 deletions(-) rename utils/cronjobs_osgeo_lxd/{cron_grass7_legacy_build_binaries.sh => cron_grass_legacy_build_binaries.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass7_legacy_src_snapshot.sh => cron_grass_legacy_src_snapshot.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_new_current_build_binaries.sh => cron_grass_new_current_build_binaries.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_new_current_src_snapshot.sh => cron_grass_new_current_src_snapshot.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_old_current_build_binaries.sh => cron_grass_old_current_build_binaries.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_old_current_src_snapshot.sh => cron_grass_old_current_src_snapshot.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_preview_build_binaries.sh => cron_grass_preview_build_binaries.sh} (100%) rename utils/cronjobs_osgeo_lxd/{cron_grass8_preview_src_snapshot.sh => cron_grass_preview_src_snapshot.sh} (100%) diff --git a/utils/cronjobs_osgeo_lxd/README.md b/utils/cronjobs_osgeo_lxd/README.md index d7d61903d0..6c965297ab 100644 --- a/utils/cronjobs_osgeo_lxd/README.md +++ b/utils/cronjobs_osgeo_lxd/README.md @@ -2,16 +2,15 @@ ## Version overview -| **label** | **version number** | -| ----------- | ------------------ | -| legacy | 7.8 | -| old current | 8.2 | -| new current | 8.3 | -| preview | 8.4 | +| **label** | **meaning** | +| ----------- | --------------------------------------------------------------- | +| legacy | legacy stable version, no longer recommended for use | +| old current | current stable version, widely used | +| new current | upcoming stable version, for early adopters | +| preview | development version, for developers and new feature enthusiasts | -Last update: 17 May 2023 - -The name of the files reflects the GRASS GIS version being compiled/packaged. +The name of the cronjob files reflects the GRASS GIS version being compiled/packaged. +The actual version numbers are only coded in the scripts themselves. ## What's this? @@ -28,31 +27,31 @@ programmer's manual. * generate and deploy the GRASS GIS Web pages at : * `hugo_clean_and_update_job.sh` * GRASS GIS source code weekly snapshots: - * grass7-stable (legacy): `cron_grass7_legacy_src_snapshot.sh` - * grass8-old-current (current stable): `cron_grass8_old_current_src_snapshot.sh` - * grass8-new-current (new stable): `cron_grass8_new_current_src_snapshot.sh` - * grass8-preview (development): `cron_grass8_preview_src_snapshot.sh` + * grass-legacy (legacy): `cron_grass_legacy_src_snapshot.sh` + * grass-old-current (current stable): `cron_grass_old_current_src_snapshot.sh` + * grass-new-current (upcoming stable): `cron_grass_new_current_src_snapshot.sh` + * grass-preview (development): `cron_grass_preview_src_snapshot.sh` * GRASS GIS Linux binary weekly snapshots: - * grass7-stable (legacy): `cron_grass7_legacy_build_binaries.sh` - * grass8-old-current (current stable): `cron_grass8_old_current_build_binaries.sh` - * grass8-new-current (new stable): `cron_grass8_new_current_build_binaries.sh` - * grass8-preview (development): `cron_grass8_preview_build_binaries.sh` + * grass-legacy (legacy): `cron_grass_legacy_build_binaries.sh` + * grass-old-current (current stable): `cron_grass_old_current_build_binaries.sh` + * grass-new-current (upcoming stable): `cron_grass_new_current_build_binaries.sh` + * grass-preview (development): `cron_grass_preview_build_binaries.sh` * GRASS GIS addons manual pages: * addon manual pages are generated within above Linux binary weekly snapshots * GRASS GIS 7 addons overview page at : - * `compile_addons_git.sh` - called from `cron_grass7_legacy_build_binaries.sh` - * `build-xml.py` - called from `cron_grass7_legacy_build_binaries.sh`, + * `compile_addons_git.sh` - called from `cron_grass_legacy_build_binaries.sh` + * `build-xml.py` - called from `cron_grass_legacy_build_binaries.sh`, generates the modules.xml file required for the g.extension module - * `grass-addons-index.sh` - called from `cron_grass7_legacy_build_binaries.sh` + * `grass-addons-index.sh` - called from `cron_grass_legacy_build_binaries.sh` * `get_page_description.py` - called from `grass-addons-index.sh` * GRASS GIS 8 addons overview page at : - * `compile_addons_git.sh` - called from `cron_grass8_XXX_build_binaries.sh` - * `build-xml.py` - called from `cron_grass8_XXX_build_binaries.sh` + * `compile_addons_git.sh` - called from `cron_grass_XXX_build_binaries.sh` + * `build-xml.py` - called from `cron_grass_XXX_build_binaries.sh` generates the modules.xml file required for the g.extension module - * `grass-addons-index.sh` - called from `cron_grass8_XXX_build_binaries.sh` + * `grass-addons-index.sh` - called from `cron_grass_XXX_build_binaries.sh` * `get_page_description.py` - called from `grass-addons-index.sh` * GRASS GIS programmer's manual: - * within `cron_grass8_XXX_build_binaries.sh` + * within `cron_grass_XXX_build_binaries.sh` * compilation addons: * `compile_addons_git.sh` it's called with `$5` arg, addon is installed into own individual directory, with **bin/ docs/ etc/ scripts/** diff --git a/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass7_legacy_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass7_legacy_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass7_legacy_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_new_current_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_new_current_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_new_current_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_old_current_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_old_current_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_old_current_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_preview_build_binaries.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh similarity index 100% rename from utils/cronjobs_osgeo_lxd/cron_grass8_preview_src_snapshot.sh rename to utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh diff --git a/utils/cronjobs_osgeo_lxd/cron_job_list_grass b/utils/cronjobs_osgeo_lxd/cron_job_list_grass index b27e690d40..82f90cb71e 100644 --- a/utils/cronjobs_osgeo_lxd/cron_job_list_grass +++ b/utils/cronjobs_osgeo_lxd/cron_job_list_grass @@ -24,17 +24,25 @@ 30 */12 * * * nice sh /home/neteler/cronjobs/hugo_clean_and_update_job.sh # weekly source snapshots (target dir: /var/www/code_and_data/) -30 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass8_main_src_snapshot.sh -40 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass8_relbranch_src_snapshot.sh -50 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass7_relbranch_src_snapshot.sh +# legacy +20 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass_legacy_src_snapshot.sh +# old stable +30 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass_old_current_src_snapshot.sh +# new stable +40 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass_new_current_src_snapshot.sh +# preview +50 02 * * 6 nice sh /home/neteler/cronjobs/cron_grass_preview_src_snapshot.sh + # daily Linux binary snapshots, also creates main manuals, addon manuals, and prog-manual (target dir: /var/www/code_and_data/) -# old stable: G78 -00 05 * * * nice sh /home/neteler/cronjobs/cron_grass7_relbranch_build_binaries.sh > /var/www/code_and_data/grass78/binary/linux/snapshot/build.log.txt 2>&1 -# stable: G82 -35 05 * * * nice sh /home/neteler/cronjobs/cron_grass8_relbranch_build_binaries.sh > /var/www/code_and_data/grass82/binary/linux/snapshot/build.log.txt 2>&1 -# dev: G83 -10 06 * * * nice sh /home/neteler/cronjobs/cron_grass8_main_build_binaries.sh > /var/www/code_and_data/grass83/binary/linux/snapshot/build.log.txt 2>&1 +# legacy +00 05 * * * nice sh /home/neteler/cronjobs/cron_grass_legacy_build_binaries.sh > /var/www/code_and_data/grass78/binary/linux/snapshot/build.log.txt 2>&1 +# old stable +35 05 * * * nice sh /home/neteler/cronjobs/cron_grass_old_current_build_binaries.sh > /var/www/code_and_data/grass82/binary/linux/snapshot/build.log.txt 2>&1 +# new stable +10 06 * * * nice sh /home/neteler/cronjobs/cron_grass_new_current_build_binaries.sh > /var/www/code_and_data/grass83/binary/linux/snapshot/build.log.txt 2>&1 +# preview +45 06 * * * nice sh /home/neteler/cronjobs/cron_grass_preview_build_binaries.sh > /var/www/code_and_data/grass84/binary/linux/snapshot/build.log.txt 2>&1 # generate osgeo_mailman_stats/ + email From da7d61e51fc0442c3197809530963bef5866569a Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Tue, 23 May 2023 18:33:58 +0200 Subject: [PATCH 3/4] some header cleanup --- utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh | 4 ++-- utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh | 4 ++-- .../cron_grass_new_current_build_binaries.sh | 2 +- .../cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh | 4 ++-- .../cron_grass_old_current_build_binaries.sh | 2 +- .../cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh | 4 ++-- utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh | 2 +- utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh index fd78fa560e..cdc8d09837 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_build_binaries.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 7 legacy (7.8) binaries + addons from the `releasebranch_7_8` branch +# script to build GRASS GIS legacy binaries + addons from the `releasebranch_7_8` branch # (c) GPL 2+ Markus Neteler -# 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2021-2023 +# 2008-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh index ae584d2ffb..46e4406090 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_legacy_src_snapshot.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 7 legacy (7.8) source package from the `releasebranch_7_8` branch +# script to build GRASS GIS legacy source package from the `releasebranch_7_8` branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2014-2023 +# Markus Neteler 2002-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh index e6b4f528de..5f0c23b51c 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_build_binaries.sh @@ -1,6 +1,6 @@ #!/bin/sh -# script to build GRASS 8 new_current (8.3) binaries + addons from the `main` +# script to build GRASS GIS new current binaries + addons from the `main` # (c) GPL 2+ Markus Neteler # 2022-2023 # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh index e90753c4c8..45fae9c243 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_new_current_src_snapshot.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 8 new_current (8.3) sources package from the main branch +# script to build GRASS GIS new current sources package from the main branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2022 +# Markus Neteler 2002-2022 # # GRASS GIS github, https://github.com/OSGeo/grass # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh index 2f390573c2..f750434c45 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_build_binaries.sh @@ -1,6 +1,6 @@ #!/bin/sh -# script to build GRASS 8 old_current (8.2) binaries + addons from the `releasebranch_8_2` binaries +# script to build GRASS GIS old current binaries + addons from the `releasebranch_8_2` binaries # (c) GPL 2+ Markus Neteler # 2014-2023 # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh index f63d4beca0..b7a9fc1c1b 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_old_current_src_snapshot.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 8 old_current (8.2) source package from the release branch +# script to build GRASS GIS old current source package from the release branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2023 +# Markus Neteler 2002-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh b/utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh index 4583de3793..120c8d2053 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_preview_build_binaries.sh @@ -1,6 +1,6 @@ #!/bin/sh -# script to build GRASS 8 preview (8.4) binaries + addons from the `main` +# script to build GRASS GIS preview binaries + addons from the `main` # (c) GPL 2+ Markus Neteler # 2022-2023 # diff --git a/utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh b/utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh index a43ccc195c..e9452443f3 100755 --- a/utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh +++ b/utils/cronjobs_osgeo_lxd/cron_grass_preview_src_snapshot.sh @@ -1,8 +1,8 @@ #!/bin/sh -# script to build GRASS 8 preview (8.4) source package from the main branch +# script to build GRASS GIS preview source package from the main branch # (c) GPL 2+ Markus Neteler -# Markus Neteler 2002, 2003, 2005, 2006, 2007, 2008, 2012, 2015, 2018-2023 +# Markus Neteler 2002-2023 # # GRASS GIS github, https://github.com/OSGeo/grass # From 1a3d988fd3c1a45ad7b415ccbe938a0c41062582 Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Tue, 23 May 2023 21:44:52 +0200 Subject: [PATCH 4/4] remove file explanations --- utils/cronjobs_osgeo_lxd/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/utils/cronjobs_osgeo_lxd/README.md b/utils/cronjobs_osgeo_lxd/README.md index 6c965297ab..20a3748473 100644 --- a/utils/cronjobs_osgeo_lxd/README.md +++ b/utils/cronjobs_osgeo_lxd/README.md @@ -27,15 +27,15 @@ programmer's manual. * generate and deploy the GRASS GIS Web pages at : * `hugo_clean_and_update_job.sh` * GRASS GIS source code weekly snapshots: - * grass-legacy (legacy): `cron_grass_legacy_src_snapshot.sh` - * grass-old-current (current stable): `cron_grass_old_current_src_snapshot.sh` - * grass-new-current (upcoming stable): `cron_grass_new_current_src_snapshot.sh` - * grass-preview (development): `cron_grass_preview_src_snapshot.sh` + * `cron_grass_legacy_src_snapshot.sh` + * `cron_grass_old_current_src_snapshot.sh` + * `cron_grass_new_current_src_snapshot.sh` + * `cron_grass_preview_src_snapshot.sh` * GRASS GIS Linux binary weekly snapshots: - * grass-legacy (legacy): `cron_grass_legacy_build_binaries.sh` - * grass-old-current (current stable): `cron_grass_old_current_build_binaries.sh` - * grass-new-current (upcoming stable): `cron_grass_new_current_build_binaries.sh` - * grass-preview (development): `cron_grass_preview_build_binaries.sh` + * `cron_grass_legacy_build_binaries.sh` + * `cron_grass_old_current_build_binaries.sh` + * `cron_grass_new_current_build_binaries.sh` + * `cron_grass_preview_build_binaries.sh` * GRASS GIS addons manual pages: * addon manual pages are generated within above Linux binary weekly snapshots * GRASS GIS 7 addons overview page at :