
This allows all versions of Bitbake and Yocto Project manuals to see the manuals for the latest versions. This also simplifies the release process, not having to update the releases.rst file for all releases every time a new release is made. Note that such synchronization is already done for the switchers.js file (but in a different way). This way, advertised releases are in sync with switchers.js. Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
4.0 KiB
Executable File
#!/bin/bash
Called with $1 as the build directory
$2 as the path to yocto-docs
$3 as the path to bitbake
builddir=$1 ypdocs=$2/documentation/ bbdocs=$3/doc/ docs_buildtools=/srv/autobuilder/autobuilder.yoctoproject.org/pub/buildtools/x86_64-buildtools-docs-nativesdk-standalone-3.2+snapshot-20201105.sh outputdir=$builddir/output scriptdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
cd $builddir mkdir buildtools $docs_buildtools -y -d $builddir/buildtools . $builddir/buildtools/environment-setup*
Getting the old docbook built docs from an archive. Not rebuilding them.
#wget https://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-archives-20201105.tar.xz docbookarchive=/srv/autobuilder/autobuilder.yoctoproject.org/pub/docbook-mirror/docbook-archives-20201105.tar.xz mkdir $outputdir cd $outputdir tar -xJf $docbookarchive
cd $bbdocs git checkout master make clean make publish mkdir $outputdir/bitbake cp -r ./_build/final/* $outputdir/bitbake
git checkout master-next make clean make publish mkdir $outputdir/bitbake/next cp -r ./_build/final/* $outputdir/bitbake/next
stable branches
A decision was made to keep updating all the Sphinx generated docs for the moment,
even the ones corresponding to no longer supported releases
https://lists.yoctoproject.org/g/docs/message/2193
We copy the releases.rst file from master so that all versions of the docs
see the latest releases.
for branch in 1.46 1.48 1.50 1.52; do git checkout $branch git checkout master doc/releases.rst make clean make publish mkdir $outputdir/bitbake/$branch cp -r ./_build/final/* $outputdir/bitbake/$branch done
only sync bitbake folder for now. We need bitbake to be published first
since the bitbake intersphinx index will be downloaded to build yocto-docs
cd $outputdir rsync -irlp --checksum --ignore-times --delete bitbake docs@docs.yoctoproject.org:docs/
cd $ypdocs git checkout master make clean make publish cp -r ./_build/final/* $outputdir
cd $ypdocs git checkout transition make clean make publish cp -r ./_build/final/* $outputdir/
cd $ypdocs git checkout master-next make clean make publish mkdir $outputdir/next cp -r ./_build/final/* $outputdir/next
stable branches
Again, keeping even the no longer supported releases (see above comment)
for branch in dunfell gatesgarth hardknott honister; do cd $ypdocs git checkout $branch git checkout master documentation/releases.rst make clean make publish mkdir $outputdir/$branch cp -r ./_build/final/* $outputdir/$branch done
Yocto Project releases/tags
v_sphinx='yocto-3.1.5' #This and newer versions have Sphinx docs. cd $ypdocs for tag in $(git tag --list 'yocto-'); do first=$(printf '%s\n%s' $tag $v_sphinx | sort --version-sort | head -n1) if [ "$first" = "$v_sphinx" ]; then cd $ypdocs git checkout $tag # yocto-3.3 and yocto-3.4 were tagged before the current_version in # conf.py was changed resulting in sphinx believing these are # development branches which breaks all sorts of assumptions. Moving a # tag isn't best practice so we just patch the releases here instead. if [ "$tag" = "yocto-3.3" ] || [ "$tag" = "yocto-3.4" ]; then git am "${scriptdir}/${tag}/0001-conf-update-for-release.patch" fi git checkout master documentation/releases.rst make clean make publish version=$(echo $tag | cut -c7-) mkdir $outputdir/$version cp -r ./_build/final/ $outputdir/$version fi done
get current release (e.g. most recent tag), and add a 'current' link
tag=$(git tag --list 'yocto-*' | sort --version-sort | tail -1 | cut -c7-) ln -s $tag $outputdir/current
Update switchers.js with the copy from master ypdocs
cd $outputdir find . -name switchers.js -not -path ./_static/switchers.js -exec cp ./_static/switchers.js {} ;
cd $outputdir rsync -irlp --checksum --ignore-times --delete . docs@docs.yoctoproject.org:docs/