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