From f4237b77247feec5e157f4ffdf83fcc25e03fe5e Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Fri, 20 May 2022 14:38:43 +0200 Subject: [PATCH] [distrib] build src-distrib --- .../make-distrib.sh | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) rename build-distrib.sh => devel_tools/make-distrib.sh (72%) diff --git a/build-distrib.sh b/devel_tools/make-distrib.sh similarity index 72% rename from build-distrib.sh rename to devel_tools/make-distrib.sh index fd9e5a77b97..840704c4706 100755 --- a/build-distrib.sh +++ b/devel_tools/make-distrib.sh @@ -1,4 +1,4 @@ -#! /usr/bin/bash +#!/usr/bin/env bash ########################################################################## # # # This file is part of Frama-C. # @@ -21,21 +21,28 @@ # # ########################################################################## -if [[ $# > 1 ]] ; then - echo "usage: $0 [ configuration_file ]" - exit 1 -elif [[ $# = 1 ]] ; then - source $1 +set -euxo pipefail + +if [ ! -f configure ] ; then + echo "No 'configure' file, you should first run 'autoconf'" + exit 2 fi -VERSION=${VERSION:-$(cat VERSION)} -CODENAME=${CODENAME:-$(cat VERSION_CODENAME)} +EXTERNAL_PLUGINS=$(find src/plugins -type d -name ".git" | sed "s/.git//") + +FRAMAC="frama-c.tar" +git archive HEAD -o $FRAMAC --prefix "frama-c/" -FRAMAC=frama-c-$VERSION-$CODENAME +ACC=$FRAMAC -FPATH=$FRAMAC/ +for plugin in $EXTERNAL_PLUGINS ; do + TAR="$(basename $plugin).tar" + git -C $plugin archive HEAD -o $TAR --prefix "frama-c/$plugin/" + ACC="$ACC $plugin$TAR" +done -git archive --format=tar --prefix $FPATH HEAD > $FRAMAC.tar +tar --concatenate --file=$ACC +tar rf $FRAMAC configure --transform 's,^,frama-c/,' +gzip -9 < $FRAMAC > $FRAMAC.gz -TRANSFO="s,^,$FPATH," -tar rf $FRAMAC.tar configure --transform $TRANSFO +rm -f $ACC -- GitLab