From 7e8846584bf01ddc1c9206e56976dcb914367901 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 9 Mar 2020 21:44:20 +0100 Subject: [PATCH] Import a new script to generate the documentation --- src/deforaos-git-doc.sh | 82 +++++++++++++++++++++++++++++++++++++++++ src/project.conf | 6 ++- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100755 src/deforaos-git-doc.sh diff --git a/src/deforaos-git-doc.sh b/src/deforaos-git-doc.sh new file mode 100755 index 0000000..ade9fb9 --- /dev/null +++ b/src/deforaos-git-doc.sh @@ -0,0 +1,82 @@ +#!/bin/sh +#Copyright (c) 2020 Pierre Pronchery +# +#Redistribution and use in source and binary forms, with or without +#modification, are permitted provided that the following conditions +#are met: +#1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +#2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +#THIS SOFTWARE IS PROVIDED BY THE EDGEBSD PROJECT AND CONTRIBUTORS +#``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +#TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +#PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +#BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +#INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +#CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +#ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +#POSSIBILITY OF SUCH DAMAGE. + + + +#variables +GIT_BRANCH="master" +GIT_REMOTE="https://git.defora.org" +PROGNAME_GIT_DOC="deforaos-git-doc.sh" +#executables +CONFIGURE="/usr/local/bin/configure" +GIT="/usr/bin/git" +GIT_CLONE="$GIT clone -q" +MAKE="make" +MKTEMP="mktemp" +RM="/bin/rm -f" + + +#functions +#git_tests +_git_tests() +{ + ret=0 + repository="$1" + + #create a temporary directory + tmpdir=$($MKTEMP -d) + if [ $? -ne 0 ]; then + return 2 + fi + #clone the repository + $GIT_CLONE --single-branch -b "$GIT_BRANCH" \ + "$GIT_REMOTE/${repository}.git" "$tmpdir" + if [ $? -ne 0 ]; then + echo "$repository: Could not clone" 1>&2 + else + #build the documentation if available + if [ -d "$tmpdir/doc" ]; then + (cd "$tmpdir/doc" && $CONFIGURE .. && $MAKE)|| ret=2 + fi + fi + #cleanup + $RM -r "$tmpdir" + return $ret +} + + +#usage +_usage() +{ + echo "Usage: $PROGNAME_GIT_DOC repository" 1>&2 + return 1 +} + + +#main +if [ $# -ne 1 ]; then + _usage + exit $? +fi +_git_tests "$1" diff --git a/src/project.conf b/src/project.conf index 4321408..0717e73 100644 --- a/src/project.conf +++ b/src/project.conf @@ -1,4 +1,4 @@ -dist=Makefile,deforaos-build.sh,deforaos-document.sh,deforaos-git-hook.sh,deforaos-git-message.sh,deforaos-git-mirror.sh,deforaos-git-tests.sh,deforaos-irc.sh,deforaos-jobs.sh,deforaos-lock.sh,deforaos-package.sh,deforaos-release.sh,deforaos-update.sh +dist=Makefile,deforaos-build.sh,deforaos-document.sh,deforaos-git-doc.sh,deforaos-git-hook.sh,deforaos-git-message.sh,deforaos-git-mirror.sh,deforaos-git-tests.sh,deforaos-irc.sh,deforaos-jobs.sh,deforaos-lock.sh,deforaos-package.sh,deforaos-release.sh,deforaos-update.sh [deforaos-build.sh] install=$(PREFIX)/bin @@ -8,6 +8,10 @@ mode=0755 install=$(PREFIX)/bin mode=0755 +[deforaos-git-doc.sh] +install=$(PREFIX)/libexec +mode=0755 + [deforaos-git-hook.sh] install=$(PREFIX)/libexec mode=0755