aboutsummaryrefslogtreecommitdiffstats
path: root/deb
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2024-09-07 14:55:46 +0000
committerLaurent Bercot <ska@appnovation.com>2024-09-07 14:55:46 +0000
commit1559cbe1ebcea1dac3f5c3a40a51efedd7766ffc (patch)
tree8a8d1e0c31e3328c9897c3727a555c693ef8a2fc /deb
downloadToolchainFactory-1559cbe1ebcea1dac3f5c3a40a51efedd7766ffc.tar.gz
Initial commit
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'deb')
-rwxr-xr-xdeb/builddeb.sh54
-rw-r--r--deb/skel/control19
2 files changed, 73 insertions, 0 deletions
diff --git a/deb/builddeb.sh b/deb/builddeb.sh
new file mode 100755
index 0000000..fc2e72b
--- /dev/null
+++ b/deb/builddeb.sh
@@ -0,0 +1,54 @@
+#!/bin/bash -e
+
+WD=`realpath \`dirname "$0"\``
+cd "$WD"
+
+output="$1"
+name="$2"
+libc_name="$3"
+version="$4"
+
+if test "$libc_name" = musl ; then
+ pc_libc_required="static binaries, no libc required"
+ pc_libc=
+else
+ pc_libc_required="glibc required"
+ pc_libc=libc6
+fi
+
+verkeys="gcc_ver gmp_ver mpfr_ver mpc_ver isl_ver ${libc_name}_ver binutils_ver gdb_ver"
+allkeys="name libc_name package version maintainer triplet pc debpc pc_libc_required pc_libc size libc_ver $verkeys"
+
+for k in $verkeys ; do
+ key=`echo "$k" | tr a-z A-Z`
+ v=`grep "^$key" < "$WD/../config" | awk '{print $3;}'`
+ eval "$k=\"$v\""
+done
+
+if test $"libc_name" = musl ; then
+ libc_ver="$musl_ver"
+else
+ libc_ver="$glibc_ver"
+fi
+
+triplet=`cat "$WD/../$libc_name/targets/$name/triplet"`
+pc=`cat "$WD/../$libc_name/targets/pc/triplet"`
+debpc=`echo "$pc" | cut -d- -f1 | sed 's/x86_64/amd64/'`
+package="fce-toolchain-${name}-${gcc_ver}-${libc_name}"
+maintainer='Laurent Bercot <laurent.bercot-ext@faurecia.com>'
+pkgname="${package}_${version}_${debpc}"
+
+fullname="${triplet}_${name}-${gcc_ver}"
+size=`du -s "$output/cross/$fullname" | cut -f1`
+
+sedex=""
+
+for k in $allkeys ; do
+ sedex="$sedex s/@@$k@@/${!k}/;"
+done
+
+mkdir -p "$output/deb/$pkgname/opt/fce-toolchains" "$output/deb/$pkgname/DEBIAN"
+cp -a "$output/cross/$fullname" "$output/deb/$pkgname/opt/fce-toolchains/$fullname"
+sed -e "$sedex" < "$WD/skel/control" > "$output/deb/$pkgname/DEBIAN/control"
+cd "$output/deb"
+dpkg-deb -b -Zgzip --root-owner-group -- "$pkgname"
diff --git a/deb/skel/control b/deb/skel/control
new file mode 100644
index 0000000..1708f3b
--- /dev/null
+++ b/deb/skel/control
@@ -0,0 +1,19 @@
+Package: @@package@@
+Version: @@version@@
+Maintainer: @@maintainer@@
+Changed-By: @@maintainer@@
+Description: FCE C/C++ toolchain targetting @@triplet@@ (@@name@@)
+ C/C++ toolchain for Linux, made by Faurecia Clarion with the following properties:
+ Build system: @@pc@@ (@@pc_libc_required@@)
+ Target system: @@triplet@@, suitable for a product of type @@name@@
+ Target libc: @@libc_name@@
+ Software versions: gcc-@@gcc_ver@@, gmp-@@gmp_ver@@, mpfr-@@mpfr_ver@@, mpc-@@mpc_ver@@, isl-@@isl_ver@@, @@libc_name@@-@@libc_ver@@, binutils-@@binutils_ver@@
+ Includes a debugger, gdb-@@gdb_ver@@, and a native gdbserver binary for @@triplet@@.
+Section: devel
+Priority: optional
+Installed-Size: @@size@@
+Architecture: @@debpc@@
+Origin: FCE
+Bugs: jira://jira.sinc.faurecia.com/
+Depends: @@pc_libc@@
+