summaryrefslogtreecommitdiffstats
path: root/inc/env.setup-sqfs-base.sh
blob: c217437a01d0a4865942979459bd63af6119c480 (plain) (blame)
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
55
56
57
58
#!/bin/bash

ROOT_DIR=$(readlink -f $(dirname $(readlink -f $0))/..)

. ${ROOT_DIR}/config/paths.conf

mkdir -p ${ROOT_DIR}/build/sqfs-base
cd ${ROOT_DIR}/build/sqfs-base

if [ ! -f .osib_unpacked ]; then
  tar xf ${BUILDROOT_OUT_PATH}/rootfs.tar
  touch .osib_unpacked
fi

rm -f run var/cache var/log var/lock var/pcmcia var/run var/spool var/tmp

mkdir -p run var/log/journal

tar xzf ${ROOT_DIR}/share/files/dev.tgz

if [ ! -f .osib_moved_libs ]; then
  for f in $(find {lib,usr/lib} |grep "\.so\(\..*\|$\)"); do
    targetdir=$(dirname $f)
    if [ ! -d openslx/$targetdir ]; then
      #echo "creating openslx/$targetdir"
      mkdir -p openslx/$targetdir
    fi
    mv $f openslx/$f
  done
  touch .osib_moved_libs
fi

if [ ! -f .osib_create_ld_links ]; then
    echo "create ld-*.so links from /lib"
    for f in $(ls -1 openslx/lib/ld*); do
       ln -sf "../$f" "lib/$(basename $f)"
    done
    touch .osib_create_ld_links
fi


if [ ! -f .osib_moved_bins ]; then
    for d in $(find {bin,sbin,usr/bin,usr/sbin,usr/local/bin,usr/local/sbin} -type d); do
      #echo $d
      mkdir -p "openslx/$d"
      mv $d/* openslx/$d/
    done
    touch .osib_moved_bins
fi

ln -sf /usr/lib/systemd/systemd init

if [ ! -f .osib_patched ]; then
   for p in $(ls -1 ${ROOT_DIR}/share/patches/* | sort); do
      patch -p1 < $p
   done
   touch .osib_patched
fi