aboutsummaryrefslogtreecommitdiffstats
path: root/deb/builddeb.sh
blob: fc2e72bdaa617e4d216298681cb937883711b2cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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"