#!/bin/sh

tce-load -w -i squashfs-tools python compiletc
mkdir src_package
DESTDIR='/tmp/package'
mkdir /tmp/source_package
mkdir -p $DESTDIR/usr/local/

# Create package directory
. /etc/init.d/tc-functions
PKGDIR=/tmp/`getMajorVer`.x/`getBuild`
mkdir -p $PKGDIR/tar.gz $PKGDIR/tcz


cd /tmp/source_package
wget https://nodejs.org/dist/v12.16.0/node-v12.16.0.tar.gz
tar xvf node-v12.16.0.tar.gz
cd node-v12.16.0

# Compile
export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe"
export LDFLAGS="-Wl,-O1"
./configure --prefix=/usr/local
make -j4
make DESTDIR=/tmp/package install-strip

# Create node-dev.tcz package
cd $DESTDIR
mkdir dev
for i in usr/local/include/node; do
  tar cpf - $i | (cd dev && tar xvpf - )
  rm -rf $i
done
cd dev
tar -czf $PKGDIR/tar.gz/node-dev.tcz.tar.gz *
mksquashfs $DESTDIR/dev $PKGDIR/tcz/node-dev.tcz -all-root -info
find $DESTDIR/dev -not -type d | sed -e "s#^${DESTDIR}/dev##" > $PKGDIR/tcz/node-dev.tcz.list
rm -fr $DESTDIR/include
cd .. && rm -rf dev
cd $PKGDIR/tcz
md5sum node-dev.tcz > node-dev.tcz.md5.txt
echo "node.tcz" > node-dev.tcz.dep

# Create node-doc.tcz package
cd $DESTDIR
mkdir doc
for i in usr/local/share/man, usr/local/share/doc; do
  tar cpf - $i | (cd doc && tar xvpf - )
  rm -rf $i
done
cd doc
tar -czf $PKGDIR/tar.gz/node-doc.tcz.tar.gz *
mksquashfs $DESTDIR/doc $PKGDIR/tcz/node-doc.tcz -all-root -info
find $DESTDIR/doc -not -type d | sed -e "s#^${DESTDIR}/doc##" > $PKGDIR/tcz/node-doc.tcz.list
rm -fr $DESTDIR/usr/local/share/man $DESTDIR/usr/local/share/doc
cd .. && rm -rf doc
cd $PKGDIR/tcz
md5sum node-doc.tcz > node-doc.tcz.md5.txt

# Create node.tcz package
cd $DESTDIR
strip --strip-all usr/local/bin/*
tar -czf $PKGDIR/tar.gz/node.tcz.tar.gz *
mksquashfs $DESTDIR $PKGDIR/tcz/node.tcz -all-root -info
find $DESTDIR -not -type d | sed -e "s#^${DESTDIR}##" > $PKGDIR/tcz/node.tcz.list
cd $PKGDIR/tcz
md5sum node.tcz > node.tcz.md5.txt

# Cleanup
cd /tmp
rm -rf $DESTDIR
rm -rf /tmp/source_package/
